A Center for Sustainable Cloud Computing

Sustainable Data Centers

gem5-X

A gem5-based simulator with architectural eXtensions

Online services, including streaming services and machine-learning video analytics, are witnessing exponential growth. The server platforms hosting such services have high power and performance requirements since they provide a wide range of multi-threaded applications to multiple users simultaneously. Optimization of energy efficiency and performance is possible by using a system-level simulator capable of simultaneously executing multi-threaded applications in parallel on a many-core system.

We present gem5-X (“a gem5-based full-system simulator with architectural eXtensions”), a simulation framework that enables fast profiling, architectural exploration, and performance-power characterization for system-level architectural innovations. It is a new methodology for the optimization of heterogeneous systems. gem5-X is equipped in-simulator with the gperf profiler, which allows identification of application bottlenecks and then evaluation of the potential benefits of advanced architectural extensions, such as in-cache computing and 3D stacked High Bandwidth Memory.

The performance results of our tuned gem5-X models have been validated against an ARMv8 JUNO board, obtaining an error below 4% when comparing the execution time of the simulator with the real one on the JUNO board.

gem5-X is an integral part of our work to build a framework that enables architectural exploration of current state-of-the-art processors, such as ARMv8 in-order and Out-of-Order architectures, and including also High Bandwidth Memories (HBM), and in-memory computing accelerators. One of the main achievements of gem5-X is that it provides a full working environment around the gem5 simulator, together with a set of models validated against real hardware, as well as enhancements that enable easier and faster development.

The primary intended users of gem5-X are computer architects who want to test architectural extensions on a full system comprising an operating system both from academia and industry. We provide researchers with a working and validated environment and setup to ease the steep learning curve of gem5, and offer a working out-of-the-box starting point for their experiments.

The gem5-X framework is an open-source project. We believe that a simulator enabling testing novel architectural extensions from the application level perspective provides considerable value to the community and bridges the gap between the real application requirements and constraints and the architecture.

The project was funded by Eurolab4HPC, as well as the COMPUSAPIEN ERC Consolidator Grant.

Suggested Reading

https://github.com/esl-epfl/gem5-X
https://www.epfl.ch/labs/esl/gem5-x-documentation
https://infoscience.epfl.ch/record/264182?ln=en