Académique Documents
Professionnel Documents
Culture Documents
Mars 2000
Modles de cohrence
n
Modle de cohrence
Hypothse : une donne est duplique Chaque partie de l application accde la copie locale de la donne Contrat entre lapplication et la mmoire spcifiant les accs la mmoire partage et leur perception par le programmeur
Protocole de cohrence
Met en uvre un modle de cohrence particulier Impose une synchronisation entre les diffrentes copies qui peuvent diverger Principe : diffusions des critures ou invalidation des copies aprs criture - quand ?
Cohrence sans synchronisation Cohrence avec synchronisation
2
Cohrence atomique
Un modle de cohrence est atomique si une opration de lecture sur une donne retourne la valeur affecte par la dernire opration dcriture sur cette donne.
Garantit un comportement similaire de la mmoire centralise Exemple de protocole : invalidation de pages dans Ivy
4
L=3
E(6)
P2 L=2
E(3)
L=3 E(5)
P3 L=5
5
Garantit que tous les processus percevront les oprations dans le mme ordre Ne garantit pas quune lecture obtiendra la dernire valeur affecte par une criture Protocole doit essentiellement garantir lordre total (qui n est pas ncessairement global) Cohrence objet : restriction de la cohrence squentielle 6 un objet
P3
L=4
7
Cohrence causale
Un modle de cohrence est causal s il garantit les deux conditions suivantes :
- Les oprations d criture potentiellement causalement lies doivent tre perues par tous les processus dans le mme ordre ; - Les oprations d criture non causalement lies peuvent tre perues dans des ordres diffrents, sur des processus diffrents.
n n
Relchement de la cohrence squentielle en fonction de la causalit entre les oprations Tous les processus peroivent les oprations d criture causalement lies dans le mme ordre. Par contre, aucunes contraintes sur les oprations d critures concurrentes Moins de synchronisation que dans le modle de cohrence squentielle
8
L=3
E(6)
L=2 E(3) L=3 E(5)
P2
P3
L=6
9
Cohrence PRAM
Un modle de cohrence est PRAM s il garantit que les oprations d criture effectues par un mme processus sont perues par tous les processus dans l ordre o ces oprations ont t effectues. Les oprations d criture effectues par diffrents processus peuvent tre perues par chaque processus dans un ordre diffrent. n
Relchement du modle de cohrence causale : certaines transitivits dues la relations de causalit ne sont pas considres Protocole implantable sous forme de files d oprations d criture
10
P3
L=3
11
Cohrence la longue
Un modle de cohrence est la longue s il garantit que les oprations d criture seront propages
C est le modle de cohrence le plus faible Aucun ordre sur les oprations n est impos
12
P3 L=2
13
14
Cohrence faible
Un modle de cohrence est faible s il garantit les trois proprits suivantes :
- Les oprations sur les variables de synchronisation se font selon un modle de cohrence squentielle ; - L accs aux variables de synchronisation ne peut se terminer que si toutes les oprations d criture et de lecture sont termines sur tous les sites ; - Les oprations de lecture et d criture ne peuvent se faire que si toutes les oprations sur les variables de synchronisation sont termines sur tous les sites.
que toutes les modifications effectues sont reues par tous les processus qu il a reu toutes les modifications faites par tous les processus
P3 Sync L=8
16
Cohrence au relchement
Un modle de cohrence est au relchement s il garantit les trois proprits suivantes :
- Les oprations de synchronisation (acquire et release) se font selon un modle de cohrence processeur ; - Les oprations de lecture et d criture ne peuvent se faire que si toutes les oprations d acquisition prcdentes sont termines sur tous les sites ; - L opration de relchement ne peut se terminer que si toutes les oprations d criture et de lecture sont termines sur tous les sites.
Quand un processus effectue une opration de relchement, les modifications quil a effectues seront observes par tous les processus faisant une acquisition ultrieure Protocole de cohrence au relchement
impatiente paresseuse
17
P2
Acq L = 2 E(3)
Rel
P2
Acq L = 2 E(3)
Rel
Types de rplication
n
Symtrique
Toutes les copies peuvent recevoir les mises jour Copie primaire : reoit les mises jour Copie secondaire : en consultation seulement Vue En consultation seulement Rvalues priodiquement
20
Asymtrique
Photographie (snapshot)
Rplication symtrique
Primaire2 u2(i)
u2(i)
Primaire3
u3(i)
21
Secondaire1
Secondaire2
22
Primaire1
u(i) Secondaire3
u(i)
temps
23
Cohrence forte
Toute interrogation dune copie quelconque reflte le rsultat de toutes les modifications antrieures
Cohrence faible
Il est tolr quune interrogation ne reflte pas toutes les modifications antrieures, avec la garantie que celles-ci soient toutes rpercutes au bout dun temps fini
24
Synchrone
Asynchrone
Asymtrique
Synchrone Primaire1
Primaire2
Primaire
u(i)
Secondaire
u1(i)
u(i)
Asynchro ne
Primaire1
Primaire2
Primaire
u(i)
Secondaire
26
Synchronisation totale Synchronisation des copies disponibles Quorum Primaire / secondaire (lazy master) Primaire / sauvegarde Indpendant
27
n n n n
Synchronisation totale
n
Toutes les copies sont mises jour de manire synchrone Invariant : toutes les copies sont jour Latomicit est garantie par le protocole de validation deux phases
28
Toutes les copies disponibles sont mises jour de manire synchrone Copies indisponibles mises jour de manire asynchrone Invariant : toutes les copies disponibles sont jour Latomicit est garantie par le protocole de validation deux phases Possibilit de copies non jour
29
Quorum
n
Les mises jour ont lieu de manire synchrone seulement sur un sous ensemble des copies, qui forment un quorum Les copies ne faisant pas partie du quorum sont mises jour de manire asynchrone
R+W>N 2W > N (exclusion des lecteurs/crivains) (exclusion de 2 crivains)
30
Primaire/secondaire
n
Les mises jour sont faites sur la copie primaire. Les copies secondaires sont mises jour de manire asynchrone Invariant : la copie primaire est toujours jour
31
Primaire/sauvegarde
n
Les mises jour sont faites sur la copie primaire. Une des copies secondaire est dsigne comme tant la sauvegarde. Celle-ci est responsable de la reprise sur dfaillance de la copie primaire. Toutes les autres copies secondaires sont mises jour de manire asynchrone Invariant : Lorsquelle est disponible la copie primaire est toujours jour. La sauvegarde est la premire copie mise jour ensuite
32
Indpendant
n
Les mises jour sont faites sur des copies quelconques Possibilit de copies incompatibles : algorithmes de rconciliation Invariant : aucune copie est garantie tre jour
33
Mises jour
Total, diffrentiel (propagation des dernires mises jour) Rplication procdurale ( la procdure
excute sur la source est propage vers le site cible pour y tre excute)
Initiative du rafrachissement
Cohrence globale
n
Une excution entrelace donne dun ensemble de transactions est considre correcte si elle produit le mme rsultat quune certaine excution en srie des mmes transactions
Protocoles :
Contrle de concurrence pessimiste : verrouillage deux phases 35 Contrle de concurrence optimiste : estampillage
Relchement de la srialisabilit
n n
Degr 0 : une transaction ayant un niveau disolation 0 ne peut crire sur une donne sale dune autre transaction si celle-ci est dun degr suprieur ou gal 1 Degr 1 : Une transaction ayant un niveau disolation 1 ne peut pas perdre de mises jour Degr 2 : Une transaction ayant un niveau disolation 2 ne peut pas perdre de mises jour et ne peut pas faire de lectures sales Degr 3 : Une transaction ayant un niveau disolation 3 ne peut pas perdre de mises jour et peut rpter ses lectures (=> pas de lectures sales)
36