Memory-mapping support for reducer hyperobjects

I. Ting Angelina Lee, Aamir Shafi, Charles E. Leiserson

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

10 Scopus citations

Abstract

Reducer hyperobjects (reducers) provide a linguistic abstraction for dynamic multithreading that allows different branches of a parallel program to maintain coordinated local views of the same nonlocal variable. In this paper, we investigate how thread-local memory mapping (TLMM) can be used to improve the performance of reducers. Existing concurrency platforms that support reducer hyperobjects, such as Intel Cilk Plus and Cilk++, take a hypermap approach in which a hash table is used to map reducer objects to their local views. The overhead of the hash table is costly - roughly 12× overhead compared to a normal L1-cache memory access on an AMD Opteron 8354. We replaced the Intel Cilk Plus runtime system with our own Cilk-M runtime system which uses TLMM to implement a reducer mechanism that supports a reducer lookup using only two memory accesses and a predictable branch, which is roughly a 3× overhead compared to an ordinary L1-cache memory access. An empirical evaluation shows that the Cilk-M memory-mapping approach is close to 4× faster than the Cilk Plus hypermap approach. Furthermore, the memory-mapping approach admits better locality than the hypermap approach during parallel execution, which allows an application using reducers to scale better.

Original languageEnglish
Title of host publicationSPAA'12 - Proceedings of the 24th ACM Symposium on Parallelism in Algorithms and Architectures
Pages287-297
Number of pages11
DOIs
StatePublished - 2012
Event24th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'12 - Pittsburgh, PA, United States
Duration: Jun 25 2012Jun 27 2012

Publication series

NameAnnual ACM Symposium on Parallelism in Algorithms and Architectures

Conference

Conference24th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA'12
Country/TerritoryUnited States
CityPittsburgh, PA
Period06/25/1206/27/12

Keywords

  • Cilk
  • Dynamic multithreading
  • Memory mapping
  • Reducer hyperobjects
  • Reducers
  • Task parallelism
  • Thread-local memory mapping (TLMM)
  • Work stealing

Fingerprint

Dive into the research topics of 'Memory-mapping support for reducer hyperobjects'. Together they form a unique fingerprint.

Cite this