A Scheduling Framework for General-purpose Parallel Languages

被引:0
|
作者
Fluet, Matthew [1 ]
Rainey, Mike [1 ]
Reppy, John [1 ]
机构
[1] Toyota Technol Inst, Chicago, IL USA
基金
美国国家科学基金会;
关键词
heterogeneous parallel languages; scheduling; compilers; run-time systems;
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The trend in microprocessor design toward multicore and manycore processors means that future performance gains in software will largely come from harnessing parallelism. To realize such gains, we need languages and implementations that can enable parallelism at many different levels. For example, an application might use both explicit threads to implement course-grain parallelism for independent tasks and implicit threads for fine-grain data-parallel computation over a large array. An important aspect of this requirement is supporting a wide range of different scheduling mechanisms for parallel computation. In this paper, we describe the scheduling framework that we have designed and implemented for Manticore, a strict parallel functional language. We take a micro-kernel approach in our design: the compiler and runtime support a small collection of scheduling primitives upon which complex scheduling policies can be implemented. This framework is extremely flexible and can support a wide range of different scheduling policies. It also supports the nesting of schedulers, which is key to both supporting multiple scheduling policies in the same application and to hierarchies of speculative parallel computations. In addition to describing our framework, we also illustrate its expressiveness with several popular scheduling techniques. We present a (mostly) modular approach to extending our schedulers to support cancellation. This mechanism is essential for implementing eager and speculative parallelism. We finally evaluate our framework with a series of benchmarks and an analysis.
引用
收藏
页码:241 / 252
页数:12
相关论文
共 50 条
  • [1] A scheduling framework for general-purpose parallel languages
    Fluet, Matthew
    Rainey, Mike
    Reppy, John
    [J]. ACM SIGPLAN NOTICES, 2008, 43 (09) : 241 - 252
  • [2] PrefixFPM: A Parallel Framework for General-Purpose Frequent Pattern Mining
    Yan, Da
    Qu, Wenwen
    Guo, Guimu
    Wang, Xiaoling
    [J]. 2020 IEEE 36TH INTERNATIONAL CONFERENCE ON DATA ENGINEERING (ICDE 2020), 2020, : 1938 - 1941
  • [3] GENERAL-PURPOSE WORK FLOW LANGUAGES
    FORST, A
    KUHN, E
    BUKHRES, O
    [J]. DISTRIBUTED AND PARALLEL DATABASES, 1995, 3 (02) : 187 - 218
  • [4] GPSF: General-Purpose Scheduling Framework for Container based on Cloud Environment
    Choi, Sungmin
    Myung, Rohyoung
    Choi, Heeseok
    Chung, Kwangsik
    Gil, Joonmin
    Yu, Heonchang
    [J]. 2016 IEEE INTERNATIONAL CONFERENCE ON INTERNET OF THINGS (ITHINGS) AND IEEE GREEN COMPUTING AND COMMUNICATIONS (GREENCOM) AND IEEE CYBER, PHYSICAL AND SOCIAL COMPUTING (CPSCOM) AND IEEE SMART DATA (SMARTDATA), 2016, : 769 - 772
  • [5] PrefixFPM: a parallel framework for general-purpose mining of frequent and closed patterns
    Da Yan
    Wenwen Qu
    Guimu Guo
    Xiaoling Wang
    Yang Zhou
    [J]. The VLDB Journal, 2022, 31 : 253 - 286
  • [6] PrefixFPM: a parallel framework for general-purpose mining of frequent and closed patterns
    Yan, Da
    Qu, Wenwen
    Guo, Guimu
    Wang, Xiaoling
    Zhou, Yang
    [J]. VLDB JOURNAL, 2022, 31 (02): : 253 - 286
  • [7] GENERAL-PURPOSE LANGUAGES SIMULATE SIMPLE CIRCUITS
    KALISZ, J
    [J]. EDN, 1990, 35 (19) : 205 - &
  • [8] A PARALLEL ACCUMULATOR FOR A GENERAL-PURPOSE COMPUTER
    QUATSE, JT
    KEIR, RA
    [J]. IEEE TRANSACTIONS ON ELECTRONIC COMPUTERS, 1967, EC16 (02): : 165 - &
  • [9] A GENERAL-PURPOSE PARALLEL SORTING ALGORITHM
    TRIDGELL, A
    BRENT, RP
    [J]. INTERNATIONAL JOURNAL OF HIGH SPEED COMPUTING, 1995, 7 (02): : 285 - 301
  • [10] ON THE PROMISE OF GENERAL-PURPOSE PARALLEL COMPUTING
    HACK, JJ
    [J]. PARALLEL COMPUTING, 1989, 10 (03) : 261 - 275