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

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Kanellopoulos, Konstantinos, Sgouras, Konstantinos, Bostanci, F. Nisa, Kakolyris, Andreas Kosmas, Konar, Berkin Kerim, Bera, Rahul, Sadrosadati, Mohammad, Kumar, Rakesh, Vijaykumar, Nandita, Mutlu, Onur
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866913760377044992
author Kanellopoulos, Konstantinos
Sgouras, Konstantinos
Bostanci, F. Nisa
Kakolyris, Andreas Kosmas
Konar, Berkin Kerim
Bera, Rahul
Sadrosadati, Mohammad
Kumar, Rakesh
Vijaykumar, Nandita
Mutlu, Onur
author_facet Kanellopoulos, Konstantinos
Sgouras, Konstantinos
Bostanci, F. Nisa
Kakolyris, Andreas Kosmas
Konar, Berkin Kerim
Bera, Rahul
Sadrosadati, Mohammad
Kumar, Rakesh
Vijaykumar, Nandita
Mutlu, Onur
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2403_04635
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Virtuoso: Enabling Fast and Accurate Virtual Memory Research via an Imitation-based Operating System Simulation Methodology
Kanellopoulos, Konstantinos
Sgouras, Konstantinos
Bostanci, F. Nisa
Kakolyris, Andreas Kosmas
Konar, Berkin Kerim
Bera, Rahul
Sadrosadati, Mohammad
Kumar, Rakesh
Vijaykumar, Nandita
Mutlu, Onur
Hardware Architecture
Operating Systems
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.
title Virtuoso: Enabling Fast and Accurate Virtual Memory Research via an Imitation-based Operating System Simulation Methodology
topic Hardware Architecture
Operating Systems
url https://arxiv.org/abs/2403.04635