Contract-Based Return-Value Commutativity: Safely Exploiting Contract-Based Commutativity for Faster Serializable Transactions
A key challenge of designing distributed software systems is maintaining data consistency.
We can define data consistency and data isolation guarantees –e.g. serializability– in terms of schedules of atomic reads and writes, but this excludes schedules that would be semantically consistent. Others use manually provided information on "non-conflicting operations" to define guarantees that work for more applications allowing more parallel schedules. To be safe, an engineer might avoid marking operations as non-conflicting, with detrimental effects to efficiency. To be fast, they might mark more non-conflicting operations than is strictly safe.
Our goal is to help engineers by automatically deriving commutative operations (using their respective contracts) such that more parallel schedules with global consistency are possible. We define a new general consistency and isolation guarantee named "Return-Value Serializability" to check consistency claims automatically, and we present distributed event processing algorithms that make use of the same "Contract-based Commutativity" information. We validated both the definitions and the algorithms using model-checking with TLA+. Previous work provided evidence that local coordination avoidance such as applied here has a significant positive effect on the performance of distributed transaction systems.
Client-centric return-value commutativity promises to hit a sweet spot in design trade-offs for business applications, such as payment systems, that must scale-out while their operations are not embarrassingly parallel and consistency guarantees are of the highest priority. It can also provide design feedback, indicating that some operations will simply not scale together even before a line of code has been written.
pre-print (CBC-camera-ready.pdf) | 335KiB |
Sun 17 OctDisplayed time zone: Central Time (US & Canada) change
13:50 - 15:10 | |||
13:50 25mFull-paper | Contract-Based Return-Value Commutativity: Safely Exploiting Contract-Based Commutativity for Faster Serializable Transactions AGERE Tim Soethout ING Bank; CWI, Tijs van der Storm CWI; University of Groningen, Jurgen Vinju CWI; Eindhoven University of Technology DOI Pre-print File Attached | ||
14:15 25mTalk | A model of actors and grey failures AGERE Laura Bocchi University of Kent, Julien Lange Royal Holloway University of London, Simon Thompson IOHK, University of Kent, and ELTE, A. Laura Voinea University of Kent, UK | ||
14:40 25mFull-paper | What’s the Problem? Interrogating Actors to Identify the Root Cause of Concurrency Bugs AGERE Carmen Torres Lopez Vrije Universiteit Brussel, Louise Van Verre Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel DOI Pre-print File Attached | ||
15:05 5mDay closing | Closing AGERE Elias Castegren Uppsala University, Sweden, Simon Fowler University of Glasgow, Joeri De Koster Vrije Universiteit Brussel, Belgium |