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

Master Recherche Informatique 08.03.2005Vincent Gramoli RAMBO III Accélérer la Reconfiguration dun Service de Mémoire Atomique en systèmes distribués Vincent.

Présentations similaires


Présentation au sujet: "Master Recherche Informatique 08.03.2005Vincent Gramoli RAMBO III Accélérer la Reconfiguration dun Service de Mémoire Atomique en systèmes distribués Vincent."— Transcription de la présentation:

1 Master Recherche Informatique Vincent Gramoli RAMBO III Accélérer la Reconfiguration dun 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

2 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Plan Introduction Séquence de configuration Paxos Reconfiguration Opérations Idée de preuve Conclusion

3 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Plan Introduction Séquence de configuration Paxos Reconfiguration Opérations Idée de preuve Conclusion

4 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique 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 : 1.Aucune opération na une infinité dopérations ordonnées avant elle. 2.< est cohérent avec lordre dinvocation-réponse. 3.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. 4.Toute opération de lecture renvoie la valeur écrite par la dernière opération décriture la précédant selon lordre <.

5 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Motivations On veut assurer latomicité des opérations sur lobjet. On réplique les objets sur plusieurs nœuds afin de pallier aux éventuelles pannes. Mémoire partagée rapidement reconfigurable

6 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Motivations Opération 1 Opération 2 On veut assurer latomicité des opérations sur lobjet. 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 linformation est propagée. Mémoire partagée rapidement reconfigurable

7 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Motivations On veut assurer latomicité des opérations sur lobjet. 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 linformation est propagée. Une nouvelle configuration est choisie par consensus pour pallier à laccumulation des pannes Mémoire partagée rapidement reconfigurable

8 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique 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

9 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Domaine Quorum reconfigurable [UW87] Collection densembles 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 Formalisation (De Prisco et al. 2002) Travaux antérieurs

10 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Contributions Précédentes versions Installation dune nouvelle configuration basée sur un service externe Désinstallation RAMBO III Intègre Paxos à RAMBO pour linstallation : 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. Reconfiguration

11 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Modèle 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 sintéressera uniquement aux opérations de lecture/écriture et reconfiguration et non aux opérations de join. Systèmes distribués dynamiques

12 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Opérations sur un objet Ensemble de membres possédant une valeur de lobjet. Déroulement en 2 phases (échanges de messages) successives : 1.Collecter les valeurs dun ensemble de noeuds, R, 2.Propager la valeur à jour à un second ensemble de noeuds, W. (les deux ensembles sinterséctant R W Ø) Un tag est associé à chaque valeur et ordonne les opérations (ordre total sur écritures). Lecture et Écriture

13 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Reconfiguration Une configuration renseigne sur les noeuds quune opération doit contacter. La reconfiguration se déroule en 2 étapes : Ajout dune nouvelle configuration ( 2 phases). Retrait danciennes configurations (2 phases). Changer de configuration

14 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Opération durant Reconfiguration Quasi-Indépendance Lopération ou la reconfiguration peuvent seffectuer à tout moment. Quasi-Transparence Lune ne met pas lautre en attente. La reconfiguration oblige lopération à contacter davantage de noeuds. Dynamiser les opérations

15 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Plan Introduction Séquence de configuration Paxos Reconfiguration Opérations Idée de preuve Conclusion

16 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Définitions Types I, un ensemble infini de localisations pour les participants, C, lensemble des identifiants de configuration, X, lensemble des objets du système. V, lensemble des valeurs possibles dun objet. T I, lensemble des tags. On considère ici le système pour un seul objet.

17 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Définitions Une configuration associée à lobjet est Un ensemble de membres members (réplicas). Un ensemble de quorums de lecture Q R, Un ensemble de quorums décriture Q W. Propriété des quorums : R a Q R, W b Q W, R a W b Ø Une séquence des configurations, notée cmap, associe à un indice, un identifiant de configuration, ± (retirée) ou (inconnue); initialement cmap = avec c 0 C, lid de la configuration par défaut. Configurations c0c0 …

