Workflow Simulation Aware and Multi-threading Effective Task Scheduling for Heterogeneous Computing

Efficient application scheduling is critical for achieving high performance in heterogeneous computing systems. This problem has proved to be NP-complete, heading research efforts in obtaining low complexity heuristics that produce good quality schedules. Although this problem has been extensively studied in the past, all the related works assume the computation costs of application tasks on processors are available a priori, ignoring the fact that the time needed to run/simulate all these tasks is orders of magnitude higher than finding a good quality schedule, especially in heterogeneous systems. In this paper, we propose two new methods applicable to several task scheduling algorithms for heterogeneous computing systems. We showcase both methods by using HEFT well known and popular algorithm, but they are applicable to other algorithms too, such as HCPT, HPS, PETS and CPOP. First, we propose a methodology to reduce the scheduling time of HEFT when the computation costs are unknown, without sacrificing the length of the output schedule (monotonic computation costs); this is achieved by reducing the number of computation costs required by HEFT and as a consequence the number of simulations applied. Second, we give heuristics to find which tasks are going to be executed as Single-Thread and which as Multi-Thread CPU implementations, as well as the number of the threads used. The experimental results considering both random graphs and real world applications show that extending HEFT with the two proposed methods achieves better schedule lengths, while at the same time requires from 4.5 up to 24 less simulations.

[1]  Sascha Hunold,et al.  One step toward bridging the gap between theory and practice in moldable task scheduling with precedence constraints , 2015, Concurr. Comput. Pract. Exp..

[2]  Ümit V. Çatalyürek,et al.  A Moldable Online Scheduling Algorithm and Its Application to Parallel Short Sequence Mapping , 2010, JSSPP.

[3]  Olivier Beaumont,et al.  Approximation Proofs of a Fast and Efficient List Scheduling Algorithm for Task-Based Runtime Systems on Multicores and GPUs , 2017, 2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[4]  Rizos Sakellariou,et al.  An Experimental Investigation into the Rank Function of the Heterogeneous Earliest Finish Time Scheduling Algorithm , 2003, Euro-Par.

[5]  Venkatram Vishwanath,et al.  SKOPE: a framework for modeling and exploring workload behavior , 2014, Conf. Computing Frontiers.

[6]  Nawwaf N. Kharma,et al.  A high performance algorithm for static task scheduling in heterogeneous distributed computing systems , 2008, J. Parallel Distributed Comput..

[7]  Safia Kedad-Sidhoum,et al.  Scheduling Independent Moldable Tasks on Multi-Cores with GPUs , 2017, IEEE Transactions on Parallel and Distributed Systems.

[8]  Hui Cheng,et al.  A High Efficient Task Scheduling Algorithm Based on Heterogeneous Multi-Core Processor , 2010, 2010 2nd International Workshop on Database Technology and Applications.

[9]  Jan Janecek,et al.  A simple scheduling heuristic for heterogeneous computing environments , 2003, Second International Symposium on Parallel and Distributed Computing, 2003. Proceedings..

[10]  Hamid Arabnejad,et al.  List Scheduling Algorithm for Heterogeneous Systems by an Optimistic Cost Table , 2014, IEEE Transactions on Parallel and Distributed Systems.

[11]  Ann L. Chervenak,et al.  Characterizing and profiling scientific workflows , 2013, Future Gener. Comput. Syst..

[12]  Cristina Boeres,et al.  A cluster-based strategy for scheduling task on heterogeneous processors , 2004 .

[13]  Rizos Sakellariou,et al.  DAG Scheduling Using a Lookahead Variant of the Heterogeneous Earliest Finish Time Algorithm , 2010, 2010 18th Euromicro Conference on Parallel, Distributed and Network-based Processing.

[14]  Daniel S. Katz,et al.  Pegasus: A framework for mapping complex scientific workflows onto distributed systems , 2005, Sci. Program..

[15]  Sanjeev Baskiyar,et al.  Scheduling directed a-cyclic task graphs on heterogeneous network of workstations to minimize schedule length , 2003, 2003 International Conference on Parallel Processing Workshops, 2003. Proceedings..

[16]  Denis Trystram,et al.  Generic Algorithms for Scheduling Applications on Hybrid Multi-core Machines , 2017, Euro-Par.

[17]  Safia Kedad-Sidhoum,et al.  Scheduling Tasks with Precedence Constraints on Hybrid Multi-core Machines , 2015, 2015 IEEE International Parallel and Distributed Processing Symposium Workshop.

[18]  Henri Casanova,et al.  A Comparison of Scheduling Approaches for Mixed-Parallel Applications on Heterogeneous Platforms , 2007, Sixth International Symposium on Parallel and Distributed Computing (ISPDC'07).

[19]  Salim Hariri,et al.  Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing , 2002, IEEE Trans. Parallel Distributed Syst..

[20]  Cédric Augonnet,et al.  StarPU: a unified platform for task scheduling on heterogeneous multicore architectures , 2011, Concurr. Comput. Pract. Exp..