Benchmark | Decription | Data Organization |
---|---|---|
BH * | Barnes & Hut N-body force computation algorithm | Heterogenous OcTree |
Bisort | Forward & backward sort of integers using 2 disjoint bitonic sequences which are merged to get sorted result | Binary-tree |
Em3D | Electromagnetic wave propagation in a 3D object | Single-linked lists |
Health | Columbian health care simulation | Double-linked lists |
Mst | Minimum spanning tree of a graph | Array of single-linked lists |
Perimeter | Perimeters of regions in images | Quad-tree |
Power * | Power pricing system optimization problem solver, leaves are clients asking power and root is power plant returning pricing | N-way tree, single-linked lists |
TreeAdd | Recursive sum of values in a balanced B-tree | Binary-Tree |
Tsp * | Traveling salesman problem solver using a partitioning algorithm and a closest point heuristic | Balanced binary-tree |
Voronoï * | Computes the voronoï diagram of a set of points recursively on the tree | Balanced binary-tree |
The Olden benchmarks were compiled to test the Olden C* compiler for the CM5. The code is written in C, with macros to call a parallelization library. To run the Olden benchmarks, the code must be cleaned up to remove these macros. The code is usually a sequential C program which has been parallelized.
The programs are usually relatively small, performing a monolithic task with minimal ASCII user feedback. They are written in C and manipulate dynamically allocated data structures. The structures are usually organized in lists or trees, rarely in arrays of structures. This organization simplifies data structure layout optimization or software prefetching, and are becoming popular benchmarks for these types of studies. Some of the programs spend most of their time allocating data and others spend their time using data allocated. Only Power seems not to be memory bound, but CPU bound. The table below describes briefly each benchmark. Barnes-Hut is directly adapted from J. Barnes'code, Power from S. Lumetta's code, Voronoï from Netlib (ORNL) and Tsp from J. Müller.
@ARTICLE{Carlisle95, TITLE = {Supporting Dynamic Data Structures on Distributed Memory Machines}, AUTHOR = {A. Rogers and M. Carlisle and J. Reppy and L. Hendren}, JOURNAL = {ACM Transactions on Programming Languages and Systems}, MONTH = mar, NUMBER = {2}, VOLUME = {17}, YEAR = {1995} } @TECHREPORT{Carlisle95b, TITLE = {Software Caching and Computation Migration in Olden}, AUTHOR = {M. C. Carlisle and A. Rogers}, INSTITUTION = {Princeton University}, NUMBER = {TR-483-95}, YEAR = {1995} }