A work-stealing scheduler for X10's task parallelism with suspension

Author:

Tardieu Olivier1,Wang Haichuan2,Lin Haibo3

Affiliation:

1. IBM T.J. Watson Research Center, Yorktown Heights, NY, USA

2. University of Illinois at Urbana-Champaign, Urbana, IL, USA

3. IBM Research - China, Beijing, China

Abstract

The X10 programming language is intended to ease the programming of scalable concurrent and distributed applications. X10 augments a familiar imperative object-oriented programming model with constructs to support light-weight asynchronous tasks as well as execution across multiple address spaces. A crucial aspect of X10's runtime system is the scheduling of concurrent tasks. Work-stealing schedulers have been shown to efficiently load balance fine-grain divide-and-conquer task-parallel program on SMPs and multicores. But X10 is not limited to shared-memory fork-join parallelism. X10 permits tasks to suspend and synchronize by means of conditional atomic blocks and remote task invocations. In this paper, we demonstrate that work-stealing scheduling principles are applicable to a rich programming language such as X10, achieving performance at scale without compromising expressivity, ease of use, or portability. We design and implement a portable work-stealing execution engine for X10. While this engine is biased toward the efficient execution of fork-join parallelism in shared memory, it handles the full X10 language, especially conditional atomic blocks and distribution. We show that this engine improves the run time of a series of benchmark programs by several orders of magnitude when used in combination with the C++ backend compiler and runtime for X10. It achieves scaling comparable to state-of-the art work-stealing scheduler implementations---the Cilk++ compiler and the Java fork/join framework---despite the dramatic increase in generality.

Publisher

Association for Computing Machinery (ACM)

Subject

Computer Graphics and Computer-Aided Design,Software

Reference24 articles.

1. The Jalapeño virtual machine

2. G. E. Blelloch. The problem-based benchmark suite. http://www.cs.cmu.edu/ guyb/PBBS.html. G. E. Blelloch. The problem-based benchmark suite. http://www.cs.cmu.edu/ guyb/PBBS.html.

3. Space-efficient scheduling of parallelism with synchronization variables

4. Scheduling multithreaded computations by work stealing

5. J. Brezin S. J. Fink B. Bloom and C. Swart. An introduction to programming with X10. http://dist.codehaus.org/x10/documentation/guide/pguide.pdf. J. Brezin S. J. Fink B. Bloom and C. Swart. An introduction to programming with X10. http://dist.codehaus.org/x10/documentation/guide/pguide.pdf.

Cited by 25 articles. 订阅此论文施引文献 订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献

1. Scheduling Out-Trees Online to Optimize Maximum Flow;Proceedings of the 36th ACM Symposium on Parallelism in Algorithms and Architectures;2024-06-17

2. OpenCilk;Proceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming;2023-02-21

3. Taskflow: A Lightweight Parallel and Heterogeneous Task Graph Computing System;IEEE Transactions on Parallel and Distributed Systems;2022-06-01

4. Parallel Real-Time Scheduling;Handbook of Real-Time Computing;2022

5. Optimizing Work Stealing Communication with Structured Atomic Operations;50th International Conference on Parallel Processing;2021-08-09

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3