Skip to main content

ECP: a novel clustering-based technique to schedule precedence constrained tasks on multiprocessor computing systems

Abstract

Efficient scheduling is critical for achieving improved performance of distributed applications where an application is to be considered as a group of interrelated tasks and represented by a task graph. In this work, we present a clustering-based scheduling algorithm called effective critical path (ECP) to schedule precedence constrained tasks on multiprocessor computing systems. The main aim of the algorithm is to minimize the schedule length of the given application. It uses the concept of edge zeroing on the critical path of the task graph for clustering the tasks of an application. An experimental analysis is performed using random task graphs and the task graphs derived from the real-world applications such as Gaussian Elimination, fast Fourier transform and systolic array. The results illustrate that the ECP algorithm gives better performance than the previous algorithms, considered herein, in terms of the average normalized schedule length and average speedup.

This is a preview of subscription content, access via your institution.

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

References

  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–694

    Article  Google Scholar 

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

    Boeres C, Filho JV, Rebello VE (2004) A cluster-based strategy for scheduling task on heterogeneous processors. In: Proceedings of the 16th symposium on computer architecture and high performance computing (SBAC-PAD’04). IEEE, pp 214–221

  5. 5.

    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

  6. 6.

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

    MathSciNet  Article  MATH  Google Scholar 

  7. 7.

    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 

  8. 8.

    Davidović T, Crainic TG (2006) Benchmark-problem instances for static scheduling of task graphs with communication delays on homogeneous multiprocessor systems. Comput Oper Res 33(8):2155–2177

    MathSciNet  Article  MATH  Google Scholar 

  9. 9.

    Dikaiakos MD, Steiglitz K, Rogers AA (1994) Comparison of techniques used for mapping parallel algorithms to message-passing multiprocessors. In: Proceedings of the sixth IEEE symposium on parallel and distributed processing, 1994. IEEE, pp 434–442

  10. 10.

    El-Rewini H, Lewis TG (1990) Scheduling parallel program tasks onto arbitrary target machines. J Parallel Distrib Comput 9(2):138–153

    Article  MATH  Google Scholar 

  11. 11.

    Gogos C, Valouxis C, Alefragis P, Goulas G, Voros N, Housos E (2016) Scheduling independent tasks on heterogeneous processors using heuristics and column pricing. Fut Gener Comput Syst 60:48–66

    Article  Google Scholar 

  12. 12.

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

    Article  MATH  Google Scholar 

  13. 13.

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

    MathSciNet  Article  MATH  Google Scholar 

  14. 14.

    Ibarra OH, Sohn SM (1990) On mapping systolic algorithms onto the hypercube. IEEE Trans Parallel Distrib Syst 1(1):48–63

    Article  Google Scholar 

  15. 15.

    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 

  16. 16.

    Kadamuddi D, Tsai JJ (2000) Clustering algorithm for parallelizing software systems in multiprocessors environment. IEEE Trans Softw Eng 26(4):340–361

    Article  Google Scholar 

  17. 17.

    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 

  18. 18.

    Kim S, Browne J (1988) A general approach to mapping of parallel computation upon multiprocessor architectures. In: International conference on parallel processing, vol 3, p 8

  19. 19.

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

    Article  Google Scholar 

  20. 20.

    Kwok YK, Ahmad I (1996) Dynamic critical-path scheduling: an effective technique for allocating task graphs to multiprocessors. IEEE Trans Parallel Distrib Syst 7(5):506–521

    Article  Google Scholar 

  21. 21.

    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 

  22. 22.

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

    Article  Google Scholar 

  23. 23.

    Liou JC, Palis MA (1996) An efficient task clustering heuristic for scheduling dags on multiprocessors. In: Workshop on resource management, symposium on parallel and distributed processing, pp 152–156

  24. 24.

    Maurya AK, Tripathi AK (2017) Performance comparison of heft, lookahead, ceft and peft scheduling algorithms for heterogeneous computing systems. In: Proceedings of the 7th international conference on computer and communication technology (ICCCT’2017). ACM, pp 128–132

  25. 25.

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

  26. 26.

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

    MathSciNet  Article  Google Scholar 

  27. 27.

    Mishra A, Tripathi AK (2010) An extention 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

  28. 28.

    Mishra P, Mishra K, Mishra A (2011) A clustering algorithm for multiprocessor environments using dynamic priority of modules. Ann Math Inform 38:99–110

    MATH  Google Scholar 

  29. 29.

    Mishra PK, Mishra KS, Mishra A (2010) A clustering heuristic for multiprocessor environments using computation and communication loads of modules. Int J Comput Sci Inf Technol 2(5):170–182

    Google Scholar 

  30. 30.

    Mishra PK, Mishra KS, Mishra A, Tripathi AK (2012) A randomized scheduling algorithm for multiprocessor environments. Parallel Process Lett 22(04):1250,015

    MathSciNet  Article  Google Scholar 

  31. 31.

    Papadimitriou CH, Yannakakis M (1990) Towards an architecture-independent analysis of parallel algorithms. SIAM J Comput 19(2):322–328

    MathSciNet  Article  MATH  Google Scholar 

  32. 32.

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

  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–187

    Article  Google 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–329

    Article  MATH  Google Scholar 

  35. 35.

    Topcuoglu H, Hariri S, Wu My (2002) Performance-effective and low-complexity task scheduling for heterogeneous computing. IEEE Trans Parallel Distrib Syst 13(3):260–274

    Article  Google Scholar 

  36. 36.

    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 

  37. 37.

    Yang T, Gerasoulis A (1991) A fast static scheduling algorithm for dags on an unbounded number of processors. In: Proceedings of the 1991 ACM/IEEE conference on Supercomputing. ACM, pp 633–642

  38. 38.

    Yang T, Gerasoulis A (1994) Dsc: scheduling parallel tasks on an unbounded number of processors. IEEE Trans Parallel Distrib Syst 5(9):951–967

    Article  Google Scholar 

Download references

Author information

Affiliations

Authors

Corresponding author

Correspondence to Ashish Kumar Maurya.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Maurya, A.K., Tripathi, A.K. ECP: a novel clustering-based technique to schedule precedence constrained tasks on multiprocessor computing systems. Computing 101, 1015–1039 (2019). https://doi.org/10.1007/s00607-018-0636-3

Download citation

Keywords

  • DAG scheduling
  • Clustering
  • Task graphs
  • Multiprocessor computing systems
  • Static scheduling

Mathematics Subject Classification

  • 68Q85
  • 68W15
  • 68W40