Abstract
Detailed timing models are indispensable tools for the design space exploration of Multiprocessor Systems on Chip (MPSoCs). As core counts continue to increase, the complexity in memory hierarchies and interconnect topologies is also growing, making accurate predictions of design decisions more challenging than ever. In this context, the open-source Full System Simulator (FSS) gem5 is a popular choice for MPSoC design space exploration, thanks to its flexibility and robust set of detailed timing models. However, its single-threaded simulation kernel severely hampers its throughput. To address this challenge, we introduce parti-gem5, an extension of gem5 that enables parallel timing simulations on modern multi-core simulation hosts. Unlike previous works, parti-gem5 supports gem5’s timing mode, the O3CPU, and Ruby’s custom cache and interconnect models. Compared to reference single-thread simulations, we achieved speedups of up to 42.7\(\times \) when simulating a 120-core ARM MPSoC on a 64-core x86-64 host system. While our method introduces timing deviations, the error in total simulated time is below 15% in most cases.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Arm Limited: AMBA 5 CHI Architecture Specification. ARM IHI 0050E.a (2020)
Bienia, C.: Benchmarking Modern Multiprocessors. Ph.D. thesis, Princeton University (2011)
Binkert, N., Beckmann, B., Black, G., Reinhardt, S.K., Saidi, A., Basu, A., et al.: The gem5 simulator. SIGARCH Comput. Archit. News 39(2), 1–7 (2011). https://doi.org/10.1145/2024716.2024718
Carlson, T.E., Heirman, W., Eeckhout, L.: Sniper: exploring the level of abstraction for scalable and accurate parallel multi-core simulation. In: SC 2011: Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 1–12 (2011). https://doi.org/10.1145/2063384.2063454
Chandy, K., Misra, J.: Distributed simulation: a case study in design and verification of distributed programs. IEEE Transactions on Software Engineering SE-5(5), 440–452 (1979). https://doi.org/10.1109/TSE.1979.230182
Endo, F.A., Couroussé, D., Charles, H.P.: Micro-architectural simulation of in-order and out-of-order ARM microprocessors with gem5. In: 2014 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS XIV), pp. 266–273 (2014). https://doi.org/10.1109/SAMOS.2014.6893220
Fujimoto, R.M.: Parallel discrete event simulation. Commun. ACM 33(10), 30–53 (1990). https://doi.org/10.1145/84537.84545
Jung, M., Schnicke, F., Damm, M., Kuhn, T., Wehn, N.: Speculative temporal decoupling using fork(). In: 2019 Design, Automation and Test in Europe Conference (DATE), pp. 1721–1726 (2019). https://doi.org/10.23919/DATE.2019.8714823
Kivity, A., Kamay, Y., Laor, D., Lublin, U., Liguori, A.: KVM: the linux virtual machine monitor. In: Proceedings Linux Symposium, vol. 15 (2007)
Lowe-Power, J., Ahmad, A.M., Akram, A., Alian, M., Amslinger, R., Andreozzi, M., et al.: The gem5 simulator: Version 20.0+. CoRR abs/2007.03152 (2020). https://doi.org/10.48550/arXiv.2007.03152
Martin, M.M.K., Sorin, D.J., Beckmann, B.M., Marty, M.R., Xu, M., Alameldeen, A.R., et al.: Multifacet’s General Execution-Driven Multiprocessor Simulator (GEMS) toolset. SIGARCH Comput. Archit. News 33(4), 92–99 (2005). https://doi.org/10.1145/1105734.1105747
Mohammad, A., Darbaz, U., Dozsa, G., Diestelhorst, S., Kim, D., Kim, N.S.: dist-gem5: distributed simulation of computer clusters. In: 2017 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pp. 153–162 (2017). https://doi.org/10.1109/ISPASS.2017.7975287
Reinhardt, S.K., Hill, M.D., Larus, J.R., Lebeck, A.R., Lewis, J.C., Wood, D.A.: The Wisconsin wind tunnel: virtual prototyping of parallel computers. SIGMETRICS Perform. Eval. Rev. 21(1), 48–60 (1993). https://doi.org/10.1145/166962.166979
Sandberg, A., Nikoleris, N., Carlson, T.E., Hagersten, E., Kaxiras, S., et al.: Full speed ahead: detailed architectural simulation at near-native speed. In: 2015 IEEE International Symposium on Workload Characterization, pp. 183–192 (2015). https://doi.org/10.1109/IISWC.2015.29
Schumacher, C., Leupers, R., Petras, D., Hoffmann, A.: parSC: Synchronous parallel SystemC simulation on multi-core host architectures. In: CODES+ISSS (2010). https://doi.org/10.1145/1878961.1879005
Tampouratzis, N., Papaefstathiou, I., Nikitakis, A., Brokalakis, A., Andrianakis, S., Dollas, A., et al.: A novel, highly integrated simulator for parallel and distributed systems. ACM Trans. Archit. Code Optim. 17(1), 1–28 (2020). https://doi.org/10.1145/3378934
Wang, J., Beu, J., Bheda, R., Conte, T., Dong, Z., et al.: Manifold: a parallel simulation framework for multicore systems. In: IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pp. 106–115 (2014). https://doi.org/10.1109/ISPASS.2014.6844466
Weinstock, J.H., Murillo, L.G., Leupers, R., Ascheid, G.: Parallel SystemC simulation for ESL design. ACM Trans. Embed. Comput. Syst. 16(1), 1–25 (2016). https://doi.org/10.1145/2987374
Zurstraßen, N., Cubero-Cascante, J., Joseph, J.M., Yichao, L., Xinghua, X., Leupers, R.: par-gem5: parallelizing gem5’s atomic mode. In: 2023 Design, Automation and Test in Europe Conference and Exhibition (DATE), pp. 1–6 (2023). https://doi.org/10.23919/DATE56975.2023.10137178
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Cubero-Cascante, J., Zurstraßen, N., Nöller, J., Leupers, R., Joseph, J.M. (2023). parti-gem5: gem5’s Timing Mode Parallelised. In: Silvano, C., Pilato, C., Reichenbach, M. (eds) Embedded Computer Systems: Architectures, Modeling, and Simulation. SAMOS 2023. Lecture Notes in Computer Science, vol 14385. Springer, Cham. https://doi.org/10.1007/978-3-031-46077-7_12
Download citation
DOI: https://doi.org/10.1007/978-3-031-46077-7_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-46076-0
Online ISBN: 978-3-031-46077-7
eBook Packages: Computer ScienceComputer Science (R0)