Cours de Systèmes Répartis: Partie 2 - Tolérance aux Pannes

Page 1 sur 15Lecteur de document UniversityLib

Cours de Systèmes Répartis: Partie 2 - Tolérance aux Pannes

Distributed Systems · notes

Voir tous les documents en systèmes d'exploitation et cloud

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