An enhanced list scheduling algorithm for heterogeneous computing using an optimized Predictive Cost Matrix - Wang, Min; Chen, Jiawang; Wang, Haoyuan; Gao, Ziyi; Bian, Weihao; Qiao, Sibo (Future generation computer systems, 2025)
Effective task scheduling is essential for optimizing resource utilization and improving system performance in heterogeneous computing environments. Current algorithms face challenges, particularly their need for more focus on the computational demands of intensive tasks and their inadequate attention to load balancing during processor allocation. To solve these problems, this study introduces the Balanced Prediction Priority Task Scheduling (BPPTS) algorithm, a novel list scheduling approach to improve the scheduling efficiency of compute-heavy tasks in heterogeneous systems. The BPPTS algorithm proposes the Balanced Prediction Cost Matrix (BPCM), which comprehensively evaluates the importance of tasks by considering their average computation cost. At the same time, a computation enhancement factor is introduced in the priority sorting to optimize the scheduling of computation-intensive tasks. The goal is to improve the scheduling efficiency of computation-intensive tasks and achieve load balancing. The BPPTS algorithm has a complexity of O(v2p), where v represents the number of tasks, and p denotes the number of processors. Experiments demonstrate that BPPTS outperforms other algorithms in terms of maximum completion time and speedup. •A novel list-based scheduling algorithm, the Balanced Prediction Priority Task Scheduling (BPPTS) algorithm, is proposed to minimize task flow scheduling time. Additionally, it maintains a complexity of O(v2p).•A new computational matrix, the Balanced Prediction Cost Matrix (BPCM), is proposed. Based on processor costs and task dependencies, it predicts task costs across processors, aiming to optimize scheduling and improve resource allocation efficiency.•At the task prioritization phase, a computation enhancement factor is introduced to optimize task priority assignment. This approach increases the priority weight of compute-intensive tasks, improving scheduling efficiency and resource utilization, thereby achieving more effective load balancing.