An Algorithm Used to Improve Task Parallelization for Directed Acyclic Graphs
Yong Fang Yao, Yingfeng Wang, Zhijing Liu · 2010
Many scheduling algorithms are designed based on directed a cyclic graphs. However, intra-iteration data dependencies among tasks are widespread and have an adverse effect on regulation of task execution order so that the advantage of multi-core is impeded. Therefore, this paper addresses the problem of setting appropriate delays on each edge of a task graph representing an application to eliminate intra-iteration data dependencies. Based on the principle of the retiming technique, we propose an algorithm to determine the appropriate retiming value of each node according to the number of nodes along the path with the maximum number of nodes from it to sink node. Scheduling length can be reduced by the above transformation due to eliminating intra-iteration data dependencies. We experiment with random task graphs on 2 and 4 processor cores, respectively. The experimental results show that the proposed algorithm can effectively improve task parallelization for applications with dependent tasks.