18 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique 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.

19 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Plan Introduction Séquence de configuration Paxos Reconfiguration Opérations Idée de preuve Conclusion

20 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Consensus Paxos est un algorithme de consensus basé sur une élection de leader Il assure les propriétés de validité et daccord lorsquil 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 dun référendum. Solution sous hypothèses 3 Règles : Référendums uniques et ordonnés i,j : Q i Q j Ø Si e Q i alors Si B j = max{B k : B k

21 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Algorithme 1 ère phase : Création dun 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). 3 ème phase : Propagation de décision La valeur décidée est propagée. Trois phases minimum 2 nde phase : Proposition et vote Le leader propose son référendum. Il attend le vote dun quorum Lorsquun nœud reçoit la demande il sabstient vis-à-vis danciens référendums et répond, ou ignore la demande. Un nœud peut voter sil ne sest pas abstenu pour ce référendum dans le passé. Les deux dernières phases sont répétées en cas de non décision

22 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Algorithme Élection de leader On suppose lexistence dun 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 à lalgorithme de continuer lorsque la décision ne semble pas prise. Terminaison Lorsque le temps des opérations est raisonnablement court et quil ny a plus de panne, un leader décide bien dun référendum. Caractéristiques

23 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Exécution Exemple α δ ε Référendum Décret Quorum B 1 d 1 B 2 d 2 B 3 d 1 β γ ε α γ δ Exemple: 3 référendums sont successivement proposés: B 1, B 2, B 3 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é.

24 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Adaptation [De Prisco, Lynch, Shvartsman, Immorlica, Win 2003] Le décret dun référendum est une configuration. Linitialisation dun référendum est gérée par un composant externe (Le BallotTrigger). Un référendum nest plus éligible lorsque tout élément dun quorum de lecture sest 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 dun quorum décriture a voté.

25 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Plan Introduction Séquence de configuration Paxos Reconfiguration Opérations Idée de preuve Conclusion

26 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Observations Linstallation dune configuration rend dautres obsolètes [RAMBO] Linstallation et la désinstallation sont séquentielles. [RAMBO II] Pourquoi ne pas paralléliser les deux étapes : linstallation et la désinstallation. [RAMBO III] Installation vs. Désinstallation Comparaison Quorum ack config. vote prop Quorum query tag Participant prop Participant Piggybacker les messages Conséquence directe La reconfiguration est significativement accélérée (#phase - 2).

27 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Reconfiguration accélérée Condition: Le leader i a c k-1 pour configuration courante et cmap(l) i ( l k-1) 1 ère phase : Création dun nouveau référendum Le leader i prend connaissance des dernières configurations (pour lindice k ) votées éligibles et choisit celle de son référendum en fonction. 2 nde phase : Proposition et vote Le leader i propose son référendum, Attend le vote dun W de c k et un ack dun R W des c l ( 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 cmap i, Supprime les configurations obsolètes en modifiant son cmap i, Propage son cmap i. Décision via Paxos

28 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Problème en cas de désinstallation dans la phase de décision 1)Lopération décriture contacte un R de c k 2)La reconfiguration seffectue ajoutant c k+1 et supprimant c k 3)Lopération décriture contacte un W de c k 4)Perte dinformation Cest pourquoi on supprime c k en installant c k+2 et non c k+1 Autres approches: Un round supplémentaire pour une configuration unique. Amélioration dune phase en ralentissant les opérations de lectures / écritures Configurations à desinstaller Configurations obsolètes

29 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Protocole de reconfiguration Évolution incrémentale de la séquence de configurations c0c0 … c0c0 c1c1 ±c1c1 c2c2 ±±c2c2 c3c3 … … … Initialement Après une première reconfiguration Après une seconde reconfiguration Après une troisième reconfiguration

