Developers of parallel programs try to optimize their program in certain ways: split work evenly among the processors, maximize the performance of each processor, miniize time waiting for synchronization points, and so forth. They do not consider their programs right until they achieve maximal speedup on multiple processors. Unfortunately, there is a surprising lack of tools to aid the parallel programmer in achieving the highest performance possible.
The goal of this project is to develop a performance analysis tool and library that will aid in the parallel program development task. We provide a visualization tool for the parallel programmers which gives a graphic representation of the program's performance in end-user definable terms. The software to be delivered will not only run on current parallel computers, but will be easily ported to others as they become available.
In this project, we have two main separate parts to implement, the library part (the data manager or database) and the viewer part.