Sandia National Laboratories
Structural Simulation Toolkit
sst-1.1.2.tar.gz
allStatLibs.tar.gz

The Structural Simulation Toolkit

Exploring novel computer system designs involves modification of both programming models and hardware organization. This exploration is frequently made difficult by the lack of compiler tools, well defined ISA features, or complete microarchitectural definitions. Premature definition of hardware or software limits the flexibility of the other. However, without such assumptions, neither software or hardware can progress. A key goal is to allow programming models and the underlying hardware to evolve separately, while allowing feedback between them.

The Structural Simulation Toolkit (SST) was developed to explore innovations in highly concurrent systems where the ISA, microarchtecture, and memory interact with the programming model and communications system. The package provides two novel capabilities. The first is a fully modular design that enables extensive exploration of an individual system parameter without the need for intrusive changes to the simulator. The second is an explicit separation of instruction interpretation from microarchitectural timing to eliminate the immediate need for a new tool chain. Furthermore, a hybrid discrete event and time-stepping simulation framework is used to capture system wide effects (such as interprocessor communications) while maintaining high performance. The framework has been successfully used to model concepts ranging from processing in memory to conventional processors connected by conventional network interfaces and running MPI.

SST Mailing List

Sandia hosts a mailing list to disscuss SST issues. To subscribe to the Sandia SST List, please email majorodomo@sandia.gov:

  • In the TO field, type:
     majordomo@sandia.gov
  • No subject and no signature
  • In the body of the message, type:
    subscribe sst userid@domain

Plaforms & Requirements

To compile and run the SST you will require:

  • A UNIX-like shell (the SST uses the GNU Autotools)
  • GNU Make
  • C++ Compiler
  • Python (to run regression suite)

The SST is currently being ported to new platforms. To fully use the execution based front-end, you will require a PPC compiler capable of producing statically linked MachO binaries (the standard MacOS binary format).

Front-end Compatibility
  PPC Execution PPC Traces
MacOS/ppc YES YES
MacOS/x86 YES* YES
Linux/x86 NO YES
* Under Rosetta emulation

Installation

Detailed installation directions for the SST are included in the README file in the distribution (see the link on the left). The README includes how to:

  • Build the SST
  • Install Libraries
  • Run Regressions
  • Build SST's libc
  • Build the Internals Documentation

Brief instructions are included below.Building the SST

1. First, uncompress and enter the directory:

gunzip sst-1.0.tar.gz
tar xvf sst-1.0.tar
cd sst-1.0

2. Run the included config script. The configuration script consults a variety of enviornment variables to select its default compiler and compile flags. You can type ./configure --help=recursive for a full list of the variables. Usually, the key one to set is CXXFLAGS, which determines the C++ compile variables. For example, to debug the simulator:

setenv CXXFLAGS -g

Or, for high performance on a G5:

setenv CXXFLAGS "-fast -mdynamic-no-pic"

Or, to run the simulator on an x86 Mac [NOTE: On MacOS, straight x86 compiliation is not yet supported at this time.}:

setenv CXXFLAGS "-arch ppc"
setenv CFLAGS "-arch ppc"

Once you have set the necessary config variables, run the config script.

./configure --prefix=<install path>

where <install path> is the path to where you would like the binaries to be installed.

3. After configure, you can build the simulator:

make

4. (optional) Install the simulator binaries and documentation:

make install

this will place binaries and documentation in the install path.

<install path>/bin/serialProto
<install path>/doc/docInternals.ps
<install path>/doc/simSum.pdf

Top of page

SST Framework

SST Structure — SST's Modular Framework.


Contact
Arun Rodrigues
(afrodri@sandia.gov)
(505)284-6090