1 / 41

RAMBO III Accélérer la Reconfiguration d’un Service de Mémoire Atomique en systèmes distribués

RAMBO III Accélérer la Reconfiguration d’un Service de Mémoire Atomique en systèmes distribués. Vincent Gramoli, IRISA Advisor: Alex Shvartsman http://www.cse.uconn.edu/~gramoli/

gazit
Download Presentation

RAMBO III Accélérer la Reconfiguration d’un Service de Mémoire Atomique en systèmes distribués

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. RAMBO IIIAccélérer la Reconfiguration d’un Service de Mémoire Atomique en systèmes distribués Vincent Gramoli, IRISA Advisor: Alex Shvartsman http://www.cse.uconn.edu/~gramoli/ Dept. Computer Science & Engineering - University of ConnecticutLaboratoire de Recherche en Informatique - Universite Paris XI Orsay Vincent Gramoli

  2. Plan • Introduction • Séquence de configuration • Paxos • Reconfiguration • Opérations • Idée de preuve • Conclusion Master Recherche Informatique

  3. Plan • Introduction • Séquence de configuration • Paxos • Reconfiguration • Opérations • Idée de preuve • Conclusion Master Recherche Informatique

  4. Atomicité Au sens de Linéarisabilité • Définition : Chaque opération apparaît comme ayant lieu à un instant situé entre son invocation et sa réponse. • Condition suffisante : Pour chaque objet, toute opération peut-être partiellement ordonnée par < telle que : • Aucune opération n’a une infinité d’opérations ordonnées avant elle. • < est cohérent avec l’ordre d’invocation-réponse. • Toutes les opérations d’écriture sont totalement ordonnées et les opérations de lecture sont ordonnées entre les opérations d’écriture. • Toute opération de lecture renvoie la valeur écrite par la dernière opération d’écriture la précédant selon l’ordre <. Master Recherche Informatique

  5. Motivations Mémoire partagée rapidement reconfigurable • On veut assurer l’atomicité des opérations sur l’objet. • On réplique les objets sur plusieurs nœuds afin de pallier aux éventuelles pannes. Master Recherche Informatique

  6. Motivations Mémoire partagée rapidement reconfigurable • On veut assurer l’atomicité des opérations sur l’objet. • On réplique les objets sur plusieurs nœuds afin de pallier aux éventuelles pannes. • On utilise des ensembles de nœuds intersectés (quorums) pour assurer que l’information est propagée. Opération 1 Opération 2 Master Recherche Informatique

  7. Motivations Mémoire partagée rapidement reconfigurable • On veut assurer l’atomicité des opérations sur l’objet. • On réplique les objets sur plusieurs nœuds afin de pallier aux éventuelles pannes. • On utilise des ensembles de nœuds intersectés (quorums) pour assurer que l’information est propagée. • Une nouvelle configuration est choisie par consensus pour pallier à l’accumulation des pannes Master Recherche Informatique

  8. Objectif Contexte et problématique • Service de mémoire atomique • Cohérent • Utilisation de quorums(ensembles intersectés) • Hautement Disponible • Réplication des données • Tolérant aux fautes • Reconfiguration rapide • Application • Opérations militaires Master Recherche Informatique

  9. Domaine Travaux antérieurs • Quorum reconfigurable • [UW87] Collection d’ensembles intersectés. • [ABD96] Emulation de mémoire partagée multi-reader single-writer en passage de message. • [LS97] Quorum + reconfiguration • [ES00] Dynamisme dans les configurations • [LS02] Reconfigurable Atomic Memory for Basic Objects • [GLS03] RAMBO II • Paxos • [Lam88] TR • [Lam98] Part-Time Parliament • De Prisco MS thesis 2000. • Formalisation (De Prisco et al. 2002) Master Recherche Informatique

  10. Contributions Reconfiguration • Précédentes versions • Installation d’une nouvelle configuration basée sur un service externe • Désinstallation • RAMBO III • Intègre Paxos à RAMBO pour l’installation : • Cohérence des configurations • Ordre total sur les configurations • Parallélise la désinstallation • Reconfiguration accélérée Tolérance aux défaillances accrues. Master Recherche Informatique

  11. Modèle Systèmes distribués dynamiques • Structure • Ensemble de nœuds interconnectés. • Communication • Asynchrone • Perte éventuelle de messages • Réordonnancement possible des messages • Pas de duplication de message • Pannes • Départs • Arrivées • Pannes crash • Dans la suite, on s’intéressera uniquement aux opérations de lecture/écriture et reconfiguration et non aux opérations de join. Master Recherche Informatique

  12. Opérations sur un objet Lecture et Écriture • Ensemble de membres possédant une valeur de l’objet. • Déroulement en 2 phases (échanges de messages) successives : • Collecter les valeurs d’un ensemble de noeuds, R, • Propager la valeur à jour à un second ensemble de noeuds, W. (les deux ensembles s’interséctant RW≠ Ø) • Un tag est associé à chaque valeur et ordonne les opérations (ordre total sur écritures). Master Recherche Informatique

  13. Reconfiguration Changer de configuration • Une configuration renseigne sur les noeuds qu’une opération doit contacter. • La reconfiguration se déroule en 2 étapes : • Ajout d’une nouvelle configuration ( 2 phases). • Retrait d’anciennes configurations (2 phases). Master Recherche Informatique

  14. Opération durant Reconfiguration Dynamiser les opérations • Quasi-Indépendance • L’opération ou la reconfiguration peuvent s’effectuer à tout moment. • Quasi-Transparence • L’une ne met pas l’autre en attente. • La reconfiguration oblige l’opération à contacter davantage de noeuds. Master Recherche Informatique

  15. Plan • Introduction • Séquence de configuration • Paxos • Reconfiguration • Opérations • Idée de preuve • Conclusion Master Recherche Informatique

  16. Définitions Types • I  ℕ, un ensemble infini de localisations pour les participants, C  ℕ, l’ensemble des identifiants de configuration, X, l’ensemble des objets du système. V, l’ensemble des valeurs possibles d’un objet. T  ℕ I, l’ensemble des tags. • On considère ici le système pour un seul objet. Master Recherche Informatique

  17. Définitions Configurations • Une configuration associée à l’objet est • Un ensemble de membres members (réplicas). • Un ensemble de quorums de lecture QR, • Un ensemble de quorums d’écriture QW. • Propriété des quorums :  Ra QR, WbQW, Ra Wb ≠ Ø • Une séquence des configurations, notée cmap, • associe à un indice, un identifiant de configuration, ± (retirée) ou ┴ (inconnue); • initialement cmap = avec c0  C,l’id de la configuration par défaut. c0 ┴ ┴ ┴ ┴ … Master Recherche Informatique

  18. Cohérence de nouvelle configuration Utilisation du consensus • Une nouvelle configuration doit être cohérente : • Accord:  i, j  I,cmap(k)i, cmap(k)j C cmap(k)i = cmap(k)j • Validité : Toute configuration de la séquence a été proposée. • Unicité :  i, j  I,cmap(k)i = cmap(l)j C k = l • On utilise un algorithme de consensus, Paxos, pour installer une nouvelle configuration cohérente à la séquence. Master Recherche Informatique

  19. Plan • Introduction • Séquence de configuration • Paxos • Reconfiguration • Opérations • Idée de preuve • Conclusion Master Recherche Informatique

  20. Consensus Solution sous hypothèses • Paxos est un algorithme de consensus basé sur une élection de leader • Il assure les propriétés de validité et d’accord lorsqu’il termine. • Sa terminaison est retardée lorsque des conflits ont lieu entre plusieurs pseudo-leaders. • Lorsque le système stabilise, un leader décide bien d’un référendum. • 3 Règles : • Référendums uniques et ordonnés •  i,j : Qi Qj ≠ Ø • Si e  Qi alors Si  Bj = max{Bk: Bk<Bi} e  votej alors di = dj • Référendum (Ballot) : • 1 identifiant « Bi » • 1 décret « di » • 1 quorum « Qi » • Un ensemble de votants « votei » Master Recherche Informatique

  21. Algorithme Trois phases minimum • 1ère phase : Création d’un référendum • Le leader demande à un ensemble de noeuds la plus grande valeur votée. • Quand un quorum répond, le leader associe la plus grande valeur à son référendum (ou une nouvelle). • Lorsqu’un nœud reçoit la demande il s’abstient vis-à-vis d’anciens référendums et répond, ou ignore la demande. • 2nde phase : Proposition et vote • Le leader propose son référendum. • Il attend le vote d’un quorum • Un nœud peut voter s’il ne s’est pas abstenu pour ce référendum dans le passé. • 3ème phase : Propagation de décision • La valeur décidée est propagée. • Les deux dernières phases sont répétées en cas de non décision Master Recherche Informatique

  22. Algorithme Caractéristiques • Élection de leader • On suppose l’existence d’un algorithme de pseudo-élection de leader. • Conflits • En cas de plusieurs leaders, un référendum postérieur peut entraîner des abstentions au précédent référendum. • Progression • Un timeout nous permet de suggérer à l’algorithme de continuer lorsque la décision ne semble pas prise. • Terminaison • Lorsque le temps des opérations est raisonnablement court et qu’il n’y a plus de panne, un leader décide bien d’un référendum. Master Recherche Informatique

  23. Exécution Exemple Référendum Décret Quorum Exemple: • 3 référendums sont successivement proposés: B1, B2, B3 • Sur la même ligne est représenté son décret et son quorum associé. • Un quorum est constitué de 3 éléments. • Un élément qui vote pour le référendum situé sur sa ligne est encadré. αδε B1 d1 βγε B2 d2 B3 d1 αγδ Master Recherche Informatique

  24. Adaptation [De Prisco, Lynch, Shvartsman, Immorlica, Win 2003] • Le décret d’un référendum est une configuration. • L’initialisation d’un référendum est gérée par un composant externe (Le BallotTrigger). • Un référendum n’est plus éligible lorsque tout élément d’un quorum de lecture s’est abstenu. • La configuration choisie est la plus grande encore éligible (ou une nouvelle). • Un référendum est voté, et sa configuration décidée lorsque tout élément d’un quorum d’écriture a voté. Master Recherche Informatique

  25. Plan • Introduction • Séquence de configuration • Paxos • Reconfiguration • Opérations • Idée de preuve • Conclusion Master Recherche Informatique

  26. Installation vs. Désinstallation Comparaison • Observations • L’installation d’une configuration rend d’autres obsolètes [RAMBO] • L’installation et la désinstallation sont séquentielles. [RAMBO II] • Pourquoi ne pas paralléliser les deux étapes : l’installation et la désinstallation. [RAMBO III] Piggybacker les messages ack query config. Participant Quorum tag Participant Quorum vote prop prop • Conséquence directe • La reconfiguration est significativement accélérée (#phase - 2). Master Recherche Informatique

  27. Reconfiguration accélérée Décision via Paxos • Condition: Le leader i a ck-1pour configuration courante et cmap(l)i ┴( l  k-1) • 1ère phase : Création d’un nouveau référendum • Le leader i prend connaissance des dernières configurations (pour l’indice k) votées éligibles et choisit celle de son référendum en fonction. • 2nde phase : Proposition et vote • Le leader i propose son référendum, • Attend le vote d’un W de ck et un ack d’un R  W des cl ( l  k). • Décide le référendum. • 3ème phase : Propagation de décision • Le leader i ajoute la configuration décidée à son cmapi, • Supprime les configurations obsolètes en modifiant son cmapi, • Propage son cmapi. Master Recherche Informatique

  28. Configurations à desinstaller Configurations obsolètes • Problème en cas de désinstallation dans la phase de décision • L’opération d’écriture contacte un R de ck • La reconfiguration s’effectue ajoutant ck+1 et supprimant ck • L’opération d’écriture contacte un W de ck • Perte d’information • C’est pourquoi on supprime ck en installant ck+2 et non ck+1 • Autres approches: • Un round supplémentaire pour une configuration unique. • Amélioration d’une phase en ralentissant les opérations de lectures / écritures Master Recherche Informatique

  29. Protocole de reconfiguration Évolution incrémentale de la séquence de configurations • Initialement • Après une première reconfiguration • Après une seconde reconfiguration • Après une troisième reconfiguration c0 ┴ ┴ ┴ ┴ ┴ … c0 c1 ┴ ┴ ┴ ┴ … ± c1 c2 ┴ ┴ ┴ … ± ± c2 c3 ┴ ┴ … Master Recherche Informatique

  30. Protocole de reconfiguration Différentes séquences de configurations • Deux nœuds i et j peuvent avoir des cmap différents. • Les messages échangés en arrière plan propagent les cmap. • Chaque nœud update son cmap(k)iavec le cmap(k)j reçus: cmapi’= update(cmapi, cmapj)   k, cmap(k)i’ = max(cmap(k)i, cmap(k)j), tel que c  C,┴c  ± ± … ± cl cl+1 ┴ … cmapj cmapi ± … ± ck ck+1 ┴ … ┴ … update ± … ± cl cl+1 ┴ … cmapi’ Master Recherche Informatique

  31. ± ± c2 c3 ┴ ┴ … Configurations intermédiaires C = C1 U C2 Configuration C Configuration C' • (R3 W1 ≠ Ø) & (R2’  W3’) ≠ Ø (R3  R2’)  (W1  W3’) ≠ Ø • L’union de deux configurations est une configuration (configuration intermédiaire [Englert, Shvartsman 2000]). ± ± c2’ ┴ ┴ …  ± ± ± c3 c4 ┴ … ± ± ± c3’ ┴ … Master Recherche Informatique

  32. Opérations concurrentes Différences entre séquences des configurations • Le protocole de reconfiguration assure • Toute configuration garde un pointeur sur la suivante. • Ainsi, une opération apprend à son initiateur des configurations plus à jour (s’il y en a). • L’opération est donc éventuellement prolongée. Master Recherche Informatique

  33. Plan • Introduction • Séquence de configuration • Paxos • Reconfiguration • Opérations • Idée de preuve • Conclusion Master Recherche Informatique

  34. Opérations en deux phases Demande et Propagation • Chaque nœud peut initier une opération. • Chaque message contient t  T, t = <t.nb, t.id> (initialement <0, id> ) le tag de la dernière écriture connue (t.id l’id de l’initiateur), v  V(initialement v0) la valeur de l’objet associée et le cmapi. • Le leader étend son op.cmapi avec les nouvelles configurations lors de réception des messages. • Des identifiants de phases permettent de différencier ces messages. Master Recherche Informatique

  35. Opérations en deux phases Demande et Propagation Un ordre sur les tags est défini avec l’id comme entier de poids faible.  t1, t2 T, (t1 > t2)  (t1.nb > t2.nb) ou (t1.nb = t2.nb) et (t1.id > t2.id) • Demande • L’initiateur i copie son cmapidans op.cmapi et envoie des messages aux participants. • Attend la réponse d’un quorum de lecture de chaque configuration de son op.cmapi • Soit t’ le plus grand tag reçu et v’ sa valeur associée. • En cas de lecture, choisit t’’=t’ et v’’ = v’. • En cas d’écriture, choisit v’’ = v et t’’ = <++t’.nb, i> • Propagation • Envoie des messages aux participants. • Attend la réponse des éléments d’un quorum d’écriture de toute configuration de son op.cmapi Master Recherche Informatique

  36. Un quorum comme point fixe Exemple avec une seule configuration • Exemple d’opération : • Fig1 et Fig2 représentent la même configuration • Les cercles représentent les noeuds membres. • Les colonnes sont des quorums de lecture (R1, R2, R3). • Les lignes sont des quorums d’écriture (W1, W2, W3). • Un nœud extérieur au quorum système initie l’opération. Fig1 - Demande des valeurs et tags de R3 Fig2 - Propagation de la nouvelle valeur et du nouveau tag à W1 Master Recherche Informatique

  37. Plan • Introduction • Séquence de configuration • Paxos • Reconfiguration • Opérations • Idée de preuve • Conclusion Master Recherche Informatique

  38. Préliminaires Hypothèses et Objectif • L’atomicité est assurée en dépit de • Asynchronie, • Crashs, • Pertes de message. • Hypothèses • Toute lecture / écriture termine. • On associe un tag à chaque reconfiguration et opération, celui choisit entre la phase de demande et celle de propagation. • On compare l’ordre sur reconfigurations et opérations. Master Recherche Informatique

  39. Propagation de l’information Entre opérations et reconfigurations • Lemme 1 : Soient γk, γl deux reconfigurations telles que l  k, alors tag(γl)  tag(γk) (k>0). • Lemme 2 : Si la reconfiguration γk termine avant que l’opération de lecture/écriture π soit initiée par i, alors tag(γk)  tag(π) (et < tag(π) si π est une écriture). • Lemme 3 : Si la lecture/écriture π1 exécutée en i termine avant que la lecture/écriture π2 exécutée en j commence alors tag(π2)  tag(π1) (et > tag(π1) si π2 est une écriture). Master Recherche Informatique

  40. Ordre Partiel Opérations ordonnées • D’après la propriété 2, une infinité d’opérations ordonnées avant une autre impliquerait une infinité de celles-ci ayant terminé avant. • Une opération terminant avant une autre n’est pas ordonnée après (Lemme 3). • Les écritures sont totalement ordonnées par leur tag, les tags étant différents pour chacune. • Une lecture renvoyant le tag t est ordonnée entre toute écriture de tag t’t et toute écriture de tag t’’>t. Master Recherche Informatique

  41. Conclusion • Contributions • Intégration de Paxos dans RAMBO. • Maintient de l’atomicité des opérations. • Accélération de l’opération de reconfiguration de RAMBO. • Tolérance aux défaillances accrue. • Nouveaux Travaux • Analyse de la progression de l’algorithme. • Implémentation. • Étude du trade-off latence des opérations vs. latence reconfiguration. • Perspectives • P2P-RAMBO Plus d’infos: http://www.cse.uconn.edu/~gramoli/ Master Recherche Informatique

More Related