RAMBO III Accélérer la reconfiguration d’un service de mémoire atomique en systèmes distribués Vincent Gramoli Advisor : Alexander A. Shvartsman v.gramoli@free.fr Dept. Computer Science & Engineering - University of Connecticut Laboratoire de Recherche en Informatique - Universite Paris XI Orsay 10.09.2004 10.09.2004 Vincent Gramoli Vincent Gramoli 1
Plan Introduction Etat de l’art Prérequis Intégration de Paxos dans RAMBO Propriété d’atomicité Idée de preuve Conclusion 10.09.2004 Master Recherche Informatique 2
Introduction Contexte général Problématique Contexte et problématique Consistance mémoire en systèmes distribués dynamiques asynchrones Problématique Accroître la tolérance aux pannes d’un service de mémoire atomique Intégrer un algorithme de consensus pour la reconfiguration d’un service tolérant aux pannes « Piggybacker » les messages et paralleliser les opérations parallelisables. 10.09.2004 Master Recherche Informatique 3
État de l’art Consistance des données et Paxos Données consistantes Collection d’ensemble d’objets intersectés Majorité (Upfal et al. - 1987) Quorum + reconfiguration (Lynch, Shvartsman - 1997) Accentuation du dynamisme Configurations (Englert, Shvartsman - 2000) Nœuds (Lynch, Shvartsman RAMBO - 2002) Paxos Origines de Paxos TR (Lamport 88) Part-Time parliament (Lamport 98) Formalisme De Prisco MS thesis (2000) Preuve de consensus (De Prisco et al. 2002) 10.09.2004 Master Recherche Informatique 4
Prérequis Qu’est-ce que RAMBO ? Disponibilité en présence de pannes Service Reconfigurable de Mémoire Atomique pour Objets Basiques au sein d’un réseau dynamique et en systèmes asynchrones Disponibilité en présence de pannes Réplication des objets Consistance mémoire en présence de changements Utilisation de configurations: un ensemble de membres un ensemble de quorums de lecture (R) un ensemble de quorums d'écriture (W) Tolérance aux défaillances Reconfiguration changeant les membres et les quorums Pas de violation d'atomicité en reconfiguration Applications : Réseaux mobiles, P2P… 10.09.2004 Master Recherche Informatique 5
Prérequis Comment fonctionne Paxos ? a d e b c e a c d Algorithme « Le leader » crée un bulletin de vote et en informe les participants. Les participants répondent le dernier ballot pour lequel ils ont votes. Le leader attribue une valeur et la propose pour vote. Soit le ballot est voté par une majorité soit on recommence. Bulletin : 1 ID « Bi » 1 décret « di » 1 quorum « Qi » des votants « votei » Bulletin décret quorum B1 d1 a d e 3 règles Bulletins uniques et ordonnés i,j : Qi Qj ≠ Ø Si e Qi alors Si Bj = max{Bk: Bk<Bi | e votej} alors di = dj b c e B2 d2 B3 d1 a c d 10.09.2004 Master Recherche Informatique 6
Intégration de Paxos dans RAMBO 1) Recouvrement de phases Idée de départ La reconfiguration se fait en 3 étapes (décision d’une configuration, demande de l’information puis propagation a la nouvelle configuration) Observation ballot ack query config. leader Quorums leader tag Quorums vote prop prop Finalement Piggybacking des messages Accélération de la reconfiguration en évitant deux échanges 10.09.2004 Master Recherche Informatique 7
Intégration de Paxos dans RAMBO 2) Changement de configuration Au début : une seule configuration est installée Reconfiguration : « le » leader contacte un quorum de lecture et un d'écriture de chaque configuration installée, récupérant ainsi l’information a jour « le » leader contacte un quorum d'écriture de la dernière configuration et de la nouvelle configuration les informant de l’installation de cette dernière la suppression éventuelle de l’avant-dernière configuration 10.09.2004 Master Recherche Informatique 8
Propriété d'atomicité Les opérations sont atomiques si un tel ordre partiel est respecte. Aucune opération est précédée d’une infinité d’opérations L’ordre partiel est consistant avec l’ordre externe d’invocations-réponses Les opérations d'écriture sont totalement ordonnées et les opérations de lecture sont ordonnées par rapport aux écritures Toute opération de lecture précédée d’une écriture renvoie la valeur de la dernière opération d'écriture la précédant 10.09.2004 Master Recherche Informatique
Propagation de la nouvelle valeur et du nouveau tag de W1 Idée de preuve 1) Opérations de lecture/écriture On utilise des tags situés sur les répliquas de l’objet permettant d'étiqueter les opérations Le client demande la dernière valeur (il contacte le porteur du plus grand tag). Demande des valeurs et tags de R3 Le client propage le « nouveau » tag et la « nouvelle » valeur La propriété des quorums assure que le tag respecte un ordre partiel qui définit l’atomicité (linéarisation) des opérations. Propagation de la nouvelle valeur et du nouveau tag de W1 10.09.2004 Master Recherche Informatique
Idée de preuve 2) Reconfiguration A. Installer une nouvelle configuration Installation d’une nouvelle configuration Configuration C Configuration C' Les ensembles qui seront contactés sont a nouveau des quorums 10.09.2004 Master Recherche Informatique
Idée de preuve 2) Reconfiguration B. Enlever une configuration obsolete Si chaque noeud conserve l’information d’une seule configuration la consistance peut être detruite. L’opération d’écriture contacte un R de C La reconfiguration s’effectue ajoutant C’ et supprimant C L’opération d’écriture contacte un W de C C’est pourquoi on supprime C en installant C’’ et non C’ Configuration C Configuration C’ Configuration C’’ La propriété des quorums est conservée : (R2’ U R2’’) (W3’ U W2’’) ≠ Ø 10.09.2004 Master Recherche Informatique
Conclusion Contributions Perspectives Integration de Paxos dans RAMBO Acceleration de l’operation de reconfiguration de RAMBO Tolerance aux defaillances accrue Perspectives Comparer les differentes solutions proposees au probleme de l’ecriture sur une configuration obsolete. Implementation sur un reseau de workstation Paxos etant maintenant utiliser, etudier les benefices de l’utilisation de configurations intermediaires (celles proposees dans Paxos) Plus d’infos: http://www.engr.uconn.edu/~gramoli/thesis/ 10.09.2004 Master Recherche Informatique 13