Documente Academic
Documente Profesional
Documente Cultură
Plan
Les horaires sont indicatifs
" Objectifs, dfinition, problmes " Principales mthodes " Exemples dapplication
2003-2004, S. Krakowiak
Dfinitions 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
Diffrents aspects
interface utilisateur
(une personne, un systme, un composant dun systme)
spcifications
fournisseur
(un systme informatique, un composant logiciel ou matriel dun tel systme)
Proprits attendues dun service Proprits fonctionnelles (dfinies dans les spcifications dinterface) validit (correctness) : le systme est conforme ses spcifications proprits de sret et de vivacit Proprits non fonctionnelles (les autres) performances ; sret de fonctionnement La distinction nest pas toujours vidente
Fiabilit (reliability)!: le systme est en tat (continu) de rendre le service Mesure : probabilit (fonction du temps t) que le systme ne soit pas dfaillant entre le temps 0 et le temps t Disponibilit (availability) : le service est disponible en permanence Mesure : fraction du temps (sur une priode dtermine) durant laquelle le systme fournit le service Scurit (au sens safety) : un mauvais fonctionnement du systme na pas dincidence catastrophique sur son environnement Il faut dfinir catastrophique et environnement Scurit (au sens security) : le systme assure la confidentialit et lintgrit des informations ainsi que le contrle de laccs au service le service est effectivement accessible aux utilisateurs autoriss, non aux autres
4
2003-2004, S. Krakowiak
2003-2004, S. Krakowiak
Sret de fonctionnement
! Dfinition ! Il ny a pas de critre absolu
" Limportance relative des critres dpend # de la nature de lapplication # des exigences des utilisateurs # des conditions dutilisation (environnement, etc.)
Dfaillances
" Un systme (ou composant) est sujet une dfaillance (failure) lorsque son comportement nest pas conforme sa spcification # Synonyme de dfaillance : panne
! Remarques
" Le systme ou composant est considr comme une bote noire!; on ne regarde que son comportement global, observ linterface " On peut dfinir diffrents degrs de gravit de dfaillance en fonction de leur impact sur la sret de fonctionnement (cf plus loin)
interface
! Exemples
" Systme embarqu : fiabilit, disponibilit " Systme de communication (ex : commutateur tlphonique) : disponibilit " Service de fichiers, base de donnes : disponibilit, scurit (security) " Systme de transport (exemple : navigation, guidage, freinage) : scurit (safety), disponibilit
contrat
2003-2004, S. Krakowiak 5 2003-2004, S. Krakowiak 6
interface
! Modle
" bote noire, messages entrants et sortants
! Pannes de temporisation
" Les dviations par rapport aux spcifications concernent uniquement le temps (par exemple temps de raction un vnement)
! 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)
2003-2004, S. Krakowiak
2003-2004, S. Krakowiak
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) E = esprance mathmatique
dfaillance
MTBF
rparation
Mesure de la disponibilit
Disponibilit instantane : Probabilit A(t) que le systme soit disponible (fournisse un service correct) linstant t Disponibilit moyenne a = E(A(t)) : fraction moyenne du temps o le systme est disponible (sur une priode donne) Mesure de la disponibilit Dans le cas de pannes franches : disponibilit = a = MTTF/(MTTF + MTTR) Mesure en nombre de 9 : 99.99% 99.999% (4 nines) (5 nines) indisponible 50 minutes/an indisponible 5 minutes/an
Rparation
Rparer un systme en panne : le remettre en tat de rendre un service correct Mesure : temps moyen de rparation : MTTR (Mean Time To Repair)
2003-2004, S. Krakowiak 9
Indisponibilit = 1 disponibilit = MTTR/(MTTF + MTTR) ! MTTR/MTTF, car en gnral MTTR << MTTF Donc diviser MTTR par 2 a le mme effet sur la disponibilt que doubler MTTF
2003-2004, S. Krakowiak 10
! Principe
" On sintresse lorigine dune dfaillance (donc on doit ouvrir la bote noire que constitue le systme)
! Dfinitions
" Erreur : tat (ou partie de ltat) du systme susceptible de provoquer une dfaillance (partie de ltat interne dont les proprits courantes ne sont pas conformes aux spcifications) # exemple logiciel : la valeur dune table ne vrifie pas un invariant spcifi # exemple matriel : une connexion est coupe entre deux points qui devraient tre relis entre eux " Faute : toute cause (vnement, action, circonstance) pouvant provoquer une erreur # exemple : faute de programmation, malveillance, catastrophe naturelle, etc.
2003-2004, S. Krakowiak
11
2003-2004, S. Krakowiak
12
Pour A, la dfaillance de B (service incorrect) constitue une faute, qui peut son tour provoquer une erreur interne A, puis une dfaillance de A
faute " erreur " dfaillance " faute " erreur "
2003-2004, S. Krakowiak
13
2003-2004, S. Krakowiak
14
! Par la prvention
" Analyser les causes potentielles de fautes " Prendre des mesures pour les liminer (pas toujours possible) ou rduire leur probabilit
dans le temps
" Dfaillance transitoire # se produit de manire isole " Dfaillance intermittente # se reproduit sporadiquement " Dfaillance permanente # persiste indfiniment (jusqu rparation) aprs son occurrence " Les dfaillances non permanentes sont difficiles modliser et traiter
! 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
2003-2004, S. Krakowiak
15
2003-2004, S. Krakowiak
16
! Constatation de base
" Quelles que soient les prcautions prises, loccurrence de fautes est invitable (erreur humaine, malveillance, vieillissement du matriel, catastrophe naturelle, etc.). Cela ne veut pas dire quil ne faut pas essayer de prvenir ou dliminer les fautes, mais les mesures prises peuvent seulement rduire la probabilit de leur occurrence " Il faut donc concevoir les systmes de manire ce quils continuent rendre le service attendu (ventuellement un service dgrad) mme en prsence de fautes
Plusieurs phases successives, non obligatoirement toutes prsentes Dtection Dcouvrir lexistence dune erreur (tat incorrect) ou dune dfaillance (comportement incorrect) Localisation Identifier le point prcis (dans l'espace et le temps) o lerreur (ou la dfaillance) est apparue Isolation Confiner lerreur pour viter sa propagation dautres parties du systme Rparation Remettre du systme en tat de fournir un service correct
2003-2004, S. Krakowiak
17
2003-2004, S. Krakowiak
18
2003-2004, S. Krakowiak
19
2003-2004, S. Krakowiak
20
! Techniques ! Objectifs
" prvenir (si possible) loccurrence dune dfaillance provoque par lerreur " viter la propagation de lerreur dautres composants " faciliter lidentification ultrieure de la faute (en vue de son limination ou de sa prvention " Comparaison des rsultats de composants dupliqus cot lev latence faible taux de couverture lev ncessit dindpendance des conditions de cration et d'activation des fautes (cf Ariane 501) " Contrle de vraisemblance # cot modr # latence variable selon la technique # taux de couverture souvent faible # # # #
! Paramtres
" latence : dlai entre production et dtection de lerreur " taux de couverture : pourcentage derreurs dtectes
2003-2004, S. Krakowiak
21
2003-2004, S. Krakowiak
22
Recouvrement (1)
! Recouvrement
" Dtection explicite derreur!; remplacement de ltat derreur par un tat correct # Reprise ( partir dun tat ancien enregistr) # Poursuite (reconstitution dun ltat courant correct) " Exemples # Tandem Non-Stop # Points de reprise dans un systme rparti
Reprise
! Compensation
" Redondance suffisante pour masquer (rendre invisibles aux utilisateurs) les consquences dune erreur " Exemples # Vote majoritaire # Tandem Integrity # Stratus S/32
2003-2004, S. Krakowiak
tat erron
Poursuite
24
Recouvrement (2)
! Un exemple
" Communication par paquets : comment ragir la perte dun paquet ?
! Solution 1 : reprise
" Lmetteur conserve une copie des paquets quil a envoys, jusqu rception de lacquittement " En cas de dtection de perte (par dlai de garde), le rcepteur demande lmetteur de renvoyer le paquet manquant
! Reprise
" le systme est ramen un tat quil occupait avant occurrence de lerreur (retour arrire) " cet tat doit avoir pralablement t sauvegard (points de reprise)
! Solution 1 : poursuite
" Pour un type particulier dapplication, lmetteur peut reconstituer (totalement ou partiellement) le contenu dun paquet manquant en utilisant les paquets voisins (suivants, prcdents) " Le rcepteur peut alors poursuivre sans interroger lmetteur
! Problmes de la reprise
" sauvegarde et restauration doivent tre atomiques (pas dinterfrences) " ltat des points de reprise doit lui-mme tre protg contre les fautes " dans un systme rparti : # les points de reprise sont crs pour chaque processus # lensemble de ces points de reprise doit constituer un tat global cohrent du systme
! Comparaison
" Reprise : technique gnrique, peut tre coteuse en temps et place ; cest la plus utilise " Poursuite : technique spcifique, peut tre efficace, mais dapplication limite " Dans la suite, nous ne traitons que de la reprise
2003-2004, S. Krakowiak 25
2003-2004, S. Krakowiak
26
UC mmoire canal
UC mmoire canal
# Matriel
$ lalimentation lectrique est galement redondante (deux sources indpendantes) $ composants dtection d'erreur par contrle de vraisemblance $ une dtection derreur bloque immdiatement le composant (fail fast)
" La causalit doit tre respecte (un message est mis avant dtre reu)
dtection derreur et retour arrire
PR1 processus p1 message m processus p2 PR2 C2 tat courant de p2 lors de la dtection de lerreur
contrleur
# Logiciel
$ Paires de processus (processus actif processus de secours, cf plus loin) $ Ncessite systme dexploitation spcifique (Unix modifi pour gestion des paires de processus)
contrleur
Tolre une faute unique d'un composant (UC, bus, mmoire, contrleur, disque)
Ltat global (PR1, C2) est incohrent (m not comme reu et non mis) Le processus p2 (non dfaillant) est orphelin et doit revenir en PR2 Avec un mauvais choix des points de reprise, le retour en arrire peut se propager jusqu ltat initial (effet domino)
27 2003-2004, S. Krakowiak 28
Reprise :
comment constituer un tat de reprise cohrent ?
Bref rappel de points dj vus ! A priori (approche planifie)
" les sauvegardes des diffrents processus sont coordonnes pour constituer un tat global cohrent (pas deffet domino) " une synchronisation explicite doit donc tre assure entre les processus (cot lors de la sauvegarde) " il suffit de conserver, pour chaque processus, le dernier point de reprise " Exemples : Chandy-Lamport (vu en cours), Koo-Toueg
T. Juang, S. Venkatesan. Crash Recovery with little Overhead, Proc. 11th Int. Conf. On Distributed Computing Systems (ICDCS), May 1991, pp. 454-461
29 2003-2004, S. Krakowiak 30
2003-2004, S. Krakowiak
en mmoire volatile
T. Juang, S. Venkatesan. Crash Recovery with little Overhead, Proc. 11th Int. Conf. On Distributed Computing Systems (ICDCS), May 1991, pp. 454-461
2003-2004, S. Krakowiak 32
tape n
tape n+1
traitement
voteur
P
rejouer
rmettre
traitement
voteur
Rsiste (en gnral) la dfaillance d'un composant de traitement et dun voteur par tape
Q
rejouer rmettre
traitement
voteur
R
T. Juang, S. Venkatesan. Crash Recovery with little Overhead, Proc. 11th Int. Conf. On Distributed Computing Systems (ICDCS), May 1991, pp. 454-461
2003-2004, S. Krakowiak 33
composants identiques
vote majoritaire
2003-2004, S. Krakowiak
34
UC mmoire locale
UC mmoire locale
UC mmoire locale
processeur autotestable
processeur autotestable
processeur 1
voteur : test chaque accs la mmoire code correcteur d'erreur en mmoire test chaque accs, correction si erreur
voteur
voteur
processeur 2
autotestable
Processeur autotestable :
Composant autotestable!: test interne (redondance), arrt et signal si erreur Tolre (et masque) la faute dun composant Fonctionne avec un systme dexploitation standard
contrleur de disque
contrleur de disque
2003-2004, S. Krakowiak
35
2003-2004, S. Krakowiak
36
Compensation : rsum
! Avantages
" Traitement derreur rapide " Masquage : dfaillances internes invisibles aux composants utilisateurs, condition que # les hypothses de fautes soient respectes # les fautes soient indpendantes sur les composants dupliqus
! Inconvnients
" Redondance leve, donc cot lev # Tandem Integrity : X 3 # Stratus : X 4
" Therac 25
http://sunnyday.mit.edu/therac-25.html
2003-2004, S. Krakowiak
37
2003-2004, S. Krakowiak
38
Ariane 501
Le 4 juin 1996, le premier tir de la fuse Ariane 5 se termina par lexplosion de lengin environ 40 secondes aprs le dcollage. Lenqute permit de dterminer les circonstances prcises de la catastrophe et mit en vidence plusieurs erreurs de conception du logiciel de commande, et notamment de son systme de tolrance aux fautes, qui conduisirent au dclenchement dune raction inapproprie alors que les conditions de vol taient normales.
paramtres de vol (attitude, vitesse, etc) mesures dacclration SRI-2 centrale inertielle (en service) capteurs commandes de pilotage (braquage des tuyres)
calculateur de bord
SRI-1
2003-2004, S. Krakowiak
39
2003-2004, S. Krakowiak
40
centrale inertielle en service convertisseur 64 bit valeur trop leve 16 bit traitement derreur
T0 + 36 sec. +72 ms
diagnostic derreur vers le calculateur de bord
SRI-1
T0 + 36 sec.
16 bit diagnostic derreur la centrale de secours est mise hors service (fail fast)
41 2003-2004, S. Krakowiak
hors service
traitement derreur
calculateur de bord
Le calculateur de bord reoit en entre un diagnostic derreur, quil interprte comme des donnes de vol. Les valeurs tant hors limites, il ragit (normalement) par un ordre de braquage maximum
2003-2004, S. Krakowiak
43
2003-2004, S. Krakowiak
44
Pourquoi le convertisseur a-t-il ragi en envoyant un diagnostic derreur sur le bus de donnes ?
1) Les instructions de conversion de donnes (crites en Ada) ntaient pas protges par un traitement dexception (on navait pas prvu que la capacit dentre pouvait tre dpasse). 2) Cest le dispositif standard de raction aux erreurs qui a t activ par dfaut. La centrale inertie a dclar son incapacit fonctionner et a t mise hors service selon le principe fail stop (arrt du processeur). 3) Lhypothse sous-jacente (non explicite) tait celle de la dfaillance matrielle transitoire!: dfaillance de probabilit trs faible, traite par redondance (on passe sur la centrale de secours). 4) Mais la dfaillance tant dorigine logicielle, les mme causes ont produit des effets identiques, et la centrale de secours sest trouve hors service pour les mmes raisons que la centrale active. 5) On se trouvait donc hors des hypothses prvues pour le traitement des dfaillances (panne simultane des deux units). Ce cas tant suppos ne jamais se prsenter, rien ntait prvu pour le traiter et le diagnostic derreur a t envoy sur le bus de donnes.
2003-2004, S. Krakowiak
45
2003-2004, S. Krakowiak
46