Multistep scheduling algorithm for parallel and distributed processing with communication costs
Hitoshi Yamazaki, Katumi Konishi, Seiichi Shin, Kenji Sawada · 2013
This paper considers a task scheduling problem for multicore CPUs and proposes a multistep scheduling algorithm. The existing scheduling algorithms formulated as 0-1 integer linear programming can consider optimality of a task scheduling. However, the existing scheduling algorithms cannot address complicated relations among tasks or cannot consider communication costs among processors. Then, first purpose is to propose a new scheduling algorithm with communication costs formulated as 0-1 integer linear programming. On the other hand, 0-1 integer linear programming is NP-complete and it takes long time to calculate scheduling result. Then, the second purpose is to decrease scheduling time. A solution decreasing scheduling time is a graph clustering which decomposes a large task graph into smaller sub-task graph (cluster). Also, it is important for parallel and distributed processing to find task parallelism in a task graph. Then, this paper proposes a clustering algorithm based on SCAN which is an algorithm for finding clusters in a network. The proposed algorithm can find task parallelism in a task graph. In numerical examples, the multistep scheduling algorithm is superior to the existing scheduling algorithm in terms of calculation time.