Title: RAMBO III Acc
1RAMBO IIIAccélérer la reconfiguration dun
service de mémoire atomique en systèmes
distribués
- Vincent GramoliAdvisor Alexander A. Shvartsman
- v.gramoli_at_free.frDept. Computer Science
Engineering - University of ConnecticutLaboratoir
e de Recherche en Informatique - Universite Paris
XI Orsay
Vincent Gramoli
10.09.2004
1
2Plan
- Introduction
- Etat de lart
- Prérequis
- Intégration de Paxos dans RAMBO
- Propriété datomicité
- Idée de preuve
- Conclusion
2
3Introduction
Contexte et problématique
- Contexte général
- Consistance mémoire en systèmes distribués
dynamiques asynchrones - Problématique
- Accroître la tolérance aux pannes dun service de
mémoire atomique - Intégrer un algorithme de consensus pour la
reconfiguration dun service tolérant aux pannes - Piggybacker les messages et paralleliser les
opérations parallelisables.
3
4État de lart
Consistance des données et Paxos
- Données consistantes
- Collection densemble dobjets intersectés
- Majorité (Upfal et al. - 1987)
- Quorum reconfiguration (Lynch, Shvartsman -
1997) - Accentuation du dynamisme
- Configurations (Englert, Shvartsman - 2000)
- Nœuds (Lynch, Shvartsman RAMBO - 2002)
- Paxos
- Origines de Paxos
- TR (Lamport 88)
- Part-Time parliament (Lamport 98)
- Formalisme
- De Prisco MS thesis (2000)
- Preuve de consensus (De Prisco et al. 2002)
4
5Prérequis
Quest-ce que RAMBO ?
- Service Reconfigurable de Mémoire Atomique pour
Objets Basiques - au sein dun réseau dynamique et en systèmes
asynchrones - Disponibilité en présence de pannes
- Réplication des objets
- Consistance mémoire en présence de changements
- Utilisation de configurations
- un ensemble de membres
- un ensemble de quorums de lecture (R)
- un ensemble de quorums d'écriture (W)
- Tolérance aux défaillances
- Reconfiguration changeant les membres et les
quorums - Pas de violation d'atomicité en reconfiguration
- Applications Réseaux mobiles, P2P
5
6Prérequis
Comment fonctionne Paxos ?
- Algorithme
- Le leader crée un bulletin de vote et en
informe les participants. - Les participants répondent le dernier ballot pour
lequel ils ont votes. - Le leader attribue une valeur et la propose pour
vote. - Soit le ballot est voté par une majorité soit on
recommence.
- Bulletin
- 1 ID Bi
- 1 décret di
- 1 quorum Qi
- des votants votei
Bulletin décret quorum
a d e
B1 d1
- 3 règles
- Bulletins uniques et ordonnés
- ? i,j Qi ? Qj ? Ø
- Si e ? Qi alors
- Si ? Bj maxBk BkltBi e ? votej
- alors di dj
b c e
B2 d2
a c d
B3 d1
6
7Intégration de Paxos dans RAMBO
1) Recouvrement de phases
- Idée de départ
- La reconfiguration se fait en 3 étapes (décision
dune configuration, demande de linformation
puis propagation a la nouvelle configuration) - Observation
ballot
ack
query
config.
leader
Quorums
leader
Quorums
tag
vote
prop
prop
- Finalement
- Piggybacking des messages
- Accélération de la reconfiguration en évitant
deux échanges
7
8Intégration de Paxos dans RAMBO
2) Changement de configuration
- Au début
- une seule configuration est installée
- Reconfiguration
- le leader contacte un quorum de lecture et un
d'écriture de chaque configuration installée,
récupérant ainsi linformation a jour - le leader contacte un quorum d'écriture de la
dernière configuration et de la nouvelle
configuration les informant de - linstallation de cette dernière
- la suppression éventuelle de lavant-dernière
configuration
8
9Propriété d'atomicité
- Les opérations sont atomiques si un tel ordre
partiel est respecte. - Aucune opération est précédée dune infinité
dopérations - Lordre partiel est consistant avec lordre
externe dinvocations-réponses - Les opérations d'écriture sont totalement
ordonnées et les opérations de lecture sont
ordonnées par rapport aux écritures - Toute opération de lecture précédée dune
écriture renvoie la valeur de la dernière
opération d'écriture la précédant
10Idée de preuve
1) Opérations de lecture/écriture
- On utilise des tags situés sur les répliquas de
lobjet permettant d'étiqueter les opérations - Le client demande la dernière valeur (il contacte
le porteur du plus grand tag).
Demande des valeurs et tags de R3
- Le client propage le nouveau tag et la
nouvelle valeur - La propriété des quorums assure que le tag
respecte un ordre partiel qui définit latomicité
(linéarisation) des opérations.
Propagation de la nouvelle valeur et du nouveau
tag de W1
11Idée de preuve
2) Reconfiguration
A. Installer une nouvelle configuration
Installation dune nouvelle configuration
Configuration C'
Configuration C
Les ensembles qui seront contactés sont a
nouveau des quorums
12Idée de preuve
2) Reconfiguration
B. Enlever une configuration obsolete
- Si chaque noeud conserve linformation dune
seule configuration la consistance peut être
detruite. - Lopération décriture contacte un R de C
- La reconfiguration seffectue ajoutant C et
supprimant C - Lopération décriture contacte un W de C
- Cest pourquoi on supprime C en installant C et
non C
Configuration C
Configuration C
Configuration C
- La propriété des quorums est conservée (R2 U
R2) ? (W3 U W2) ? Ø
13Conclusion
- Contributions
- Integration de Paxos dans RAMBO
- Acceleration de loperation de reconfiguration de
RAMBO - Tolerance aux defaillances accrue
- Perspectives
- Comparer les differentes solutions proposees au
probleme de lecriture sur une configuration
obsolete. - Implementation sur un reseau de workstation
- Paxos etant maintenant utiliser, etudier les
benefices de lutilisation de configurations
intermediaires (celles proposees dans Paxos) - Plus dinfos http//www.engr.uconn.edu/gramoli/t
hesis/
13