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, and David A. Wood
The Wisconsin Multifacet Project has developed the GEMS Toolset, a simulation toolset for evaluating multiprocessor hardware systems used in database and web servers. GEMS is built on Simics, a full-system functional simulator, and includes timing simulator modules for modeling memory systems and microprocessors. The toolset enables researchers to run architectural experiments using scaled-down commercial workloads. GEMS is released under the GNU GPL and allows for both full-system and timing simulation.
GEMS features a modular design that decouples simulation functionality and timing, enabling flexibility in simulating various system components at different levels of detail. The toolset includes Ruby, a memory system simulator, and Opal, a detailed microarchitectural processor model. Ruby models caches, cache controllers, system interconnect, memory controllers, and main memory, with a domain-specific language (SLICC) for specifying cache coherence protocols. Opal simulates a dynamically-scheduled superscalar processor and relies on Simics for functional correctness.
GEMS supports a wide range of cache coherence protocols, including directory-based and snooping-based systems. However, it has limitations, such as not modeling DMA operations or memory-mapped I/O, and its processor model does not include all advanced features of modern processors. The toolset is open-source and available at http://www.cs.wisc.edu/gems/. It is designed to help researchers evaluate multiprocessor architectures and is particularly useful for studying cache coherence and memory hierarchy. GEMS is released under the GNU GPL and is intended to facilitate research on multiprocessor systems with commercial workloads.The Wisconsin Multifacet Project has developed the GEMS Toolset, a simulation toolset for evaluating multiprocessor hardware systems used in database and web servers. GEMS is built on Simics, a full-system functional simulator, and includes timing simulator modules for modeling memory systems and microprocessors. The toolset enables researchers to run architectural experiments using scaled-down commercial workloads. GEMS is released under the GNU GPL and allows for both full-system and timing simulation.
GEMS features a modular design that decouples simulation functionality and timing, enabling flexibility in simulating various system components at different levels of detail. The toolset includes Ruby, a memory system simulator, and Opal, a detailed microarchitectural processor model. Ruby models caches, cache controllers, system interconnect, memory controllers, and main memory, with a domain-specific language (SLICC) for specifying cache coherence protocols. Opal simulates a dynamically-scheduled superscalar processor and relies on Simics for functional correctness.
GEMS supports a wide range of cache coherence protocols, including directory-based and snooping-based systems. However, it has limitations, such as not modeling DMA operations or memory-mapped I/O, and its processor model does not include all advanced features of modern processors. The toolset is open-source and available at http://www.cs.wisc.edu/gems/. It is designed to help researchers evaluate multiprocessor architectures and is particularly useful for studying cache coherence and memory hierarchy. GEMS is released under the GNU GPL and is intended to facilitate research on multiprocessor systems with commercial workloads.