Computer Architecture and Systems Laboratory

Georgia Tech > CoE > ECE > CASL






People





































Multicore Infrastructure & Tools

The evolution to multicore architectures has left a void in accurate systems simulation that cannot be met by traditional point tools such as standalone microarchitecture simulators and interconnection network simulators. Integrated simulation environments are too slow for high fidelity simulations. While high fidelity emulation environments that use FPGAs are ultimately desirable, we seek a mid-point between sequential environments and hardware emulators met with coarse grain distributed simulation. Such environments can enable rapid exploration architectural design spaces as a prelude to hardware emulation and FPGA based acceleration. Towards this end, we are creating Manifold – a many core modeling and simulation environment. This is a joint project with Professors Tom Conte (SCS) and George Riley and their students (see the Manifold page). This page delineates specific components being constructed in CASL that will become a part of the Manifold distribution.

Manifold’s most important contribution is a set of simulation interfaces: i) between functional and timing simulators, ii) core-to-cache, ii) cache-to-network, iii) network-to-memory controller, and iv) parallel simulator kernel. The interfaces are intended to enable the construction of parallel/distributed simulation models by integrating point tools such as network simulators with microarchitecture simulators and memory system simulators. The specific components led and constructed in CASL are the following. The interface specifications and full details are available on the Manifold page. We anticipate releases of each of the various components being available in early Spring 2011 with a full Manifold release sometime late to end of Spring.

QSIM

QSIM is a library built on the open source QEMU distribution for rapidly and easily constructing multithreaded many core emulators. QSIM models host a modified version of Linux and provides an implementation of the Manifold functional-timing model interface. This interface provides call backs that are used to coordinate the advance of QSIM-based parallel emulators with a timing model. This is particularly useful in the support of shared memory programs. For example, the modeler can control the granularity with which the timing model and QSIM interact in the implementation of synchronization primitives. QSIM also supports a queue interface to timing models. Currently QSIM supports the x86 instruction set. It is currently being tested as part of the Structural Simulation Toolkit (SST) at Sandia National Laboratories.

People: Chad Kersey


IRIS

IRIS is a flit level interconnection network simulator and will be distributed with Manifold. IRIS includes a topology generator front-end that currently supports various size meshes and tori, with flattened butterfly, fat trees, and Dragonfly topologies in progress. The IRIS front-end employs GraphML (based on XML) as the description language. This provides us the ability to use the Prefuse visualization toolkit to view topologies and node attribute. IRIS integrates the McPAT power models and as well as library of packet generators. IRIS supports the Manifold cache-network and memory controller-network APIs.

People: Mitchelle Rasquinha and Sharda Murthi

Memory Controller

CMC is a configurable memory controller that implements a range of configurable memory scheduling structures such as those for rank and bank scheduling and memory bus scheduling. It incorporates a DRAM timing and power model derived from published Micron datasheets and power calculators. CMC attempts to model a complete memory controller pipeline and includes structures for flow controlled access to the network. CMC supports the Manifold memory controller-network API.

People: Minhaj Hassan and Indrani Paul

Energy Introspector

The Introspector instrumentation framework for performance is being developed by Sandia National Laboratories. The Energy Introspector (EI) is an instrumentation and modeling framework for energy, power, thermal modeling. The EI is a repository for power and energy models and currently includes Intsim from Professor Jim Meindl’s group (GT) and McPAT (HP Labs Notre Dame). EI provides an API for coupling to simulation models and is integrated with the HotSpot thermal modeling tool from Professor Kevin Skadron’s group (Uva). The McPAT model has been extended to include real-time temperature feedback from HotSpot to model the coupling between leakage current and temperature. EI will be distributed as a library and API for integration into many core simulation models.

People: William Song

Core Simulation Model

We have been working to create a timing model from Zesto – an x86 microarchitecture simulation model for out-of-order (OOO) cores. Originally Zesto was an execute-at-fetch model. To facilitate integration with QSIM, we have eliminated Zesto’s execute-at-fetch Oracle and added models (some very simple) to make the Zesto model IA32 compliant. In addition to the base OOO core model, an in-order Atom core has been added enabling the construction of cycle level models of asymmetric x86 multicore architectures. This Zesto model also integrates the Energy Introspector for power and thermal studies.

People: Dhruv Choudhary

Publications