Mémoires Partagées Distribuées pour systèmes dynamiques à grande échelle Vincent Gramoli
Mémoires Partagées Distribuées pour systèmes dynamiques à grande échelle
Vincent Gramoli
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
Plan
Introduction
MPD et Dynamisme
MPD et Passage à l’échelle
Conclusion
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
Motivations
Primitives de lecture/écriture Cohérence Tolérance aux dynamisme Passage à l’échelle
Applications possibles Travail coopératif en systèmes dynamiques WebServices et P2P:
• billets de train, • enchères…
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
Modèle
Système distribué Ensemble de noeuds avec identifiants uniques.Système dynamique Chaque noeud peut crasher, quitter ou arriver à tout
moment. Un noeud arrivant a un nouvel identifiant.Communication asynchrone Transmission arbitrairement longue Un message est reçu ssi il a été envoyéMémoire Chaque objet est répliqué sur des noeuds serveurs. Chaque objet est accédé (lus/écrits) par des nœuds
clients.
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
Atomicité de mémoire partagée distribuée
Grossièrement,“Tous les noeuds voient la conséquence de toute opération en
fonction du moment auquel l’opération se produit.”
Plus précisément, ils les voient dans un ordre précis:
1. Opérations (Ops.) non-concurrentes apparaissent dans l’ordre de leur éxécution.
2. Ops. d’écriture sont ordonnées totalement.
3. Ops. de lecture sont ordonnées par rapport aux écritures.
4. Une op. de lecture retourne la valeur écrite par l’écriture la précédant (ou la valeur par défaut, si aucune existe).
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
Example
P1
P2
R(v0)
W(v1)
P1 et P2 accèdent le même objet dont la valeur par défaut est v0.
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
Example
P1
P2
R(v0)
W(v1)
Moment d’occurrence virtuelle (i.e., point de serialization)
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
Contre-example
P1
P2
R(v0)
W(v1)
P3
R(v1)
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
Contre-example
P1
P2
R(v0)
W(v1)
R(v0) < W(v1) < R(v1) by property 4.But R(v0) > R(v1) by property 1
P3
R(v1)
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
Opérations utilisant les quorums
Quorums: Ensembles qui s’intersectent mutuellement (ici, de taille O(√n)). Chaque opération consulte et propage sur un quorum [ABD95].
Example, dans le cas précédent:
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
Opérations utilisant les quorums
Quorums: Ensembles qui s’intersectent mutuellement (ici, de taille O(√n)). Chaque opération consulte et propage sur un quorum [ABD95].
Example, dans le cas précédent: Si la lecture de P3 termine après avoir vu v1, Alors v1 a été propagé et P2 voit v1 lors de sa lecture.
P1
P2R(v1) consulte un quorum
W(v1)
P3R(v1) propage sur un quorum
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Dynamisme
serveursclients
Operations:temps: O(1)msg: O(√n)
Connaissance globale Un client connaît tout un quorum
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Dynamisme
serveurs
Operations:temps: O(1)msg: O(√n)
Reconfiguration:temps: O(1)msg: O(√n)
Connaissance globale La reconfiguration est périodique
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Dynamisme
serveurs
Operations:temps: O(1)msg: O(√n)
Reconfiguration:temps: O(1)msg: O(√n)
Connaissance globale La reconfiguration est périodique
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Dynamisme
serveurs
Operations:temps: O(1)msg: O(√n)
Reconfiguration:temps: O(1)msg: O(√n)
Connaissance globale La reconfiguration est générale
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Dynamisme
serveurs
Operations:temps: O(1)msg: O(√n)
Reconfiguration:temps: O(1)msg: O(√n)
Connaissance globale Les quorums entiers sont remplacés
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Dynamisme
Pannes s’accumulant Reconfiguration périodique [RAMBO]
Congestions possibles Diminuer nb. de msg nécessaires [GMS05]
Intensification du dynamisme Accélérer la reconfiguration [RDS]
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Passage à l’échelle
serveursclients
Operations:temps: O(√n)msg: O(√n)
Connaissance restreinte [NW03, SQUARE] Opérations adaptatives
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Passage à l’échelle
serveurs
Operations:temps: O(√n)msg: O(√n)
Reconfiguration:temps: O(1)msg: O(1)
Connaissance restreinte [NW03, SQUARE] Reconfiguration locale
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Passage à l’échelle
serveurs
Operations:temps: O(√n)msg: O(√n)
Reconfiguration:temps: O(1)msg: O(1)
Connaissance restreinte [NW03, SQUARE] Chaque noeud défaillant est remplacé
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Passage à l’échelle
serveurs
Operations:temps: O(√n)msg: O(√n)
Reconfiguration:temps: O(1)msg: O(1)
Connaissance restreinte [NW03, SQUARE] Reconfiguration à la demande
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Passage à l’échelle
serveurs
Operations:temps: O(√n)msg: O(√n)
Reconfiguration:temps: O(1)msg: O(1)
Connaissance restreinte [NW03, SQUARE] Reconfiguration à la demande
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Passage à l’échelle
Operations:temps: O(log n)msg: O(√n log n)
clients / serveurs
Méthode probabiliste avec structure [AM03] Opérations avec marches aléatoires
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Passage à l’échelle
Operations:temps: O(log n)msg: O(√n log n)
Reconfiguration:temps: O(log n)
msg: O(log n)
clients / serveurs
Méthode probabiliste avec structure [AM03] Reconfiguration de rééquilibrage du graphe
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Passage à l’échelle
Operations:temps: O(log √n)msg: O(√n)
clients / serveurs
Méthode probabiliste sans structure [GKM+06] Opération épidémique
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
MPD et Passage à l’échelle
Operations:temps: O(log √n)msg: O(√n)
Reconfiguration:0 si graphe aléatoire
clients / serveurs
Méthode probabiliste sans structure [GKM+06] Aucune reconfiguration nécessaire
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
Conclusion
Solutions Ex. Inconvénients AvantagesStructurée reconfigurable
RDS messages temps
Structurée adaptative
SQUARE temps messages
Structurée probabiliste
AM03 garantie probabiliste
temps
Non-structurée GKM+06 garantie probabiliste
temps et messages
JDIR19 Janvier 2007
Vincent Gramoli, ASAP Research group
Références
[ABD95] Robust Emulation of a Shared Memory in Msg-passing Sys. J.ACM 95 H. Attiya, A. Bar-Noy, and D. Dolev.
[RAMBO] Reconfgurable Atomic Memory in Dynamic Systems. DISC’02. N. Lynch and A. Shvartsman
[AM03] Probabilistic Quorums for Dynamic Systems. Dist.Comp.’03. I. Abraham and D. Malkhi
[NW03] Scalable and Dynamic Quorum Systems. PODC’03. M. Naor and U. Wieder
[GMS05] Operation Liveness and Gossip Mgt. in Distr. Atomic Data Sce. PDCS’05.
V. Gramoli, P. Musial, and A. Shvartsman[RDS] Reconfigurable Distributed Storage. OPODIS’05
G. Chockler, S. Gilbert, V. Gramoli, P. Musial, and A. Shvartsman[GKM+06] Core Persistence in P2P Systems. RDDS’06.
V.Gramoli, A.-M.Kermarrec, A.Mostefaoui, M.Raynal, and B.Sericola.[SQUARE] Scalable Quorum-based Atomic Memory w/ Local Reconfiguration.
SAC’07 V. Gramoli, E. Anceaume, and A. Virgillito.