Difference between revisions of "The Sniper Multi-Core Simulator"

From Sniper
Jump to navigation Jump to search
Line 1: Line 1:
Sniper is a parallel, fast and accurate x86-64 micro-architectural simulator with speeds of up to 2 MIPSThe goal of this simulator is to allow fast simulation, while allowing both hardware architects and software developers the freedom to choose the level of abstraction needed for their immediate goal. Our fast and accurate core model, the interval core model, allows for a detailed view of application performance while providing good simulation speed. In addition to the detailed out-of-order core model, we provide modern branch predictors and shared-cache memory models. The simulator is being developed at Ghent University's Performance Lab in conjunction with the Intel ExaScience Lab in Leuven, Belgium and was originally based on the [http://groups.csail.mit.edu/carbon/graphite Graphite] simulation framework.
+
At Ghent University and the Intel ExaScience Lab, we have been working on
 +
a next generation multi-threaded, high-speed and accurate
 +
simulator, called [http://www.exascience.com/wp-content/uploads/2011/09/Sc2011carlson-final.pdf Sniper]This micro-architecture simulator is
 +
based on the [http://users.elis.ugent.be/~leeckhou/papers/hpca10.pdf interval core model] and the [http://groups.csail.mit.edu/carbon/graphite Graphite] simulation
 +
infrastructure, allowing for fast and accurate simulation and for
 +
trading off simulation speed for accuracy to allow a range of flexible
 +
simulation options when exploring different micro-architectures.
 +
Using this methodology, we are able to achieve good
 +
accuracy against hardware for 16-thread applications, with a speed of
 +
up to 2 MIPS.
  
You can find additional information on the simulator and its components in our recently accepted SC2011 paper [ [http://www.exascience.com/wp-content/uploads/2011/09/Sc2011carlson-final.pdf pdf] ].
+
The Sniper simulator allows one to perform timing simulations for
 +
multi-threaded, shared-memory applications with 10s to 100+ cores,
 +
at a high speed when compared to existing simulators.  The main
 +
feature of the simulator is its core model which is based on the [http://users.elis.ugent.be/~leeckhou/papers/hpca10.pdf interval core model],
 +
a fast mechanistic core model.  The interval model allows for
 +
faster simulations that typical cycle-accurate simulators by jumping
 +
past regions when the core is idle because of long latency operations.
 +
 
 +
This simulator, and the interval core model, is useful for uncore
 +
and system-level studies that require more detail than the typical
 +
one-IPC models.  As an added benefit, the interval core model allows
 +
the generation of CPI stacks, which shows the number of cycles lost
 +
due to different characteristics of the system, like the cache
 +
hierarchy or branch predictor, to be easily understood.
  
 
=== Features ===
 
=== Features ===
 
 
<div class="floatright">http://snipersim.org/w/images/cpi-splash2-fft-med.png</div>
 
<div class="floatright">http://snipersim.org/w/images/cpi-splash2-fft-med.png</div>
* The interval performance model [ [http://users.elis.ugent.be/~leeckhou/papers/hpca10.pdf pdf] ]
+
In addition to the main features mentioned above, we have updated
** Allows for fast and accurate simulation
+
the base simulation infrastructure to allow for simulating a larger
* CPI stack generation [[CPI Stacks|in three easy steps]]
+
set of workloads on more recent simulated hardware.  Here is the full
** Shows where your cycles are going
+
set of some of the recently added features:
* Multithreaded simulator for multithreaded applications
+
* [http://users.elis.ugent.be/~leeckhou/papers/hpca10.pdf Interval core model]
 +
* [[CPI Stacks]] to gain insight into lost cycles
 +
* Multithreaded, x86-64 support
 
* Validated against the Intel Core 2 micro-architecture
 
* Validated against the Intel Core 2 micro-architecture
* Shared caches, modern branch predictors
+
* Full DVFS support
* DVFS support
+
* Shared and private caches
* Successfully runs SPLASH-2, PARSEC, Rodinia, and SPEC OpenMP
+
* [http://dx.doi.org/10.1109/ISPASS.2009.4919652 Modern branch predictor]
* [[License|Licensing]]: MIT License (academic use only license for the interval core model)
+
* OpenMP support
* [[Sniper Features|Many more features]]
+
* Runs SPLASH-2, Rodinia, SPEC OpenMP and most of PARSEC
 +
* SimAPI for changing the simulator's behavior at runtime
 +
* Easy debugging of applications and the simulator
 +
* Multiple Linux-OS support (Redhat/Debian/Ubuntu/etc.)
 +
* Open source software, [[License|licensed]] under the MIT and Interval Academic License
 +
* [[Sniper Features|Additional features]]
 +
 
 +
You can find additional information on the simulator and its components in our recently accepted SC2011 paper [ [http://www.exascience.com/wp-content/uploads/2011/09/Sc2011carlson-final.pdf pdf] ].
  
 
=== Getting started ===
 
=== Getting started ===

Revision as of 02:10, 29 November 2011

At Ghent University and the Intel ExaScience Lab, we have been working on a next generation multi-threaded, high-speed and accurate simulator, called Sniper. This micro-architecture simulator is based on the interval core model and the Graphite simulation infrastructure, allowing for fast and accurate simulation and for trading off simulation speed for accuracy to allow a range of flexible simulation options when exploring different micro-architectures. Using this methodology, we are able to achieve good accuracy against hardware for 16-thread applications, with a speed of up to 2 MIPS.

The Sniper simulator allows one to perform timing simulations for multi-threaded, shared-memory applications with 10s to 100+ cores, at a high speed when compared to existing simulators. The main feature of the simulator is its core model which is based on the interval core model, a fast mechanistic core model. The interval model allows for faster simulations that typical cycle-accurate simulators by jumping past regions when the core is idle because of long latency operations.

This simulator, and the interval core model, is useful for uncore and system-level studies that require more detail than the typical one-IPC models. As an added benefit, the interval core model allows the generation of CPI stacks, which shows the number of cycles lost due to different characteristics of the system, like the cache hierarchy or branch predictor, to be easily understood.

Features

cpi-splash2-fft-med.png

In addition to the main features mentioned above, we have updated the base simulation infrastructure to allow for simulating a larger set of workloads on more recent simulated hardware. Here is the full set of some of the recently added features:

  • Interval core model
  • CPI Stacks to gain insight into lost cycles
  • Multithreaded, x86-64 support
  • Validated against the Intel Core 2 micro-architecture
  • Full DVFS support
  • Shared and private caches
  • Modern branch predictor
  • OpenMP support
  • Runs SPLASH-2, Rodinia, SPEC OpenMP and most of PARSEC
  • SimAPI for changing the simulator's behavior at runtime
  • Easy debugging of applications and the simulator
  • Multiple Linux-OS support (Redhat/Debian/Ubuntu/etc.)
  • Open source software, licensed under the MIT and Interval Academic License
  • Additional features

You can find additional information on the simulator and its components in our recently accepted SC2011 paper [ pdf ].

Getting started

Discussion list

Please send any questions or comments to: snipersim [at] groups [dot] google [dot] com . You can also visit our Google Groups page to subscribe to the list and search through the archive of previous messages.

Who we are

<meta name="keywords" content="Sniper Simulator,Sniper,simulator,computer architecture,micro-architecture,microarchitecture,ExaScience Lab,exascience,exascale,SC11,supercomputers,super-computing,computers,Gent University"/>