Abstract
In this paper, we present a new task scheduling algorithm, called Contention-Aware Scheduling (CAS) algorithm, with the objective of delivering good quality of schedules in low running-time by considering contention on links of arbitrarily-connected, heterogeneous processors. The CAS algorithm schedules tasks on processors and messages on links by considering the earliest finish time attribute with the virtual cut-through (VCT) or the store-and-forward (SAF) switching. There are three types of CAS algorithm presented in this paper, which differ in ordering the messages from immediate predecessor tasks. As part of the experimental study, the performance of the CAS algorithm is compared with two well-known APN (arbitrary processor network) scheduling algorithms. Experiments on the results of the synthetic benchmarks and the task graphs of the well-known problems clearly show that our CAS algorithm outperforms the related work with respect to performance (given in normalized schedule length) and cost (given in running time) to generate output schedules.
Similar content being viewed by others
References
M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-completeness (W. H. Freeman and Co., 1979).
J.D. Ullman, NP-complete scheduling problems, Journal of Computer and Systems Sciences 10 (1975) 384–393.
T.C. Hu, Parallel sequencing and assembly line problems, Operational Research 9(6)(1961) 841–848.
E.G. Coffman, Computer and Job-Shop Scheduling Theory (John Wiley and Sons, 1976).
M. Wu and D. Gajski, Hypertool: A programming aid for message passing systems, IEEE Transactions on Parallel and Distributed Systems 1 (July 1990) 330–343.
Y. Kwok and I. Ahmad, Dynamic critical-path scheduling: An effective technique for allocating task graphs to multiprocessors, IEEE Transactions on Parallel and Distributed Systems 7 (May 1996) 506–521.
E.S.H. Hou, N. Ansari, and H. Ren, A genetic algorithm for multiprocessor scheduling, IEEE Transactions on Parallel and Distributed Systems 5 (February 1994) 113–120.
I. Ahmad and Y. Kwok, A new approach to scheduling parallel programs using task duplication, in: Proc. of Int’l Conference on Parallel Processing, vol. II (1994) 47–51.
T. Yang and A. Gerasoulis, DSC: Scheduling parallel tasks on an unbounded number of processors, IEEE Transactions on Parallel and Distributed Systems 5 (September 1994) 951–967.
M. Wu, W. Shu and J. Gu, Local search for DAG scheduling and task assignment, in: Proc. of 1997 Int’l Conference on Parallel Processing (1997) pp. 174–180.
R.C. Correa, A. Ferreria, and P. Rebreyend, Integrating list heuristics into genetic algorithms for multiprocessor scheduling, in: Proc. of Eight IEEE Symp. on Parallel and Distributed Processing (SPDP96) (October 1996).
H. El-Rewini, H.H. Ali, and T. Lewis, Task scheduling in multiprocessor systems, IEEE Computer (December 1995) 27–37.
G. Park, B. Shirazi, and J. Marquis, DFRN: A new approach for duplication based scheduling for distributed memory multiprocessor systems, in: Proc. of Int’l Conference on Parallel Processing (1997) pp. 157–166.
Benjamin S. Macey, and Albert Y. Zomaya, A performance evaluation of CP list scheduling heuristics for communication intensive task graphs, in: Proceedings of the Joint 12th International Parallel Processing Symposium/9th Symposium on Parallel and Distributed Processing, March 30–April 3, Orlando, Florida, (1998) pp. 538–541.
T.L. Adam, K.M. Chandy, and J.R. Dickson, A comparison of list schedules for parallel processing systems, Communication of the ACM 17 (1974) 685–689.
B. Kruatrachue, Static task scheduling and grain packing in parallel processing systems, PhD Thesis, Oregon State University, (1987).
M. Iverson, F. Ozguner, and G. Follen, Parallelizing existing applications in a distributed heterogeneous environment, in: Proc. of Heterogeneous Computing Workshop (1995) pp. 93–100.
M. Maheswaran and H.J. Siegel, A dynamic matching and scheduling algorithm for heterogeneous computing systems, in: Proc. of Heterogeneous Computing Workshop (1998) pp. 57–69.
L. Wang, H.J. Siegel, and V.P. Roychowdhury, A genetic-algorithm-based approach for task matching and scheduling in heterogeneous computing environments, in: Proc. of Heterogeneous Computing Workshop (1996).
H. Singh and A. Youssef, Mapping and scheduling heterogeneous task graphs using genetic algorithms, in: Proc. of Heterogeneous Computing Workshop (1996) pp. 86–97.
H. Topcuoglu, S. Hariri, and M. Wu, Performance effective and low-complexity task scheduling for heterogeneous computing, IEEE Transactions on Parallel and Distributed Systems 13(3) (March 2002) 260–274.
T. Hagras and J. Janecek, A high performance, low complexity algorithm for compile-time task scheduling in heterogeneous systems, Parallel Computing 31 (2005) 653–670.
A.S. Wu, H. Yu, S. Jin, K. Lin, and G. Schiavone, An incremental genetic algorithm approach to multiprocessor scheduling, IEEE Transactions on Parallel and Distributed Systems 15 (2004) 824–834.
C. Boeres and A. Lima, Hybrid task scheduling: Integrating static and dynamic heuristics, in: Proc. of the 15th Symposium on Computer Architecture and High Performance Computing (SBAC-PAD03), Sao Paulo, Brazil, 10–12 November (2003) pp. 199–206.
R. Sakellariou and H. Zhao, A hybrid heuristic for dag scheduling on heterogeneous systems, in: Proc. of International Parallel and Distributed Processing Symposium (IPDPS 2004), Santa Fe, New Mexico (2004).
G.Q. Liu, K.L. Poh and M. Xie, Iterative list scheduling for heterogeneous computing, Journal of Parallel and Distributed Computing 65 (2005) 654–665.
G.C. Sih and E.A. Lee, A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures, IEEE Transactions on Parallel and Distributed Systems 4 (February 1993) 175–186.
H. El-Rewini and T.G. Lewis, Scheduling parallel program tasks onto arbitrary target machines, Journal of Parallel and Distributed Computing 9 (1990) 138–153.
Y. Kwok and I. Ahmad, Bubble scheduling: A quasi dynamic algorithm for static allocation of tasks to parallel architectures, in: Proc. of Symposium on Parallel and Distributed Processing (SPDP) (1995) pp. 36–43.
Y. Kwok and I. Ahmad, Link contention-constrained scheduling and mapping of tasks and messages to a network of heterogeneous processors, Cluster Computing: The Journal of Networks, Software Tools and Applications 3 (2000) 113–124.
J.M. Orduna, F. Silla, and J. Duato, On the development of a communication-aware task mapping technique, Journal of System Architecture 50 (2004) 207–220.
J. Duato, S. Yalamanchili, and L. Ni, Interconnection Networks: An Engineering Approach (Morgan Kaufmann Publishers, 2003).
Y. Kwok and I. Ahmad, Benchmarking and comparison of the task graph scheduling algorithms, Journal of Parallel and Distributed Computing 59 (1999) 381–422.
T. Braun, H.J. Siegel, N. Beck, L.L. Boloni, M. Maheswaran, A.I. Reuther, J.P. Robertson, M.D. Theys, B. Yao, D. Hengsen, and R.F. Freund, A comparison study of static mapping heuristics for a class of meta-tasks on heterogeneous computing systems, in: Proc. of Heterogeneous Computing Workshop (1999) pp. 15–29.
M. Wu and D. Gajski, Hypertool: A programming aid for message passing systems, IEEE Transactions on Parallel and Distributed Systems 1 (July 1990) 330–343.
M. Cosnard, M. Marrakchi, Y. Robert, and D. Trystram, Parallel Gaussian elimination on an MIMD computer, Parallel Computing, 6 (1988) 275–295.
Y. Chung and S. Ranka, Applications and performance analysis of a compile-time optimization approach for list scheduling algorithms on distributed memory multiprocessors, in: Proc. of Supercomputing (November 1992) pp. 512–521.
Author information
Authors and Affiliations
Corresponding author
Additional information
Ali Fuat Alkaya received the B.Sc. degree in mathematics from Koc University, Istanbul, Turkey in 1998, and the M.Sc. degree in computer engineering from Marmara University, Istanbul, Turkey in 2002. He is currently a Ph.D. student in engineering management department at the same university. His research interests include task scheduling and analysis of algorithms.
Haluk Rahmi Topcuoglu received the B.Sc. and M.Sc. degrees in computer engineering from Bogazici University, Istanbul, Turkey, in 1991 and 1993, respectively. He received the Ph.D. degree in computer science from Syracuse University in 1999. He has been on the faculty at Marmara University, Istanbul, Turkey since Fall 1999, where he is currently an Associate Professor in computer engineering department. His main research interests are task scheduling and mapping in parallel and distributed systems; parallel processing; evolutionary algorithms and their applicability for stationary and dynamic environments. He is a member of the ACM, the IEEE, and the IEEE Computer Society.
e-mail: haluk@eng.marmara.edu.tr
e-mail: falkaya@eng.marmara.edu.tr
Rights and permissions
About this article
Cite this article
Alkaya, A.F., Topcuoglu, H.R. A task scheduling algorithm for arbitrarily-connected processors with awareness of link contention. Cluster Comput 9, 417–431 (2006). https://doi.org/10.1007/s10586-006-0010-7
Issue Date:
DOI: https://doi.org/10.1007/s10586-006-0010-7