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 条
  • [1] Applying Cilk in provably efficient task scheduling
    Vee, VY
    Hsu, WJ
    [J]. COMPUTER JOURNAL, 1999, 42 (08): : 699 - 712
  • [2] Processor Bounding for an Efficient Non-preemptive Task Scheduling Algorithm
    Ştefan Andrei
    Albert M. K. Cheng
    Vlad Rădulescu
    [J]. Mathematics in Computer Science, 2019, 13 : 489 - 515
  • [3] Processor Bounding for an Efficient Non-preemptive Task Scheduling Algorithm
    Andrei, Stefan
    Cheng, Albert M. K.
    Radulescu, Vlad
    [J]. MATHEMATICS IN COMPUTER SCIENCE, 2019, 13 (04) : 489 - 515
  • [4] An efficient approach for the multiprocessor non-preemptive strictly periodic task scheduling problem
    Kermia, Omar
    [J]. JOURNAL OF SYSTEMS ARCHITECTURE, 2017, 79 : 31 - 44
  • [5] Resource Bounding for Non-preemptive Task Scheduling on a Multiprocessor Platform
    Radulescu, Vlad
    Andrei, Stefan
    Cheng, Albert M. K.
    [J]. PROCEEDINGS OF 2016 18TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC), 2016, : 149 - 156
  • [6] Optimal task scheduling algorithm for non-preemptive processing system
    Lee, YJ
    Lee, DW
    Chang, DJ
    [J]. FRONTIERS OF WWW RESEARCH AND DEVELOPMENT - APWEB 2006, PROCEEDINGS, 2006, 3841 : 905 - 910
  • [7] An efficient scheduling algorithm for the non-preemptive independent multiprocessor platform
    Andrei, Stefan
    Cheng, Albert M. K.
    Grigoras, Gheorghe
    Radulescu, Vlad
    [J]. INTERNATIONAL JOURNAL OF GRID AND UTILITY COMPUTING, 2012, 3 (04) : 215 - 223
  • [8] An Improved Upper-bound Algorithm for Non-preemptive Task Scheduling
    Andrei, Stefan
    Cheng, Albert M. K.
    Radulescu, Vlad
    [J]. 2015 17TH INTERNATIONAL SYMPOSIUM ON SYMBOLIC AND NUMERIC ALGORITHMS FOR SCIENTIFIC COMPUTING (SYNASC), 2016, : 153 - 159
  • [9] Non-preemptive scheduling of optical switches
    Kesselman, A
    Kogan, K
    [J]. GLOBECOM '04: IEEE GLOBAL TELECOMMUNICATIONS CONFERENCE, VOLS 1-6, 2004, : 1840 - 1844
  • [10] Non-preemptive Coflow Scheduling and Routing
    Yu, Ruozhou
    Xue, Guoliang
    Zhang, Xiang
    Tang, Jian
    [J]. 2016 IEEE GLOBAL COMMUNICATIONS CONFERENCE (GLOBECOM), 2016,