Olden benchmarks

Olden benchmarks


Benchmarks description

Olden benchmarks description
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.

        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}
        TITLE              = {Software Caching and Computation Migration in Olden},
        AUTHOR             = {M. C. Carlisle and A. Rogers},
        INSTITUTION        = {Princeton University},
        NUMBER             = {TR-483-95},
        YEAR               = {1995}

Copyright © 1999 Dan Truong,
IRISA, Campus de Beaulieu,
35042 Rennes Cedex, FRANCE