Abstract
The simulation of DRAMs (Dynamic Random Access Memories) on system level requires highly accurate models due to their complex timing and power behavior. However, conventional cycle-accurate DRAM models often become the bottleneck for the overall simulation speed. A promising alternative are DRAM simulation models based on Transaction Level Modeling, which can be fast and accurate at the same time. In this paper we present DRAMSys4.0, which is, to the best of our knowledge, the fastest cycle-accurate open-source DRAM simulator and has a large range of functionalities. DRAMSys4.0 includes a novel simulator architecture that enables a fast adaptation to new DRAM standards using a Domain Specific Language. We present optimization techniques to achieve a high simulation speed while maintaining full temporal accuracy. Finally, we provide a detailed survey and comparison of the most prominent cycle-accurate open-source DRAM simulators with regard to their supported features, analysis capabilities and simulation speed.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
DRAMSys without a version number refers both to DRAMSys3.0 and DRAMSys4.0.
- 3.
The TLM-AT base protocol consists of the phases BEGIN_REQ, END_REQ, BEGIN_RESP and END_RESP.
- 4.
Timing dependencies are temporal constraints that must be satisfied between issued DRAM commands.
- 5.
Controllers that implement the open-page policy keep the corresponding row open after a read or write access, while controllers that implement the closed-page policy automatically precharge the corresponding row after a read or write access.
- 6.
- 7.
We will report the missing timing dependencies to the developers of the other simulators.
- 8.
Using read snooping a read request can be served directly within the controller if an earlier write request to the same address is still pending.
References
Sudarshan, C., et al.: A lean, low power, low latency DRAM memory controller for transprecision computing. In: Pnevmatikatos, D.N., Pelcat, M., Jung, M. (eds.) SAMOS 2019. LNCS, vol. 11733, pp. 429–441. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-27562-4_31
Jung, M., et al.: DRAMSys: a flexible DRAM subsystem design space exploration framework. IPSJ Trans. Syst. LSI Des. Methodol. 8, 63–74 (2015)
Binkert, N., et al.: The gem5 simulator. SIGARCH Comput. Archit. News 39(2), 1–7 (2011)
Rosenfeld, P., et al.: DRAMSim2: a cycle accurate memory system simulator. Comput. Archit. Lett. 10(1), 16–19 (2011)
Li, S., et al.: DRAMsim3: a cycle-accurate, thermal-capable DRAM simulator. IEEE Comput. Archit. Lett. 19(2), 106–109 (2020)
Kim, Y., et al.: Ramulator: a fast and extensible DRAM simulator. IEEE Comput. Archit. Lett. 15(1), 45–49 (2015)
Jeong, M.K., et al.: DrSim: a platform for flexible DRAM system research. http://lph.ece.utexas.edu/public/DrSim. Accessed 15 Aug 2019
Jacob, B.: The Memory System: You Can’T Avoid It, You Can’T Ignore It, You Can’T Fake It. Morgan and Claypool Publishers, San Rafael (2009)
Todorov, V., et al.: Automated construction of a cycle-approximate transaction level model of a memory controller. In: Proceedings of the Conference on Design, Automation and Test in Europe, DATE 2012, pp. 1066–1071. EDA Consortium, San Jose (2012)
Li, S., et al.: Statistical DRAM modeling. In: Proceedings of the International Symposium on Memory Systems, MEMSYS 2019, pp. 521–530. Association for Computing Machinery, New York (2019)
Jung, M., et al.: Fast and accurate DRAM simulation: can we further accelerate it? In: Proceedings of the Conference on Design, Automation and Test in Europe, DATE 2020, Grenoble, pp. 364–369 (2020)
Yuan, G.L., et al.: A hybrid analytical DRAM performance model (2009)
Li, S., et al.: Rethinking cycle accurate DRAM simulation. In: Proceedings of the International Symposium on Memory Systems, MEMSYS 2019, pp. 184–191. Association for Computing Machinery, New York (2019)
IEEE Computer Society: IEEE Standard for Standard SystemC Language Reference Manual. IEEE Std 1666–2011 (2012)
Hansson, A., et al.: Simulating DRAM controllers for future system architecture exploration. In: 2014 IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), pp. 201–210 (2014)
Jung, M., et al.: TLM modelling of 3D stacked wide I/O DRAM subsystems: a virtual platform for memory controller design space exploration. In: Proceedings of the 2013 Workshop on Rapid Simulation and Performance Evaluation: Methods and Tools, RAPIDO 2013, pp. 5:1–5:6. ACM, New York (2013)
Chandrasekar, K., et al.: DRAMPower: Open-source DRAM power & energy estimation tool. http://www.drampower.info. Accessed 15 Aug 2019
Sridhar, A., et al.: 3D-ICE: fast compact transient thermal modeling for 3D ICs with inter-tier liquid cooling. In: Proceedings of ICCAD 2010 (2010)
MediaBench Consortium. Mediabench (2015). http://euler.slu.edu/~fritts/mediabench/. Accessed 28 Aug 2015
Muhr, H., et al.: Accelerating RTL simulation by several orders of magnitude using clock suppression. In: 2006 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation, pp. 123–128 (2006)
Jung, M., et al.: Fast validation of DRAM protocols with timed petri nets. In: Proceedings of the International Symposium on Memory Systems, MEMSYS 2019, pp. 133–147. ACM, New York (2019)
Petri, C.A.: Kommunikation mit Automaten. PhD thesis, Universität Hamburg (1962)
Jung, M., et al.: ConGen: an application specific DRAM memory controller generator. In: Proceedings of the Second International Symposium on Memory Systems, MEMSYS 2016, pp. 257–267. ACM, New York (2016)
Rixner, S., et al.: Memory access scheduling. In: Proceedings of the 27th Annual International Symposium on Computer Architecture, ISCA 2000, pp. 128–138. ACM, New York (2000)
Mutlu, O., et al.: Parallelism-aware Batch-scheduling: enhancing both performance and fairness of shared DRAM systems. In: 35th International Symposium on Computer Architecture (ISCA). Association for Computing Machinery Inc. (2008)
Ausavarungnirun, R., et al.: Staged memory scheduling: achieving high performance and scalability in heterogeneous systems. In: Proceedings of the 39th Annual International Symposium on Computer Architecture, ISCA 2012, pp. 416–427. IEEE Computer Society, Washington, DC (2012)
Rodrigues, A.F., et al.: The structural simulation toolkit. SIGMETRICS Perform. Eval. Rev. 38(4), 37–42 (2011)
Sanchez, D., et al.: ZSim: fast and accurate microarchitectural simulation of thousand-core systems. ACM SIGARCH Comput. Archit. News 41, 475 (2013)
Ghose, S., et al.: What your DRAM power models are not telling you: lessons from a detailed experimental study. Proc. ACM Meas. Anal. Comput. Syst. 2(3), 1–41 (2018)
Acknowledgements
This work was supported within the Fraunhofer and DFG cooperation programme (Grant no. WE2442/14-1) and supported by the Fraunhofer High Performance Center for Simulation- and Software-based Innovation. Furthermore, we thank Synopsys and the anonymous reviewers for their support.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Steiner, L., Jung, M., Prado, F.S., Bykov, K., Wehn, N. (2020). DRAMSys4.0: A Fast and Cycle-Accurate SystemC/TLM-Based DRAM Simulator. In: Orailoglu, A., Jung, M., Reichenbach, M. (eds) Embedded Computer Systems: Architectures, Modeling, and Simulation. SAMOS 2020. Lecture Notes in Computer Science(), vol 12471. Springer, Cham. https://doi.org/10.1007/978-3-030-60939-9_8
Download citation
DOI: https://doi.org/10.1007/978-3-030-60939-9_8
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-60938-2
Online ISBN: 978-3-030-60939-9
eBook Packages: Computer ScienceComputer Science (R0)