Selective Hearing: An Approach to Distributed, Eventually Consistent Edge Computation
Speaker: Christopher Meiklejohn and Peter Van Roy
Peter Van Roy is professor in the ICTEAM Institute at the Université catholique de Louvain, where he heads the Programming Languages and Distributed Computing Research Group. He coordinated the European project SELFMAN on self management of large-scale systems and was partner in the projects MANCOOSI, EVERGROW, PEPITO, and CoreGRID. He is a developer of the Mozart Programming System and coauthor of a well-known textbook on computer programming. He is currently partner in the SyncFree project (syncfree.lip6.fr), which is building systems for large-scale computation without synchronization.
We present a new programming model for large-scale mobile and “Internet of Things” style distributed applications. The model consists of two layers: a language layer based on the Lasp language and a runtime layer based on epidemic broadcast. The Lasp layer provides deterministic coordination-free computation primitives based on conflict-free replicated data types (CRDTs). The epidemic broadcast layer is based on the Plumtree protocol. This provides a communication framework where clients may only have a partial view of membership and may not want to participate in or have knowledge of all active computations. These two layers work well together. Plumtree is resilient and efficient but only enforces weak message order. Furthermore, the Plumtree network may undergo disconnections and node failures. Lasp is tolerant to all three weaknesses. We motivate the new model with a nontrivial mobile application, a distributed ad counter, and we give the model’s formal semantics.