The Journal of Supercomputing

, Volume 74, Issue 7, pp 3039–3070 | Cite as

On benchmarking task scheduling algorithms for heterogeneous computing systems

  • Ashish Kumar Maurya
  • Anil Kumar Tripathi


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.


Task scheduling Workflow scheduling Benchmarking Performance evaluation Heterogeneous computing systems 


  1. 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–694CrossRefGoogle Scholar
  2. 2.
    Bajaj R, Agrawal DP (2004) Improving scheduling of tasks in a heterogeneous environment. IEEE Trans Parallel Distrib Syst 15(2):107–118CrossRefGoogle Scholar
  3. 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–544CrossRefGoogle Scholar
  4. 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 593Google Scholar
  5. 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–34Google Scholar
  6. 6.
    Bölöni L, Marinescu DC (2002) Robust scheduling of metaprograms. J Sched 5(5):395–412MathSciNetCrossRefzbMATHGoogle Scholar
  7. 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 12Google Scholar
  8. 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–837CrossRefzbMATHGoogle Scholar
  9. 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–59CrossRefGoogle Scholar
  10. 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–521Google Scholar
  11. 11.
    Coffman EG, Graham RL (1972) Optimal scheduling for two-processor systems. Acta Inform 1(3):200–213MathSciNetCrossRefzbMATHGoogle Scholar
  12. 12.
    Cosnard M, Marrakchi M, Robert Y, Trystram D (1988) Parallel Gaussian elimination on an MIMD computer. Parallel Comput 6(3):275–296MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Dai Y, Zhang X (2014) A synthesized heuristic task scheduling algorithm. Sci World J. Google Scholar
  14. 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–409CrossRefzbMATHGoogle Scholar
  15. 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–237Google Scholar
  16. 16.
    Garey MR, Johnson DS (2002) Computers and intractability, vol 29. W.H. Freeman, New YorkGoogle Scholar
  17. 17.
    Hu M, Luo J, Wang Y, Veeravalli B (2017) Adaptive scheduling of task graphs with dynamic resilience. IEEE Trans Comput 66(1):17–23MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Ilavarasan E, Thambidurai P (2007) Low complexity performance effective task scheduling algorithm for heterogeneous computing environments. J Comput Sci 3(2):94–103CrossRefGoogle Scholar
  19. 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–692CrossRefGoogle Scholar
  20. 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–3157CrossRefGoogle Scholar
  21. 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–89CrossRefGoogle Scholar
  22. 22.
    Khan MA (2012) Scheduling for heterogeneous systems using constrained critical paths. Parallel Comput 38(4):175–193CrossRefGoogle Scholar
  23. 23.
    Kianzad V, Bhattacharyya SS (2006) Efficient techniques for clustering and scheduling onto embedded multiprocessors. IEEE Trans Parallel Distrib Syst 17(7):667–680CrossRefGoogle Scholar
  24. 24.
    Kwok YK, Ahmad I (1999) Benchmarking and comparison of the task graph scheduling algorithms. J Parallel Distrib Comput 59(3):381–422CrossRefzbMATHGoogle Scholar
  25. 25.
    Kwok YK, Ahmad I (1999) Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput Surv 31(4):406–471CrossRefGoogle Scholar
  26. 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–1377CrossRefGoogle Scholar
  27. 27.
    Mishra A, Mishra PK (2016) A randomized scheduling algorithm for multiprocessor environments using local search. Parallel Process Lett 26(01):1650002MathSciNetCrossRefGoogle Scholar
  28. 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–651Google Scholar
  29. 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–6263MathSciNetCrossRefzbMATHGoogle Scholar
  30. 30.
    Sarkar V (1987) Partitioning and scheduling parallel programs for execution on multiprocessors. Technical report, Stanford University, Stanford, CA, USAGoogle Scholar
  31. 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–10Google Scholar
  32. 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–1156CrossRefzbMATHGoogle Scholar
  33. 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–187CrossRefGoogle Scholar
  34. 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–329CrossRefzbMATHGoogle Scholar
  35. 35.
    Tobita T, Kasahara H (2002) A standard task graph set for fair evaluation of multiprocessor scheduling algorithms. J Sched 5(5):379–394MathSciNetCrossRefzbMATHGoogle Scholar
  36. 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–274CrossRefGoogle Scholar
  37. 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–3831CrossRefGoogle Scholar
  38. 38.
    Ullman JD (1975) Np-complete scheduling problems. J Comput Syst Sci 10(3):384–393MathSciNetCrossRefzbMATHGoogle Scholar
  39. 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–713Google Scholar
  40. 40.
    Wu MY, Gajski DD (1990) Hypertool: a programming aid for message-passing systems. IEEE Trans Parallel Distrib Syst 1(3):330–343CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer Science and EngineeringIndian Institute of Technology (BHU) VaranasiVaranasiIndia

Personalised recommendations