Professional Documents
Culture Documents
ISI 2 ingnieurs
AU 2014/15
Plan
Introduction:
Dfinition, organisation, proprits,
Validation atomique
2. Groupes, diffusion, cohrence
3. Consensus, prise de dcision
1.
spares
Intgration massive de ressources
Grilles de calcul, gestion de donnes
nouveaux dapplication
Intgration dobjets du monde rel (informatique
omniprsente )
Surveillance et commande dinstallations
6
Organisation dun
systme rparti
10
11
Problmes fondamentaux
Comment dterminer des proprits globales partir
dobservations locales ?
Comment coordonner des oprations en labsence
dhorloge commune ?
Comment partager des donnes en labsence de
mmoire commune ?
Y a-t-il des problmes intrinsquement insolubles ?
Comment
dfinir, et maintenir, la cohrence
dinformations rparties ?
Comment garder un systme en fonctionnement
malgr des dfaillances partielles
12
Solutions fondamentales
Il faut dfinir des modles
Un modle est une reprsentation du monde rel
Un modle reprsente des lments rels par des lments
abstraits
Un mme systme rel peut tre reprsent par des modles
diffrents
selon le problme auquel on sintresse
selon le degr de dtail atteint
Tout modle a des limites
Il faut utiliser les modles
Pour observer et comprendre le comportement du systme rel
Pour prdire le comportement du systme rel dans certaines
13 circonstances
Bases de lalgorithmique
rpartie
1. Ordre, temps, tat dans un
systme rparti
2. Observation cohrente
3. Algorithmes rpartis de base
14
vnements)
Asynchronisme des communications
Pas de borne suprieure sur le temps de transit dun message
15
Sret et vivacit
On est souvent amen spcifier et vrifier
narrivera jamais
Exemples : violation de lexclusion mutuelle incohrence
Le modle asynchrone
(fiable)
Le but est de modliser certains aspects
du monde rel
Asynchronisme des communications et des
traitements
Cest le modle le plus faible
Les contraintes sont les plus fortes les
certaines contraintes
Exemple : borne suprieure sur le traitement et/ou
la dure de transmission
17
Le modle asynchrone
18
Rception / Dlivrance
On suppose disponible un systme de communication
Rception / Dlivrance
Bien distinguer la rception dun message de
20
vnements, historique,
synchronisation
Lexcution dun processus est une suite
processus p1
Que veut dire synchroniser deux processus ?
Imposer un ordre entre des vnements
appartenant ces deux processus
Exemple : lexclusion mutuelle
fin(C2) prcde deb(C1) ou fin(C1) prcde deb(C2)
21
Relation de prcdence
Le problme :
1) Dfinir une relation globale de prcdence (donner un
La causalit
Dfinition [Lamport 78] :
e prcde causalement e' ( e e') si :
23
Dpendance et indpendance
causale
Dfinition : pass (ou historique) dun vnement e
hist(e) = lensemble des e' tels que e' e {e}
influencer e
25
Problme de datation
Problme : construire un systme de
26
Problme de datation
27
28
proprit FIFO
30
Observation valide
Temporairement, lever lhypothse
dasynchronisme
temps de transmission born = & et supposer
quon dispose dune horloge HR donnant le
temps rel.
Chaque vnement transmis lobservateur
est estampill par HR
une observation de e est le couple (e, HR(e))
31
Observation valide
Au temps t, on dlivre tous les messages
32
Caractrisation des
observations valides
Condition de validit:
" Dans un systme o les observations sont
ordonnes par des estampilles H, une
condition suffisante de validit est :
e e' H(e) < H(e') : condition de
validit faible de lhorloge (implication dans
un seul sens)
Cette condition est trivialement satisfaite
par HR
33
Etat Global?
Pas de HR
Temps de propagation des messages nest
pas born
Objectif: construire un systme dhorloges
assurant une observation valide, en
respectant la condition de validit faible
Labsence de borne & aura une
consquence sur la compltude, non sur la
validit
34
Horloges logiques
(Lamport)
Principe:
chaque site i, un compteur HLi valeurs
entires
Un vnement e se produisant sur le site i
est dat par la valeur courante de HLi , soit
HLi(e)
Un message m mis partir du site i porte
une estampille gale sa date dmission
35
Algorithme de Lamport
Initialisation :
HLi = 0
vnement local :
HLi = HLi + 1
incrmentation)
Rception dun message (m, Em) :
HLi = max (HLi, Em) + 1
36
Exemple
37
39
avec les HL
Plus gnralement, si HL(e) < HL(e'),
existe-t-il e" tel que e e" e' ?
Question insoluble. Il sagit dune proprit
de vivacit (un vnement va-t-il arriver ?)
Risque dun vnement ne soit pas dtect.
40
42
Horloges vectorielles
On cherche caractriser la dpendance causale, en
construisant un systme de datation H qui ait la
proprit de validit forte :
e e H(e) < H(e')
Applications
observation, mise au point (attribution dune cause un
effet)
communication causale, diffusion causale
contrle et maintien de la cohrence dinformations (Ex:
la reprise aprs une panne)
43
But
Dater les vnements
Identique aux horloges logiques
44
Exemple
46
HV et structure de treillis
47
Horloges vectorielles
48
Horloges vectorielles
Horloges matricielles
Synthse
Horloge logique ou scalaire
Rduite un nombre
Ce que Pi connat du systme (Hi)
Horloge vectorielle
Vecteur dhorloges scalaires
Ce que Pi connat de Pj (Hi[j])
Horloge matricielle
Matrice dhorloges
Ce que Pi connat de ce que Pj connat de Pk
(Hi[j,k])
50
Horloges matricielles
Principe
Horloge matricielle/Site
nxn
Evnement ei de Pi
Dat par la valeur courante de HMi
Envoi de message
Estampill par Hmi
Smantique
Interprtation de HMi[j,k]
Nombre de messages de Pj vers Pk dont Pi a
connaissance
51
Horloges matricielles
Evnement local Pi
HMi[i,i] = HMi[i,i] + 1
52
Horloges matricielles
Rception de (m,Em) par Pj
Dlivr que si tous les messages qui sont
autres sites)
53
Exemple
54
55
Horloges matricielles
Optimisations
les horloges matricielles sont coteuses
( O(n2) )
Diverses optimisations ont t proposes
partitionner le systme en sous-systmes
56
Exercice dapplication
On considre l'excution parallle reprsente par
la figure ci-dessous, dans laquelle :
les lignes horizontales reprsentent les chelles
de temps de processus.
eij reprsente le jme vnement observable sur
le processus Pi.
les flches reliant les vnements de processus
distincts sont des changes de messages
TAF:
Appliquer lalgorithme de lhorloge matricielle sur
les deux systmes rpartis suivants.
57
Exercice dapplication
58
59
Exercice dapplication
61
Coupures
Coupures cohrentes
Plan
Introduction:
Dfinition, organisation, proprits,
Validation atomique
2. Groupes, diffusion, cohrence
3. Consensus, prise de dcision
1.
67
Dfinition
Exclusion mutuelle
Contexte de plusieurs processus s'excutant en
parallle
Accs une ressource partage par un seul
processus la fois
Exclusion mutuelle en distribu
Accs une ressource partage distante par un seul
processus la fois
Processus distribus
Requtes et gestion d'accs via des messages
changs entre les processus
Ncessit de mettre en uvre des algorithmes
68
grant ces changes de messages pour assurer
Rappel
Un processus est dans 3 tats possibles, par
69
la ressource
Ressource
70
73
74
processus
Canaux fiables mais pas forcment FIFO
Localement, un processus Pi possde un tableau nbreq, de taille N
Pour Pi, nbreq [ j ] est le nombre de requtes d'accs que le
76
77
+1
Pj mmorise que Pi a demand avoir la ressource
Si Pj possde le jeton et est dans l'tat dehors
Pj envoie le jeton Pi
78
79
80
Permission individuelle
un processus peut donner sa permission
81
Permission individuelle
Se base sur une horloge logique (Lamport)
ressource
82
83
85
i,j [ 1..N ] : Ri Rj
Deux sous-ensembles de 2 processus diffrents ont
obligatoirement au
moins un lment en commun (le ou les arbitres)
Cela rend donc inutile le besoin de demander la
permission tous les
processus, d'o les sous-ensembles Ri ne contenant pas
tous les
processus
i : | Ri | = K
Pour une raison d'quit, les sous-ensembles ont la mme
87
Fonctionnement de
l'algorithme
Chaque processus possde localement
Une variable vote permettant de savoir si le
Initialisation
tat non demandeur, vote = faux et file = ,
88
rponses = 0
Fonctionnement de l'algorithme
(Suite)
vote = vrai
Fonctionnement de l'algorithme
(Suite)
lection
Problme
Parmi un ensemble de processus, en choisir
lection
Utilit et domaines dapplication
Regnration dun jeton perdu : un
lection
Algorithme de base: Bully algorithm
Algorithme de la brute
Hypothses
Rseau fiable et synchrone
Identit des processus connue par tous
Principe
Bas sur la recherche dun min dun ensemble
Demande dlection par inondation
Rponse ceux qui ont un numro infrieur
le Processus est lu sil ne reoit aucune
rponse
95
Terminaison (1)
Modle de calcul rparti (rappel)
Ensemble de processus communiquant par messages ; tat actif ou
passif
Programme (cyclique) de chaque processus :
loop
1. attendre un message (passage temporaire ltat passif)
2. excuter un calcul local en rponse ce message
3. le calcul peut comporter lenvoi de messages dautres processus
ou la terminaison du processus (passage dfinitif ltat passif)
end
Problme de la terminaison
Vrifier que le calcul est achev
Cela implique deux conditions sur ltat global du systme
Tous les processus sont au repos (passifs)
Aucun message nest en transit
En effet larrive dun message en transit peut relancer le calcul
rparti
Terminaison (2)
Mthodes pour dtecter la terminaison
Terminaison sur un
anneau
Principe :
visiter lanneau dans le sens de la
Misra (1983)
dbut dun traitement (rception de message)
tat := actif;
couleur := noir;
fin dun traitement
tat:= passif;
if jeton_present then
couleur := blanc
envoyer_jeton(1);
jeton_present:=false;
end;
101
rception du jeton(j)
if tat :=actif then /* site actif */
jeton_present :=true;
else
if j=N and couleur=blanc then /* site non actif */
terminaison_dtecte;
else
if couleur=blanc then
envoyer_jeton(j+1);
Else
couleur:=blanc;
envoyer_jeton(1);
end;
end;
End;
102
Plan
Dfinition de base
Sret de fonctionnement
Dfaillances
Degr de gravit des dfaillances
Modle
Panne franche
Panne par omission
Panne de temporisation
Pannes arbitraires (ou byzantines)
Dfinition de base
Service
Ensemble de fonctions dfini par une
interface, contrat entre le fournisseur et
lutilisateur du service.
Proprit dun systme informatique
permettant ses utilisateurs de placer une
confiance justifie dans le service que
dlivre le systme
Sret de fonctionnement
(dependability)
Fiabilit (reliability): le systme est en tat (continu) de rendre le
service
Mesure : probabilit (fonction du temps t) que le systme ne soit pas
aux autres
Dfaillances
Dfinition
Un systme (ou composant) est sujet une
sortants
Types de Pannes:
Panne franche
Dit aussi : arrt sur dfaillance (fail
stop)
ou bien le systme fonctionne,
et donne un rsultat correct
ou bien il est en panne
(dfaillant), et ne fait rien
Cest le cas le plus simple, et on
essaie de sy ramener (au besoin en
forant larrt dun composant ds
quune erreur y a t dtecte :
technique fail fast)
Pannes de temporisation
Les dviations par rapport aux
spcifications concernent
uniquement le temps (par
exemple temps de raction un
vnement)
Types de Pannes
Panne par omission
Le systme perd des messages
entrants (omission en rception),
sortants (omission en mission),
ou les deux. Il ny a pas dautres
dviations par rapport aux
spcifications
Ce modle peut servir
reprsenter des dfaillances du
rseau
Plus difficile traiter que la
panne franche
Mesures de fiabilit et
disponibilit
Mesure de la fiabilit
Probabilit R(t) que le systme ne soit pas dfaillant entre 0 et
t
Temps moyen jusqu la prochaine panne : E(R(t)) = MTTF
(Mean Time To Failure)
Mesure de la disponibilit
Disponibilit instantane : Probabilit A(t) que le systme soit
un service correct
Mesure : temps moyen de rparation : MTTR (Mean Time To
Repair)
dfaillance
Le temps entre lapparition de ltat derreur et la dfaillance
est le dlai de latence
plus le dlai de latence est long, plus la recherche des causes
loccurrence de fautes
Par la prvention
Analyser les causes potentielles de fautes
Prendre des mesures pour les liminer (pas toujours
possible) ou rduire leur probabilit
Par lvaluation
Prvoir les fautes (et les mesures pour y faire face)
Prvision souvent statistique
Par la vrification
Avant mise en route du systme : examiner les fautes
restantes, et liminer celles que lon peut liminer
parties du systme
Rparation
Remettre du systme en tat de fournir un service
correct