Skip to main content

parti-gem5: gem5’s Timing Mode Parallelised

  • Conference paper
  • First Online:
Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS 2023)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 89.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 119.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://parsec.cs.princeton.edu/download.htm.

  2. 2.

    https://www.cs.virginia.edu/stream/.

  3. 3.

    https://www.gem5.org/documentation/general_docs/fullsystem/guest_binaries.

  4. 4.

    https://github.com/arm-university/arm-gem5-rsk.

References

  1. Arm Limited: AMBA 5 CHI Architecture Specification. ARM IHI 0050E.a (2020)

    Google Scholar 

  2. Bienia, C.: Benchmarking Modern Multiprocessors. Ph.D. thesis, Princeton University (2011)

    Google Scholar 

  3. 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

    Article  Google Scholar 

  4. 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

  5. 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

  6. 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

  7. Fujimoto, R.M.: Parallel discrete event simulation. Commun. ACM 33(10), 30–53 (1990). https://doi.org/10.1145/84537.84545

    Article  Google Scholar 

  8. 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

  9. Kivity, A., Kamay, Y., Laor, D., Lublin, U., Liguori, A.: KVM: the linux virtual machine monitor. In: Proceedings Linux Symposium, vol. 15 (2007)

    Google Scholar 

  10. 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

  11. 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

  12. 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

  13. 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

    Article  Google Scholar 

  14. 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

  15. 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

  16. 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

    Article  Google Scholar 

  17. 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

  18. 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

    Article  Google Scholar 

  19. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to José Cubero-Cascante .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics