We first consider an MIMD multiprocessor configuration with <italic>n</italic> processors. A parallel program, consisting of <italic>n</italic> processes, is executed on this system—one process per processor. The program terminates when all processes are completed. Due to synchronizations, processes may be blocked waiting for events in other processes. Associated with the program is a parallel profile vector <italic>v¯</italic>, index <italic>i</italic> (1≤<italic>i</italic>≤<italic>n</italic>) in this vector indicates the percentage of the total execution time when <italic>i</italic> processes are executing.
We then consider a distributed MIMD supercomputer with <italic>k</italic> clusters, containing <italic>u</italic> processors each. The same parallel program, consisting of <italic>n</italic> processes, is executed on this system. Each process can only be executed by processors in the same cluster. Finding a schedule with minimal completion time in this case is NP-hard.
We are interested in the gain of using <italic>n</italic> processors compared to using <italic>k</italic> clusters containing <italic>u</italic> processors each. The gain is defined by the ratio between the minimal completion time using processor clusters and the completion time using a schedule with one process per processor. We present the optimal upper bound for this ratio in the form of an analytical expression in <italic>n, v¯, k</italic> and <italic>u</italic>. We also demonstrate how this result can be used when evaluating heuristic scheduling algorithms.
[1]
Harold S. Stone,et al.
Multiprocessor Scheduling with the Aid of Network Flow Algorithms
,
1977,
IEEE Transactions on Software Engineering.
[2]
Edward G. Coffman,et al.
An Application of Bin-Packing to Multiprocessor Scheduling
,
1978,
SIAM J. Comput..
[3]
Michael Allen Langston,et al.
Processor scheduling with improved heuristic algorithms
,
1981
.
[4]
Donald K. Friesen,et al.
Tighter Bounds for the Multifit Processor Scheduling Algorithm
,
1984,
SIAM J. Comput..
[5]
David B. Shmoys,et al.
Using dual approximation algorithms for scheduling problems: Theoretical and practical results
,
1985,
26th Annual Symposium on Foundations of Computer Science (sfcs 1985).
[6]
Shahid H. Bokhari,et al.
Partitioning Problems in Parallel, Pipelined, and Distributed Computing
,
1988,
IEEE Trans. Computers.
[7]
Peiyi Tang,et al.
Impact of self-scheduling order on performance on multiprocessor systems
,
1988,
ICS '88.
[8]
G. Anderson.
An Ada multitasking solution for the sieve of Eratosthenes
,
1988,
ALET.
[9]
Lars Lundberg,et al.
Predicting the Speedup of Parallel Ada Programs
,
1992,
Ada-Europe.
[10]
Lars Lundberg,et al.
An Optimal Execution Time Estimate of Static Versus Dynamic Allocation in Multiprocessor Systems
,
1995,
SIAM J. Comput..