Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1109/PADS.2009.25acmconferencesArticle/Chapter ViewAbstractPublication PagespadsConference Proceedingsconference-collections
Article

Parallelizing SystemC Kernel for Fast Hardware Simulation on SMP Machines

Published: 22 June 2009 Publication History

Abstract

SystemC is a system-level modeling language and simulation framework which facilitates design and verification of processor designs at different levels. Recently, SystemC is becoming a popular choice for designers of both System-On-Chip (SoC) and embedded processors, due to its adaptability at cycle as well as transaction levels, and ability to model concurrent processes. However, the single threaded simulation kernel inherent to SystemC, prevents it from utilizing the potential computing power of symmetric multiprocessing (SMP) machines to speed up hardware simulation. We present a parallel SystemC simulation kernel, which is implemented using parallel programming techniques and leverages the parallel execution capabilities of multi-core machines to speed up hardware simulation. We discuss the mechanism we use for mapping parallel SystemC modules into different cores. Finally we report the performance of the parallelized SystemC kernel using a linear pipelined performance model and a pipelined performance model tailored to exhibit the behavior of real world simulation. Our results demonstrate that the performanceimprovement obtained by using parallelized SystemC for simulation of the above models is significant and improves with increasing design complexity of the simulated design and the number of cores in the machine running the simulators.

References

[1]
Approved IEEE Draft Standard SystemC Language Reference Manual (superseded by 1666-2005). In IEEE Std P1666/D2.1.1, 2005.
[2]
K. Andreev and H. Räcke. Balanced Graph Partitioning. 39(6):929-939, November 2006.
[3]
R. D. Blumofe and C. E. Leiserson. Scheduling Multithreaded Computations by Work Stealing. In Proceedings of the Thirty-fifth Annual Symposium on Foundations of Computer Science (FOCS), pages 356-368, 1994.
[4]
B. Chopard1, P. Combes, and J. Zory. A Conservative Approach to SystemC Parallelization. In Proceedings of the Workshop on Scientific Computing in Electronics Engineering , pages 653-660, May 2006.
[5]
K. Huang, I. Bacivarov, F. Hugelshofer, and L. Thiele. Scalably Distributed SystemC Simulation for Embedded Applications. In Proceedings of the International Symposium on Industrial Embedded Systems (SIES 2008), pages 271-274, June 2008.
[6]
G. Karypis and V. Kumar. Parallel Multilevel k-way Partitioning Scheme for Irregular Graphs. In Proceedings of the 1996 ACM/IEEE Conference on Supercomputing, pages 35-35, 1996.
[7]
T. Li, Y. Guo, and S.-K. Li. Design and Implementation of a Parallel Verilog Simulator: PVSim. In Proceedings of the Seventeenth International Conference on VLSI Design, pages 329-334, 2004.
[8]
E. Naroska. Parallel VHDL Simulation. In Proceedings of the Conference on Design, Automation and Test in Europe(DATE 98), pages 159-165, Washington, DC, USA, 1998. IEEE Computer Society.
[9]
H. D. Patel and S. K. Shukla. Towards a Heterogeneous Simulation Kernel for System Level Models: A SystemC Kernel for Synchronous Data Flow Models. In Proceedings of the IEEE Computer Society Annual Symposium on VLSI, pages 241-242, February 2004.
[10]
D. G. Perez, G. Mouchard, and O. Temam. A New Optimized Implementation of the SystemC Engine using Acyclic Scheduling. In Proceedings of the Conference on Design, Automation and Test in Europe, pages 552-557, February 2004.
[11]
M. J. Quinn. Parallel Programming in C with MPI and OpenMP. McGraw-Hill Science Engineering, First edition, 2003.
[12]
W. Yue, J. Ling, Y. Hong-Bin, and L. Zong-Tian. A New Partitioning Scheme of Parallel VHDL Simulation. In Proceedings of the Conference on High Density Microsystem Design and Packaging and Component Failure Analysis, pages 1-4, June 2005.

Cited By

View all
  • (2015)Adaptive algorithm and tool flow for accelerating SystemC on many-core architecturesMicroprocessors & Microsystems10.1016/j.micpro.2015.06.00139:8(1063-1075)Online publication date: 1-Nov-2015
  • (2013)On the use of GP-GPUs for accelerating compute-intensive EDA applicationsProceedings of the Conference on Design, Automation and Test in Europe10.5555/2485288.2485613(1357-1366)Online publication date: 18-Mar-2013
  • (2013)Parallel programming with SystemC for loosely timed modelsProceedings of the Conference on Design, Automation and Test in Europe10.5555/2485288.2485294(9-14)Online publication date: 18-Mar-2013
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PADS '09: Proceedings of the 2009 ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed Simulation
June 2009
152 pages
ISBN:9780769537139

Sponsors

Publisher

IEEE Computer Society

United States

Publication History

Published: 22 June 2009

Check for updates

Author Tags

  1. Core affinity
  2. OSCI
  3. SMP
  4. SoC
  5. SystemC
  6. TLM

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 398 of 779 submissions, 51%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 26 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2015)Adaptive algorithm and tool flow for accelerating SystemC on many-core architecturesMicroprocessors & Microsystems10.1016/j.micpro.2015.06.00139:8(1063-1075)Online publication date: 1-Nov-2015
  • (2013)On the use of GP-GPUs for accelerating compute-intensive EDA applicationsProceedings of the Conference on Design, Automation and Test in Europe10.5555/2485288.2485613(1357-1366)Online publication date: 18-Mar-2013
  • (2013)Parallel programming with SystemC for loosely timed modelsProceedings of the Conference on Design, Automation and Test in Europe10.5555/2485288.2485294(9-14)Online publication date: 18-Mar-2013
  • (2013)Optimized out-of-order parallel discrete event simulation using predictionsProceedings of the Conference on Design, Automation and Test in Europe10.5555/2485288.2485293(3-8)Online publication date: 18-Mar-2013
  • (2012)Out-of-order parallel simulation for ESL designProceedings of the Conference on Design, Automation and Test in Europe10.5555/2492708.2492743(141-146)Online publication date: 12-Mar-2012
  • (2012)A Framework for exploration of parallel SystemC simulation on the single-chip cloud computerProceedings of the 5th International ICST Conference on Simulation Tools and Techniques10.5555/2263019.2263046(202-207)Online publication date: 19-Mar-2012
  • (2012)SystemC simulation on GP-GPUsProceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis10.1145/2380445.2380500(343-352)Online publication date: 7-Oct-2012
  • (2012)SAGAProceedings of the 49th Annual Design Automation Conference10.1145/2228360.2228382(115-120)Online publication date: 3-Jun-2012
  • (2011)HLA-based simulation environment for distributed SystemC simulationProceedings of the 4th International ICST Conference on Simulation Tools and Techniques10.5555/2151054.2151078(108-114)Online publication date: 21-Mar-2011
  • (2011)Multi-core parallel simulation of system-level description languagesProceedings of the 16th Asia and South Pacific Design Automation Conference10.5555/1950815.1950885(311-316)Online publication date: 25-Jan-2011
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media