30 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique 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: cmap i = update(cmap i, cmap j ) k, cmap(k) i = max (cmap(k) i, cmap(k) j ), tel que c C, c ± ± ±±clcl ckck ±c k+1 …… … … … c l+1 update cmap j cmap i ±±clcl … … c l+1

31 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Configurations intermédiaires C = C1 U C2 (R3 W1 Ø) & (R2 W3) Ø (R3 R2) (W1 W3) Ø Lunion de deux configurations est une configuration (configuration intermédiaire [Englert, Shvartsman 2000]). ±± c2c2 c3c3 … ±± c 2 … c 3 … ±±± ±± c3c3 c4c4 … ± Configuration C'Configuration C

32 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique 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 (sil y en a). Lopération est donc éventuellement prolongée.

33 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Plan Introduction Séquence de configuration Paxos Reconfiguration Opérations Idée de preuve Conclusion

34 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Opérations en deux phases Demande et Propagation Chaque nœud peut initier une opération. Chaque message contient t T, t = (initialement ) le tag de la dernière écriture connue ( t.id lid de linitiateur), v V (initialement v 0 ) la valeur de lobjet associée et le cmap i. Le leader étend son op.cmap i avec les nouvelles configurations lors de réception des messages. Des identifiants de phases permettent de différencier ces messages.

35 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Opérations en deux phases Demande et Propagation Un ordre sur les tags est défini avec lid comme entier de poids faible. t 1, t 2 T, (t 1 > t 2 ) (t 1.nb > t 2.nb) ou (t 1.nb = t 2.nb) et (t 1.id > t 2.id) Demande Linitiateur i copie son cmap i dans op.cmap i et envoie des messages aux participants. Attend la réponse dun quorum de lecture de chaque configuration de son op.cmap i 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 = Propagation Envoie des messages aux participants. Attend la réponse des éléments dun quorum décriture de toute configuration de son op.cmap i

36 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Un quorum comme point fixe Exemple avec une seule configuration Fig1 - Demande des valeurs et tags de R3 Fig2 - Propagation de la nouvelle valeur et du nouveau tag à W1 Exemple dopération : Fig1 et Fig2 représentent la même configuration Les cercles représentent les noeuds membres. Les colonnes sont des quorums de lecture (R 1, R 2, R 3 ). Les lignes sont des quorums décriture (W 1, W 2, W 3 ). Un nœud extérieur au quorum système initie lopération.

37 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Plan Introduction Séquence de configuration Paxos Reconfiguration Opérations Idée de preuve Conclusion

38 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Latomicité 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 lordre sur reconfigurations et opérations. Préliminaires Hypothèses et Objectif

39 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique 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 lopé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). Propagation de linformation Entre opérations et reconfigurations

40 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Ordre Partiel Opérations ordonnées 1.Daprès la propriété 2, une infinité dopérations ordonnées avant une autre impliquerait une infinité de celles-ci ayant terminé avant. 2.Une opération terminant avant une autre nest pas ordonnée après (Lemme 3). 3.Les écritures sont totalement ordonnées par leur tag, les tags étant différents pour chacune. 4.Une lecture renvoyant le tag t est ordonnée entre toute écriture de tag t t et toute écriture de tag t>t.

41 RAMBO III - Accélérer la reconfiguration dun service de mémoire atomique en systèmes distribués Master Recherche Informatique Conclusion Contributions Intégration de Paxos dans RAMBO. Maintient de latomicité des opérations. Accélération de lopération de reconfiguration de RAMBO. Tolérance aux défaillances accrue. Nouveaux Travaux Analyse de la progression de lalgorithme. Implémentation. Étude du trade-off latence des opérations vs. latence reconfiguration. Perspectives P2P-RAMBO Plus dinfos:


Télécharger ppt "Master Recherche Informatique 08.03.2005Vincent Gramoli RAMBO III Accélérer la Reconfiguration dun Service de Mémoire Atomique en systèmes distribués Vincent."

Présentations similaires


Annonces Google