Multifacet’s General Execution-driven Multiprocessor Simulator (GEMS) Toolset

Multifacet’s General Execution-driven Multiprocessor Simulator (GEMS) Toolset

September 2005 | Milo M. K. Martin, Daniel J. Sorin, Bradford M. Beckmann, Michael R. Marty, Min Xu, Alaa R. Alameldeen, Kevin E. Moore, Mark D. Hill, David A. Wood
The Wisconsin Multifacet Project has developed the General Execution-driven Multiprocessor Simulator (GEMS) toolset to evaluate the performance of multiprocessor systems used in database and web servers. GEMS leverages the full-system functional simulator Simics as a foundation, allowing researchers to build timing simulator modules for modeling memory system and microprocessor timing. The GEMS toolset includes the Ruby memory system simulator, which supports various drivers for memory operation requests, and the Opal detailed microarchitectural processor timing model, which runs ahead of Simics to simulate instruction fetching, decoding, and execution. GEMS is released under the GNU GPL to facilitate research on multiprocessor systems with commercial workloads. The toolset addresses challenges in simulating multiprocessor systems with complex, multithreaded workloads by decoupling functional and timing simulation, providing flexibility in specifying cache coherence protocols, and supporting detailed timing models. However, GEMS has limitations, such as the inability to fully validate end-to-end simulations and the lack of support for certain advanced microarchitectural features.The Wisconsin Multifacet Project has developed the General Execution-driven Multiprocessor Simulator (GEMS) toolset to evaluate the performance of multiprocessor systems used in database and web servers. GEMS leverages the full-system functional simulator Simics as a foundation, allowing researchers to build timing simulator modules for modeling memory system and microprocessor timing. The GEMS toolset includes the Ruby memory system simulator, which supports various drivers for memory operation requests, and the Opal detailed microarchitectural processor timing model, which runs ahead of Simics to simulate instruction fetching, decoding, and execution. GEMS is released under the GNU GPL to facilitate research on multiprocessor systems with commercial workloads. The toolset addresses challenges in simulating multiprocessor systems with complex, multithreaded workloads by decoupling functional and timing simulation, providing flexibility in specifying cache coherence protocols, and supporting detailed timing models. However, GEMS has limitations, such as the inability to fully validate end-to-end simulations and the lack of support for certain advanced microarchitectural features.
Reach us at info@study.space
[slides] Multifacet's general execution-driven multiprocessor simulator (GEMS) toolset | StudySpace