Back to Search Start Over

Communicating memory transactions

Authors :
PalsbergJens
LesaniMohsen
Source :
ACM SIGPLAN Notices. 46:157-168
Publication Year :
2011
Publisher :
Association for Computing Machinery (ACM), 2011.

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 undo of message passing in case a transaction aborts. We can program communication idioms such as barrier and rendezvous that do not deadlock when used in an atomic block. Our experiments show that our model adds little overhead to pure transactions, and that it is significantly more efficient than Transactional Events. We use a novel definition of safe message passing that may be of independent interest.

Details

ISSN :
15581160 and 03621340
Volume :
46
Database :
OpenAIRE
Journal :
ACM SIGPLAN Notices
Accession number :
edsair.doi...........5e78eeb34ad97b4532c87f4aa509c313