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.
[1]
Per Brinch Hansen,et al.
The programming language Concurrent Pascal
,
1975,
IEEE Transactions on Software Engineering.
[2]
O. Frieder.
Database processing on a cube-connected multicomputer
,
1987
.
[3]
Mordechai Ben-Ari,et al.
Principles of concurrent programming
,
1982
.
[4]
M. Collado,et al.
A Programming Language for Distributed Systems
,
1986
.
[5]
C. A. R. Hoare,et al.
Communicating sequential processes
,
1978,
CACM.
[6]
James H. Patterson,et al.
Portable Programs for Parallel Processors
,
1987
.