Expressing and Composing Actors for Deterministic and Scalable Programming in Cloud
2015
Actor model is an asynchronous message-passing model for fine-grained concurrency and distributed memory applications. However, it is inherently non-deterministic due to low-level synchronization primitives such as send and receive, leading to high-complexity and error-prone code when programming deterministic applications expressed by actors. In order to to support deterministic actor programming, this paper proposes a high-level programming model named distask. The core solution is to express complex synchronization in a simple and deterministic pattern by introducing features of functional programming. In detail, we design a set of composing operators on distasks in several pre-defined patterns called synchronization strategies. A distask can be composed of other distasks in a deterministic manner instead of non-deterministic communication within original actors. In addition, automatic distribution, scalability and fault handing features are supported to adapt to dynamic Cloud environment. We have implemented distask in a system called UniAS. The implementation language is Erlang, an actor-based industrial language. It is readily applied to several vital distributed memory applications with little compromise of performance.
Keywords:
- Correction
- Source
- Cite
- Save
- Machine Reading By IdeaReader
25
References
2
Citations
NaN
KQI