Proceedings of the 33rd ACM SIGPLAN Conference on Programming Language Design and Implementation 2012
DOI: 10.1145/2254064.2254084
|View full text |Cite
|
Sign up to set email alerts
|

Reagents

Abstract: Efficient communication and synchronization is crucial for finegrained parallelism. Libraries providing such features, while indispensable, are difficult to write, and often cannot be tailored or composed to meet the needs of specific users. We introduce reagents, a set of combinators for concisely expressing concurrency algorithms. Reagents scale as well as their hand-coded counterparts, while providing the composability existing libraries lack.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

0
3
0

Year Published

2015
2015
2023
2023

Publication Types

Select...
3
2

Relationship

0
5

Authors

Journals

citations
Cited by 6 publications
(3 citation statements)
references
References 35 publications
0
3
0
Order By: Relevance
“…Actors [Agha 1986] are a message passing-based programming model for loosely-coupled distributed and concurrent event-driven applications. Software Transactional Memory [Shavit and Touitou 1995] schedules arbitrary, composable [Ni et al 2007] read/write transactions, Reagents [Turon 2012] are abstractions for implementing data structures that can be safely composed into concurrent algorithms. Both use łoptimistic lockingž which is ill-named since transactions are executed speculatively without locking accessed variables, but are only committed if no race conditions occurred until they complete and otherwise aborted.…”
Section: Discussionmentioning
confidence: 99%
“…Actors [Agha 1986] are a message passing-based programming model for loosely-coupled distributed and concurrent event-driven applications. Software Transactional Memory [Shavit and Touitou 1995] schedules arbitrary, composable [Ni et al 2007] read/write transactions, Reagents [Turon 2012] are abstractions for implementing data structures that can be safely composed into concurrent algorithms. Both use łoptimistic lockingž which is ill-named since transactions are executed speculatively without locking accessed variables, but are only committed if no race conditions occurred until they complete and otherwise aborted.…”
Section: Discussionmentioning
confidence: 99%
“…52,54 Our compiler-driven approach can be potentially used to automate other advanced synchronization mechanisms as well, for example, fine-grained locking, 15 flat combining, 28 among others. [55][56][57][58][59] Herlihy and Moss 60 first proposed transactional memory as a hardware architecture, the materialization of which includes Intel TSX 61 and AMD ASF. 62 Our auto-generated code can be converted to using hardware-level transactional operations if needed.…”
Section: Related Workmentioning
confidence: 99%
“…Single‐word compare and swap (CAS) has been widely used as a primitive for implementing lock‐free or wait‐free synchronizations 52,54 . Our compiler‐driven approach can be potentially used to automate other advanced synchronization mechanisms as well, for example, fine‐grained locking, 15 flat combining, 28 among others 55‐59 …”
Section: Related Workmentioning
confidence: 99%