LA TOLRANCE AUX PANNES
DANS LES SYSTMES RPARTIS
G. Florin
Laboratoire CEDRIC
CNAM
1
PLAN DE L'EXPOSE
- Introduction: concepts de base de la sret
de fonctionnement
- Classification des pannes.
- Diffrents types de redondances.
- Principaux problmes de la tolrance aux
pannes.
- Conclusion.
2
INTRODUCTION: CONCEPTS DE BASE
DES SYSTMES REPARTIS
SURS DE FONCTIONNEMENT
3
Systme sr ("dependable")
Qualitativement on peut avoir
"confiance" dans le service qu'il rend.
Systme rparti sr
- Ensemble de plusieurs calculateurs
relis en rseau qui collaborent pour des
traitements contrainte de sret
En contrle de processus industriel
. fortes contraintes de sret
. contraintes d'chances fortes/faibles
. support de dispositifs spcifiques
Mais aussi en gestion transactionnelle
. faibles contraintes de sret
. faibles contraintes d'chance
Tout systme rparti doit assurer la
prise en compte des contraintes de sret
(algorithmique rpartie des systmes et des
rseaux, calcul intensif, ...)
4
Terminologie de la sret de
fonctionnement ("Dependability")
Les fautes (erreurs de conception,
accidents, malveillances)
L'existence d'erreurs de conception
("design errors") ou d'accidents physiques
("physical damage") ou de malveillances
est invitable.
- Erreurs de conception, programmation
ou de saisie.
- Accidents dus l'environnement.
- Malveillances intentionnelles.
Les tats errons
L'une des circonstances prcdentes
peut ne pas gner le systme ou le gner en
conduisant un tat erron (non prvu).
Cet tat peut rester indtect longtemps
(latence de la faute) mais conduit court ou
long terme une dfaillance ou panne.
Problme: dfinir la faute qui conduit
l'tat erron.
5
Dfaillances, pannes
("Failures")
Le systme est en panne si suite l'un
des phnomnes prcdents il ne respecte
pas l'une de ses spcifications.
La panne est la manifestation au niveau
du service rendu d'une faute.
6
Systmes de scurit, systmes critiques
"Safety critical systems"
Le domaine d'utilisation du systme est
particulirement dangereux et met en jeu
des vies humaines avec des cots lis aux
pannes qui peuvent tre immenses.
Domaine des transports
- Conduite automatique de trains.
- Systmes de contrle en avionique.
Domaine de la production d'nergie
- Conduite de centrales nuclaires.
- Conduite de barrages.
Classification des pannes
- Pannes catastrophiques
Elles sont inacceptables
- Pannes non catastrophiques
Elles sont acceptables.
Notion de systme dfaillance saines
("Failsafe")
7
Techniques pour la construction de
systmes srs
L'vitement des fautes
("Fault avoidance")
L'ensemble des techniques de conception,
de fabrication qui permettent de produire
des composants informatiques de trs bonne
qualit (trs fiable).
Le composant ne doit pas tomber en panne
- bonne conception
- bonne fabrication (gnie logiciel)
=> peu d'erreurs.
La tolrance aux fautes
("Fault tolerance")
L'ensemble des techniques de conception
des systmes qui continuent de fonctionner
mme en prsence de la panne de l'un de
leurs composants.
L'ensemble de l'architecture, considre
comme un tout, continue par l'utilisation de
redondances de rendre le service attendu en
dpit de l'existence de fautes.
8
Techniques pour la validation de
systmes srs
L'limination des fautes
L'ensemble des techniques permettant
de minimiser le nombre de fautes
rsiduelles prsentes dans un systme (par
le test).
Techniques de validation, de tests
=> moins d'erreurs.
La prvision des fautes
("Fault measurement")
("Dependability evaluation")
L'ensemble des techniques de
l'valuation prvisionnelle de la sret de
fonctionnement (de l'existence de fautes).
L'ensemble de l'architecture considre
comme un tout continue par l'utilisation de
redondances de rendre le service attendu en
dpit de l'existence de fautes.
9
Les composantes quantitatives de la
sret de fonctionnement
- La fiabilit ('Reliability') -
R(t) = Probabilit pour qu'un systme
soit continment en fonctionnement sur une
priode donne (entre 0 et t).
- La disponibilit ('availability') -
D(t) = Probabilit pour qu'un systme
soit en fonctionnement un instant t donn.
- La maintenabilit ('Maintainability) -
M(t)= Probabilit pour qu'un systme en
panne l'instant 0 soit rpar l'instant t.
- La scurit ('Security')-
S(t) = Probabilit pour qu'un systme
soit continment en fonctionnement non
catastrophique sur une priode donne
(entre 0 et t).
10
Grandeurs moyennes caractristiques
de la sret de fonctionnement
- La disponibilit asymptotique -
La disponibilit aprs une longue dure:
D * = lim t + D (t )
- Le MTTF (Mean Time To Failure) -
Le temps moyen jusqu' la premire panne (si
R(t) est la fonction de fiabilit) :
+
MTTF = R(t )dt
0
- Le MUT (Mean Up Time) -
Le temps moyen de bon fonctionnement avant la
prochaine panne (en rgime stationnaire).
- Le MDT (Mean Down Time) -
Le temps moyen en panne avant la rparation
(en rgime stationnaire).
- Le MTBF (Mean Time Between Failure) -
Le temps moyen entre pannes (en rgime
stationnaire).
MTBF = MUT + MDT
11
Sret de fonctionnement et systmes
rpartis
- La sret de fonctionnement d'un
systme rparti doit tre tudie.
Exemple: Architecture de n sites en
coopration : chaque site est indispensable
- Si le taux de panne d'un site est .
- Le taux de panne du systme est n.
- Hypothse exponentielle.
Notion de systme en srie: la fiabilit est
le produit des fiabilits:
R(t ) = Ri (t )
i
- Au contraire une organisation efficace
d'un systme rparti (en tolrance aux
pannes) atteint des niveaux de sret de
fonctionnement qu'aucune approche
d'vitement ne peut atteindre un cot
comparable.
Notion de systme en parallle:
R(t ) = 1 (1 Ri (t ))
i
12
I
Classification des pannes
13
Modle des systmes rpartis tudis
Un composant (matriel ou logiciel) est
considr comme correct s'il se comporte
de manire consistante avec ses
spcifications.
Un modle formel (ex: automate) dcrit
le comportement correct du composant.
Pour toute situation on connat :
. Un ensemble possible d'vnements
entrants.
. Les traitements raliser
. Les ensembles de messages produits en
rsultat
. Les contraintes de dlais de rponse
(dans de nombreux cas cette donne est
fondamentale).
Un composant en panne ne se comporte
pas selon ses spcifications de
comportement et de performances
14
Consquences sur les quipements
matriels
Processeurs corrects
Excution du jeu d'instruction respect.
Respect de l'intgrit des donnes en
mmoire.
Temps de traitement conformes aux
spcifications.
Rseau de communication correct
- Topologie quelconque permettant tous
les changes ncessaires l'application.
- Dlai de transmission des messages
conformes aux spcifications.
Horloges physiques correctes
. Drive borne (par rapport un temps
universel utilis titre de comparaison)
Ex. : u, v dates universelles
c(u), c(v) valeurs lues
r drive maximum
(1 - r) (u - v) < c(u) - c(v) < (u - v ) (1 + r)
15
Panne franche ("Crash")
Une fois le composant en panne franche
il cesse immdiatement et de faon
indfinie de rpondre toute sollicitation
ou de gnrer de nouvelles requtes (jusqu'
une rparation).
Une panne franche est une panne
permanente.
Ex. : .Panne franche de processeur.
. Coupure de voie physique.
. Certains types de programmes
errons (exemple boucle)
. Systme d'exploitation interbloqu.
Distinction
Systme silencieux sur panne
"Fail-silent"
En panne silencieuse le systme ne
produit plus aucune sortie.
Systme stopp sur panne
"Fail-stop"
16
Modles de systmes relativement au
temps
Systmes synchrones
Ide de base
Deux systmes ne peuvent se mettre
agir des vitesses relatives non prvues.
. Les dlais de transmission des
messages sont borns (par une valeur D).
. Il existe une borne suprieure pour le
temps d'excution d'une tape par un
processus.
. Les horloges matrielles ont une
drive borne.
Hypothses temporelles synchrones
La rponse une sollicitation s'effectue
toujours dans un dlai born ou pas du tout.
Systmes asynchrones
On ne connat pas de borne au temps de
rponse une requte qui peut-tre
arbitraire.
Aucune hypothse temporelle n'est
formule.
17
Dtecteurs des pannes franches.
Les hypothses synchrones permettent
l'utilisation de dlais de gardes pour la
construction de dtecteurs de pannes par
scrutation d'un processus.
Cas des systmes synchrones
Si le rseau ne perd pas de messages cette
solution dtecte les pannes franches.
Si le rseau est soumis des pertes de
messages cette solution est probabiliste.
Cas des systmes asynchrones
On ne peut pas distinguer le cas d'un
processus extrmement lent de celui d'une
panne franche.
Dlai de garde
P1
Cas synchrone
P2
P1
Cas asynchrone
P2
P1
Cas de panne franche
P2 synchrone ou asynchrone
18
Proprits d'un dtecteur de pannes
franches.
Ide de la compltude ("Completeness")
Un processus en panne franche doit tre
dtect en panne.
Ide de la prcision ("Accuracy")
Un processus correct ne doit pas tre
considr en panne franche.
Raffinement des proprits des
dtecteurs de pannes franches
(Chandra et Toueg).
Compltude ("Completeness")
Compltude forte
Invitablement tout processus en panne
franche est suspect de manire permanente
par tout processus correct
Compltude faible
Invitablement tout processus en panne
franche est suspect de manire permanente
par un processus correct.
19
Prcision ("Accuracy")
Prcision forte ("Strong Accuracy")
Aucun processus correct n'est suspect
avant de tomber en panne franche.
Prcision faible ("Weak Accuracy")
L'un des processus correct n'est jamais
suspect avant de tomber en panne franche.
Prcision forte invitable
("Eventual strong Accuracy")
Il existe une date au del de laquelle
aucun processus correct n'est suspect avant
de tomber en panne franche.
Prcision faible invitable
("Eventual weak Accuracy")
Il existe une date au del de laquelle l'un
des processus correct n'est jamais suspect
avant de tomber en panne franche.
20
Catgories de dtecteurs de pannes
franches selon Chandra et Toueg
Combinaison des quatre niveaux de
prcision et des deux niveaux de
compltude.
Prcision
Invitablement Invitablement
Forte Faible Faible
Compltude Forte
Parfait Fort Invitablement Invitablement
Forte Parfait Fort
P S P S
Faible Invitablement
Faible Q W Q Faible
W
Avant Chandra et Toueg
Dfinition de problmes de sret de
fonctionnement rsolus sous hypothses
synchrones ou asynchrones.
Aprs Chandra et Toueg
Dfinition de problmes de sret de
fonctionnement rsolus sous hypothses de
fonctionnement des dtecteurs de pannes.
21
Panne transitoire ou intermittente
"Transient, Intermittent,
Omission failure"
En rponse un vnement en entre un
composant ne dlivre jamais la rponse
attendue (le composant ne peut fournir son
service habituel pendant une certaine
priode => perte de quelques donnes).
Ultrieurement il peut fonctionner
nouveau de faon correcte.
Il n'y a pas dviation par rapport aux
spcifications sur ces autres rponses.
Distinction possible
Panne transitoire
Apparat une seule fois puis disparat.
Panne intermittente
Apparat plus ou moins priodiquement.
Exemples. :
. Perte de messages dues au bruit.
. Destruction de message pour viter la
congestion.
. Destruction d'activits pour viter
l'interblocage ou les problmes de contrle
de concurrence.
22
Panne temporelle
"Timing, Performance failure"
. Une sortie correcte associe une
requte entrante se manifeste de faon
incohrente avec les spcifications
temporelles.
- Trop tard.
- Trop tt.
Le cas le plus frquent est celui d'une
manifestation trop tardive.
Ex. : . Surcharge d'un processeur.
. Horloge trop rapide.
. Dlai de transmission trop long.
Problme trait dans les cours de temps
rel (stratgies d'ordonnancements temps
rel) ou dans les cours de rseaux QOS
(respect de latence ou de gigue).
23
Panne quelconque ou byzantine
("Malicious, byzantine Failures")
Tout comportement s'cartant des
spcifications (principalement en ce que les
rsultats sont non conformes) est qualifi de
comportement byzantin (Lamport).
On distingue quelquefois :
a) Fautes byzantines "naturelles"
Ex : . Erreur physique non dtecte (sur une
transmission de message, en mmoire, sur
une instruction).
. Erreur logicielle amenant une non
vrification des spcifications.
b) Fautes byzantines "malicieuses"
Ex : . Comportement visant faire chouer
le systme (sabotage, virus ....).
24
Classification complmentaire des
pannes byzantines
- La signature des messages et la
vrification de signature (authentification et
intgrit) entrane une rsistance aux pannes
byzantines bien meilleure (surtout pour ce
qui concerne les modifications quelconques
qui pourraient tre effectues sur les
messages du fait de la transmission via des
sites malicieux).
- De manire plus gnrale l'usage des
fonctions cryptographiques simplifie les
protocoles de communication tolrant les
pannes byzantines.
On distingue donc parfois:
1) La classe des fautes byzantines
prcdemment dcrites (pour lesquelles les
communications sont non authentifies).
2) La classe des fautes byzantines qui
apparaissent malgr les signatures ("pannes
byzantines authentifies").
25
Hirarchisation des classes de pannes
Les 4 classes sont hirarchises.
Panne franche:
Pas de rponse une entre
=> Panne transitoire
Panne transitoire:
Un dlai de rponse infini.
=> Panne temporelle
Panne temporelle:
Non respect d'une chance (spec)
=> Panne quelconque
Tolrance une classe de pannes
- On ralise des composants pour tolrer
l'une des classes de pannes prcdentes.
- Restent non tolres les pannes de la
classe suprieure.
- Cas les plus frquents:
Tolrance aux pannes franche
Tolrance aux pannes d'omission.
26
II
Les diffrentes catgories
de redondance
27
Rappel : Architectures redondances
matrielles
Exemple type : Architecture TANDEM
- Tolrance une panne franche matrielle
destine aux applications de gestion
- Systme orient disponibilit
CPU CPU
MEMOIRE MEMOIRE
Cont Disque Cont Disque
Cont Disque Cont Disque
Cont rseau Cont rseau
Voies physiques
28
Les diffrents types de redondances
Nombreuses propositions
Nombreux points de vue
Techniques de recouvrement d'erreurs
("Error recovery")
1) Existence d'un dtecteur de panne.
2) D'un tat erron on peut retrouver un tat
correct puis dlivrer un service correct.
Reprises arrires
Redondances temporelles
("Backward Recovery")
- Pour un composant soumis des pannes
transitoires il est courant de tenter de
corriger cette panne par un nombre fix de
tentatives successives.
Ncessite la pose de points de reprise.
Z Cette technique est utilise assez
systmatiquement pour les serveurs uniques
et ce n'est qu'aprs l'chec de cette
approche que l'on dclare une panne non
temporaire.
29
Reprises avants / Traitement
des exceptions / Poursuite
("Forward Recovery")
- Pour un composant soumis des pannes il
est courant de tenter de traiter cette panne
en recherchant un tat de cohrence du
systme n'ayant jamais exist (futur) ou
n'ayant pas exist dans un pass rcent (qui
s'apparenterait une reprise).
La reprise avant vite la pose de points de
reprise mais ncessite de dterminer
l'tendue des dommages causs aux systme
par la faute jusqu' la dtection de la
dfaillance.
Exemple : traitant/rcuprateur d'exception
30
Techniques de compensation ou de
masquage d'erreurs
Un tat erron comporte des redondances
permettant au moyen d'un algorithme rapide
de dlivrer un service correct.
Redondances de donnes
- Pour une donne soumise des erreurs
(stockage, transmission) il est d'usage de
rajouter des informations de redondance
selon un code correcteur d'erreur qui
permet de corriger certaines erreurs.
31
Redondances spatiales
ou redondances de groupes
- Un groupe de serveurs redondants g en
redondance spatiale est conu pour tolrer
la panne de certains de ses membres.
En dpit de la panne un certain niveau
de certains membres de g, le service offert
du point de vue global par g continue en
masquant le niveau de panne vis.
Par exemple on observe des pannes
quelconques si l'on masque les pannes
temporelles, transitoires et franches.
- ventuellement certaines performances
sont dgrades.
- Certains membres du groupe g clairement
dtects en panne sont isols et retirs du
groupe de serveurs redondants.
=> on reconfigure le groupe
=> jusqu' ce que la reconfiguration qui
maintienne un service acceptable devienne
impossible.
32
Diffrentes redondances spatiales
Redondance passive
("Standby redundancy")
("Primary backup")
Objectif poursuivi : tolrance aux pannes
franches de calculateurs.
- Un seul des composants ralise
effectivement les traitements et est affect
aux sorties (le primaire).
- En cas de panne du primaire l'un des
calculateurs inactifs (secondaire) est
slectionn et activ pour prendre en charge
le service.
ACTIF
ENTREES PRIMAIRE
GESTIONNAIRE
DE LA
ENTREES INACTIF SORTIES
SECONDAIRE
REDONDANCE
(COMMUTATEUR)
ENTREES INACTIF
SECONDAIRE
33
Problmes de synchronisation en
redondance passive
- Problme de dtection de panne du
primaire.
- Problme de dtermination d'un
nouveau primaire parmi les alternants.
- Pour le nouveau primaire il faut
reconstituer un contexte d'excution
correct.
Solutions possibles
. Recopie priodique d'informations de
reprise constitues par le primaire pour les
secondaires.
Priodes statiquement prdtermines
Points de reprise applicatifs.
. Rxcution des services fournis depuis le
dernier point de reprise.
Requte
Sauve
Fait
Rponse
Client Primaire Secondaire
34
Redondances actives ou
dynamiques
("Active redundancy")
ACTIF
ENTREES SORTIES
ACTIF
GESTIONNAIRE
ACTIF
DE LA
REDONDANCE
- Dans la redondance active tous les
composants ralisent les traitements.
- Le gestionnaire de la redondance traite
les sorties pour tolrer diffrentes classes de
panne des serveurs.
35
Redondance slective active
Tolrance des pannes franches
ACTIF (primaire)
ENTREES SORTIES
GESTIONNAIRE
ACTIF (secondaire) DE LA
REDONDANCE
COMMUTATEUR
- Un seul serveur est affect aux sorties
- En cas de panne du primaire le
secondaire prend le contrle (avec le
contexte d'excution complet de l'activit).
36
Problmes de synchronisation en
redondance slective active
- Tout le monde doit recevoir les entres en
diffusion.
- Lors d'un basculement, l'alternant actif
doit tre rlu.
- Lors d'un basculement, le contexte de
l'alternant actif doit tre cohrent avec celui
laiss par l'ancien actif: besoin d'une
technique pour traiter dans le mme ordre
et exhaustivement les mmes donnes.
Diffusion ordonne totalement.
Remarque :
Le gestionnaire de la redondance peut-
tre plus complexe qu'un simple
commutateur. Quand les deux composants
sont actifs il peut choisir d'utiliser les
rsultats de l'un ou de l'autre selon les sites
de rsidence.
37
Redondance massive
Tolrance des pannes quelconques.
ACTIF
ENTREES SORTIES
ACTIF
ACTIF
Voteur
TMR "Triple Modular Redundancy"
Entres Sorties
Capteurs Actionneurs
Etage Etage Etage Etage
de de de de
calculs votes calculs votes
Systme TMR avec rplication des voteurs
38
Problmes de synchronisation en
redondance massive
- Tout le monde doit recevoir les entres en
diffusion dans le mme ordre pour traiter
les donnes dans le mme ordre et fournir
les rsultats dans le mme ordre aux
voteurs.
- La synchronisation entre les productions
de rsultats doit permettre la ralisation du
vote majoritaire.
Remarques:
Si l'on veut simplement tolrer des
pannes temporelles on peut prendre la
rponse disponible le plus rapidement.
Si l'on veut tolrer des pannes
quelconques on doit voter pour exclure
aussi bien les sorties non majoritaires que
celles qui apparaissent trop tardivement.
39
Tolrance aux pannes logicielles
Si les calculateurs redondants ont la
mme panne le systme de redondance
massive ne fonctionne pas (de mme que les
solutions de reprise arrire).
Notion de panne de mode commun
Typiquement les pannes logicielles.
Solution: la diversification (fonctionnelle)
"N-Version programming"
- Diversification/isolement des quipes
Spcifications dtailles.
Dveloppement des codes.
- Diversification des processeurs
- Diversification des systmes.
- Diversification des compilateurs.
Variantes
- Dans le cadre des techniques de
redondances temporelles
("recovery blocks" Randell)
- Dans le cadre des techniques de
redondance massive.
Solutions coteuses et difficiles
raliser
40
III
Les problmes fondamentaux des
systmes rpartis tolrants les pannes
41
Rappel des diffrentes tapes d'un
mcanisme de tolrance (1)
Les principaux mcanismes de la
tolrance reposent sur l'existence de
services redondants dont les lments
peuvent tomber en panne.
a) Il faut tout d'abord dtecter les pannes
d'un ou plusieurs serveurs.
b) Si l'on peut formuler une hypothse de
panne transitoire et si les contraintes de
l'application sont compatibles avec les
techniques de recouvrement d'erreur (pas
trop temps rel fortement contraint) il faut
appliquer une technique de rxcution.
c) Si les redondances temporelles sont
insuffisantes il faut mettre en place des
redondances spatiales.
=> dcider de la suite des situations
d'appartenance au groupe de serveurs
redondants.
Les situations successives rsultent:
- des pannes des membres
- des rinsertions de composants ou des
adjonctions de serveurs nouveaux.
42
Rappel des diffrentes tapes d'un
mcanisme de tolrance (2)
d) Il faut assurer des transmissions fiables
vers des groupes de composants redondants
(diffusion d'informations de chacun des
clients vers le groupe de serveurs
redondants implmentant un service).
Ces diffusions doivent tre ralises
sous les diffrentes hypothses de pannes et
satisfaire des proprits d'ordre.
e) Pour la redondance massive il faut
rechercher un consensus sur une valeur
calcule n fois (vote rparti).
f) Il faut ventuellement tolrer les
pannes temporelles (satisfaction de
contraintes temporelles pouvant tre
svres) => l'ordonnancement temps rel
rparti des tches.
Point essentiel pour la dtection des
pannes temporelles et pour la satisfaction
des contraintes temps rel rparti:
=> l'existence d'une synchronisation
des horloges entre les diffrents sites.
43
Rappel des diffrentes tapes d'un
mcanisme de tolrance (3)
g) Si la programmation de l'application
organise des donnes rparties partages sur
diffrents sites il faut assurer le contrle de
l'accs concurrent aux donnes (maintien
de la cohrence) pour des donnes
dupliques.
h) Si la programmation de l'application
comporte encore des sites centraux
(redondances slectives) il faut prvoir la
dfaillance de ces serveurs.
D'ou une liste de problmes types
rsoudre pour une algorithmique
rpartie de la tolrance aux pannes
44
LA DTECTION DE COMPORTEMENT FAUTIF
Notion de composant autotestable:
un composant qui incorpore son propre
logiciel de diagnostic => qui fait passer le
plus vite possible un composant de l'tat de
faute latente l'tat de faute dtecte.
Existence de trs nombreuses techniques
Quelques exemples
- Utilisant des programmes de test
Dtection hors ligne (diagnostics).
Dtection en ligne (dtection continue).
Chien de garde=>surveillance mutuelle.
- Dtection des erreurs de donnes
Codes dtecteurs d'erreur.
Assertions/Tests d'acceptance.
Vote entre plusieurs alternants.
- Dtection des erreurs d'enchanement
Protection (anneaux, domaines).
Observation de points spcifiques de
l'excution => comparaison un rfrentiel.
Signature de squences
=> comparaison une tabulation des
squences valides.
45
REPRISE ARRIERE
Problme classique de l'univers rparti.
Pour une application cooprative faisant
intervenir une architecture quelconque de
clients et de serveurs (ventuellement
redonds):
=> Comment dterminer des points de
reprise "cohrents" une frquence
optimale.
=> Comment assurer si ncessaire la
journalisation des messages en transit sur les
canaux de communications.
=> Comment effectuer la reprise arrire
en cas de panne dtecte.
Difficile pour obtenir des performances
satisfaisantes
46
PROTOCOLE D'APPARTENANCE A UN GROUPE
Objectif : Assurer que tous les usagers
ayant connatre la situation d'un groupe de
serveurs atteignent un consensus sur la
composition du groupe.
- La perception de cette composition est
relative des communications de
groupes (le protocole d'appartenance un
groupe est en gnral utilis conjointement
avec un protocole diffusion).
- Dans un tel protocole on admet souvent
que le temps est divis en poques ou la
composition du groupe est fixe et identique
pour tout le monde.
- A l'intrieur d'une mme poque les
communications en diffusion atteignent la
mme liste de processeurs ou chouent ce
qui peut advenir en priode de changement
de liste.
47
LA DIFFUSION ET LE CONSENSUS
Objectif : Ces deux problmes
prcdents sont des variantes peu
diffrentes consistant faire s'accorder
diffrents composants d'un groupe sur une
valeur
- Valeur diffuse par un site.
- Valeur vote aprs un calcul en
redondance massive.
- La valeur est utilise comme un signal
pour dclencher un traitement (valeur
binaire)
Exemple du problme de validation dans
la mise jour des donnes ("commit")
- La valeur est utilise comme une
donne quelconque.
Exemple du problme de redondance
massive sur des donnes calcules comme
des valeurs envoyer sur des actionneurs.
48
LE PROTOCOLE DE SYNCHRONISATION
D'HORLOGES
Objectif : Assurer que des horloges
situes sur des sites distincts fournissent une
datation absolue des vnements avec une
incertitude dfinie.
On distingue dans ce contexte deux
sous-problmes :
- Assurer que diffrents sites arrivent
dmarrer avec la mme heure absolue
(au mme moment avec une incertitude
connue).
- Maintenir aussi longtemps que
ncessaire les diffrentes horloges dans
une variation relative connue.
. En contrlant la drive relative
Solutions par change de messages.
Solutions par asservissement sur une
horloge hertzienne.
49
LE PROTOCOLE D'LECTION
Objectif : Lorsqu'une solution un
problme est base sur l'existence d'un site
coordinateur unique la panne du
coordinateur doit tre tolre.
Cas des solutions en redondance
slective passive et slective active.
Le protocole d'lection vise dsigner
un et un seul coordinateur remplaant.
50
CONCLUSION
Architecture de systmes rpartis en vue de
la tolrance aux pannes
Ncessit de fournir deux catgories de
services.
1 Les services standards utiliss dans des
systmes rpartis: micro-noyaux,
systmes d'objets rpartis
- Gestion des ressources (mmoire,
processeur/ordonnancement..)
- Dsignation, liaison
- Cration des objets, migration,
- Ralisation des interactions de base
(IPC, RPC lgers/distants)
- Synchronisation ... etc
La sret n'est pas leur objectif principal
La sret/tolrance aux pannes de ces
algorithmes est fondamentale car ils sont
utiliss dans un systme dont la sret doit
tre excellente.
51
2 Algorithmes utiliss dans les systmes
tolrants les pannes pour la tolrance.
Exemples vus:
Dtection de panne
Reprises arrire
lection
Diffusion fiable
Gestion des groupes
Vote rparti
Synchronisation d'horloges
Copies multiples
etc....
- La tolrance aux pannes des solutions
prsentes dans un systme rparti pour la
sret de fonctionnement est un problme
essentiel.
- Certains de ces algorithmes doivent tre
tudis pour tolrer tout type de panne.
52
Bibliographie
1 R. Strong "Problems in fault-tolerant
distributed systems", Publication IEEE
ISBN 135-/85/0000/0300s01.00
2 F. Christian, "Issues in the design of
highly available computing systems",
IBM Research Report RJ 5856 (58907)
7/10/1987
3 F. Christian, "Questions to ask when
designing or attempting to understand a
fault-tolerant distributed system",
IBM Research Report RJ 6980 (66517)
4/8/1989
4 J.C. Laprie, B. Courtois, M.C. Gaudel ,
D. Powell "Sret de fonctionnement des
systmes informatiques matriels et
logiciels", AFCET Dunod Informatique
1989
53