Programming Geo-Distributed Systems using ECROs (demo)
In this demonstration, we show how to implement a distributed game using Explicitly Consistent Replicated Objects (ECROs). This demonstration is intended for those that are interested in programming highly-available distributed systems under eventual consistency. We cover the design of a replicated data type and its integration within Squirrel, a distributed key-value store.
We start with a brief introduction to ECROs. Afterwards, we introduce a sequential voting game that resembles interactive tv-shows where candidates battle against each other and viewers can vote on candidates. After some time, the candidate with the least number of votes is eliminated. The game continues until a single candidate remains. We show how to turn the sequential voting game into a fully distributed game. To this end, we extend the sequential implementation with a distributed specification of the game’s shared state. We combine both the implementation and the specification of the game into an ECRO (i.e. a replicated data type). Then, we show how to store game replicas in Squirrel and how to react to state changes. The result is a fully distributed voting game that is replicated across all viewers such that the game is (offline) available and provides low latency while ensuring that all viewers eventually converge to a consistent state. We show how to deploy the application using Docker and experiment with several scenarios including concurrent updates and network failures.
Wed 23 MarDisplayed time zone: Lisbon change
10:30 - 12:00 | |||
10:30 30mDemonstration | Programming Geo-Distributed Systems using ECROs (demo) Posters and Demonstrations | ||
11:00 30mDemonstration | WOOD: An out-of-things Debugger for IoT applications (demo) Posters and Demonstrations Carlos Rojas Castillo Vrije Universiteit Brussel, Matteo Marra Vrije Universiteit Brussel, Jim Bauwens Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel, Belgium | ||
11:30 30mDemonstration | Flec: practical CRDTs on IoT hardware (demo) Posters and Demonstrations |