• Home
  • Search
  • A work-stealing scheduler for X10's task parallelism with suspension
  • Cite Icon55
  • https://doi.org/10.1145/2145816.2145850Copy DOI Icon

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

  • Feb 25, 2012
  • Olivier Tardieu +2 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
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.

Similar Papers
  • Conference Article
  • Citations39

Characterizing and mitigating work time inflation in task parallel programs

  • Nov 10, 2012
  • Stephen L Olivier +3
  • Research Article
  • Citations107

OpenMP task scheduling strategies for multicore NUMA systems

  • Feb 07, 2012
  • The International Journal of High Performance Computing Applications
  • Stephen L Olivier +4
  • Book Chapter
  • Citations4

Language constructs and runtime systems for compositional parallel programming

  • Jan 01, 1994
  • Ian Foster +1
  • Conference Article
  • Citations1

Æminium

  • Jun 09, 2014
  • Sven Stork +6
  • Research Article
  • Citations35

A Transformation Framework for Optimizing Task-Parallel Programs

  • Apr 01, 2013
  • ACM Transactions on Programming Languages and Systems
  • V Krishna Nandivada +3
  • Conference Article

A Quest for Unified, Global View Parallel Programming Models for Our Future

  • Jun 01, 2016
  • Kenjiro Taura
  • Conference Article
  • Citations21

Parallel data race detection for task parallel programs with locks

  • Nov 01, 2016
  • Adarsh Yoga +2
  • Conference Article
  • Citations16

Runtime-Guided Management of Stacked DRAM Memories in Task Parallel Programs

  • Jun 12, 2018
  • Lluc Alvarez +5
  • Conference Article
  • Citations9

TFProf: Profiling Large Taskflow Programs with Modern D3 and C++

  • Nov 01, 2021
  • Tsung-Wei Huang
  • Research Article
  • Citations4

Parallel QR Factorization of Block Low-rank Matrices

  • Sep 10, 2022
  • ACM Transactions on Mathematical Software
  • M Ridwan Apriansyah +1
  • Conference Article
  • Citations37

Communication and memory requirements as the basis for mapping task and data parallel programs

  • Nov 14, 1994
  • Jaspal Subhlok +4
  • Book Chapter
  • Citations58

Automatic Calibration of Performance Models on Heterogeneous Multicore Architectures

  • Jan 01, 2010
  • Cédric Augonnet +2
  • Single Report

Petascale Simulation Initiative Tech Base: FY2007 Final Report

  • Oct 26, 2007
  • J May +5
  • Research Article
  • Citations10

Draining the Swamp: Micro Virtual Machines as Solid Foundation for Language Development

  • May 03, 2015
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Kunshan Wang +4
  • Conference Article
  • Citations21

Oracle scheduling

  • Oct 22, 2011
  • Umut A Acar +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.