SST Elements and Other Directories

The SST core requires at least one element to perform a simulation. As a stand-alone entity, the core fulfills no purpose. This wiki page collects in one place the available elements and tools that interface with SST. The purpose is to describe each directory in the SST source tree and to provide a definitive list of supported elements.

SST Core

The following provides information on the SST Core. The table below provides links to the information on various aspects of the core.

SST Core Information
Output Class

SST Support Tools

The following provides information on SST support Tools. The table below provides links to the information on various aspects of these tools.

Tool Information
SSTWorkbench Note: Workbench is only supported by SST V4.x - V6.x

Internal Elements

The root directory of SST contains a number of subdirectories. Most of the subdirectories are used only for the build process or regression testing and should not be modified. The root/src/sst/elements subdirectory contains the source code. It bifurcates between the core and elements. The elements directory contains elements, interfaces to external components, support directories and test/example directories. The following table is ordered by directory name, so that it can be associated with the relevant SST source code. The Role column identifies the directories that contain component models, with the EML column identify the maturity level of each element according to the SST Element Maturity scale.

Element Name Role EML Description
ariel component 1 Prototype PIN-based Memory Tracing component which does not require initial trace capture (in-development)
cacheTracer component 0 Cache Tracing Element (Formally was simpleTracerComponent)
cassini component/module 1 Simulation modules for uncore non-cache processor components including prefetching logic and branch predictors
Cramsim component 0 Cramsim memory bankend simulator from IBM
ember component 0  
firefly component 0 Implements a low level communication protocol and data movement layer connecting to network hardware simulation components such as the Merlin router
hermes interface 0 Provides an interface to message passing functions allowing multiple driving components to utilize the simulation of network operations in a standardized manner
Kingsley component 0 Kingsley Component
memHierarchy component 2 Simulates a flexible memory hierarchy, including caches and memory controllers (links to DRAMSim and VaultSim). Cache coherency, based on either a snoopy-based scheme or directory-based scheme is supported as well. Uses the standard interface “MemEvent” for interfacing with other components.
merlin component 1 Router model with flexible topology modules to simulate networks. Also includes a stub module with which other components can build NIC models that interact with Merlin.
Messier component 0 Provides a detailed model for NVM-based DIMMs with high-end internal controller. It enables studying the impact of future emerging NVMs on the performance.
miranda component 1 Miranda Component.
prospero component 1 Reads a trace and generates standard memEvents which can then be passed onto the memHierarchy cache/memory models. There is also a simple trace tool which runs under the PIN binary instrumentation framework to capture a memory trace. It is possible to trace only a specific function (rather than a whole application) using this tool to reduce the simulation pressure.
Samba component 0 Provides a detailed model for memory management unit (MMU), with flexibility to vary the page sizes, TLB sizes, page table walk caches, number of levels, etc.
scheduler component 2 Implements 5 models in 2 components. Scheduling, allocation, and machine models are implemented in the schedComponent, and node and failure models are implemented in the nodeComponent.
simpleElementExample component 2 Demo Element and Components
simpleSimulation component 0 Demo Simulation
Shogun component 0 Shogun Component
thornhill component 0 Thornhill Component
VaultSimC component 0 VaultSim Component
zodiac component 0 Zodiac Component

Back to top

External Components

The following open source components have interfaces to SST. The table below provides links to the primary web site and to the source location.

External Component Software location
HBM DRAMSim2 Download
Ramulator Download
Goblin HMCSim Download
DRAMSim2 Download
NVDIMMSim Download
HybridSim Download
Metis Download
GLPK Download
HDF5 Download
Zoltan Download
Boost Download

Back to top