Provably efficient non-preemptive task scheduling with Cilk

被引:0
|
作者
Vee, VB [1 ]
Hsu, WJ [1 ]
机构
[1] Nanyang Technol Univ, Sch Appl Sci, Singapore 639798, Singapore
关键词
scheduling; Cilk;
D O I
10.1109/CMPSAC.1998.716733
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
We consider the problem of scheduling static task graphs by using Cilk, a C-based runtime system for multithreaded parallel programming. We assume no pre-emption of task execution and no prior knowledge of the task execution times. Given a task graph G, the output of the scheduling algorithm is a Cilk program P which, when executed, initiates the tasks in consistence with the precedence requirements of G. We show that the Cilk model has restrictions in implementing optimal schedules for certain types of task graphs; however, the restriction does not fundamentally hinder the practical applications of Cilk, as it is possible to produce reasonably good quality schedules (in the sense of expected execution time). Our algorithm identifies a minimal number of stages, assigns tasks to these stages, and bundles parallel tasks of the same stage into one Cilk procedure. By using Tajan's algorithm (for set operations) to implement the bundling process, we demonstrate that the parallel schedule can be derived in O(n+e) time for all practical purposes, where n and e denote the number of nodes and edges in the task graph G. With P processors, the expected completion time for the scheduled tasks is bounded by Tp = O(T-1/P+S), where TI denotes the total work, ie., the time required for executing all tasks on a single processor, and S denotes the sum (over all stages) of the longest execution time of the tasks at each stage. When the execution times of tasks are relatively homogeneous, the quality of the schedule generated by using our approach is nearly optimal.
引用
收藏
页码:602 / 607
页数:6
相关论文
共 50 条
  • [31] Non-preemptive Scheduling with Setup Times: A PTAS
    Jansen, Klaus
    Land, Felix
    [J]. EURO-PAR 2016: PARALLEL PROCESSING, 2016, 9833 : 159 - 170
  • [32] A novel task scheduling approach for dependent non-preemptive tasks using fuzzy logic
    Hassan, Heba E.
    Nagib, Gihan
    Ibrahiem, Khaled Hosny
    [J]. IET COMPUTERS AND DIGITAL TECHNIQUES, 2021, 15 (03): : 214 - 222
  • [33] A generic mechanism for managing resource constraints in preemptive and non-preemptive scheduling
    Sun, JG
    Zhang, JY
    [J]. 8TH WORLD MULTI-CONFERENCE ON SYSTEMICS, CYBERNETICS AND INFORMATICS, VOL II, PROCEEDINGS: COMPUTING TECHNIQUES, 2004, : 105 - 110
  • [34] Online Non-preemptive Scheduling on Unrelated Machines with Rejections
    Lucarelli, Giorgio
    Moseley, Benjamin
    Nguyen Kim Thang
    Srivastav, Abhinav
    Trystram, Denis
    [J]. SPAA'18: PROCEEDINGS OF THE 30TH ACM SYMPOSIUM ON PARALLELISM IN ALGORITHMS AND ARCHITECTURES, 2018, : 291 - 300
  • [35] On the complexity of non-preemptive shop scheduling with two jobs
    Kis, T
    [J]. COMPUTING, 2002, 69 (01) : 37 - 49
  • [36] Online Non-preemptive Scheduling on Unrelated Machines with Rejections
    Lucarelli, Giorgio
    Moseley, Benjamin
    Thang, Nguyen Kim
    Srivastav, Abhinav
    Trystram, Denis
    [J]. ACM TRANSACTIONS ON PARALLEL COMPUTING, 2021, 8 (02)
  • [37] Partially Non-Preemptive Dual Priority Multiprocessor Scheduling
    Ho, Chiahsun
    Funk, Shelby H.
    [J]. PRINCIPLES OF DISTRIBUTED SYSTEMS, 2011, 7109 : 343 - 356
  • [38] A Constraint Programming Approach for Non-preemptive Evacuation Scheduling
    Even, Caroline
    Schutt, Andreas
    Van Hentenryck, Pascal
    [J]. PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING, CP 2015, 2015, 9255 : 574 - 591
  • [39] The non-preemptive scheduling of periodic tasks upon multiprocessors
    Baruah, SK
    [J]. REAL-TIME SYSTEMS, 2006, 32 (1-2) : 9 - 20
  • [40] The Non-preemptive Scheduling of Periodic Tasks upon Multiprocessors
    Sanjoy K. Baruah
    [J]. Real-Time Systems, 2006, 32 : 9 - 20