Abstract
This paper proposes a new duplication-based task scheduling algorithm for distributed heterogeneous computing (DHC) systems. For such systems, many researchers have focused on solving the NP-complete problem of scheduling directed acyclic task graphs to minimize the makespan. However, the heterogeneity of computational resources and communication mechanisms poses some major obstacles to achieving high parallel efficiency. This paper proposes a heuristic strategy called the Dominant Predecessor Duplication (DPD) scheduling algorithm, which allows for system heterogeneities and communication bandwidth to exploit the potential of parallel processing. This algorithm can improve system utilization and avoid redundant resource consumption, resulting in better schedules. Experimental results show that the system heterogeneities and program structures of applications affect scheduling performance, and that our presented algorithm is better able to avoid these problems than those presented in previous literature. Here, we show that our algorithm can be applied to design efficient distributed systems to overcome performance bottlenecks caused by system heterogeneities.
Similar content being viewed by others
References
Topcuoglu H, Hariri S, Wu M-Y (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13(3):260–274
Bajaj R, Agrawal DP (2004) Improving scheduling of tasks in a heterogeneous environment. IEEE Trans Parallel Distrib Syst 15(2):107–118
Braun T, Siegel HJ, Beck N, Boloni LL, Maheswaran M, Reuther AI et al. (1999) A comparison study of static mapping heuristics for a class of meta-tasks on heterogeneous computing systems. In: Proceedings of heterogeneous computing workshop, pp 15–29
Hagras T, Janecek J (2005) A high performance, low complexity algorithm for compile-time task scheduling in heterogeneous systems. Parallel Comput 31:653–670
Kwok Y-K, Ahmad I (2000) Link contention-constrained scheduling and mapping of tasks and messages to a network of heterogeneous processors. Clust Comput J Netw Softw Tools Appl 3(2):113–124
Sinnen O, Sousa L (2004) List scheduling: extension for contention awareness and evaluation of node priorities for heterogeneous cluster architectures. Parallel Comput 30(1):81–101
Sinnen O, Sousa LA (2005) Communication contention in task scheduling. IEEE Trans Parallel Distrib Syst 16(6):503–515
Selvakumar S, Siva Ram Murthy C (1994) Scheduling precedence constrained task graphs with non-negligible intertask communication onto multiprocessors. IEEE Trans Parallel Distrib Syst 5(4):328–336
Kwok Y-K, Ahmad I (1999) Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput Surv 31(4):406–471
Ullman JD (1975) NP-complete scheduling problems. J Comput Syst Sci 10:384–393
Garey MR, Johnson DS (1979) Computers and intractability: a guide to the theory of NP-completeness. Freeman, New York
Olivier B, Vincent B, Yves R (2002) The iso-level scheduling heuristic for heterogeneous processors. In: Proceedings of 10th Euromicro workshop on parallel, distributed and network-based processing, pp 335–350
Hagras T, Janecek J (2003) A high performance, low complexity algorithm for compile-time job scheduling in homogeneous computing environments. In: IEEE 2003 international conference on parallel processing workshops (ICPPW’03), October 2003, pp 149–155
Sih GC, Lee EA (1993) A compiler-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures. IEEE Trans Parallel Distrib Syst 4(2):175–186
Gerasoulis A, Yang T (1992) A comparison of clustering heuristics for scheduling directed acyclic graphs onto multiprocessors. J Parallel Distrib Comput 16(4):276–291
Palis MA, Liou J-C, Wei DSL (1996) Task clustering and scheduling for distributed memory parallel architectures. IEEE Trans Parallel Distrib Syst 7(1):46–55
Pande SS, Agrawal DP, Mauney J (1994) A new threshold scheduling strategy for sisal programs on distributed memory systems. J Parallel Distrib Comput 21(4):223–236
Pande SS, Agrawal DP, Mauney J (1995) A scalable scheduling method for functional parallelism on distributed memory multiprocessors. IEEE Trans Parallel Distrib Syst 6(4):388–399
Ahmad I, Kwok Y-K (1998) On exploiting task duplication in parallel program scheduling. IEEE Trans Parallel Distrib Syst 9(8):872–892
Hagras T, Janecek J (2004) A high performance, low complexity algorithm for compile-time task scheduling in heterogeneous systems. In: IEEE proceedings of 18th international parallel and distributed processing symposium, April 2004, pp 107–115
Chung YC, Ranka S (1992) Application and performance analysis of a compile-time optimization approach for list scheduling algorithms on distributed-memory multiprocessors. In: Proceedings of supercomputing, pp 512–521
Hagras T, Janecek J (2004) A near lower-bound complexity algorithm for compile-time task-scheduling in heterogeneous computing systems. In: IEEE proceedings of third international symposium on parallel and distributed computing/third international workshop on algorithms, models and tools for parallel computing on heterogeneous networks, pp 106–113
Danalis A, Kim K-Y, Pollock L, Swany M (2005) Transformations to parallel codes for communication-computation overlap. In: Proceedings of the ACM/IEEE supercomputing, 12–18 November 2005, pp 58–70
Beaumont O, Boudet V, Robert Y (2002) A realistic model and an efficient heuristic for scheduling with heterogeneous processors. In: Proceedings of 11th heterogeneous computing workshop
Gerasoulis A, Yang T (1993) On the granularity and clustering of directed acyclic task graphs. IEEE Trans Parallel Distrib Syst 4(6):686–701
Kruatrachue B, Lewis T (1988) Grain size determination for parallel processing. IEEE Softw 5(1):23–32
Lai GJ, Fang JF, Sung PS, Pean DL (2003) Scheduling parallel tasks onto NUMA multiprocessors with inter-processor communication overhead. In: Proceedings of international symposium on parallel and distributed processing and applications, pp 65–75
Bansal S, Kumar P, Singh K (2003) An improved duplication strategy for scheduling precedence constrained graphs in multiprocessor systems. IEEE Trans Parallel Distrib Syst 14(6):533–544
Sarkar V (1989) Partitioning and scheduling parallel programs for execution on multiprocessors. MIT Press, Cambridge
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Lai, KC., Yang, CT. A dominant predecessor duplication scheduling algorithm for heterogeneous systems. J Supercomput 44, 126–145 (2008). https://doi.org/10.1007/s11227-007-0152-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-007-0152-2