Contributions to the practice and theory of state-machine replication
Contributions pratiques et théoriques à la réplication de machine à états
Résumé
State-machine replication (SMR) is one of the cornerstones of modern computing infrastructures.
It ensures the durability of data and provides high availability to essential services.
SMR is built atop distributed protocols such as Paxos and Raft that keep in sync the service replicas.
In this thesis, we present several contributions to the theory and practice of SMR.
Our first contribution is to identify a new class of leaderless protocols.
In typical SMR protocols, all the operations accessing the service are ordered by a leader replica.
On the contrary, leaderless protocols allow replicas to make progress independently by contacting a nearby quorum.
We introduce several key properties for leaderless SMR and study some of its limits.
We also contribute new protocols for geo-distributed systems that leverage failure independence in this setting.
When data is sharded across replicas, one talks about partial replication.
Our second contribution is to define partial state-machine replication (PSMR) for such environments.
We contribute several efficient PSMR protocols and identify the minimal synchrony assumptions under which such an abstraction is implementable.
Distributed systems are computationally equivalent to shared memory ones in many practical cases.
Our last contribution consists in several results exploring the costs and conditions under which agreement (adopt-commit object, k-set agreement, and by extension SMR) is solvable in shared memory.
La réplication de machine à états est un des piliers fondamentaux des infrastructures informatiques modernes.
Cette technique assure la durabilité des données et offre une haute disponibilité aux services les plus essentiels.
Elle est construite à l'aide de protocoles, tels que Paxos ou Raft, qui permettent de maintenir les répliques continûment à jour.
Cette habilitation à diriger des recherches présente plusieurs contributions à la théorie et la pratique de la réplication de machine à états.
Dans les algorithmes usuels de la réplication de machine à états, les opérations qui accèdent au service répliqué sont ordonnées par une machine distincte, ou leader.
Notre première contribution est l'identification d'une nouvelle classe de protocoles dits sans leader.
Les protocoles sans leader permettent que chaque réplique progresse indépendamment en contactant un quorum de ses pairs.
Nous introduisons plusieurs propriétés afin de caractériser cette classe de protocoles et nous étudions leurs limites.
Par ailleurs, nous présentons des protocoles efficaces pour les systèmes géo-répartis s'appuyant sur l'indépendance des fautes.
Quand les données du service sont morcelées entre les répliques, on parle de réplication partielle.
Notre seconde contribution est de définir la réplication partielle de machine à états pour de tels environnements.
Là aussi, nous présentons des protocoles efficaces.
Par ailleurs, nous identifions les conditions de synchronie minimales qui permette à une telle abstraction d'être mise en oeuvre.
D'un point de vue calculabilité, les systèmes répartis sont équivalents à ceux à mémoire partagée dans de nombreux cas pratiques.
Notre dernière contribution consiste en plusieurs résultats sur le coût et les conditions de résolubilité en mémoire partagée de l'accord et ses variantes (objet adopt-commit, k-accord, et par extension, la réplication de machine à états).
Origine | Fichiers produits par l'(les) auteur(s) |
---|---|
licence |