Paper at Middleware 2018

Distributed transactional reads: the strong, the quick, the fresh & the impossible. By Alejandro Tomsic, Manuel Bravo, Marc Shapiro

proposed PhD topic: High-level distributed computing

View topic and apply at

Postdoc position available: “Just-Right Consistency for planet-scale storage”

Advertising a postdoc position on “Just-Right Consistency for planet-scale storage;” see

VMCAI 2018: “Co-Design and Verification of an Available File System”

Formally verifying the properties of a distributed file system, with Availability under Partition  properties.  The file system consists of interdependent CRDT objects under a strong safety invariant (tree shape).  Paper by Mahsa Najafzadeh, Marc Shapiro and Patrick Eugster, published at VMCAI 2018.  The paper is available here.

Paper on Antidote and Cure accepted for ICDCS

Our paper titled “Cure: Strong semantics meets high availability and low latency” will appear in the forthcoming ICDCS conference. A preprint is available here.

Three papers at PaPoC 2016

In the PaPoC 2016 programme:

Mahsa Najafzadeh, Alexey Gotsman, Hongseok Yang, Carla Ferreira and Marc Shapiro. The CISE Tool: Proving Weakly-Consistent Applications Correct

Alejandro Z. Tomsic, Tyler Crain and Marc Shapiro. PhysiCS: efficient consistent snapshots for scalable snapshot isolation

Marek Zawirski, Carlos Baquero, Annette Bieniusa, Nuno Preguiça and Marc Shapiro. Eventually Consistent Register Revisited

Marc Shapiro Invited talk at Grenoble, 3 March 2016

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

Paper @PODC 2015 “The Weakest Failure Detector for Eventual Consistency”

Consistent asynchronous distributed programs: POPL’16 paper, demo

Asynchronous replication is available and fast, but what about consistency? We propose a logic for showing that such a program maintains its invariants. We implemented the rule in a static analysis tool and ran a few interesting examples. See the video of the tool and the paper to appear at POPL 2016:

‘Cause I’m Strong Enough: Reasoning about Consistency Choices in Distributed Systems.
A. Gotsman, H. Yang, C. Ferreira, M. Najafzadeh, M. Shapiro.
Symp. on Principles of Programming Languages, Jan. 2016. St. Petersburg, Florida, USA

Paper @Middleware 2015 “Write Fast, Read in the Past: Causal Consistency for Client-side Applications”

Our paper “Write Fast, Read in the Past: Causal Consistency for Client-side Applications” has been accepted for publication at Middleware 2015. A preliminary version is available as Inria Research Report RR-8729.