Vincent Gramoli, IRISA Advisor: Alex Shvartsman

Slides:



Advertisements
Présentations similaires
La théorie du monde est petit
Advertisements

DATA WAREHOUSES Selection of Views to Materialize in a Data Warehouse Himanshu Gupta Department of Computer Science Stanford University Bernigaud Sébastien.
Les TIC dans l’éducation : marge ou germe ?
Détecteurs de fautes pour réseaux dynamiques P. Sens, L. Arantes, M. Bouillaguet Projet REGAL.
3- Déclaration et accès aux objets
Plan : Définition L’affectation Les entrées Les sorties exercices
(2005) De Jacques Audran : maître de conférence
Les images sont les livres des illettrés…
Français Programme de Première Réalisation : P
Logique et raisonnement scientifique
3. Logique et mathématiques De Frege à Gödel. Frege (1848 – 1925) Après que la mathématique se fut pour un temps écartée de la rigueur euclidienne, elle.
3. Logique et mathématiques Frege. (1848 – 1925) Après que la mathématique se fut pour un temps écartée de la rigueur euclidienne, elle y revient, et.
Audits des supports SGD association nationale pour la formation professionnelle des adultes.
"Recherche de scénarios redoutés à partir d'un modèle réseau de Petri"
Mémoire partagée avec peu de registres 04/04/13Displexity1.
New Deflation Criterion for the QR Algorithm Présenté par Nader EL KHATIB Sous la direction de M. Mario AHUES.
1 Modèles de lEconomie Numérique Michel de Rougemont University Paris II.
UNIVERSITE Paris 1 Panthéon-Sorbonne FLOR DA CRUZ LOPES Nadia
PLC2 – Sciences physiques Directeur de mémoire : Philippe DURUISSEAU
Transaction Ensemble d'opérations de modification de données annulées ou validées en bloc. Une Transaction vérifie les caractéristiques suivantes ( ACID.
The reponse of Atlantique cod (Gadus moruha) to the future climate change. Kenneth F. Drinkwater ICES Journal of Marine Science, 62: LIMANE.
Chapitre IV LES STRUCTURES SIMPLES. Plan I- Les entrées II- Laffectation III- Les sorties.
Algorithmique et structure de données
Noyau persistant en réseaux pair-à-pair Comment relier la taille à la durée de vie V. Gramoli, A-M. Kermarrec, A. Mostéfaoui, M. Raynal, B. Sericola.
1.2 COMPOSANTES DES VECTEURS
Lambda-Calcul Sémantique de Montague
Algorithmique et Programmation
Mémoires Partagées Distribuées pour systèmes dynamiques à grande échelle Vincent Gramoli.
Le rapport de laboratoire
5 CO I Les sources de lumière.
Semaine #1 INF135 par Frédérick Henri.
Points importants de la semaine Les sous-programmes. Les paramètres.
Structure du texte FLS 3581C.
Chapitre 4 : Morphologie Mathématique
Ordonnancement de tâches
Initiation aux bases de données et à la programmation événementielle
JJCAAS 2003 IRISA - Projet METISS Sylvain LESAGE Directeur de thèse Frédéric BIMBOT Apprentissage de systèmes de représentations adaptatives pour la séparation.
Christine Bonnet SOURCES : « Samples » dOracle, « Oracle 8 » R. Chapuis PRO*C – C ++
Vincent Gramoli Advisor : Alexander A. Shvartsman
L’apprentissage situé : approche épistémologique
Mémoires quantiques pour variables continues
MATHÉMATIQUES DISCRÈTES Chapitre 1 (Section 4)
ASI 3 Méthodes numériques pour l’ingénieur
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI)
Méthodes de tri.
CSI3525: Concepts des Langages de Programmation Notes # 13: Introduction au SmallTalk.
Un guide de la rédaction du mémoire : pourquoi et comment ?
Un état de l’art sur les logiciels de détection de collision
Les Machines RAM.
Construction d'une hiérarchie mémoire faible consommation
Université du Havre Faculté des sciences et techniques Laboratoire d’informatique du Havre DEA INFORMATIQUE THEORIQUE ET APPLICATIONS Thème Proposé et.
Introduction et Généralités sur l’Algorithmique
1 Initiation aux bases de données et à la programmation événementielle Responsable : Souheib BAARIR. (le sujet de votre .
Section baccalauréat professionnel Lycée XXX
Introduction.
La copa de la vida LA OPERA DE PARIS LA OPERA DE PARIS NO USES EL RATON Y CONECTA LOS ALTAVOCES.
Combinatoire, Informatique et Physique des liens anciens et étroits Quels langages communs ? Gérard H. E. Duchamp Séminaire du Laboratoire de Mathématiques.
Persistance de noyau dans les systèmes dynamiques à grande échelle
de la connaissance des facteurs de risque
Intégration des Tableaux Multidimensionnels en Pig pour
Introduction à la Programmation Orientée Objet
Enchaînement d’opérations
Problématiques Mauvaise perception des Google Glass Les lunettes ont leurs preuves à faire Aucune ligne de production Aucun réseau de distribution.
Travail # 1 Tutorial de mathematiques Foyer : 140
Introduction à la rédaction Scientifique
Le langage SQL LA Plan 1. Introduction Rappels sur le modèle relationnel Les caractéristiques du langage SQL 2. Le Langage d'Interrogation des.
Réponses Page 227 #3-10,12,13. ► ► 3. La vitesse moyenne d’un objet est égale à la pente du segment de droite qui relie deux points d’un graphique de.
Durée : 4 heures Coefficient : 6 Epreuve écrite. Première partie : Analyse d’une situation de gestion Plusieurs sous-parties (3 en général) Présentation.
La médecine entre science et technique Georges Canguilhem.
Opérations sur les nombres relatifs Chapitre 1 Classe de 4ème.
Transcription de la présentation:

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/ Dept. Computer Science & Engineering - University of Connecticut Laboratoire de Recherche en Informatique - Universite Paris XI Orsay 08.03.2005 Vincent Gramoli

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

Plan Introduction Séquence de configuration Paxos Reconfiguration Opérations Idée de preuve Conclusion 08.03.2005 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 : 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) 08.03.2005 Master Recherche Informatique

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. 08.03.2005 Master Recherche Informatique

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 08.03.2005 Master Recherche Informatique

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. 08.03.2005 Master Recherche Informatique

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. 08.03.2005 Master Recherche Informatique

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) 08.03.2005 Master Recherche Informatique

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. 08.03.2005 Master Recherche Informatique

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. 08.03.2005 Master Recherche Informatique

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). 08.03.2005 Master Recherche Informatique

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). 08.03.2005 Master Recherche Informatique

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. 08.03.2005 Master Recherche Informatique

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

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. 08.03.2005 Master Recherche Informatique

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 ┴ ┴ ┴ ┴ … 08.03.2005 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. 08.03.2005 Master Recherche Informatique

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

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 » 08.03.2005 Master Recherche Informatique

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 08.03.2005 Master Recherche Informatique

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. 08.03.2005 Master Recherche Informatique

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é. B1 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. β γ ε B2 d2 B3 d1 α γ δ 08.03.2005 Master Recherche Informatique

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é. 08.03.2005 Master Recherche Informatique

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

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). 08.03.2005 Master Recherche Informatique

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. 08.03.2005 Master Recherche Informatique

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 08.03.2005 Master Recherche Informatique

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 ┴ ┴ … 08.03.2005 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: 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’ 08.03.2005 Master Recherche Informatique

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’ ┴ … 08.03.2005 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 (s’il y en a). L’opération est donc éventuellement prolongée. 08.03.2005 Master Recherche Informatique

Plan Introduction Séquence de configuration Paxos Reconfiguration Opérations Idée de preuve Conclusion 08.03.2005 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 = <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. 08.03.2005 Master Recherche Informatique

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 08.03.2005 Master Recherche Informatique

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 08.03.2005 Master Recherche Informatique

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

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. 08.03.2005 Master Recherche Informatique

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). 08.03.2005 Master Recherche Informatique

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. 08.03.2005 Master Recherche Informatique

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: http://www.cse.uconn.edu/~gramoli/ 08.03.2005 Master Recherche Informatique