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.



















Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
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
Bajaj R, Agrawal DP (2004) Improving scheduling of tasks in a heterogeneous environment. IEEE Trans Parallel Distrib Syst 15(2):107–118
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
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
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
Cosnard M, Marrakchi M, Robert Y, Trystram D (1988) Parallel Gaussian elimination on an mimd computer. Parallel Comput 6(3):275–296
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
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
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
El-Rewini H, Lewis TG (1990) Scheduling parallel program tasks onto arbitrary target machines. J Parallel Distrib Comput 9(2):138–153
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
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
Hu M, Luo J, Wang Y, Veeravalli B (2017) Adaptive scheduling of task graphs with dynamic resilience. IEEE Trans Comput 66(1):17–23
Ibarra OH, Sohn SM (1990) On mapping systolic algorithms onto the hypercube. IEEE Trans Parallel Distrib Syst 1(1):48–63
Ilavarasan E, Thambidurai P (2007) Low complexity performance effective task scheduling algorithm for heterogeneous computing environments. J Comput Sci 3(2):94–103
Kadamuddi D, Tsai JJ (2000) Clustering algorithm for parallelizing software systems in multiprocessors environment. IEEE Trans Softw Eng 26(4):340–361
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
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
Kruatrachue B, Lewis T (1988) Grain size determination for parallel processing. IEEE Softw 5(1):23–32
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
Kwok YK, Ahmad I (1999) Benchmarking and comparison of the task graph scheduling algorithms. J Parallel Distrib Comput 59(3):381–422
Kwok YK, Ahmad I (1999) Static scheduling algorithms for allocating directed task graphs to multiprocessors. ACM Comput Surv (CSUR) 31(4):406–471
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
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
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
Mishra A, Mishra PK (2016) A randomized scheduling algorithm for multiprocessor environments using local search. Parallel Process Lett 26(01):1650,002
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
Mishra P, Mishra K, Mishra A (2011) A clustering algorithm for multiprocessor environments using dynamic priority of modules. Ann Math Inform 38:99–110
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
Mishra PK, Mishra KS, Mishra A, Tripathi AK (2012) A randomized scheduling algorithm for multiprocessor environments. Parallel Process Lett 22(04):1250,015
Papadimitriou CH, Yannakakis M (1990) Towards an architecture-independent analysis of parallel algorithms. SIAM J Comput 19(2):322–328
Sarkar V (1987) Partitioning and scheduling parallel programs for execution on multiprocessors. Tech. rep., Stanford University, CA (USA)
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
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
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
Wu MY, Gajski DD (1990) Hypertool: a programming aid for message-passing systems. IEEE Trans Parallel Distrib Syst 1(3):330–343
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
Yang T, Gerasoulis A (1994) Dsc: scheduling parallel tasks on an unbounded number of processors. IEEE Trans Parallel Distrib Syst 5(9):951–967
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00607-018-0636-3