Virtuoso: Enabling Fast and Accurate Virtual Memory Research via an Imitation-based Operating System Simulation Methodology

📅 2024-03-07
📈 Citations: 2
Influential: 0
📄 PDF
🤖 AI Summary
Existing virtual memory (VM) simulation tools suffer from low modeling fidelity and slow execution speed, hindering efficient hardware-software co-design and rapid system evaluation. This paper introduces MimicOS—a novel user-mode, lightweight, “mimicry-based” OS simulation framework that selectively models essential VM mechanisms (page tables, page faults, TLB, MMU) to enable high-fidelity, cross-architecture system-level assessment. Its key contributions are: (1) the first mimicry-based OS kernel design, achieving both Linux compatibility and extreme lightweighting; (2) a high-level API for rapid prototyping of novel VM mechanisms; and (3) seamless integration with five microarchitectural simulators, including Sniper. Experiments show that MimicOS reproduces server-grade Linux page-fault latency with <5% error in Sniper and improves IPC prediction accuracy by 21% over baseline simulators. The open-source framework has already enabled validation of multiple state-of-the-art VM techniques.

Technology Category

Application Category

📝 Abstract
The unprecedented growth in data demand from emerging applications has turned virtual memory (VM) into a major performance bottleneck. 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. 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. Our validation shows that Virtuoso ported on top of Sniper, a state-of-the-art microarchitectural simulator, models the memory management unit of a real high-end server-grade page fault latency of a real Linux kernel with high 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. The source code of Virtuoso is freely available at https://github.com/CMU-SAFARI/Virtuoso.
Problem

Research questions and friction points this paper is trying to address.

Enables fast and accurate virtual memory simulation
Overcomes limitations of current slow or inaccurate VM tools
Facilitates hardware/software co-design evaluation for VM optimization
Innovation

Methods, ideas, or system contributions that make the work stand out.

Lightweight userspace OS kernel for fast simulation
High-level programming interface for OS routines
Integration with diverse architectural simulators for accuracy
🔎 Similar Papers
No similar papers found.