Task Scheduling Techniques for Asymmetric Multi-Core Systems

As performance and energy efficiency have become the main challenges for next-generation high-performance computing, asymmetric multi-core architectures can provide solutions to tackle these issues. Parallel programming models need to be able to suit the needs of such systems and keep on increasing the application’s portability and efficiency. This paper proposes two task scheduling approaches that target asymmetric systems. These dynamic scheduling policies reduce total execution time either by detecting the longest or the critical path of the dynamic task dependency graph of the application, or by finding the earliest executor of a task. They use dynamic scheduling and information discoverable during execution, fact that makes them implementable and functional without the need of off-line profiling. In our evaluation we compare these scheduling approaches with two existing state-of the art heterogeneous schedulers and we track their improvement over a FIFO baseline scheduler. We show that the heterogeneous schedulers improve the baseline by up to 1.45<inline-formula><tex-math notation="LaTeX">$\times$</tex-math><alternatives> <inline-graphic xlink:href="chronaki-ieq1-2633347.gif"/></alternatives></inline-formula> in a real 8-core asymmetric system and up to 2.1<inline-formula><tex-math notation="LaTeX">$\times$</tex-math><alternatives> <inline-graphic xlink:href="chronaki-ieq2-2633347.gif"/></alternatives></inline-formula> in a simulated 32-core asymmetric chip.

[1]  Zhimin Zhang,et al.  Chemical Reaction Optimization for Heterogeneous Computing Environments , 2012, 2012 IEEE 10th International Symposium on Parallel and Distributed Processing with Applications.

[2]  Alejandro Duran,et al.  Extending OpenMP to Survive the Heterogeneous Multi-Core Era , 2010, International Journal of Parallel Programming.

[3]  Han Yu A Hybrid GA-based Scheduling Algorithm for Heterogeneous Computing Environments , 2007, 2007 IEEE Symposium on Computational Intelligence in Scheduling.

[4]  Füsun Özgüner,et al.  Parallelizing Existing Applications in a Distributed Heterogeneous Environment , 1995 .

[5]  Alejandro Duran,et al.  Ompss: a Proposal for Programming Heterogeneous Multi-Core Architectures , 2011, Parallel Process. Lett..

[6]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..

[7]  Jack Dongarra,et al.  Parallel tiled QR factorization for multicore architectures , 2008 .

[8]  Chao-Chin Wu,et al.  A dynamic critical path duplication task scheduling algorithm for distributed heterogeneous computing systems , 2006, 12th International Conference on Parallel and Distributed Systems - (ICPADS'06).

[9]  Helen D. Karatza,et al.  A meta-heuristic optimization approach to the scheduling of bag-of-tasks applications on heterogeneous clouds with multi-level arrivals and critical jobs , 2015, Simul. Model. Pract. Theory.

[10]  Kenli Li,et al.  A Hybrid Chemical Reaction Optimization Scheme for Task Scheduling on Heterogeneous Computing Systems , 2015, IEEE Transactions on Parallel and Distributed Systems.

[11]  Eduard Ayguadé,et al.  Criticality-Aware Dynamic Task Scheduling for Heterogeneous Architectures , 2015, ICS.

[12]  Kenli Li,et al.  Scheduling Precedence Constrained Stochastic Tasks on Heterogeneous Cluster Systems , 2015, IEEE Transactions on Computers.

[13]  Keqin Li,et al.  Future Generation Computer Systems ( ) – Future Generation Computer Systems Multi-objective Scheduling of Many Tasks in Cloud Platforms , 2022 .

[14]  Kenli Li,et al.  Energy-Efficient Stochastic Task Scheduling on Heterogeneous Computing Systems , 2014, IEEE Transactions on Parallel and Distributed Systems.

[15]  Alejandro Duran,et al.  Evaluation of OpenMP Task Scheduling Strategies , 2008, IWOMP.

[16]  Tao Yang,et al.  DSC: Scheduling Parallel Tasks on an Unbounded Number of Processors , 1994, IEEE Trans. Parallel Distributed Syst..

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

[18]  Xiao Qin,et al.  EAD and PEBD: Two Energy-Aware Duplication Scheduling Algorithms for Parallel Tasks on Homogeneous Clusters , 2011, IEEE Transactions on Computers.

[19]  Alejandro Duran,et al.  Extending the OpenMP Tasking Model to Allow Dependent Tasks , 2008, IWOMP.

[20]  Padam Kumar,et al.  Economical Duplication Based Task Scheduling for Heterogeneous and Homogeneous Computing Systems , 2009, 2009 IEEE International Advance Computing Conference.

[21]  Eduard Ayguadé,et al.  PARSECSs: Evaluating the Impact of Task Parallelism in the PARSEC Benchmark Suite , 2016, ACM Trans. Archit. Code Optim..

[22]  Mourad Hakem,et al.  Dynamic critical path scheduling parallel programs onto multiprocessors , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[23]  Mateo Valero,et al.  On the simulation of large-scale architectures using multiple application abstraction levels , 2012, TACO.

[24]  Manuel Prieto,et al.  Maximizing Power Efficiency with Asymmetric Multicore Systems , 2009, ACM Queue.

[25]  Kuldip Singh,et al.  An Improved Duplication Strategy for Scheduling Precedence Constrained Graphs in Multiprocessor Systems , 2003, IEEE Trans. Parallel Distributed Syst..

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

[27]  Nawwaf N. Kharma,et al.  Efficient compile-time task scheduling for heterogeneous distributed computing systems , 2006, 12th International Conference on Parallel and Distributed Systems - (ICPADS'06).

[28]  Andrew J. Page,et al.  Dynamic task scheduling using genetic algorithms for heterogeneous distributed computing , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[29]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.