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.
翻译:内存仿真器被用于评估应用程序在先进内存系统上的性能,然而其与真实硬件相比可能存在显著差异。本文探讨两个关键问题:(1) 这些不准确性的成因,以及 (2) 如何恰当地验证仿真器以确保可靠的性能预测。我们提出了一种方法论,从三个互补的视角评估内存性能:内存仿真器、CPU-内存接口以及应用程序。分析表明,这些视角可能产生显著分歧,应用程序级性能往往与仿真器内部统计数据脱耦。我们确定CPU-内存接口是这些不准确性的主要来源。为解决这些问题,我们实施了一系列修正与增强,从而提升集成仿真器的保真度。我们在多个广泛使用的仿真器(包括与ZSim集成的Ramulator、Ramulator 2和DRAMsim3)上评估了这些改进。结果表明,修正接口相关问题对于获得接近实际系统性能的仿真结果至关重要。