Skip to main content
Log in

On benchmarking task scheduling algorithms for heterogeneous computing systems

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

Abstract

The task scheduling problem on heterogeneous computing systems has been broadly studied, and many heuristic algorithms are proposed to solve this problem. It is interesting to go for significant performance assessment and comparison among these heuristic algorithms. In this work, we first carry out performance evaluation and comparison of task scheduling algorithms for heterogeneous computing systems for randomly generated graphs and the graphs generated from real-world applications such as Fast Fourier Transform, Gaussian Elimination, Montage and Epigenomics workflow. Further, we explores possibility of a framework for benchmarking of task scheduling algorithms for heterogeneous computing systems. This proposed approach provides for generation of graphs through a Directed Acyclic Graph generator, then produces schedules through a scheduler which makes use of scheduling algorithms and finally analyses the results obtained by using various performance metrics. The proposed framework is general in nature.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25

Similar content being viewed by others

References

  1. Arabnejad H, Barbosa JG (2014) List scheduling algorithm for heterogeneous systems by an optimistic cost table. IEEE Trans Parallel Distrib Syst 25(3):682–694

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

  4. Berriman G, Good J, Laity A, Bergou A, Jacob J, Katz D, Deelman E, Kesselman C, Singh G, Su MH et al (2004) Montage: A grid enabled image mosaic service for the national virtual observatory. In: Astronomical Data Analysis Software and Systems (ADASS) XIII, vol 314, p 593

  5. Bittencourt LF, Sakellariou R, Madeira ER (2010) Dag scheduling using a lookahead variant of the heterogeneous earliest finish time algorithm. In: 2010 18th Euromicro International Conference on Parallel, Distributed and Network-Based Processing (PDP). IEEE, pp 27–34

  6. Bölöni L, Marinescu DC (2002) Robust scheduling of metaprograms. J Sched 5(5):395–412

    Article  MathSciNet  MATH  Google Scholar 

  7. Bozdag D, Catalyurek U, Ozguner F (2006) A task duplication based bottom-up scheduling algorithm for heterogeneous environments. In: 20th International Parallel and Distributed Processing Symposium, 2006. IPDPS 2006. IEEE, p 12

  8. Braun TD, Siegel HJ, Beck N, Bölöni LL, Maheswaran M, Reuther AI, Robertson JP, Theys MD, Yao B, Hensgen D et al (2001) A comparison of eleven static heuristics for mapping a class of independent tasks onto heterogeneous distributed computing systems. J Parallel Distrib Comput 61(6):810–837

    Article  MATH  Google Scholar 

  9. Brown DA, Brady PR, Dietz A, Cao J, Johnson B, McNabb J (2007) A case study on the use of workflow technologies for scientific analysis: gravitational wave data analysis. In: Taylor IJ, Deelman E, Gannon DB, Shields M (eds) Workflows for e-science. Springer, London, pp 39–59

    Chapter  Google Scholar 

  10. Chung YC, Ranka S (1992) Applications and performance analysis of a compile-time optimization approach for list scheduling algorithms on distributed memory multiprocessors. In: Proceedings of the 1992 ACM/IEEE Conference on Supercomputing. IEEE Computer Society Press, pp 512–521

  11. Coffman EG, Graham RL (1972) Optimal scheduling for two-processor systems. Acta Inform 1(3):200–213

    Article  MathSciNet  MATH  Google Scholar 

  12. Cosnard M, Marrakchi M, Robert Y, Trystram D (1988) Parallel Gaussian elimination on an MIMD computer. Parallel Comput 6(3):275–296

    Article  MathSciNet  MATH  Google Scholar 

  13. Dai Y, Zhang X (2014) A synthesized heuristic task scheduling algorithm. Sci World J. https://doi.org/10.1155/2014/465702

    Google Scholar 

  14. Daoud MI, Kharma N (2008) A high performance algorithm for static task scheduling in heterogeneous distributed computing systems. J Parallel Distrib Comput 68(4):399–409

    Article  MATH  Google Scholar 

  15. Deelman E, Singh G, Su MH, Blythe J, Gil Y, Kesselman C, Mehta G, Vahi K, Berriman GB, Good J et al (2005) Pegasus: a framework for mapping complex scientific workflows onto distributed systems. Sci Program 13(3):219–237

    Google Scholar 

  16. Garey MR, Johnson DS (2002) Computers and intractability, vol 29. W.H. Freeman, New York

    Google Scholar 

  17. Hu M, Luo J, Wang Y, Veeravalli B (2017) Adaptive scheduling of task graphs with dynamic resilience. IEEE Trans Comput 66(1):17–23

    Article  MathSciNet  MATH  Google Scholar 

  18. Ilavarasan E, Thambidurai P (2007) Low complexity performance effective task scheduling algorithm for heterogeneous computing environments. J Comput Sci 3(2):94–103

    Article  Google Scholar 

  19. Juve G, Chervenak A, Deelman E, Bharathi S, Mehta G, Vahi K (2013) Characterizing and profiling scientific workflows. Future Gen Comput Syst 29(3):682–692

    Article  Google Scholar 

  20. Kanemitsu H, Hanada M, Nakazato H (2016) Clustering-based task scheduling in a large number of heterogeneous processors. IEEE Trans Parallel Distrib Syst 27(11):3144–3157

    Article  Google Scholar 

  21. Khaldi D, Jouvelot P, Ancourt C (2015) Parallelizing with BDSC, a resource-constrained scheduling algorithm for shared and distributed memory systems. Parallel Comput 41:66–89

    Article  Google Scholar 

  22. Khan MA (2012) Scheduling for heterogeneous systems using constrained critical paths. Parallel Comput 38(4):175–193

    Article  Google Scholar 

  23. Kianzad V, Bhattacharyya SS (2006) Efficient techniques for clustering and scheduling onto embedded multiprocessors. IEEE Trans Parallel Distrib Syst 17(7):667–680

    Article  Google Scholar 

  24. Kwok YK, Ahmad I (1999) Benchmarking and comparison of the task graph scheduling algorithms. J Parallel Distrib Comput 59(3):381–422

    Article  MATH  Google Scholar 

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

    Article  Google Scholar 

  26. Mei J, Li K, Li K (2014) A resource-aware scheduling algorithm with reduced task duplication on heterogeneous computing systems. J Supercomput 68(3):1347–1377

    Article  Google Scholar 

  27. Mishra A, Mishra PK (2016) A randomized scheduling algorithm for multiprocessor environments using local search. Parallel Process Lett 26(01):1650002

    Article  MathSciNet  Google Scholar 

  28. Mishra A, Tripathi AK (2010) An extension of edge zeroing heuristic for scheduling precedence constrained task graphs on parallel systems using cluster dependent priority scheme. In: 2010 International Conference on Computer and Communication Technology (ICCCT). IEEE, pp 647–651

  29. Mishra PK, Mishra A, Mishra KS, Tripathi AK (2012) Benchmarking the clustering algorithms for multiprocessor environments using dynamic priority of modules. Appl Math Model 36(12):6243–6263

    Article  MathSciNet  MATH  Google Scholar 

  30. Sarkar V (1987) Partitioning and scheduling parallel programs for execution on multiprocessors. Technical report, Stanford University, Stanford, CA, USA

  31. Shi Z, Jeannot E, Dongarra JJ (2006) Robust task scheduling in non-deterministic heterogeneous computing systems. In: 2006 IEEE International Conference on Cluster Computing. IEEE, pp 1–10

  32. Shin K, Cha M, Jang M, Jung J, Yoon W, Choi S (2008) Task scheduling algorithm using minimized duplications in homogeneous systems. J Parallel Distrib Comput 68(8):1146–1156

    Article  MATH  Google Scholar 

  33. Sih GC, Lee EA (1993) A compile-time scheduling heuristic for interconnection-constrained heterogeneous processor architectures. IEEE Trans Parallel Distrib Syst 4(2):175–187

    Article  Google Scholar 

  34. Tang X, Li K, Liao G, Li R (2010) List scheduling with duplication for heterogeneous computing systems. J Parallel Distrib Comput 70(4):323–329

    Article  MATH  Google Scholar 

  35. Tobita T, Kasahara H (2002) A standard task graph set for fair evaluation of multiprocessor scheduling algorithms. J Sched 5(5):379–394

    Article  MathSciNet  MATH  Google Scholar 

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

  37. Tsai YL, Liu HC, Huang KC (2015) Adaptive dual-criteria task group allocation for clustering-based multi-workflow scheduling on parallel computing platform. J Supercomput 71(10):3811–3831

    Article  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  39. Wang J, Lv X, Chen X (2016) Comparative analysis of list scheduling algorithms on homogeneous multi-processors. In: 2016 8th IEEE International Conference on Communication Software and Networks (ICCSN). IEEE, pp 708–713

  40. Wu MY, Gajski DD (1990) Hypertool: a programming aid for message-passing systems. IEEE Trans Parallel Distrib Syst 1(3):330–343

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ashish Kumar Maurya.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Maurya, A.K., Tripathi, A.K. On benchmarking task scheduling algorithms for heterogeneous computing systems. J Supercomput 74, 3039–3070 (2018). https://doi.org/10.1007/s11227-018-2355-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-018-2355-0

Keywords

Navigation