The Sparc-Sulima Complete UltraSPARC SMP Simulator Project

The Sparc-Sulima Project began as part of the ANU-Fujitsu CAP Program, Phase III. It is continuing under the CC-NUMA Project

Objectives

The objective of this Project is to build an SMP simulator which captures kernel-level and user-level activity, captures thread / process interactions, can produce traces, and can simulate applications from compiled SPARC V9 binaries. The simulator must be robust and constructed so that it is easily extensible, for example to model new versions of a SPARC V9 processor. It is also important that the simulator has acceptable efficiency and any required third party software is under Open Source licences.

Approach

Our approach to these objectives is to use a complete machine simulator, which has the greatest potential accuracy in terms of the interleavings of memory operations in an SMP.

For the purpose of analysing memory operations, cycle-accurate simulation is not essential. Thus only a simple pipeline (one-stage with no instruction grouping) is simulated, as this results in large savings in simplicity and performance.

Currently, the main Sparc-Suilma `core', the UltraSAN UltraSPARC CPU simulator, performs functional emulation by a standard fetch-decode-execute cycle. Various optimizations have been applied to achieve slowdowns of the range 200-400.

We have chosen to base our approach on the Sulima ISA Simulator, initially develop for MIPS64/L4 simulation by Patryk Zadarnowski. This is due to its availability of source codes, and its relatively tractable OO approach.

Documentation and Source Code Availability

Version 0.1 alpha of the source codes are were released in December 2001; most files (gnererally the Sparc-dependent ones) are released under the GPL; files relating to general Sulima infrastructure are under a BSD-style license. Download the (gzipped) tar file from here, and the Sparc-Sulima manual from here (54 pages, 160K).

Version 0.2 alpha was released in September 2002. Download the (gzipped) tar file from here, the required version of SWIG from here, and the Sparc-Sulima manual from here.

Version 0.3 was released in February 2004. Download the (gzipped) tar file from here (992 KBytes), and the Sparc-Sulima manual from here (196 KBytes).

Version 0.4 was released in October 2006. Download the (gzipped) tar file from here 3500 kbyes) , and the Sparc-Sulima manual from here (424 KBytes).

The Sparc-Sulima Research Team and Contact

The current Sparc-Sulima team members are Andrew Over and Peter Strazdins.

Former team members include Bill Clarke, Adam Czezowski and Patrick Fagan.

The team collectively can be contacted at sim-devel[at]ccnuma.anu.edu.au.

Other contributors include:

Publications

See also the relevant chapters in the CAP Program Report for 2000 and 2001

Related Links

PETER STRAZDINS
2008-02-21