Just-Right Consistency

Les Grandes Conférences du LIG - The LIG Keynote Speeches
Marc SHAPIRO
Jeudi 03 Mar 2016

Marc Shapiro is a researcher in computing systems at Inria and LIP6-UPMC-Sorbonne Universités.  He focuses on the principles and practice sharing data, especially replication and consistency, in large-scale parallel computing systems such as cloud, peer-to-peer, and multi-processor architectures.  He is the co-inventor of Conflict-free Replicated Data Types (CRDTs), which ensure correctness by construction. His interests focus on minimising coordination while ensuring correctness, and on modular approaches to consistency.  He also publishes on correct and high-performance concurrent algorithms.
After his PhD at LAAS (Toulouse), Marc Shapiro did research at MIT (Cambridge, USA), CMIRH (Paris, France), INRIA (Rocquencourt, France), Cornell University (Ithaca, USA), at Sun Microsystems (Chelmsford, USA), and Microsoft Research (Cambridge, UK).  He is currently a senior researcher for Inria in the Regal group (Inria-LIP6), and the leader of the FP7 European Project “SyncFree: Large-Scale Computation Without Synchronisation.”
 
Dr. Shapiro, a Senior Member of the ACM, is a member of the board of Société Informatique de France.


Résumé :

Consistency ---ensuring that data items distributed over remote computers agree with each other--- is a fundamental issue of distributed computing.  No single consistency model is appropriate for all uses: strong consistency requires lots of synchronisation, which has availability and performance issues; weak consistency performs and scales better but is error-prone.  Indeed, the famous "CAP" impossibility result shows there is an inherent trade-off between fault tolerance, performance, and programmability.  The first part of the talk will provide some general background on the consistency trade-off.
This has led to a split between databases designed for strong consistency and those designed for performance and availability; application designers must make an early decision of which consistency model to go with. Instead, we propose to fine-tune the database to provide the highest possible performance and availability that is appropriate for a given application.  Our Just-Right Consistency approach leverages a novel static analysis (called CISE), which can prove whether a given distributed application maintains a given correctness invariant.  In the second part of the talk, we will explain the intuition behind CISE, and how we use it to co-design the application and its consistency model, thereby minimising synchronisation to what is strictly necessary to ensure correctness.