Online Scheduling of Task Graphs on Hybrid Platforms

Modern computing platforms commonly include accelerators. We target the problem of scheduling applications modeled as task graphs on hybrid platforms made of two types of resources, such as CPUs and GPUs. We consider that task graphs are uncovered dynamically, and that the scheduler has information only on the available tasks, i.e., tasks whose predecessors have all been completed. Each task can be processed by either a CPU or a GPU, and the corresponding processing times are known. Our study extends a previous \(4\sqrt{m/k}\)-competitive online algorithm [2], where m is the number of CPUs and k the number of GPUs (\(m\ge k\)). We prove that no online algorithm can have a competitive ratio smaller than \(\sqrt{m/k}\). We also study how adding flexibility on task processing, such as task migration or spoliation, or increasing the knowledge of the scheduler by providing it with information on the task graph, influences the lower bound. We provide a \((2\sqrt{m/k}+1)\)-competitive algorithm as well as a tunable combination of a system-oriented heuristic and a competitive algorithm; this combination performs well in practice and has a competitive ratio in \(\varTheta (\sqrt{m/k})\). Finally, simulations on different sets of task graphs illustrate how the instance properties impact the performance of the studied algorithms and show that our proposed tunable algorithm performs the best among the online algorithms in almost all cases and has even performance close to an offline algorithm.

[1]  Cédric Augonnet,et al.  Data-Aware Task Scheduling on Multi-accelerator Based Platforms , 2010, 2010 IEEE 16th International Conference on Parallel and Distributed Systems.

[2]  Olivier Beaumont,et al.  Fast approximation algorithms for task‐based runtime systems , 2018, Concurr. Comput. Pract. Exp..

[3]  Denis Trystram,et al.  Scheduling Data Flow Program in XKaapi: A New Affinity Based Algorithm for Heterogeneous Architectures , 2014, Euro-Par.

[4]  Joseph Y.-T. Leung,et al.  Handbook of Scheduling: Algorithms, Models, and Performance Analysis , 2004 .

[5]  Maciej Drozdowski Scheduling Parallel Tasks , 2004, Handbook of Scheduling.

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

[7]  Eduard Ayguadé,et al.  Leveraging OmpSs to Exploit Hardware Accelerators , 2014, 2014 IEEE 26th International Symposium on Computer Architecture and High Performance Computing.

[8]  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.

[9]  Safia Kedad-Sidhoum,et al.  Scheduling independent tasks on multi‐cores with GPU accelerators , 2015, Concurr. Comput. Pract. Exp..

[10]  Ronald L. Graham,et al.  Bounds on Multiprocessing Timing Anomalies , 1969, SIAM Journal of Applied Mathematics.

[11]  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).

[12]  Frédéric Vivien,et al.  Low-Cost Approximation Algorithms for Scheduling Independent Tasks on Hybrid Platforms , 2017, Euro-Par.

[13]  Csanád Imreh,et al.  Scheduling Problems on Two Sets of Identical Machines , 2003, Computing.

[14]  Björn Andersson,et al.  Task assignment algorithms for two-type heterogeneous multiprocessors , 2013, Real-Time Systems.

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

[16]  Lin Chen,et al.  Online Scheduling of mixed CPU-GPU jobs , 2014, Int. J. Found. Comput. Sci..

[17]  Emmanuel Agullo,et al.  Are Static Schedules so Bad? A Case Study on Cholesky Factorization , 2016, 2016 IEEE International Parallel and Distributed Processing Symposium (IPDPS).

[18]  Terry Cojean,et al.  Scheduling of Linear Algebra Kernels on Multiple Heterogeneous Resources , 2016, 2016 IEEE 23rd International Conference on High Performance Computing (HiPC).

[19]  Frédéric Vivien,et al.  Online Scheduling of Task Graphs on Heterogeneous Platforms , 2020, IEEE Transactions on Parallel and Distributed Systems.

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

[21]  Dror G. Feitelson,et al.  Workload Modeling for Computer Systems Performance Evaluation , 2015 .

[22]  Hironori Kasahara,et al.  A standard task graph set for fair evaluation of multiprocessor scheduling algorithms , 2002 .