List Scheduling for Heterogeneous Computing Systems Introducing a Performance-Effective Definition for Critical Path

The emergence of heterogeneous computing systems has been accompanied by serious design issues. Being a highly influential factor on performance in these systems, application scheduling is one of the major design considerations. In this paper, we propose a new critical path-oriented list scheduling heuristic algorithm called Communication-Intensive Path on a Processor (CIPOP) for heterogeneous computing environments. It is a modification of the well-known CPOP algorithm that presented the idea of scheduling the most costly entry-exit path of tasks, commonly known as the critical path, on a single processor. Generally, this processor selection strategy has different potential impacts on computation and communication costs along a selected path in the produced schedule. However, these probably different effects are not considered in the common definition of a critical path. Differentiating between these two types of costs, the proposed algorithm introduces a novel performance-effective definition for a critical path that is compatible with this processor selection strategy. CIPOP has a time complexity the same as that of the state-of-the-art list scheduling heuristic algorithms, which is of the order O(v2.× p) for v tasks and p processors. The conducted comprehensive experiment based on a wide variety of randomly generated application DAGs demonstrates the performance improvement of the proposed algorithm.

[1]  Keqin Li,et al.  Joint optimization of energy efficiency and system reliability for precedence constrained tasks in heterogeneous systems , 2016 .

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

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

[4]  Minhaj Ahmad Khan,et al.  Scheduling for heterogeneous Systems using constrained critical paths , 2012, Parallel Comput..

[5]  Kenli Li,et al.  Reliability-aware scheduling strategy for heterogeneous distributed computing systems , 2010, J. Parallel Distributed Comput..

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

[7]  Jibo Wei,et al.  Optimization of Duplication-Based Schedules on Network-on-Chip Based Multi-Processor System-on-Chips , 2017, IEEE Transactions on Parallel and Distributed Systems.

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

[9]  Edward A. Lee,et al.  A Compile-Time Scheduling Heuristic for Interconnection-Constrained Heterogeneous Processor Architectures , 1993, IEEE Trans. Parallel Distributed Syst..

[10]  Oliver Sinnen,et al.  List-Scheduling versus Cluster-Scheduling , 2018, IEEE Transactions on Parallel and Distributed Systems.

[11]  Hamid Arabnejad,et al.  Performance Evaluation of List Based Scheduling on Heterogeneous Systems , 2011, Euro-Par Workshops.

[12]  Keqin Li,et al.  Heterogeneity-driven end-to-end synchronized scheduling for precedence constrained tasks and messages on networked embedded systems , 2015, J. Parallel Distributed Comput..