Proceedings of the Twenty-Fourth Annual ACM Symposium on Parallelism in Algorithms and Architectures 2012
DOI: 10.1145/2312005.2312056
|View full text |Cite
|
Sign up to set email alerts
|

Memory-mapping support for reducer hyperobjects

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… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
3
0

Year Published

2013
2013
2021
2021

Publication Types

Select...
5
1

Relationship

3
3

Authors

Journals

citations
Cited by 10 publications
(3 citation statements)
references
References 26 publications
0
3
0
Order By: Relevance
“…MIT's Cilk [4] was the main framework that modernized this old idea and provided some provable properties around it. Since then, many frameworks have sought to optimize work stealing via providing better task queue implementations [8], alternative victim selection strategies [11], efficiently supporting reduction operations across tasks [28], as well as providing architectural support for work stealing in heterogeneous environments [3,10,44]. Nonetheless, server workloads usually employ shared-rather than per-core-queues, since there is no locality or dependency across requests, and the metric of interest is individual requests' response time, rather than throughput or latency of the entire job [34].…”
Section: Related Workmentioning
confidence: 99%
“…MIT's Cilk [4] was the main framework that modernized this old idea and provided some provable properties around it. Since then, many frameworks have sought to optimize work stealing via providing better task queue implementations [8], alternative victim selection strategies [11], efficiently supporting reduction operations across tasks [28], as well as providing architectural support for work stealing in heterogeneous environments [3,10,44]. Nonetheless, server workloads usually employ shared-rather than per-core-queues, since there is no locality or dependency across requests, and the metric of interest is individual requests' response time, rather than throughput or latency of the entire job [34].…”
Section: Related Workmentioning
confidence: 99%
“…A reducer (hyperobject) [38,68] is a general parallel reduction mechanism provided by Cilk Plus and other dialects of Cilk. A reducer is defined on an arbitrary data type T , called a view type, by defining an IDENTITY operator and a binary REDUCE operator for views of type T .…”
Section: Data-graph Computations That Modify Global Variablesmentioning
confidence: 99%
“…Many modern concurrency platforms provide some form of reduction mechanism [18,22,25,28,34,39,42,45] to support safe parallel updates to shared variables. A reduction mechanism coordinates parallel updates to a shared variable by applying the parallel updates to distinct views of the variable.…”
Section: Introductionmentioning
confidence: 99%