Space-efficient scheduling of nested parallelism

被引:25
|
作者
Narlikar, GJ [1 ]
Blelloch, GE [1 ]
机构
[1] Carnegie Mellon Univ, Dept Comp Sci, Pittsburgh, PA 15213 USA
关键词
algorithms; languages; performance; dynamic scheduling; multithreading; nested parallelism; parallel language implementation; space efficiency;
D O I
10.1145/314602.314607
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Many of today's high-level parallel languages support dynamic, fine-grained parallelism. These languages allow the user to expose all the parallelism in the program, which is typically of a much higher degree than the number of processors. Hence an efficient scheduling algorithm is required to assign computations to processors at runtime. Besides having low overheads and good load balancing, it is important for the scheduling algorithm to minimize the space usage of the parallel program. This article presents an on-line scheduling algorithm that is provably space efficient and time efficient for nested-parallel languages. For a computation with depth D and serial space requirement S-1, the algorithm generates a schedule that requires at most S-1 + O(K . D . p) space (including scheduler space) on p processors. Here, K is a user-adjustable runtime parameter specifying the net amount of memory that a thread may allocate before it is preempted by the scheduler. Adjusting the value of K provides a trade-off between the running time and the memory requirement of a parallel computation. To allow the scheduler to scale with the number of processors, we also parallelize the scheduler and analyze the space and time bounds of the computation to include scheduling costs. In addition to showing that the scheduling algorithm is space and time efficient in theory, we demonstrate that it is effective in practice. We have implemented a runtime system that uses our algorithm to schedule lightweight parallel threads. The results of executing parallel programs on this system show that our scheduling algorithm significantly reduces memory usage compared to previous techniques, without compromising performance.
引用
收藏
页码:138 / 173
页数:36
相关论文
共 50 条
  • [1] Space-efficient implementation of nested parallelism
    Narlikar, GJ
    Blelloch, GE
    [J]. ACM SIGPLAN NOTICES, 1997, 32 (07) : 25 - 36
  • [2] Space-efficient first race detection in shared memory programs with nested parallelism
    Ha, KS
    Ryu, EK
    Yoo, KY
    [J]. APPLIED PARALLEL COMPUTING: ADVANCED SCIENTIFIC COMPUTING, 2002, 2367 : 253 - 263
  • [3] Space-efficient first race detection in shared memory programs with nested parallelism
    Ha, KS
    Ryu, EK
    Yoo, KY
    [J]. APPLIED PARALLEL COMPUTING: ADVANCED SCIENTIFIC COMPUTING, 2002, 2367 : 253 - 263
  • [4] Space-efficient scheduling of multithreaded computations
    Blumofe, RD
    Leiserson, CE
    [J]. SIAM JOURNAL ON COMPUTING, 1998, 27 (01) : 202 - 229
  • [5] A space-efficient Huffman decoding algorithm and its parallelism
    Lin, YK
    Chung, KL
    [J]. THEORETICAL COMPUTER SCIENCE, 2000, 246 (1-2) : 227 - 238
  • [6] Space-Efficient Scheduling of Stochastically Generated Tasks
    Brazdil, Tomas
    Esparza, Javier
    Kiefer, Stefan
    Luttenberger, Michael
    [J]. AUTOMATA, LANGUAGES AND PROGRAMMING, PT II, 2010, 6199 : 539 - +
  • [7] Space-efficient scheduling of stochastically generated tasks
    Brazdil, Tomas
    Esparza, Javier
    Kiefer, Stefan
    Luttenberger, Michael
    [J]. INFORMATION AND COMPUTATION, 2012, 210 : 87 - 110
  • [8] Time and Space-Efficient Write Parallelism in PCM by Exploiting Data Patterns
    Li, Zheng
    Wang, Fang
    Feng, Dan
    Hua, Yu
    Liu, Jingning
    Tong, Wei
    Chen, Yu
    Harb, Salah S.
    [J]. IEEE TRANSACTIONS ON COMPUTERS, 2017, 66 (09) : 1629 - 1644
  • [9] LOW-OVERHEAD SCHEDULING OF NESTED PARALLELISM
    HUMMEL, SF
    SCHONBERG, E
    [J]. IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 1991, 35 (5-6) : 743 - 765
  • [10] Heartbeat Scheduling: Provable Efficiency for Nested Parallelism
    Acar, Umut A.
    Chargueraud, Arthur
    Guatto, Adrien
    Rainey, Mike
    Sieczkowski, Filip
    [J]. PROCEEDINGS OF THE 39TH ACM SIGPLAN CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION, PLDI 2018, 2018, : 769 - 782