130 likes | 221 Views
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
E N D
RAMBO IIIAccélérer la reconfiguration d’un service de mémoire atomique en systèmes distribués Vincent GramoliAdvisor : Alexander A. Shvartsman v.gramoli@free.frDept. Computer Science & Engineering - University of ConnecticutLaboratoire de Recherche en Informatique - Universite Paris XI Orsay 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 Master Recherche Informatique 2
Introduction Contexte et problématique • Contexte général • 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. 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) Master Recherche Informatique 4
Prérequis Qu’est-ce que RAMBO ? • 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… Master Recherche Informatique 5
Prérequis Comment fonctionne Paxos ? • 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 a d e B1 d1 • 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 a c d B3 d1 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 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 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 Master Recherche Informatique
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 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 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’’) ≠ Ø Master Recherche Informatique
Conclusion • Contributions • 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/ Master Recherche Informatique 13