Introduction ------------ The Scalable Synthetic Compact Applications~2 (SSCA2) benchmark [1] is comprised of four kernels that operate on a large, directed, weighted multi-graph. These four graph kernels are commonly used in applications ranging from computational biology to security. STAMP focuses on Kernel 1, which constructs an efficient graph data structure using adjacency arrays and auxiliary arrays. The transactional version of SSCA2 has threads adding nodes to the graph in parallel and uses transactions to protect accesses to the adjacency arrays. Since this operation is relatively small, not much time is spent in transactions. Additionally, the length of the transactions and the sizes of their read and write sets is relatively small. The amount of contention is the application is also relatively low as the large number of graph nodes lead to infrequent concurrent updates of the same adjacency list. When using this benchmark, please cite [2]. The code for ssca2 is Copyright (C) 1997-2005 David A. Bader. Compiling and Running --------------------- To build the application, simply run: make By default, this produces an executable named "SSCA2.bin", which can then be run in the following manner: ./SSCA2.bin -i \ -k \ -l \ -p \ -s \ -t \ -u \ -w The following arguments are recommended for simulated runs: -s 13 -i 1.0 -u 1.0 -l 3 -p 3 -t 1 For non-simulator runs, a larger input can be used: -s 20 -i 1.0 -u 1.0 -l 3 -p 3 -t 1 References ---------- [1] D. A. Bader and K. Madduri. Design and implementation of the hpcs graph analysis benchmark on symmetric multiprocessors. In HiPC Õ05: 12th International Conference on High Performance Computing, December 2005. [2] C. Cao Minh, J. Chung, C. Kozyrakis, and K. Olukotun. STAMP: Stanford Transactional Applications for Multi-processing. In IISWC '08: Proceedings of The IEEE International Symposium on Workload Characterization, September 2008.