Como executar sua simulação em múltiplos processadores sem modificar nem seus módulos nem o SystemC
Resumo
A simulação é uma etapa importante no desenvolvimento de sistemas computacionais, por meio de qual os sistemas em desenvolvimento são testados e tem comportamento e desempenho avaliados. SystemC é uma Linguagem de Descrição de Sistemas (SLDL), uma extensão da linguagem C++ com suporte a diferentes níveis de abstração. O SystemC simula sequencialmente todo o sistema sem aproveitar possível potencial de processamento paralelo. Esse artigo propõe uma abordagem genérica para permitir a simulação de cada componente num processo distinto, que pode ser escalonado em diferentes processadores, locais ou distribuídos. A principal vantagem é paralelizar simuladores descritos em SystemC sem a necessidade de modificar os modelos ou o SystemC.
Referências
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.