Go to content

Reactors - Programming Model for Composable Distributed Computing by Aleksandar Prokopec

The actor model has long been a model of choice for building reliable distributed systems. On one hand, it ensures that message-processing is serialized within each actor, preserving the familiar sequential programming model. On the other hand, programs written in the actor model are location-transparent. The model is sufficiently low-level to express arbitrary message protocols. Composing these protocols is the key to high-level abstractions. Unfortunately, it is difficult to reuse or compose message protocols with actors. Reactors simplify protocol composition with first-class typed channels and event streams. In this talk, I will use the Reactors framework to compare the reactor and the actor models on concrete Scala programs. I will show specific obstacles for composition in the classic actor model, and how to overcome them. I will then show how to build reusable, composable distributed computing components in the new model.

March 3, 2016