2011
DOI: 10.1145/2038037.1941577
|View full text |Cite
|
Sign up to set email alerts
|

Communicating memory transactions

Abstract: Many concurrent programming models enable both transactional memory and message passing. For such models, researchers have built increasingly efficient implementations and defined reasonable correctness criteria, while it remains an open problem to obtain the best of both worlds. We present a programming model that is the first to have opaque transactions, safe asynchronous message passing, and an efficient implementation. Our semantics uses tentative message passing and keeps track of dependencies to enable u… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
16
0

Year Published

2011
2011
2015
2015

Publication Types

Select...
4
2
1

Relationship

1
6

Authors

Journals

citations
Cited by 15 publications
(16 citation statements)
references
References 27 publications
0
16
0
Order By: Relevance
“…Our bisimulations provide an e↵ective verification technique for the aforementioned contextual equivalence which can be applied to related programming languages where uncommitable actions have no e↵ect [5,7,11,16]. They can also serve as a verification technique for other forms of contextual equivalences, such as may-and must-testing equivalences [3,4].…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…Our bisimulations provide an e↵ective verification technique for the aforementioned contextual equivalence which can be applied to related programming languages where uncommitable actions have no e↵ect [5,7,11,16]. They can also serve as a verification technique for other forms of contextual equivalences, such as may-and must-testing equivalences [3,4].…”
Section: Discussionmentioning
confidence: 99%
“…For example, it can be used to simplify the programming of complex concurrent consensus scenarios, avoiding the use of locks and explicit error handling [16]. Variants of such constructs have been proposed as extensions to programming languages [5,7,11,16] and process calculi [2,1,3]. However, before they can be adopted in mainstream programming, significant research is needed in e cient implementation strategies [6,11,16], programming paradigms [1,7], and viable verification techniques [8].…”
Section: Introductionmentioning
confidence: 99%
“…(Our technique can work for other implementations of the semantics in Section 3 as well. In the technical report [17] section 13 we will explain how we have extended the implementation of DSTM2 in much the same way as we extended TL2. The pseudo codes of these two implementations can be found in the technical report [17] sections 12 and 14.…”
Section: Methodsmentioning
confidence: 99%
“…High-level proof idea: Please refer to the technical report [17] section 10.1 for the formalization and the proof (29 pages). We reduce opacity for CMT to opacity for the semantics in Section 3.…”
Section: Theorem 2 (Opacity)mentioning
confidence: 99%
“…Lesani and Palsberg [38] describe a semantics that combines STM with message passing through tentative message passing, which keeps track of dependencies between transactions to enable undo of message passing in case a transaction aborts. Certain TM contention managers, such as the greedy contention manager [4,21], let a transaction wait for a conflicting transaction or abort it depending on their status and priority.…”
Section: Related Workmentioning
confidence: 99%