Ramulator 2.0: A Modern, Modular, and Extensible DRAM Simulator (2308.11030v2)
Abstract: We present Ramulator 2.0, a highly modular and extensible DRAM simulator that enables rapid and agile implementation and evaluation of design changes in the memory controller and DRAM to meet the increasing research effort in improving the performance, security, and reliability of memory systems. Ramulator 2.0 abstracts and models key components in a DRAM-based memory system and their interactions into shared interfaces and independent implementations. Doing so enables easy modification and extension of the modeled functions of the memory controller and DRAM in Ramulator 2.0. The DRAM specification syntax of Ramulator 2.0 is concise and human-readable, facilitating easy modifications and extensions. Ramulator 2.0 implements a library of reusable templated lambda functions to model the functionalities of DRAM commands to simplify the implementation of new DRAM standards, including DDR5, LPDDR5, HBM3, and GDDR6. We showcase Ramulator 2.0's modularity and extensibility by implementing and evaluating a wide variety of RowHammer mitigation techniques that require different memory controller design changes. These techniques are added modularly as separate implementations without changing any code in the baseline memory controller implementation. Ramulator 2.0 is rigorously validated and maintains a fast simulation speed compared to existing cycle-accurate DRAM simulators. Ramulator 2.0 is open-sourced under the permissive MIT license at https://github.com/CMU-SAFARI/ramulator2
- N. Chatterjee et al., “USIMM: the Utah SImulated Memory Module,” in UUCS-12-002, 2012.
- Y. Kim et al., “Ramulator: A Fast and Extensible DRAM Simulator,” CAL, 2016.
- P. Rosenfeld et al., “Dramsim2: A cycle accurate memory system simulator,” in CAL, 2011.
- S. Li et al., “DRAMsim3: A Cycle-Accurate, Thermal-Capable DRAM Simulator,” in CAL, 2020.
- SAFARI Research Group, “Ramulator2 GitHub Repository,” https://github.com/CMU-SAFARI/ramulator2, 2023.
- ISO, ISO/IEC 14882:2020 Programming languages — C++.
- Y. Kim et al., “Flipping Bits in Memory Without Accessing Them: An Experimental Study of DRAM Disturbance Errors,” in ISCA, 2014.
- E. Lee et al., “TWiCe: Preventing Row-Hammering by Exploiting Time Window Counters,” in ISCA, 2019.
- Y. Park et al., “Graphene: Strong yet Lightweight Row Hammer Protection,” in MICRO, 2020.
- M. Qureshi et al., “Hydra: Enabling Low-Overhead Mitigation of Row-Hammer at Ultra-Low Thresholds via Hybrid Tracking,” in ISCA, 2022.
- G. Saileshwar et al., “Randomized Row-Swap: Mitigating Row Hammer by Breaking Spatial Correlation Between Aggressor and Victim Rows,” in ASPLOS, 2022.
- J. S. Kim et al., “Revisiting RowHammer: An Experimental Analysis of Modern Devices and Mitigation Techniques,” in ISCA, 2020.
- J. Lowe-Power et al., “The gem5 simulator: Version 20.0+,” 2020, arXiv:2007.03152 [cs.AR].
- D. Sanchez and C. Kozyrakis, “Zsim: Fast and accurate microarchitectural simulation of thousand-core systems,” in ISCA, 2013.
- P. Frigo et al., “TRRespass: Exploiting the Many Sides of Target Row Refresh,” in S&P, 2020.
- H. Hassan et al., “Uncovering in-DRAM RowHammer Protection Mechanisms: A New Methodology, Custom RowHammer Patterns, and Implications,” in MICRO, 2021.
- Micron Technology, “Micron DDR4 Verilog Model,” https://media-www.micron.com/-/media/client/global/documents/products/sim-model/dram/ddr4/ddr4_verilog_models.zip, 2018.
- Standard Performance Evaluation Corp., “SPEC CPU 2006,” http://www.spec.org/cpu2006/.
- Standard Performance Evaluation Corp., “SPEC CPU 2017,” http://www.spec.org/cpu2017/.
Collections
Sign up for free to add this paper to one or more collections.
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.