This Article 
 Bibliographic References 
 Add to: 
Toward a Realistic Task Scheduling Model
March 2006 (vol. 17 no. 3)
pp. 263-275

Abstract—Task scheduling is an important aspect of parallel programming. Most of the heuristics for this NP-hard problem are based on a very simple system model of the target parallel system. Experiments revealed the inappropriateness of this classic model to obtain accurate and efficient schedules for real systems. In order to overcome this shortcoming, a new scheduling model was proposed that considers the contention for communication resources. Even though the accuracy and efficiency improved with the consideration of contention, the new contention model is still not good enough. The crucial aspect is the involvement of the processor in communication. This paper investigates the involvement of the processor in communication and its impact on task scheduling. A new system model is proposed based on the contention model that is aware of the processor involvement. The challenges for the scheduling techniques are analyzed and two scheduling algorithms are proposed. Experiments on real parallel systems show the significantly improved accuracy and efficiency of the new model and algorithms.

[1] T.L. Adam, K.M. Chandy, and J.R. Dickson, “A Comparison of list Schedules for Parallel Processing Systems,” Comm. ACM, vol. 17, pp. 685-689, 1974.
[2] I. Ahmad and M.K. Dhodhi, “Multiprocessor Scheduling in a Genetic Paradigm,” Parallel Computing, vol. 22, pp. 395-406, 1996.
[3] I. Ahmad and Y.-K. Kwok, “On Exploiting Task Duplication in Parallel Program Scheduling,” IEEE Trans. Parallel and Distributed Systems, vol. 9, no. 8, pp. 872-892, Aug. 1998.
[4] I. Ahmad, Y.-K. Kwok, and M.-Y. Wu, “Analysis, Evaluation, and Comparison of Algorithms for Scheduling Task Graphs on Parallel Processors,” Proc. Second Int'l Symp. Parallel Architectures, Algorithms, and Networks, pp. 207-213, June 1996.
[5] A. Alexandrov, M. Ionescu, K.E. Schauser, and C. Scheimann, “LogGP: Incorporating Long Messages into the LogP-Model— One Step Closer Towards a Realistic Model for Parallel Computation,” Proc. Seventh Ann. Symp. Parallel Algorithms and Architectures, pp. 95-105, 1995.
[6] O. Beaumont, V. Boudet, and Y. Robert, “A Realistic Model and an Efficient Heuristic for Scheduling with Heterogeneous Processors,” Proc. IEEE 11th Heterogeneous Computing Workshop, 2002.
[7] M.S.T. Benten and S.M. Sait, “Genetic Scheduling of Task Graphs,” Int'l J. Electronics, vol. 77, no. 4, pp. 401-415, 1994.
[8] M. Cosnard and D. Trystram, Parallel Algorithms and Architectures. London: Thomson Computer Press, 1995.
[9] D.E. Culler, R.M. Karp, D.A. Patterson, A. Sahay, K.E. Schauser, E. Santos, R. Subramonian, and T. von Eicken, “LogP: Towards a Realistic Model of Parallel Computation,” ACM SIGPLAN Notices, Proc. Symp. Principles and Practice of Parallel Programming, vol. 28, no. 7, pp. 1-12, July 1993.
[10] D.E. Culler and J.P. Singh, Parallel Computer Architecture. Morgan Kaufmann, 1999.
[11] L. Davis, Handbook of Genetic Algorithms. New York: Van Nostrand-Reinhold, 1991.
[12] A. Gerasoulis and T. Yang, “ A Comparison of Clustering Heuristics for Scheduling DAGs on Multiprocessors,” J. Parallel and Distributed Computing, vol. 16, no. 4, pp. 276-291, Dec. 1992.
[13] E.S.H. Hou, N. Ansari, and H. Ren, “Genetic Algorithm for Multiprocessor Scheduling,” IEEE Trans. Parallel and Distributed Systems, vol. 5, no. 2, pp. 113-120, Feb. 1994.
[14] J.J. Hwang, Y.C. Chow, F.D. Anger, and C.Y. Lee, “Scheduling Precedence Graphs in Systems with Interprocessor Communication Times,” SIAM J. Computing, vol. 18, no. 2, pp. 244-257, Apr. 1989.
[15] IBM, SP Switch2 Technology and Architecture, Mar. 2001, hardware/whitepaperssp_switch2.pdf .
[16] J. WhiteIII and S. Bova, “Where's the Overlap? An Analysis of Popular MPI Implementations,” Proc. MPIDC, 1999.
[17] T. Kalinowski, I. Kort, and D. Trystram, “List Scheduling of General Task Graphs under LogP,” Parallel Computing, vol. 26, pp. 1109-1128, 2000.
[18] B. Kruatrachue, “Static Task Scheduling and Grain Packing in Parallel Processing Systems,” PhD thesis, Oregon State Univ., 1987.
[19] B. Kruatrachue and T. Lewis, “Grain Size Determination for Parallel Processing,” IEEE Software, vol. 5, no. 1, pp. 23-32, Jan. 1988.
[20] S.Y. Kung, VLSI Array Processors, Information and System Sciences Series. Prentice Hall, 1988.
[21] Y.-K. Kwok and I. Ahmad, “Efficient Scheduling of Arbitrary Task Graphs to Multiprocessors Using a Parallel Genetic Algorithm,” J. Parallel and Distributed Computing, vol. 47, no. 1, pp. 58-77, Nov. 1997.
[22] Y.-K. Kwok and I. Ahmad, “Benchmarking the Task Graph Scheduling Algorithms,” Proc. Int'l Parallel Processing Symp. /Symp. Parallel and Distributed Processing, pp. 531-537, Apr. 1998.
[23] W. Löwe, W. Zimmermann, S. Dickert, and J. Eisenbiegler, “Source Code and Task Graphs in Program Optimization,” Proc. Conf. High Performance Computing and Networking, pp. 273-282, 2001.
[24] B.S. Macey and A.Y. Zomaya, “A Performance Evaluation of CP List Scheduling Heuristics for Communication Intensive Task Graphs,” Proc. Parallel Processing Symp., pp. 538-541, 1998.
[25] “Message Passing Interface Forum,” MPI: A Message-Passing Interface Standard, June 1995,
[26] P. Rebreyend, F.E. Sandnes, and G.M. Megson, “Static Multiprocessor Task Graph Scheduling in the Genetic Paradigm: A Comparison of Genotype Representations,” Research Report 98-25, Ecole Normale Superieure de Lyon, Laboratoire de Informatique du Parallelisme, Lyon, France, 1998.
[27] F.E. Sandnes and G.M. Megson, “An Evolutionary Approach to Static Taskgraph Scheduling with Task Duplication for Minimised Interprocessor Traffic,” Proc. Int'l Conf. Parallel and Distributed Computing, Applications, and Technologies, pp. 101-108, July 2001.
[28] V. Sarkar, Partitionning and Scheduling Parallel Programs for Execution on Multiprocessors. MIT Press, 1989.
[29] G.C. Sih and E.A. Lee, “A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures,” IEEE Trans. Parallel and Distributed Systems, vol. 4, no. 2, pp. 175-186, Feb. 1993.
[30] O. Sinnen, “Accurate Task Scheduling for Parallel Systems,” PhD thesis, Instituto Superior Técnico, Technical Univ. of Lisbon, Portugal, Apr. 2003.
[31] O. Sinnen and L. Sousa, “Experimental Evaluation of Task Scheduling Accuracy: Implications for the Scheduling Model,” IEICE Trans. Information and Systems, vol. 86, no. 9, pp. 1620-1627, Sept. 2003.
[32] O. Sinnen and L. Sousa, “List Scheduling: Extension for Contention Awareness and Evaluation of Node Priorities for Heterogeneous Cluster Architectures,” Parallel Computing, vol. 30, no. 1, pp. 81-101, Jan. 2004.
[33] O. Sinnen and L. Sousa, “On Task Scheduling Accuracy: Evaluation Methodology and Results,” J. Supercomputing, vol. 27, no. 2, pp. 177-194, Feb. 2004.
[34] O. Sinnen and L. Sousa, “Communication Contention in Task Scheduling,” IEEE Trans. Parallel and Distributed Systems, vol. 16, no. 6, pp. 503-515, June 2005.
[35] J.D. Ullman, “NP-Complete Scheduling Problems,” J. Computing System Science, vol. 10, pp. 384-393, 1975.
[36] T. von Eicken, D.E. Culler, S.C. Goldstein, and K.E. Schauser, “Active Messages: A Mechanism for Integrated Communication and Computation,” Proc. 19th Ann. Int'l Symp. Computer Architecture, pp. 256-266, May 1992.
[37] M.Y. Wu and D.D. Gajski, “Hypertool: A Programming Aid for Message-Passing Systems,” IEEE Trans. Parallel and Distributed Systems, vol. 1, no. 3, pp. 330-343, July 1990.
[38] T. Yang and A. Gerasoulis, “PYRROS: Static Scheduling and Code Generation for Message Passing Multiprocessors,” Proc. Sixth ACM Int'l Conf. Supercomputing, pp. 428-437, Aug. 1992.

Index Terms:
Parallel processing, concurrent programming, scheduling and task partitioning, processor involvement, heterogeneous system model.
Oliver Sinnen, Leonel Augusto Sousa, Frode Eika Sandnes, "Toward a Realistic Task Scheduling Model," IEEE Transactions on Parallel and Distributed Systems, vol. 17, no. 3, pp. 263-275, March 2006, doi:10.1109/TPDS.2006.40
Usage of this product signifies your acceptance of the Terms of Use.