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 条
  • [41] Space-Efficient Vertex Separators for Treewidth
    Kammer, Frank
    Meintrup, Johannes
    Sajenko, Andrej
    [J]. ALGORITHMICA, 2022, 84 (09) : 2414 - 2461
  • [42] A fair and space-efficient mutual exclusion
    Chen, SH
    Huang, TL
    [J]. 11TH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL I, PROCEEDINGS, 2005, : 467 - 473
  • [43] Space-Efficient Substring Occurrence Estimation
    Alessio Orlandi
    Rossano Venturini
    [J]. Algorithmica, 2016, 74 : 65 - 90
  • [44] Space-Efficient Counting in Graphs on Surfaces
    Braverman, Mark
    Kulkarni, Raghav
    Roy, Sambuddha
    [J]. COMPUTATIONAL COMPLEXITY, 2009, 18 (04) : 601 - 649
  • [45] Space-Efficient Vertex Separators for Treewidth
    Frank Kammer
    Johannes Meintrup
    Andrej Sajenko
    [J]. Algorithmica, 2022, 84 : 2414 - 2461
  • [46] Fast and space-efficient spin sensing
    Xuedong Hu
    [J]. Nature Nanotechnology, 2019, 14 : 735 - 736
  • [47] Fast and space-efficient spin sensing
    Hu, Xuedong
    [J]. NATURE NANOTECHNOLOGY, 2019, 14 (08) : 735 - 736
  • [48] Space-Efficient Representations for Glushkov Automata
    Zhang, Meng
    Zhang, Yi
    [J]. INTERNATIONAL JOURNAL OF FOUNDATIONS OF COMPUTER SCIENCE, 2018, 29 (07) : 1089 - 1105
  • [49] A space-efficient probabilistic simulation algorithm
    Zhang, Lijun
    [J]. CONCUR 2008 - CONCURRENCY THEORY, PROCEEDINGS, 2008, 5201 : 248 - 263
  • [50] Space-Efficient Conversions from SLPs
    Gagie, Travis
    Goga, Adrian
    Jez, Artur
    Navarro, Gonzalo
    [J]. LATIN 2024: THEORETICAL INFORMATICS, PT I, 2024, 14578 : 146 - 161