Description
Date depot: 1 janvier 1900
Titre: Bridging the CAP gap, all the way to the edge
Directeur de thèse:
Marc SHAPIRO (LIP6)
Domaine scientifique: Sciences et technologies de l'information et de la communication
Thématique CNRS : Systèmes et réseaux
Resumé:
The CAP theorem points to an inherent conflict in the design of a geo-scalable applications, between consistency on the one hand, and availability and performance on the other [1, 5]. Application developers want their data consistent, yet synchronising it is a major obstacle to responsiveness and scalability [4]. Because of the CAP theorem, most existing cloud databases make a black-or-white choice between consistency and availability. We propose instead to bridge the CAP gap by tailoring consistency to application needs, avoiding synchronisation whenever it does not jeopardise application correctness.
Accordingly, in previous work we have designed CRDTs, data types that support concurrent updates and are guaranteed to converge to a correct value [9, 10]. We have also designed and implemented the planet-scale cloud database Antidote [2] to guarantee Transactional Causal Consistency (TCC). TCC is is the strongest consistency model that is compatible with availability, and is sufficient for many application invariants: for instance, a social network that requires that the friendship relation be symmetric, or that a user can post photos only if she is in the “approved for posting” set.
Beyond TCC, some invariants do require synchronised operations: for instance, ensuring that a shared counter remains positive requires to synchronise concurrent decrements (but not increments). We show how to improve the availability of synchronised operations by delaying and batching them [3]. In order to synchronise only when strictly necessary, developers need tools to navigate between too much synchronisation, which degrades performance and availability, and too little, which can corrupt data. To help with this delicate decision, we developed the CISE logic and tool that
verify whether consistency is sufficient for the application, and if not, help the developer to fix the problem (either by weakening the application or strengthening the synchronisation) [6, 7, 8].
We have demonstrated a prototype CISE tool. Our Antidote prototype is fully functional, supports some real industrial applications, and has been shown experimentally to scale to hundreds of shards replicated across several data centres. However, the continued growth of cloud computing, and the demands of future social, 5G and IoT applications, create new challenges.
Doctorant.e: Toumlilt Ilyas