一句话:提出基于轻量用户态内核 MimicOS 的 VM 模拟框架,兼顾精度与速度并可集成到多种体系结构模拟器。
新兴应用的数据需求使虚拟内存(VM)成为主要性能瓶颈,但现有模拟工具要么难以准确建模 VM 软件组件,要么因跨软硬件边界而过于缓慢复杂。Virtuoso 采用轻量级用户态 OS 内核 MimicOS,仅模仿所需内核功能以加速模拟,并提供高层编程接口开发模仿真实 OS 例程的新例程;它可集成到多种体系结构模拟器并内置多种先进 VM 方案。作者将其集成到五个模拟器并评估五个用例:在 Sniper 上对高端服务器 CPU 的 MMU 建模精度达 82%,对 Linux 内核缺页延迟精度达 79%,IPC 精度比基线高 21%,平均时间开销仅 20%。
The unprecedented growth in data demand from emerging applications has turned virtual memory (VM) into a major performance bottleneck. VM's overheads are expected to persist as memory requirements continue to increase. Researchers explore new hardware/OS co-designs to optimize VM across diverse applications and systems. To evaluate such designs, researchers rely on various simulation methodologies to model VM components. Unfortunately, current simulation tools (i) either lack the desired accuracy in modeling VM's software components or (ii) are too slow and complex to prototype and evaluate schemes that span across the hardware/software boundary. We introduce Virtuoso, a new simulation framework that enables quick and accurate prototyping and evaluation of the software and hardware components of the VM subsystem. The key idea of Virtuoso is to employ a lightweight userspace OS kernel, called MimicOS, that (i) accelerates simulation time by imitating only the desired kernel functionalities, (ii) facilitates the development of new OS routines that imitate real ones, using an accessible high-level programming interface, (iii) enables accurate and flexible evaluation of the application- and system-level implications of VM after integrating Virtuoso to a desired architectural simulator. In this work, we integrate Virtuoso into five diverse architectural simulators, each specializing in different aspects of system design, and heavily enrich it with multiple state-of-the-art VM schemes. This way, we establish a common ground for researchers to evaluate current VM designs and to develop and test new ones. We demonstrate Virtuoso's flexibility and versatility by evaluating five diverse use cases, yielding new insights into state-of-the-art VM techniques. Our validation shows that Virtuoso ported on top of Sniper, a state-of-the-art microarchitectural simulator, models (i) the memory management unit of a real high-end server-grade CPU with 82% accuracy, and (ii) the page fault latency of a real Linux kernel with up to 79% accuracy. Consequently, Virtuoso models the IPC performance of a real high-end server-grade CPU with 21% higher accuracy than the baseline version of Sniper. Virtuoso's accuracy benefits incur an average simulation time overhead of only 20%, on top of four baseline architectural simulators. The source code of Virtuoso is freely available at https://github.com/CMU-SAFARI/Virtuoso.
@inproceedings{KanellopoulosSB25,
title = {Virtuoso: Enabling Fast and Accurate Virtual Memory Research via an Imitation-based Operating System Simulation Methodology},
author = {Konstantinos Kanellopoulos and Konstantinos Sgouras and F. Nisa Bostanci and Andreas Kosmas Kakolyris and Berkin Kerim Konar and Rahul Bera and Mohammad Sadrosadati and Rakesh Kumar and Nandita Vijaykumar and Onur Mutlu},
booktitle = {ASPLOS},
year = {2025},
doi = {10.1145/3676641.3716027}
}