Brief announcement: Serial-parallel reciprocity in dynamic multithreaded languages

  • Kunal Agrawal
  • , I. Ting Angelina Lee
  • , Jim Sukha

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

In dynamically multithreaded platforms that employ work stealing, there appears to be a fundamental tradeoff between providing provably good time and space bounds and supporting SP-reciprocity, the property of allowing arbitrary calling between parallel and serial code, including legacy serial binaries. Many known dynamically multithreaded platforms either fail to support SP-reciprocity or sacrifice on the provable time and space bounds that an efficient work-stealing scheduler could otherwise guarantee. We describe PR-Cilk, a design of a runtime system that supports SP-reciprocity in Cilk and provides provable bounds on time and space. In order to maintain the space bound, PR-Cilk uses subtreerestricted work stealing. We show that with subtree-restricted work stealing, PR-Cilk provides the same guarantee on stack space usage as ordinary Cilk. The completion time guaranteed by PR-Cilk is slightly worse than ordinary Cilk. Nevertheless, if the number of times a C function calls a Cilk function is small, or if each Cilk function called by a C function is sufficiently parallel, PR-Cilk still guarantees linear speedup.

Original languageEnglish
Title of host publicationSPAA'10 - Proceedings of the 22nd Annual Symposium on Parallelism in Algorithms and Architectures
Pages186-188
Number of pages3
DOIs
StatePublished - 2010
Event22nd ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'10 - Thira, Santorini, Greece
Duration: Jun 13 2010Jun 15 2010

Publication series

NameAnnual ACM Symposium on Parallelism in Algorithms and Architectures

Conference

Conference22nd ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'10
Country/TerritoryGreece
CityThira, Santorini
Period06/13/1006/15/10

Keywords

  • Cilk
  • Dynamic multithreading
  • Intel threading building blocks
  • Scheduling
  • Serial-parallel reciprocity
  • Work stealing

Fingerprint

Dive into the research topics of 'Brief announcement: Serial-parallel reciprocity in dynamic multithreaded languages'. Together they form a unique fingerprint.

Cite this