Get high resolution videos of the spinning SSCA#2 graph !
SSCA#2 is a part of the Synthetic Scalable Concise Applications benchmkark suite. The SSCAs are a new set of benchmarks designed by the DARPA/DOE High Productivity Computer Systems program to complement existing benchmarks.
It is a graph analysis benchmark comprising of a data generator and 4 kernels which operate on the graph. The benchmark is designed to have very little locality so that the memory subsystems are tested. In case of a parallel implementation, the non-locality causes a lot of remote memory lookups.
cSSCA#2 is a concise implementation of SSCA#2 in MATLAB and StarP - a parallel implementation of the matlab programming language. There are several reasons why the matlab programming language is attractive for this purpose:
- Sparse matrices are a convenient way to represent graphs and first class citizens in matlab and its parallel dialects.
- Sparse matrix computations allow structured representation of irregular data structures and decompositions, and irregular access patterns in parallel applications.
- StarP allows matlab codes to run efficiently on a parallel computer with little modification. We have run this code on computers with 512 processors, on graphs with hundreds of millions of vertices. Maximum problem size for a given machine is one of the figures of merit.
- Code size, development time, maintainability and extensibility are also important goals of the SSCAs. Our implementation is a few hundred lines of code (including the data generator, kernels and comments) !