Many service applications use actors as a programming model for the middle tier, to simplify synchronization, fault-tolerance, and scalability. However, efficient operation of such actors in multiple, geographically distant datacenters is challenging, due to the very high communication latency. Caching and replication are essential to hide latency and exploit locality; but it is not a priori clear how to combine these techniques with the actor programming model.
We present Geo, an open-source geo-distributed actor system that improves performance by caching actor states in one or more datacenters, yet guarantees the existence of a single latest version by virtue of a distributed cache coherence protocol. Geo's programming model supports both volatile and persistent actors, and supports updates with a choice of linearizable and eventual consistency. Our evaluation on several workloads shows substantial performance benefits, and confirms the advantage of supporting both replicated and single-instance coherence protocols as configuration choices. For example, replication can provide fast, always-available reads and updates globally, while batching of linearizable storage accesses at a single location can boost the throughput of an order processing workload by 7x.
Fri 27 OctDisplayed time zone: Tijuana, Baja California change
13:30 - 15:00
|Geo-Distribution of Actor-Based Services|
Philip A. Bernstein Microsoft Research, Sebastian Burckhardt Microsoft Research, Sergey Bykov Microsoft, n.n., Natacha Crooks University of Texas at Austin, USA, Jose Faleiro Yale University, USA, Gabriel Kliot Google, n.n., Alok Kumbhare Microsoft Research, n.n., Muntasir Raihan Rahman Microsoft, Vivek Shah University of Copenhagen, Denmark, Adriana Szekeres University of Washington, USA, Jorgen Thelin Microsoft Research, RedmondDOI
|Paxos Made EPR: Decidable Reasoning about Distributed Protocols|
Oded Padon Tel Aviv University, Giuliano Losa University of California at Los Angeles, USA, Mooly Sagiv Tel Aviv University, Sharon Shoham Tel Aviv universityDOI
|Verifying Strong Eventual Consistency in Distributed Systems|
Victor B. F. Gomes University of Cambridge, UK, Martin Kleppmann University of Cambridge, Dominic P. Mulligan University of Cambridge, Alastair R. Beresford University of Cambridge, UKDOI
|Verifying Distributed Programs via Canonical Sequentialization|
Alexander Bakst , Klaus v. Gleissenthall University of California at San Diego, USA, Ranjit Jhala University of California at San Diego, USA, Rami Gökhan Kıcı University of California at San Diego, USADOI