La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Vincent Gramoli, IRISA Advisor: Alex Shvartsman

Présentations similaires


Présentation au sujet: "Vincent Gramoli, IRISA Advisor: Alex Shvartsman "— Transcription de la présentation:

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


Télécharger ppt "Vincent Gramoli, IRISA Advisor: Alex Shvartsman "

Présentations similaires


Annonces Google