This Article 
 Bibliographic References 
 Add to: 
Using Recorded Values for Bounding the Minimum Completion Time in Multiprocessors
April 1998 (vol. 9 no. 4)
pp. 346-358

Abstract—The way the processes in a parallel program are scheduled on the processors of a multiprocessor system affects the performance significantly. Finding a schedule of processes to processors which results in minimum completion time is NP-hard. Therefore, one has to resort to heuristic schedules. However, it is often difficult to determine if a specific schedule is close to the optimal case or if it is worthwhile to look for other schedules.

Based on information from previous executions of the parallel program, we present a formula for an upper bound on the minimum completion time of the program. The bound is a function of a set of parameters. Some of these parameters are obtained from the previous executions of the program and the others describe the target multiprocessor architecture for which we want to bound the minimum completion time. The bound is optimal when it is based on information from one previous execution. Using these results, we are able to decide if a certain schedule is close to optimal or if it is worthwhile to look for other schedules. This is demonstrated by evaluating the completion time of a specific schedule of a particular program. The proofs used for obtaining the bound are based on program transformations and combinatorial mathematics.

[1] M.S. Bazaraa and J.J. Jarvis, Linear Programming and Network Flows. Wiley, 1977.
[2] S.H. Bokhari, "Partitioning Problems in Parallel, Pipelined and Distributed Computing," IEEE Trans. Computers, vol. 37, no. 1, pp. 48-57, Jan. 1988.
[3] E.G. Coffman Jr., M.R. Garey, and D.S. Johnson, "An Application of Bin Packing to Multiprocessor Scheduling," SIAM J. Computing, vol. 7, no. 1, pp. 1-17, Feb. 1978.
[4] R.L. Graham, "Bounds on Multiprocessor Timing Anomalies," SIAM J. Applied Mathematics, vol. 17, no. 2, pp. 416-429, 1969.
[5] D.K. Friesen, "Tighter Bounds for the Multifit Processor Scheduling Algorithm," SIAM J. Computing, vol. 13, pp. 170-181, 1984.
[6] M. Garey and D. Johnson, Computers and Intractability. W.H. Freeman and Company, 1979.
[7] D.S. Hochbaum and D.B. Shmoys, "Using Dual Approximation Algorithms for Scheduling Problems: Theoretical and Practical Results," J. ACM, vol. 34, no. 1, pp. 144-162, Jan. 1987.
[8] M.A. Langston, "Processor Scheduling with Improved Heuristic Algorithms," PhD thesis, Univ. of Texas, College Station, 1981.
[9] H. Lennerstad and L. Lundberg, "An Optimal Execution Time Estimate of Static versus Dynamic Allocation in Multiprocessor Systems," SIAM J. Computing, vol. 24, no. 4, pp. 751-764, Aug. 1995.
[10] L. Lundberg, "Multiprocessor Performance Evaluation of Billing Gateway Systems for Telecommunication Applications," Proc. ISCA Int'l Conf. Parallel and Distributed Computing Systems, pp. 225-231,Dijon, France, Sept., 1996.
[11] L. Lundberg, "Predicting the Speedup of Parallel Ada Programs," Proc. Ada Europe Int'l Conf., pp. 257-274,Amsterdam. Springer-Verlag, 1992.
[12] L. Lundberg and H. Lennerstad, "An Optimal Upper Bound on the Minimal Completion Time in Distributed Supercomputing," Proc. 1994 ACM Int'l Conf. Supercomputing, pp. 196-203,Manchester, England, July 1994.
[13] L. Lundberg and H. Lennerstad, "An Optimal Lower Bound on the Maximum Speedup in Multiprocessors with Clusters," Proc. IEEE First Int'l Conf. Algorithms and Architectures for Parallel Processing, pp. 640-649,Brisbane, Australia, Apr. 1995.
[14] L. Lundberg and M. Roos, "Predicting the Speedup of Multithreaded Solaris Programs," Proc. IEEE Conf. High Performance Computing, pp. 386-392,Bangalore, India, Dec. 1997.
[15] H.S. Stone, "Multiprocessor Scheduling with the Aid of Network Flow Algorithms," IEEE Trans. Software Eng., vol. 3, no. 1, pp. 85-93, 1977.
[16] SunSoft, Solaris Multithreaded Programming Guide. Prentice Hall, 1995.
[17] mpi-book.ps datasheets/stp1020a01.html.
[18] sigthreads.

Index Terms:
Parallel program scheduling, optimal performance bounds, multiprocessors with clusters, synchronizing processes, information from previous executions.
Lars Lundberg, Håkan Lennerstad, "Using Recorded Values for Bounding the Minimum Completion Time in Multiprocessors," IEEE Transactions on Parallel and Distributed Systems, vol. 9, no. 4, pp. 346-358, April 1998, doi:10.1109/71.667896
Usage of this product signifies your acceptance of the Terms of Use.