[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article
Open access

A Non-Intrusive Tool Chain to Optimize MPSoC End-to-End Systems

Published: 09 February 2021 Publication History

Abstract

Multi-core systems are now found in many electronic devices. But does current software design fully leverage their capabilities? The complexity of the hardware and software stacks in these platforms requires software optimization with end-to-end knowledge of the system.
To optimize software performance, we must have accurate information about system behavior and time losses. Standard monitoring engines impose tradeoffs on profiling tools, making it impossible to reconcile all the expected requirements: accurate hardware views, fine-grain measurements, speed, and so on. Subsequently, new approaches have to be examined.
In this article, we propose a non-intrusive, accurate tool chain, which can reveal and quantify slowdowns in low-level software mechanisms. Based on emulation, this tool chain extracts behavioral information (time, contention) through hardware side channels, without distorting the software execution flow. This tool consists of two parts. (1) An online acquisition part that dumps hardware platform signals. (2) An offline processing part that consolidates meaningful behavioral information from the dumped data. Using our tool chain, we studied and propose optimizations to MultiProcessor System on Chip (MPSoC) support in the Linux kernel, saving about 60% of the time required for the release phase of the GNU OpenMP synchronization barrier when running on a 64-core MPSoC.

References

[1]
M. AbdElSalam and A. Salem. 2015. SoC verification platforms using HW emulation and co-modeling Testbench technologies. In Proceedings of the 2015 10th International Design Test Symposium (IDT). 14--19.
[2]
D. H. Bailey, E. Barszcz, J. T. Barton, D. S. Browning, R. L. Carter, L. Dagum, R. A. Fatoohi, P. O. Frederickson, T. A. Lasinski, R. S. Schreiber, and et al.1991. The Nas parallel benchmarks. Int. J. High Perform. Comput. Appl. 5, 3 (Sept. 1991), 63--73.
[3]
S. Banerjee and T. Gupta. 2012. Fast and scalable hybrid functional verification and debug with dynamically reconfigurable co-simulation. In Proceedings of the 2012 IEEE/ACM International Conference on Computer-Aided Design (ICCAD). 115--122.
[4]
Nathan Binkert, Bradford Beckmann, Gabriel Black, Steven K. Reinhardt, Ali Saidi, Arkaprava Basu, Joel Hestness, Derek R. Hower, Tushar Krishna, Somayeh Sardashti, and et al. 2011. The Gem5 simulator. SIGARCH Comput. Archit. News 39, 2 (Aug. 2011), 1--7.
[5]
R. Buchmann and A. Greiner. 2007. A fully static scheduling approach for fast cycle accurate systemC simulation of MPSoCs. In Proceedings of the 2007 Internatonal Conference on Microelectronics. 101--104.
[6]
Anastasiia Butko, Florent Bruguier, Abdoulaye Gamatié, Gilles Sassatelli, David Novo, Lionel Torres, and Michel Robert. 2016. Full-system simulation of big.LITTLE multicore architecture for performance and energy exploration. In Proceedings of the 2016 IEEE 10th International Symposium on Embedded Multicore/Many-core Systems-on-Chip (MCSOC). 201--208.
[7]
Cadence. Cadence Emulation Platform. Retrieved from https://www.cadence.com/en_US/home/tools/system-design-and-verification/acceleration-and-emulation/palladium-z1.html.
[8]
M. France-Pillois, J. Martin, and F. Rousseau. 2020. Implementation and evaluation of a hardware decentralized synchronization lock for MPSoCs. In Proceedings of the 2020 IEEE International Parallel and Distributed Processing Symposium (IPDPS). 1112--1121.
[9]
R. Garibotti, L. Ost, A. Butko, R. Reis, A. Gamatié, and G. Sassatelli. 2019. Exploiting memory allocations in clusterised many-core architectures. IET Computers Digital Techniques 13, 4 (2019), 302--311.
[10]
Marius Gligor, Nicolas Fournel, and Frédéric Pétrot. 2009. Using binary translation in event driven simulation for fast and flexible MPSoC simulation. In Proceedings of the 7th IEEE/ACM International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS’09). 71--80.
[11]
S. Gopikrishna, M. Jha, S. Sreekanth, and G. Savithri. 2016. A multiprocessor system on chip verification on hardware accelerator and Software Emulation. In Proceedings of the 2016 IEEE International Conference on Advances in Electronics, Communication and Computer Technology (ICAECCT). 423--428.
[12]
Mentor Graphics. Codelink. Retrieved from https://www.mentor.com/products/fv/codelink/.
[13]
Mentor Graphics. Veloce Emulation Platform. Retrieved from https://www.mentor.com/products/fv/emulation-systems/.
[14]
On-Chip Bus Development Working Group. 2001. VSI Alliance Virtual Component Interface Standard Version 2 (OCB 2 2.0). Retrieved from http://home.mit.bme.hu/ feher/MSC_RA/VCI/VCI.pdf.
[15]
A. Gutierrez, J. Pusdesris, R. G. Dreslinski, T. Mudge, C. Sudanthi, C. D. Emmons, M. Hayenga, and N. Paver. 2014. Sources of error in full-system simulation. In Proceedings of the 2014 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS). 13--22.
[16]
Sagar Karandikar, Howard Mao, Donggyu Kim, David Biancolin, Alon Amid, Dayeol Lee, Nathan Pemberton, Emmanuel Amaro, Colin Schmidt, Aditya Chopra, Qijing Huang, Kyle Kovacs, Borivoje Nikolic, Randy Katz, Jonathan Bachrach, and Krste Asanović. 2018. FireSim: FPGA-accelerated cycle-exact scale-out system simulation in the public cloud. In Proceedings of the 45th Annual International Symposium on Computer Architecture (ISCA’18). 29--42.
[17]
Sagar Karandikar, Albert Ou, Alon Amid, Howard Mao, Randy Katz, Borivoje Nikoliundefined, and Krste Asanović. 2020. FirePerf: FPGA-accelerated full-system hardware/software performance profiling and co-design. In Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’20). 715--731.
[18]
Andreas Kurth, Alessandro Capotondi, Pirmin Vogel, Luca Benini, and Andrea Marongiu. 2018. HERO: An open-source research platform for HW/SW exploration of heterogeneous manycore systems. In Proceedings of the 2nd Workshop on AutotuniNg and ADaptivity AppRoaches for Energy Efficient HPC Systems (ANDARE’18). ACM, New York, NY, Article 5, 6 pages.
[19]
Rainer Leupers, Lieven Eeckhout, Grant Martin, Frank Schirrmeister, Nigel Topham, and Xiaotao Chen. 2011. Virtual Manycore platforms: Moving towards 100+ processor cores. In Proceedings of the 2011 Design, Automation and Test in Europe Conference 8 Exhibition (DATE). 1--6.
[20]
R. Leupers, Frank Schirrmeister, Grant Martin, Tim Kogel, Roman Plyaskin, Andreas Herkersdorf, and M. Vaupel. 2012. Virtual platforms: Breaking new grounds. In Proceedings of the 2012 Design, Automation and Test in Europe Conference 8 Exhibition (DATE). IEEE, Dresden, 685--690.
[21]
Lip6. InterconnexionNetworks TSAR. Retrieved from https://www-soc.lip6.fr/trac/tsar/wiki/InterconnexionNetworks.
[22]
Y. Nakamura. 2006. Software verification for system on a chip using a C/C++ simulator and FPGA emulator. In Proceedings of the 2006 International Symposium on VLSI Design, Automation and Test (VLSI-DAT’06).
[23]
N. Ohba and K. Takano. 2004. An SoC design methodology using FPGAs and embedded microprocessors. In Proceedings of the 41st Design Automation Conference (DAC’04). 747--752.
[24]
E. Saboori and S. Abdi. 2016. Fast and cycle-accurate simulation of multi-threaded applications on SMP architectures using hybrid prototyping. In Proceedings of the 2016 International Conference on Hardware/Software Codesign and System Synthesis (CODES+ISSS). 1--10.
[25]
Synopsys. Synopsys Emulation Platform. Retrieved from https://www.synopsys.com/verification/emulation.html.
[26]
Lawrence Vivolo. 2013. Transaction-based Verification and Emulation Combine for Multi-megahertz Verification Performance. Retrieved from http://www.electronicdesign.com/eda/transaction-based-verification-and-emulation-combine-multi-megahertz-verification-performance.
[27]
Zan Yang, Byeong Min, and Gwan Choi. 2000. Si-emulation: System verification using simulation and emulation. In Proceedings of the 2000 IEEE International Test Conference (ITC’00). IEEE Computer Society, 160.
[28]
Chengyu Zheng, M. D. Preda, J. Granjal, S. Zanero, and F. Maggi. 2016. On-chip system call tracing: A feasibility study and open prototype. In Proceedings of the 2016 IEEE Conference on Communications and Network Security (CNS). 73--81.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Architecture and Code Optimization
ACM Transactions on Architecture and Code Optimization  Volume 18, Issue 2
June 2021
190 pages
ISSN:1544-3566
EISSN:1544-3973
DOI:10.1145/3450354
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 February 2021
Accepted: 01 December 2020
Revised: 01 December 2020
Received: 01 July 2020
Published in TACO Volume 18, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. HW/SW optimization
  2. SW profiling
  3. clustered MPSoC
  4. emulation platform
  5. non-intrusive tool chain

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 558
    Total Downloads
  • Downloads (Last 12 months)162
  • Downloads (Last 6 weeks)16
Reflects downloads up to 20 Jan 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media