Detail

Publication date: 1 de June, 2021

Decomposing consistency: It’s the invariants, stupid

Maintaining consistency is a central issue of distributed systems. However, there is a fundamental design tension between highly-synchronised models, which are easy to use, and ones with less synchronisation but weaker properties. This results in a complex and confusing design space. How do consistency models differ, and which one is right for me? To answer, we describe them in terms of elementary, orthogonal properties. We show (i) what are the guarantees provided by a given property (i.e., what kind of application invariants that it ensures), and, (ii) dually, the opportunities for parallelism and implementation freedoms that it provides. Then, we analyse some common classes of application invariants, and show their relation to the above properties. Finally, we present our current work on a top-down invariant-directed approach to design a protocol that has just enough synchronisation to ensure the application’s invariants.

Presenter

Marc Shapiro,

Date 27/05/2015
State Concluded