@gron

Reducers and Other Cilk++ Hyperobjects

, , , and . Proceedings of the Twenty-first Annual Symposium on Parallelism in Algorithms and Architectures, page 79--90. ACM, (2009)
DOI: 10.1145/1583991.1584017

Abstract

This paper introduces hyperobjects, a linguistic mechanism that allows different branches of a multithreaded program to maintain coordinated local views of the same nonlocal variable. We have identified three kinds of hyperobjects that seem to be useful -- reducers, holders, and splitters -- and we have implemented reducers and holders in Cilk++, a set of extensions to the C++ programming language that enables "dynamic" multithreaded programming in the style of MIT Cilk. We analyze a randomized locking methodology for reducers and show that a work-stealing scheduler can support reducers without incurring significant overhead.

Description

Reducers and other Cilk++ hyperobjects

Links and resources

Tags

community

  • @gron
  • @dblp
@gron's tags highlighted