Cours de Systèmes Répartis:
Partie 2: Tolérance aux pannes
Promotion BADS
AU 2019/20
Tolérance aux pannes et
aux fautes
Introduction, techniques de base
Plan
Définition de base
Sûreté de fonctionnement
Défaillances
Degré de gravité des défaillances
◦ Modèle
◦ Panne franche
◦ Panne par omission
◦ Panne de temporisation
◦ Pannes arbitraires (ou “byzantines”)
Mesures de fiabilité et disponibilité
Analyse des défaillances
Comment assurer la sûreté de fonctionnement
Tolérance aux fautes
◦ Étapes
◦ Techniques
Traitement des erreurs
◦ Recouvrement
◦ Compensation
3
Définition de base
Service
Ensemble de fonctions défini par une
interface, “contrat” entre le fournisseur et
l’utilisateur du service.
Propriété d’un système informatique
permettant à ses utilisateurs de placer
une confiance justifiée dans le service que
délivre le système
4
Propriétés attendues d’un service
Propriétés “fonctionnelles” (définies dans
les spécifications d’interface)
◦ validité (“correctness”) : le système est
Publicité
conforme à ses spécifications : propriétés de
sûreté et de vivacité
Propriétés “non fonctionnelles”
◦ performances ; sûreté de fonctionnement
5
Sûreté de fonctionnement
Fiabilité (reliability): le système est en état (continu) de rendre le
service
◦ Mesure : probabilité (fonction du temps t) que le système ne soit
pas défaillant entre le temps 0 et le temps t
Disponibilité (availability) : le service est disponible en permanence
◦ Mesure : fraction du temps (sur une période déterminée) durant
laquelle le système fournit le service
Sécurité (au sens safety) : un mauvais fonctionnement du système
n’a pas d’incidence catastrophique sur son environnement
Sécurité (au sens security) : le système assure la confidentialité et
l’intégrité des informations ainsi que le contrôle de l’accès au
service
◦ le service est effectivement accessible aux utilisateurs autorisés,
non aux autres
6
Défaillances
Définition
◦ Un système (ou composant) est sujet à une défaillance
(failure) lorsque son comportement n’est pas
conforme à sa spécification
Synonyme de défaillance : panne
Le système ou composant est considéré comme
une “boîte noire”; on ne regarde que son
comportement global, observé à l’interface
On peut définir différents “degrés” de gravité de
défaillance en fonction de leur impact sur la
sûreté de fonctionnement
7
Degré de gravité des défaillances
◦ Modèle: boîte noire avec messages entrants et
sortants
◦ Types de Pannes:
Pannes de temporisation
Les déviations par rapport aux
spécifications concernent uniquement le
Publicité
temps (par exemple temps de réaction à
un
événement)
Panne franche
•Dit aussi : arrêt sur défaillance (fail stop)
ou bien le système fonctionne, et
donne un résultat correct
ou bien il est en panne (défaillant), et
ne fait rien
• C’est le cas le plus simple, et on essaie de
s’y ramener (au besoin en forçant l’arrêt d’un
composant dès qu’une erreur y a été
détectée : technique fail fast)
8
Types de Pannes
Panne par omission
•Le système perd des messages entrants
(omission en réception), sortants
(omission en émission), ou les deux. Il n’y
a pas d’autres déviations par rapport aux
spécifications
•Ce modèle peut servir à représenter des
défaillances du réseau
•Plus difficile à traiter que la panne
franche
Pannes arbitraires (ou
“byzantines”)
•Le système peut faire “n’importe
quoi” (y compris avoir un
comportement malveillant)
• Hypothèse parfois nécessaire pour
des systèmes à très haute fiabilité dans
un environnement hostile (nucléaire,
spatial)
• Traitable, mais nécessite une
redondance élevée
9
Mesures de fiabilité et
disponibilité
Mesure de la fiabilité
◦ Probabilité R(t) que le système ne soit pas défaillant entre 0 et t
Publicité
◦ Temps moyen jusqu’à la prochaine panne : E(R(t)) = MTTF (Mean
Time To Failure)
Mesure de la disponibilité
◦ Disponibilité instantanée : Probabilité A(t) que le système soit
disponible (fournisse un service correct) à l’instant t
◦ Disponibilité moyenne a = E(A(t)) : fraction moyenne du temps
où le système est disponible (sur une période donnée)
Réparation
◦ Réparer un système en panne : le remettre en état de rendre un
service correct
◦ Mesure : temps moyen de réparation : MTTR (Mean Time To
Repair)
10
Analyse des défaillances
De l’erreur à la défaillance
Une erreur est susceptible de provoquer une défaillance,
mais ne la provoque pas nécessairement (ou pas
immédiatement)
◦ Parce qu’il y a une redondance interne suffisante pour que le
système continue de fournir le service
◦ Parce que la partie erronée de l’état n’est pas utilisée pour telle
ou telle fonction
Une erreur est latente tant qu’elle n’a pas provoqué de
défaillance
Le temps entre l’apparition de l’état d’erreur et la défaillance
est le délai de latence
◦ plus le délai de latence est long, plus la recherche des causes
d’une défaillance est difficile
11
Comment assurer la sûreté de
fonctionnement
1. Évitement des fautes : vise à empêcher
l’occurrence de fautes
◦ Par la prévention
Analyser les causes potentielles de fautes
Prendre des mesures pour les éliminer (pas toujours
possible) ou réduire leur probabilité
◦ Par l’évaluation
Prévoir les fautes (et les mesures pour y faire face)
Prévision souvent statistique
◦ Par la vérification
Publicité
Avant mise en route du système : examiner les fautes
restantes, et éliminer celles que l’on peut éliminer
12
Comment assurer la sûreté de
fonctionnement
2. Tolérance aux fautes : vise à préserver le
service malgré l’occurrence de fautes
◦ Par la redondance
du matériel, et/ou
des traitements, et/ou
des données.
13
Tolérance aux fautes: étapes
Détection
◦ Découvrir l’existence d’une erreur (état incorrect) ou
d’une défaillance (comportement incorrect)
Localisation
◦ Identifier le point précis (dans l'espace et le temps)
où l’erreur (ou la défaillance) est apparue
Isolation
◦ Confiner l’erreur pour éviter sa propagation à
d’autres parties du système
Réparation
◦ Remettre du système en état de fournir un service
correct
14
Traitement des erreurs
Recouvrement (error recovery)
Remplacer l’état d’erreur par un état correct
Nécessite détection de l’erreur
(identification de la partie incorrecte de
l’état),
Deux techniques de recouvrement
◦ reprise (backward recovery)
◦ poursuite (forward recovery)
Compensation (error masking)
L’état possède une redondance interne
suffisante pour détecter et corriger l’erreur.
15