摘要
表调度 (list scheduling)法是解决任务调度问题的较为有效的方法 .该文对两个典型的表调度算法——MCP算法和 ETF算法进行了分析 ,发现它们均存在着一定的不足 .文中提出了一个更好的表调度算法 BDCP,它采用动态关键路径技术并均衡考虑关键路径结点和非关键路径结点 ,使得对相关任务图调度长度影响最大的就绪结点能够被优先调度 ,从而极大地缩短了任务图的调度长度 .分析和实验结果表明 ,BDCP算法要优于
An efficient scheduling of a parallel program onto multiple processors is vital for achieving high performance in a parallel computer system. The objective of static scheduling is to assign the nodes of the task graph to the processors such that the schedule length is minimized without violating the precedence constraints. Because list scheduling has shown good performance and is less difficult to design, it has been studied and used widely. In list scheduling algorithms, a parallel program is represented by a directed acyclic graph. We analyze two typical list scheduling algorithms——MCP algorithm and ETF algorithm, and find that there are some weakness in them. In this paper, we propose a better list scheduling algorithm——BDCP algorithm. This algorithm adopts dynamic critical path and takes nodes on the critical path and nodes on the non-critical path into consideration fairly, which makes the nodes that have the greatest influence to the scheduling length of the task graph be scheduled first. This greatly shortens the scheduling length of the task graph. The BDCP algorithm determines node priorities dynamically by assigning an attribute called earliest possible start time (EPST) to unscheduled nodes at each scheduling step. The node with highest priority is scheduled first no matter whether the node is on the critical path or not. Tie is broken by scheduling the one with a higher static priority. The static node priority is defined as the maximum sum of computation costs along a path from the node to an exit node. The rule for selecting a processor to hold the selected node is that the selection should make the length of the critical path become shortest. In the BDCP algorithm, the critical path is dynamically changed with the nodes being scheduled onto processors and its length is obtained by calculating the maximum of the EPSTs of exit nodes in the graph. The complexity of the BDCP algorithm is O(v2). We generate synthetic task graphs of various commonly encountered structures including in-tree, out-tree and fork-join to compare the BDCP algorithm with the other algorithms. For each kind of task graph, we generate a number of graphs varying the number of nodes and values of communication to computation ratio. The result of experiments shows that BDCP algorithm is obviously better than MCP and ETF algorithms.
出处
《计算机学报》
EI
CSCD
北大核心
2001年第9期991-997,共7页
Chinese Journal of Computers
基金
国家自然科学基金 ( 6 99330 2 0 )
国家"九七三"重点基础研究发展规划项目 ( G19990 32 70 2 )资助