Compiler and System Optimizations for gem5 Simulator
The simulator itself is a program — compiling and running it well is free performance for every experiment that follows. (Illustrative diagram; replace with the paper's figure.)
Architectural simulation speed limits how much design space researchers can explore. We apply compiler and system-level optimizations to gem5 that significantly shorten simulation time while leaving simulation results untouched.
Why it matters
Architectural simulators are indispensable for computer architecture research, but their event-driven, cycle-level execution model makes them notoriously slow — a single detailed gem5 run can take days, and design-space exploration multiplies that by hundreds of configurations. Since simulation results must not change, the remaining lever is how efficiently the simulator itself executes on the host machine.
Key ideas
- gem5 suffers severe frontend stalls on modern host CPUs, stemming from its large instruction footprint.
- Naïve profile-guided optimization (PGO) is impractical here: it demands frequent re-profiling and recompilation as simulated configurations change. We challenge the conventional reliance on self-profiling to make PGO practical for simulators.
- Combined with system-level optimizations, per-instance simulation time drops substantially — accelerating large-scale design-space exploration end to end.
BibTeX
@inproceedings{park2026gem5,
author = {Haneul Park and Siddharth Agarwal and Pradyun Narkadamilli
and Kiung Jung and Yongjun Park and Ipoom Jeong and Nam Sung Kim},
title = {Compiler and System Optimizations for {gem5} Simulator},
booktitle = {IEEE International Symposium on Performance Analysis of
Systems and Software (ISPASS)},
year = {2026}
}