Graphite: A Distributed Parallel Simulator for Multicores
Name
MIT-CSAIL-TR-2009-056.pdf
Size
1.23 MB
Format
Adobe PDF
Checksum (MD5)
abbb090f80ff56a3fc571ae0f0ab1e5d
Author(s) • • • • • • •
Beckmann, Nathan
Eastep, Jonathan
Gruenwald, Charles, III
Kurian, George
Kasture, Harshad
Miller, Jason E.
Celio, Christopher
Agarwal, Anant
Advisor(s)
Anant Agarwal
Date Issued
November 9, 2009
Series/Report no.
MIT-CSAIL-TR-2009-056
Abstract
This paper introduces the open-source Graphite distributed parallel multicore simulator infrastructure. Graphite is designed from the ground up for exploration of future multicore processors containing dozens, hundreds, or even thousands of cores. It provides high performance for fast design space exploration and software development for future processors. Several techniques are used to achieve this performance including: direct execution, multi-machine distribution, analytical modeling, and lax synchronization. Graphite is capable of accelerating simulations by leveraging several machines. It can distribute simulation of an off-the-shelf threaded application across a cluster of commodity Linux machines with no modification to the source code. It does this by providing a single, shared address space and consistent single-process image across machines. Graphite is designed to be a simulation framework, allowing different component models to be easily replaced to either model different architectures or tradeoff accuracy for performance. We evaluate Graphite from a number of perspectives and demonstrate that it can simulate target architectures containing over 1000 cores on ten 8-core servers. Performance scales well as more machines are added with near linear speedup in many cases. Simulation slowdown is as low as 41x versus native execution for some applications. The Graphite infrastructure and existing models will be released as open-source software to allow the community to simulate their own architectures and extend and improve the framework.
Persistent DSpace Link