Reproducibility in simulation-based computer architecture research requires coordinating artifacts like disk images, kernels, and benchmarks, but existing workflows are inconsistent. We improve gem5, an open-source simulator with over 1600 forks, and gem5 Resources, a centralized repository of over 2000 pre-packaged artifacts, to address these issues. While gem5 Resources enables artifact sharing, researchers still face challenges. Creating custom disk images is complex and time-consuming, with no standardized process across ISAs, making it difficult to extend and share images. gem5 provides limited guest-host communication features through a set of predefined exit events that restrict researchers' ability to dynamically control and monitor simulations. Lastly, running simulations with multiple workloads requires researchers to write custom external scripts to coordinate multiple gem5 simulations which creates error-prone and hard-to-reproduce workflows. To overcome this, we introduce several features in gem5 and gem5 Resources. We standardize disk-image creation across x86, ARM, and RISC-V using Packer, and provide validated base images with pre-annotated benchmark suites (NPB, GAPBS). We provide 12 new disk images, 6 new kernels, and over 200 workloads across three ISAs. We refactor the exit event system to a class-based model and introduce hypercalls for enhanced guest-host communication that allows researchers to define custom behavior for their exit events. We also provide a utility to remotely monitor simulations and the gem5-bridge driver for user-space m5 operations. Additionally, we implemented Suites and MultiSim to enable parallel full-system simulations from gem5 configuration scripts, eliminating the need for external scripting. These features reduce setup complexity and provide extensible, validated resources that improve reproducibility and standardization.
翻译:在基于仿真的计算机体系结构研究中,可复现性需要协调磁盘映像、内核和基准测试等工件,但现有工作流程缺乏一致性。我们对开源模拟器gem5(拥有超过1600个分支)及gem5 Resources(包含超过2000个预封装工件的中心化仓库)进行了改进,以解决这些问题。尽管gem5 Resources实现了工件共享,但研究人员仍面临挑战。创建自定义磁盘映像复杂且耗时,且不同指令集架构(ISA)间缺乏标准化流程,导致难以扩展和共享映像。gem5通过一组预定义的退出事件提供有限的客机-宿主机通信功能,这限制了研究人员动态控制和监控仿真的能力。此外,当使用多个工作负载运行仿真时,研究人员需要编写自定义外部脚本来协调多个gem5仿真,这容易出错且难以复现。为解决这些问题,我们在gem5和gem5 Resources中引入了多项特性。我们使用Packer标准化了x86、ARM和RISC-V架构的磁盘映像创建流程,并提供了带有预标注基准测试套件(NPB、GAPBS)的经过验证的基础映像。我们新增了12个磁盘映像、6个内核以及超过200个覆盖三种ISA的工作负载。我们将退出事件系统重构为基于类的模型,并引入了超调用以增强客机-宿主机通信,使研究人员能够为退出事件定义自定义行为。我们还提供了远程监控仿真的实用工具以及用于用户空间m5操作的gem5-bridge驱动程序。此外,我们实现了Suites和MultiSim功能,支持在gem5配置脚本中直接运行并行全系统仿真,消除了对外部脚本的需求。这些特性降低了配置复杂性,并提供了可扩展且经过验证的资源,从而提升了可复现性和标准化程度。