Como executar sua simulação em múltiplos processadores sem modificar nem seus módulos nem o SystemC

  • Tiago Falcão UNICAMP
  • Liana Duenha UFMS
  • Rodolfo de Azevedo UNICAMP

Abstract


Simulation is one of the main stages in the validation process in systems design; in this stage, system architects can verify the correctness, behavior, and performance of the target system. SystemC is a System-level Description Language (SLDL), a C++ language extension that supports different abstraction levels. The downside is its sequential simulation model that does not take advantage of the parallel processing capabilities. This paper proposes a generic technique that allows the simulation of a set of SystemC components by encapsulating each one in a process, which can be scheduled over cores or distributed on a cluster. The main advantage of this approach is that it parallelize SystemC-TLM2 simulators using the original SystemC Kernel and models.

References

(2012). IEEE Standard for Standard SystemC Language Reference Manual.

Aynsley, J. (2009). OSCI TLM-2.0 language reference manual. Open SystemC Initiative, ja32 edition.

Azevedo, R., Rigo, S., Bartholomeu, M., Araujo, G., Araujo, C., and Barros, E. (2005). International Journal of The ArchC Architecture Description Language and Tools. Parallel Programming, 33(5):453–484.

Carlson, T., Heirman, W., and Eeckhout, L. (2011). Sniper: Exploring the level of abstraction for scalable and accurate parallel multi-core simulation.

Chopard, B., Combes, P., and Zory, J. (2006). A Conservative Approach to SystemC Parallelization. In Proceedings of the Workshop on Scientic Computing in Electronics Engineering, pages 653–660.

Duenha, L., Azevedo, R., and de Azevedo, R. J. (2012). Proling High Level Abstraction In Proceedings of the Second Workshop on Simulators of Multiprocessor Systems. Circuits and Systems Design WCAS 2012.

Duenha, L., Guedes, M., Almeida, H., Boy, M., and Azevedo, R. (2014). MPSoCIn 2014 International ConBench: A toolset for MPSoC system level evaluation. ference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XIV), pages 164–171. IEEE.

Ezudheen, P., Chandran, P., Chandra, J., Simon, B., and Ravi, D. (2009). ParalleliIn 2009 zing SystemC Kernel for Fast Hardware Simulation on SMP Machines. ACM/IEEE/SCS 23rd Workshop on Principles of Advanced and Distributed Simulation, pages 80–87. IEEE.

Fu, Y. and Wentzlaff, D. (2014). PriME: A parallel and distributed simulator for thousandcore chips. In 2014 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pages 116–125. IEEE.

Huang, K., Bacivarov, I., Hugelshofer, F., and Thiele, L. (2008). Scalably Distributed SystemC Simulation for Embedded Applications. In Proceedings of the International Symposium on Industrial Embedded System (SIES 2008), pages 271–274.

Luk, C.-K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V. J., and Hazelwood, K. (2005). Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation. In Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, volume 40 of PLDI '05, pages 190–200, New York, NY, USA. ACM.

Mack, C. A. (2011). Fifty Years of Moore's Law. IEEE Transactions on Semiconductor Manufacturing, 24(2):202–207.

Maia, I., Greiner, A., and Pecheux, F. (2006). SystemC SMP: A parallel approach to speed up Timed TLM simulation. In SoC-SIP-System on Chip-System in Package.

Mello, A., Maia, I., Greiner, A., Pecheux, F., aind A. Greiner, I. M., and Pecheux, F. (2010). Parallel Simulation of SystemC TLM 2.0 Compliant MPSoC on SMP WorksIn Proceedings of Design, Automation and Test in Europe DATE, pages tations. 606–609. IEEE.

Miller, J. E., Kasture, H., Kurian, G., Gruenwald, C., Beckmann, N., Celio, C., Eastep, J., and Agarwal, A. (2010). Graphite: A distributed parallel simulator for multicores. High Performance Computer Architecture, 2010. HPCA 16. The 16th International Symposium on, pages 1–12.

Moore, B. G. E. (1975). Cramming more components onto integrated circuits. Solid-State Circuits Newsletter, IEEE, 38(8):33–35.

Peeters, J., Ventroux, N., Sassolas, T., and Lacassagne, L. (2010). A SystemC TLM Framework for Distributed Simulation of Complex Systems with Unpredictable Communication. In Proceedings of Design and Architecture for Signed and Image Precessing DASIP-2010.

Rigo, S., Azevedo, R., and Santos, L. (2011). Electronic System Level Design: An OpenSource Approach. Springer Netherlands.

Roth, C., Bucher, H., Reder, S., Buciuman, F., Sander, O., and Becker, J. (2013). A SystemC modeling and simulation methodology for fast and accurate parallel MPSoC simulation. In Proceedings of the 26th Symposium on Integrated Circuits and Systems Design (SBCCI), pages 1–6.

Sanchez, D. and Kozyrakis, C. (2013). ZSim: Fast and Accurate Microarchitectural Simulation of Thousand-core Systems. In Proceedings of the 40th Annual International Symposium on Computer Architecture, volume 41 of ISCA '13, pages 475–486, New York, NY, USA. ACM.

Sinha, R., Prakash, A., and Patel, H. D. (2012). Parallel simulation of mixed-abstraction SystemC models on GPUs and multicore CPUs. Proceedings of the Asia and South Pacic Design Automation Conference, ASP-DAC, pages 455–460.

Vinco, S., Chatterjee, D., Bertacco, V., and Fummi, F. (2012). SAGA: SystemC Acceleration on GPU Architectures. In Proceedings of Design Automation Conference (ASP-DAC 2012), pages 115–120.

Ziyu, H., Lei, Q., Hongliang, L., Xianghui, X., and Kun, Z. (2009). A Parallel SystemC Environment: ArchSC. In 2009 15th International Conference on Parallel and Distributed Systems, pages 617–623. IEEE.
Published
2015-10-18
FALCÃO, Tiago; DUENHA, Liana; DE AZEVEDO, Rodolfo. Como executar sua simulação em múltiplos processadores sem modificar nem seus módulos nem o SystemC. In: BRAZILIAN SYMPOSIUM ON HIGH PERFORMANCE COMPUTING SYSTEMS (SSCAD), 16. , 2015, Florianópolis. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2015 . p. 84-95. DOI: https://doi.org/10.5753/wscad.2015.14274.