Different Perspectives of Memory System Simulation
For researchers and engineers using memory simulators, this work provides a validation methodology and corrections to improve the reliability of performance predictions, addressing a known bottleneck in simulation accuracy.
The paper identifies and addresses inaccuracies in memory system simulators by proposing a methodology that evaluates performance from three perspectives: the simulator, the CPU-memory interface, and the application. It shows that correcting interface-related issues significantly improves simulation fidelity, with results across multiple simulators (Ramulator, Ramulator 2, DRAMsim3) closely matching real hardware.
Memory simulators are used to estimate application performance on advanced memory systems, yet they may exhibit significant discrepancies compared to real hardware. This paper investigates two key questions: (1) what causes these inaccuracies, and (2) how can simulators be properly validated to ensure reliable performance predictions. We propose a methodology that evaluates memory performance from three complementary perspectives: the memory simulator, the CPU-memory interface, and the application. Our analysis reveals that these perspectives can diverge substantially, with application-level performance often decoupled from internal simulator statistics. We identify the CPU-memory interface as the primary source of these inaccuracies. To address these problems, we implement a set of corrections and enhancements that improve the fidelity of integrated simulators. We evaluate these changes across multiple widely used simulators, including Ramulator, Ramulator 2, and DRAMsim3 integrated with ZSim. The results show that correcting interface-related issues is essential to achieve simulation outcomes that closely resemble actual system performance.