Scheduling parallel tasks with sequential heads and tails

被引:5
|
作者
Drozdowski, M [1 ]
Kubiak, W [1 ]
机构
[1] Mem Univ Newfoundland, Fac Business Adm, St Johns, NF, Canada
关键词
parallel processing; multiprocessor tasks; preemptive scheduling; complexity analysis;
D O I
10.1023/A:1018964732122
中图分类号
C93 [管理学]; O22 [运筹学];
学科分类号
070105 ; 12 ; 1201 ; 1202 ; 120202 ;
摘要
This paper considers scheduling of parallel tasks in a multiprogrammed, multiprocessor system. The problem of preemptive scheduling of n tasks on m processors to minimize makespan is studied. Task j starts and finishes with sequential parts head(j) and tail(j) , respectively. Between these two, j runs its parallel part parallel(j). The sequential parts have to be executed by one processor at a time. The parallel part can be executed by more than one processor at a time. It is shown that this problem is NP-hard in the strong sense even if there are fewer tasks than processors. A linear program is presented to find an optimal schedule for a given sequence of completion times of heads and start times of tails. If the optimal schedule for tasks longer than the mth longest task is given, an efficient, polynomial-time merging algorithm is proposed to obtain an optimal schedule for all n tasks. The algorithm builds an optimal schedule with at most m - 1 tasks running their parallel parts on more than one processor at a time, the remaining tasks run their parallel parts as if they were sequential. Therefore, there always exist optimal schedules with only a few tasks exploiting the parallel processing capability of a parallel system. Finally, polynomially solvable cases are discussed, and the worst-case performance of three heuristics for the problem is analyzed.
引用
收藏
页码:221 / 246
页数:26
相关论文
共 50 条