Abstract unordered and ordered trees CRDT
Résumé
Trees are fundamental data structure for many areas of computer science and system engineering. In this report, we show how to ensure eventual consistency of optimistically replicated trees. In optimistic replication, the different replicas of a distributed system are allowed to diverge but should eventually reach the same value if no more mutations occur. A new method to ensure eventual consistency is to design Conflict-free Replicated Data Types (CRDT). In this report, we design a collection of tree CRDT using existing set CRDTs. The remaining concurrency problems particular to tree data structure are resolved using one or two layers of correction algorithm. For each of these layer, we propose different and independent policies. Any combination of set CRDT and policies can be constructed, giving to the distributed application programmer the entire control of the behavior of the shared data in face of concurrent mutations. We also propose to order these trees by adding a positioning layer which is also independent to obtain a collection of ordered tree CRDTs.
Les arbres sont une structure de donnée fondamentale dans beaucoup de domaines de l'informatique théorique et de l'ingénierie logicielle. Dans ce rapport, nous montrons comment assurer la consistance d'arbres répliqués de manière optimiste. Dans la réplication optimiste, les différentes répliques d'un système distribué peuvent passer par différents états intermédiaires avant de converger. Une nouvelle méthode pour assurer la convergence est de définir des CRDT (Conflict-free Replicated Data Types). Dans ce rapport, nous proposons une collection de CRDT structure d'arbres en utilisant les CRDT ensembles déjà existants. Nous assurons la cohérence de la structure de données en présence de mutations concurrentes, en utilisant un algorithme de réparation en une ou deux phases. Pour chacune de ces phases, nous proposons plusieurs politiques de réparations indépendantes. Nous donnons ainsi le choix au développeur de l'application distribuée le contrôle total sur le comportement de l'arbre partagé lors de modifications concurrentes. Enfin, nous proposons d'utiliser des résultats connus et nouveaux sur les CRDT séquences ordonnés, pour ajoutant des informations de positionnement sur les noeuds ou les arêtes de l'arbre. Nous définissons ainsi des CRDT de structure d'arbres ou les noeuds frères sont ordonnées.
Domaines
Autre [cs.OH]Origine | Fichiers produits par l'(les) auteur(s) |
---|