Skip to main content
Log in

A dominant predecessor duplication scheduling algorithm for heterogeneous systems

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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

    Article  Google Scholar 

  2. Bajaj R, Agrawal DP (2004) Improving scheduling of tasks in a heterogeneous environment. IEEE Trans Parallel Distrib Syst 15(2):107–118

    Article  Google Scholar 

  3. 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

  4. Hagras T, Janecek J (2005) A high performance, low complexity algorithm for compile-time task scheduling in heterogeneous systems. Parallel Comput 31:653–670

    Article  Google Scholar 

  5. 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

    Google Scholar 

  6. 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

    Article  Google Scholar 

  7. Sinnen O, Sousa LA (2005) Communication contention in task scheduling. IEEE Trans Parallel Distrib Syst 16(6):503–515

    Article  Google Scholar 

  8. 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

    Article  Google Scholar 

  9. Kwok Y-K, Ahmad I (1999) Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput Surv 31(4):406–471

    Article  Google Scholar 

  10. Ullman JD (1975) NP-complete scheduling problems. J Comput Syst Sci 10:384–393

    Article  MATH  MathSciNet  Google Scholar 

  11. Garey MR, Johnson DS (1979) Computers and intractability: a guide to the theory of NP-completeness. Freeman, New York

    MATH  Google Scholar 

  12. 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

  13. 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

  14. 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

    Article  Google Scholar 

  15. 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

    Article  MATH  MathSciNet  Google Scholar 

  16. 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

    Article  Google Scholar 

  17. 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

    Article  MATH  Google Scholar 

  18. 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

    Article  Google Scholar 

  19. Ahmad I, Kwok Y-K (1998) On exploiting task duplication in parallel program scheduling. IEEE Trans Parallel Distrib Syst 9(8):872–892

    Article  Google Scholar 

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. Gerasoulis A, Yang T (1993) On the granularity and clustering of directed acyclic task graphs. IEEE Trans Parallel Distrib Syst 4(6):686–701

    Article  Google Scholar 

  26. Kruatrachue B, Lewis T (1988) Grain size determination for parallel processing. IEEE Softw 5(1):23–32

    Article  Google Scholar 

  27. 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

  28. 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

    Article  Google Scholar 

  29. Sarkar V (1989) Partitioning and scheduling parallel programs for execution on multiprocessors. MIT Press, Cambridge

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kuan-Chou Lai.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-007-0152-2

Keywords

Navigation