Tanks: Multiple reader, single writer actors

Joeri De Koster, Stefan Marr, Theo D'Hondt, Tom Van Cutsem

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

In the past, the Actor Model has mainly been explored in a distributed context. However, more and more application developers are also starting to use it to program shared-memory multicore machines because of the safety guarantees it provides. It avoids issues such as deadlocks and race conditions by construction, and thus facilitates concurrent programming. The tradeoff is that the Actor Model sacrifices expressiveness with respect to accessing shared state because actors are fully isolated from each other (a.k.a. "shared-nothing parallelism"). There is a need for more high level synchronization mechanisms that integrate with the actor model without sacrificing the safety and liveness guarantees it provides. This paper introduces a variation on the communicating event-loops actor model called the Tank model. A tank is an actor that can expose part of its state as a shared read-only resource. The model ensures that any other actor will always observe a consistent version of that state, even in the face of concurrent updates of the actor that owns that state.
Original languageEnglish
Title of host publicationAGERE!@SPLASH
Pages61-68
Number of pages8
DOIs
Publication statusPublished - 2013
Externally publishedYes

Fields of science

  • 102 Computer Sciences

Cite this