Télécharger la présentation
Publié parBédoier Michaux Modifié depuis plus de 10 années
1
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 Dept. Computer Science & Engineering - University of Connecticut Laboratoire 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 <. Atomicité au sens de linearizabilite (cf. Herlihy) 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. Emulation de memoire partagee. Replication, tolerance aux 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. Les phases des operations utilisent les quorums. Propagation de l’information d’une operation a l’autre. Linearizabilite des operations. 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 Noeud a nouveau actif = un arrivant Accumulation de departs/pannes Reconfiguration = redefinition des points fixes des operations. Master Recherche Informatique
8
Objectif Service de mémoire atomique Application
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 Resume des objectifs a atteindre. Exemple d’application : entites militaires distantes pouvant mettre a jour et/ou consulte une donnee partagee. Master Recherche Informatique
9
Domaine Travaux antérieurs Quorum reconfigurable Paxos
[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 RAMBO III
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 Communication Pannes
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 Conflits Progression
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: B1 d1 α δ ε
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é. B d1 α δ ε Regle 3 de Paxos : Toute proposition suivant la decision prendra d1 comme valeur du fait de l’intersection des quorums. Stabilite de la decision. β γ ε B d2 B 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] ack Piggybacker les messages query config. Participant Quorum tag vote Participant Quorum 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-1 pour 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)i avec 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
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’ ┴ ┴ … c2 c3 ┴ … 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 cmapi dans 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. Ici on reprend les 4 conditions pour l’atomicite. Master Recherche Informatique
41
Conclusion Contributions Nouveaux Travaux Perspectives
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: Master Recherche Informatique
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.