Timing Parallel Programs that Use Message Passing

Abstract Hoare's paper describing the theoretical framework in which to express algorithms for parallel programs using message passing has led to the development ofmany parallel processing systems. As more and more parallel algorithms are developed and implemented, there is a rising need for a mechanism to compare their relative speedup and scalability. Conventional techniques for accumulating timing data for sequential programs are not powerful enought to solve the special problems introduced by parallelism. In this paper we present a timing metholodolgy capable of accurately determining the execution time of parallel programs, independent of system loads. Further, this timing methodology is capable of acquiring timing data when the number of processes exceeds the number of physical CPUs. Through simulation this methodology also provides a means by which to study the behavior of a parallel program under an arbitrary hardware/software communications configuration.