Abstract : Message passing provides a powerful communication abstraction in both distributed and shared memory environments. It is particularly successful at preventing problems arising from shared state, such as data races, as it avoids sharing in general. Message passing is less effective when concurrent access to large amounts of data is needed, as the overhead of messaging may be prohibitive. In shared memory environments, this issue could be alleviated by supporting direct access to shared data; but then ensuring proper synchronization becomes again the dominant problem. This paper proposes a safe and efficient approach to data sharing in message-passing concurrency models based on the idea of distinguishing active and passive computational units. Passive units do not have execution capabilities but offer to active units exclusive and direct access to the data they encapsulate. The access is transparent due to a single primitive for both data access and message passing. By distinguishing active and passive units, no additional infrastructure for shared data is necessary. The concept is applied to SCOOP, an object-oriented concurrency model, where it reduces execution time by several orders of magnitude on data-intensive parallel programs.
https://hal.inria.fr/hal-01290070 Contributor : Hal IfipConnect in order to contact the contributor Submitted on : Thursday, March 17, 2016 - 3:25:42 PM Last modification on : Thursday, May 27, 2021 - 1:54:05 PM Long-term archiving on: : Sunday, June 19, 2016 - 2:20:59 PM
Benjamin Morandi, Sebastian Nanz, Bertrand Meyer. Safe and Efficient Data Sharing for Message-Passing Concurrency. 16th International Conference on Coordination Models and Languages (COORDINATION), Jun 2014, Berlin, Germany. pp.99-114, ⟨10.1007/978-3-662-43376-8_7⟩. ⟨hal-01290070⟩