This Article 
 Bibliographic References 
 Add to: 
A Scalable Scheduling Scheme for Functional Parallelism on Distributed Memory Multiprocessor Systems
April 1995 (vol. 6 no. 4)
pp. 388-399

Abstract—We attempt a new variant of the scheduling problem by investigating the scalability of the schedule length with the required number of processors, by performing scheduling partially at compile time and partially at run time.

Assuming infinite number of processors, the compile time schedule is found using a new concept of the threshold of a task that quantifies a trade-off between the schedule-length and the degree of parallelism. The schedule is found to minimize either the schedule length or the number of required processors and it satisfies: A feasibility condition which guarantees that the schedule delay of a task from its earliest start time is below the threshold, andAn optimality condition which uses a merit function to decide the best task—processor match for a set of tasks competing for a given processor.

At run time, the tasks are merged producing a schedule for a smaller number of available processors. This allows the program to be scaled down to the processors actually available at run time. Usefulness of this scheduling heuristic has been demonstrated by incorporating the scheduler in the compiler backend for targeting Sisal (Streams and Iterations in a Single Assignment Language) on iPSC/860.

Index Terms—Compile time scheduling, dataflow graphs, distributed memory multiprocessors, functional parallelism, runtime scheduling, scaling, schedule length.

[1] H. H. Ali and H. El-Rewini,“An optimal algorithm for scheduling interval ordered tasks with communication on$N$processors,”Dep. Math and Comput. Sci., Univ. Nebraska at Omaha, Tech. Rep. UNO-CS-TR-91-20, 1991.
[2] M. A. Al-Mouhamed,“Lower bound on the number of processors and time for scheduling precedence graphs with communication costs,”IEEE Trans. Software Eng., vol. 16, pp. 1390–1401, 1990.
[3] F.D. Anger, J.J. Hwang, and Y.C. Chow, “Scheduling with Sufficient Loosely Coupled Processors,” J. Parallel and Distributed Computing, vol. 9, pp. 87-92, 1990.
[4] S. Bokhari,“On mapping problem,”IEEE Trans. Comput., vol. C-30, pp. 207–214, 1981.
[5] ——,“Retire Fortran? A debate rekindled,”Commun. ACM, vol. 35, no. 8, pp. 81–89, Aug. 1992.
[6] T. Casavant and J. A. Kuhl,“Taxonomy Of scheduling in general purpose distributed computing systems,”IEEE Trans. Software Eng., vol. 14, pp. 141–154, Feb. 1988.
[7] V. Chaudhary and J. K. Aggarwal,“Generalized mapping of parallel algorithms to parallel architectures,”inProc. 1990 Int. Conf. Parallel Processing, vol. II, pp. 137–141, Aug. 1990.
[8] Ph. Chretienne,“A polynomial algorithm to optimally schedule tasks over an ideal distributed system under tree-like precedence constraints,”inEuropean J. Oper. Res., vol. 2, no. 43, pp. 225–230, 1989.
[9] E. G. Coffman and R. L. Graham,“Optimal scheduling for two-processor systems,”Acta Informatica, vol. 3, pp. 200–213, 1972.
[10] G. Cybenko, "Dynamic Load Balancing for Distributed Memory Multiprocessors," J. Parallel and Distributed Computing, vol. 7, pp. 279-301, 1989.
[11] R. Cytron, M. Hind, and W. Hsieh,“Automatic generation of DAG parallelism,”inProc. 1989 SIGPLAN ACM Conf. Program. Languages Design Implementation, 1989, pp. 54–68.
[12] H.E. Rewini and T.G. Lewis,"Scheduling parallel program tasks onto arbitrary target machines," J. Parallel and Distributed Computing, vol. 9, pp. 138-153, 1990.
[13] J. Feo, D. Cann, and R. Oldehoeft,“A report on the Sisal language project,”J. Parallel, Distrib. Comput., vol. 10, pp. 349–365, Dec. 1990.
[14] A. Gerasoulis and T. Yang,“A comparison of clustering heuristics for scheduling directed acyclic graphs on multiprocessors,”J. Parallel and Distrib. Comput., vol. 16, no. 4, pp. 276–291, Dec. 1992.
[15] M. Girkar and C. D. Polychronopoulos,“Automatic extraction of functional parallelism from ordinary programs,”IEEE Trans. Parallel Distrib. Syst., vol. 3, pp. 166–178, March 1992.
[16] R. L. Graham, E. L. Lawler, J. K. Lenstra, and A. H. G. Rinnooy Kan,“Optimization and approximation in deterministic sequencing and scheduling: A survey,”inAnnals Discrete Mathematics. Amsterdam, The Netherlands: North-Holland, 1979, pp. 287–326.
[17] S. Hiranandani,K. Kennedy,, and C.-W. Tseng,“Compiler optimizations for Fortran D on MIMD distributed-memory machines,” Proc. Supercomputing’91, IEEE CS Press, pp. 86–100, Nov. 1991.
[18] H. Jiang, L. N. Bhuyan, and D. Ghosal,“Approximate analysis of multiprocessing task graphs,”inProc. 1990 Int. Conf. Parallel Processing, vol. III, pp. 228–235, Aug. 1990.
[19] S. J. Kim and J. C. Brawne,“A general approach to mapping of parallel computation upon multiprocessor architectures,”inProc. Int. Conf. Parallel Processing, vol. 3, pp. 1–8, 1988.
[20] B. Kruatrachue,“Static taskscheduling and grain packing in parallel processing systems,”Ph.D. dissertation, Comput. Sci. Dep., Oregon State Univ., 1987.
[21] C.H. Papadimitriou and M. Yannakakis,"Towards an architecture-independent analysis of parallel algorithms," SIAM J. Computing, vol. 19, no. 2, pp. 322-328, Apr. 1990.
[22] S. S. Pande, D. P. Agrawal, and J. Mauney,“A new threshold scheduling strategy for Sisal programs on distributed memory machines,”J. Parallel And Distrib. Comput., vol. 21, no. 2, pp. 223–236, May 1994.
[23] ——,“An automatic compiler for a parallel functional language on a distributed memory machine,”IEEE Parallel and Distrib. Technol., pp. 64–76, Spring 1994.
[24] M. Prastein,“Precedence constrained scheduling with minimum time and communication,”M.S. thesis, Univ. of Illinois at Urbana Champaign, 1987.
[25] V. Sarkar, "Automatic Partitioning of a Program Dependence Graph into Parallel Tasks," IBM J. Research and Development, vol. 35, no. 6, pp. 779-804, Nov. 1991.
[26] ——,“Partitioning and scheduling of parallel programs for execution on multiprocessors,”Ph.D. dissertation, Stanford Univ., 1987.
[27] R. Sethi,“Scheduling graphs on two processors,”SIAM J. Comput., vol. 5, no. 1, Mar. 1976.
[28] B. Shirazi, M. Wang, and G. Pathak, “Analysis and Evaluation of Heuristic Methods for Static Task Scheduling,” J. Parallel and Distributed Computing, vol. 10, no. 3, pp. 222-232, Nov. 1990.
[29] S. K. Skedzielewski and J. Glaurert,“IF1—An intermediate form for applicative languages,”Lawrence Livermore National Laboratory Manual M-170, 1985.
[30] Q. Wang and K.H. Cheng, “List Scheduling of Parallel Tasks,” Information Processing Letters, vol. 37, pp. 291-297, Mar. 1991.

Santosh Pande, Dharma P. Agrawal, Jon Mauney, "A Scalable Scheduling Scheme for Functional Parallelism on Distributed Memory Multiprocessor Systems," IEEE Transactions on Parallel and Distributed Systems, vol. 6, no. 4, pp. 388-399, April 1995, doi:10.1109/71.372792
Usage of this product signifies your acceptance of the Terms of Use.