Outline

1 Introduction
Introduction `
a la sˆ
uret´
e de fonctionnement
2 Sˆ
uret´
e de fonctionnement (SdF) : notions de base
Stanislaw J. Piestrak ´
3 Evitement (pr´
evention) de fautes
IRISA/INRIA, CAIRN Lab., Lannion
(en d´
el´
egation de l’Universit´
e Paul Verlaine de Metz) 4 Tol´
erance aux fautes
piestrak@univ-metz.fr Redondance mat´erielle
Redondance logicielle
Club PME, ”Sˆuret´e de Fonctionnement”
Lannion, Bretagne, 17 juin 2011 5 Disponibilit´
e de syst`
emes

6 Quelques syst`
emes commerciaux tol´
erants aux fautes

S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 1 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 2 / 53

Introduction Introduction

Fonctionnement sˆ
ur c-`
a-d. quoi ? Comment l’assurer ? Entraves `
a la sˆ
uret´
e de fonctionnement (SdF) : terminologie
Fonctionnement sˆ ur d’un syst`eme :
bon, correct, fiable, sans d´efauts, sans risque, ...
Fautes Erreurs Défaillances
réseau des ordinateurs
Appellations système Physical Informational External
usuelles de (ordinateur, base de données)
fonctionnement universe universe universe
pas sûr : composant matériel ou logiciel
accident, (microprocesseur, mémoire disque,
avarie, système de transmission,
bogue, module d’application, ...)
défaillance,
défaut (physique), circuit Exemples :
dysfonctionnement, (logique, analogique)
écrasement, Sortie d’une porte
endommagement,
erreur, porte logique logique collée à "0" Valeur incorrecte Service
Quelles sont
faute,
fonctionnement défectueux, transistor calculée par incorrecte
indisponibilité,
techniques de protection Une bogue de un programme
insécurité, (tolérance aux fautes ?) programmation
manque de fiabilité,
mauvais fonctionnement,
aux niveaux si différents
panne, ... d’un système informatique ?

S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 3 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 4 / 53

Introduction Introduction

Besoin de circuits et syst`
emes num´
eriques sˆ
ur (1) Besoin de circuits et syst`
emes num´
eriques sˆ
ur (2)
T´ el´ecommunications : Domaine m´ edical : ´equipements de mesure et d’analyse, stimulateurs
t´el´ephone, radio, t´el´evision, r´eseaux informatiques, ... cardiaques, suivi ”en-ligne” des malades, bases de donn´ees, ...
Syst` emes transactionnels : Syst`emes de commande-contrˆ ole, de surveillance
banquaires, r´eservation de places, gestion des mat´eriaux, ... et de supervision en temps r´ eel :
l’industrie manufacturi`ere (nucl´eaires, chimiques, ...)
Transportation :
avions, trains, automobiles (assistance au freinage ABS ou `a
l’adh´erence, ordinateurs de bord, ...)
Espace ...

Station de travail
Banque services

Serveur Drive-by-wire Fly-by-wire

S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 5 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 6 / 53

J. Introduction Introduction CAO = Catastrophe Aid´ ee par Ordinateur ? Les causes les plus communes de d´ efaillances de syst` emes informatiques Cons´equences fatales des d´efaillances de syst`emes num´eriques : Inconv´enients aux utilisateurs ´ La non-disponibilit´e du syst`eme `a long distance AT&T aux Etats-Unis Fautes du mat´ eriel (d’une dur´ee de 9 heures en janvier 1990) La non-disponibilit´e du r´eseau de cartes bancaires Carte Bleue en fautes d’alimentation France (33 heures pendant un week-end en juin 1993. J. 17 juin 2011 8 / 53 Introduction Introduction M´ ecanisme de parution d’une faute temporaire soft error Classification des ´ ev´ enements singuliers caus´ es par la radiation Current I (t ) [µA] 450 100 Collected charge Q (t ) [fC] I (t ) = I 0 (e-t/τ1 .2 0. 33 millions virus informatiques d’utilisateurs affect´es) catastrophes naturelles : Pertes financi` eres ouragans. .e-t/τ2). 17 juin 2011 11 / 53 S.6 0. en cas de faute. J. ferroviaires. Piestrak (IRISA) Introduction ` a la SdF Lannion.8 1. J. .4 0. faire le compte rendu au niveau sup´erieur ? S. 17 juin 2011 7 / 53 S. Piestrak (IRISA) Introduction ` a la SdF Lannion. Piestrak (IRISA) Introduction ` a la SdF Lannion. incendies. L’´echec du premier vol de la fus´ee Ariane V erreurs humaines Le rappel de millions de processeurs Pentium d’Intel en 1996 (les pertes d’environ 500 millions de dollars) erreurs de syst` eme d’exploitation Mise en danger de la sant´ e ou de la vie des ˆ etres humains L’accident d’un Airbus de Lufthansa atterrissant `a Varsovie (1997) Le mauvais fonctionnement d’un syst`eme d’urgence medicale `a Londres ☞ D´efaillances de cause commune : affectent plusieurs entit´es `a partir d’un ´ev´enement unique et ne r´esultent pas les unes des autres (le nombre de victimes inconnu) S.5 0 0 0. J. tornados.. τ 1 > τ 2 400 90 NB = 1 · 1015 80 350 NB = 7 · 1015 High energy 300 NB = 7 · 1015 70 SET SBU Gate neutron 60 (single event transient) (single bit upset) SEU 250 50 impulsion aléatoire erreur simple (single event upset) Drain Source 200 changement d’état(s) 40 MBU de(s) point(s) mémoire n+ n+ 150 _ _ 30 (multiple bit upset) en état(s) inverse(s) holes _ + _+ _ electrons _ + _+ _ + + + + p substrate 100 NB = 1 · 1015 20 erreur multiple Faute n 50 10 SEFI temporaire 0 0 0. J. 17 juin 2011 12 / 53 . syst`emes bancaires Op´ eration continue (no interruption permise) : Sˆ uret´ e de fonctionnement : aptitude d’un syst`eme `a ex.) (un crit`ere pour d´ecider si le service d´elivr´e est sˆ ur).. inondations. Comment : D´etecter (presque) toute faute. Piestrak (IRISA) Introduction ` a la SdF Lannion. permettre la reprise.. 17 juin 2011 9 / 53 S. syst`emes de temps r´ eel d´elivrer un service de confiance justifi´ ee Haute disponibilit´ e (courtes interruptions permises) : ex. tremblements de terre. faire de fautes transparentes et. Piestrak (IRISA) Introduction ` a la SdF Lannion. avioniques. applications critiques (nucl´eaires. limiter les d´egˆats.0 SEE (single event (soft error) Time t [ns] Time t [ns] (single event effects) functional interrupt) événements perte de fonctionnalité singuliers temporaire du circuit SEU SET SET Faute temporaire SELU bascule (single event latch-up) G1 G2 création d’un thyristor parasite G3 Faute SEGR/SEB permanente SEU (single event V (t) SET gate rupture/burnout) (hard error) coupure/destruction du composant Clk G4 changement d’état erroné t 0→1 ou 1→0 S.. automobiles. Piestrak (IRISA) Introduction ` a la SdF Lannion.2 0. plus fr´ equentes ou plus graves qu’acceptable spatiales.3 0. 17 juin 2011 10 / 53 Sˆ uret´ e de fonctionnement (SdF) : notions de base Sˆ uret´ e de fonctionnement (SdF) : notions de base Qu’est-ce-qu’on attend d’un syst` eme SdF ? Sˆ uret´ e de fonctionnement (SdF) : d´ efinition Calcul sans erreurs et integrit´ e des donn´ ees (aucune erreur permise) : ex. serveurs ou Sans d´ efaillances catastrophiques (arrˆets sans cons´equences graves ´eviter des d´efaillances du service autoris´es) : ex.4 0.

J. l’environnement. Piestrak (IRISA) Introduction ` a la SdF Lannion. Significative Le remorquage du v´ ehicule Contrˆole moteur. t´el´ ephone Maintenabilit´e : l’aptitude aux r´eparations et aux ´evolutions Source : Ch. Sˆ uret´ e de fonctionnement (SdF) : notions de base Sˆ uret´ e de fonctionnement (SdF) : notions de base Niveaux de criticit´ e des d´ efaillances : exemple d’un automobile Sˆ uret´ e de fonctionnement : attributs Criticit´ e Catastrophique La Pire effet de d´ mort d’une efaillance Exemples Freinage ´ electronique. effet externe) stè Processeur s’arrête me tol Subystème est suspendu ou s’arrête. syst` eme de diagnostic la non-occurrence de cons´equences catastrophiques pour N´ egligeable La diminution du confort Climatisation. r´ etroviseurs ´electriques. 17 juin 2011 17 / 53 S. Répétition d’une instruction Complexité davantage d’états sont impliqués ☞ Limiter les effets de fautes Répétition d’une procédure de traitement d’erreur des manifestations d’erreur sont plus diverses et plus nombreuses le traitement d’erreurs Répétition d’un procès devient de plus en plus compliqué Ces deux approches sont compl´ ementaires ! Répétition d’une tache ☞ Comment arreter (restreindre) la propagation d’erreurs ? S. Fiabilit´ e : l’aptitude d’un syst`eme `a ˆetre en ´etat d’accomplir la suspension active continuit´e du service d´elivr´e. th` ese de doctorat. Piestrak (IRISA) Introduction ` a la SdF Lannion. 17 juin 2011 18 / 53 . J. ☞ Exprimer les propri´et´es qui sont attendues du syst`eme Critique ou La plusieurs personnes blessure d’une direction ´ Contrˆ electronique ole de traction. Piestrak (IRISA) Introduction ` a la SdF Lannion. (ne concerne que des syst`emes r´eparables). 17 juin 2011 15 / 53 S. Disponibilit´e: coussin gonflable l’aptitude d’un syst`eme `a ˆetre prˆet `a l’utilisation `a un instant donn´e. J. 17 juin 2011 16 / 53 Sˆ uret´ e de fonctionnement (SdF) : notions de base Sˆ uret´ e de fonctionnement (SdF) : notions de base L’ignorance des fautes ou la tol´ erance aux fautes ? Fonctionnement d’un syst` eme expos´ e aux fautes Des effets de fautes non-d´ etect´ ees : Manifestation Effective corruption de données critiques de l’erreur dans le système Conséquences croissantes Système est suspendu Faute Erreur Défaillance Fonctionnement Faute dormante Erreur latente (manifestation Plusieurs processeurs s’arrêtent normal (cause) (faute activée. contrˆole d’assiette. r´ eglage de si` ege. Ziegler. Piestrak (IRISA) Introduction ` a la SdF Lannion. (la mesure du temps jusqu’`a d´efaillance). S´ecurit´ e-innocuit´ e: vitres ´ electriques. Piestrak (IRISA) Introduction ` a la SdF Lannion. pendant un intervalle de temps donn´e Mineure Une gˆ ene pour le conducteur Limitation de vitesse. Piestrak (IRISA) Introduction ` a la SdF Lannion. Rapport LAAS No 96289. ”Sˆ uret´ e de fonctionnement d’architectures informatiques embarqu´ ees sur automobile”. J. J. de l’erreur Sy effet interne) sur le service. J. 17 juin 2011 14 / 53 Sˆ uret´ e de fonctionnement (SdF) : notions de base Sˆ uret´ e de fonctionnement (SdF) : notions de base Sˆ uret´ e de fonctionnement : moyens Niveaux de confinement des erreurs Application Système d’exploitation Pr´evention (´ evitement) de fautes Macrocode Hiérarchie (intol´erance du syst`eme aux fautes) : du système Microcode comment empˆecher l’occurrence ou l’introduction de fautes ☞ Diminuer la probabilit´e d’apparition des fautes et des erreurs Matériel Erreurs Tol´ erance aux fautes : Répétition d’un cycle de bus comment fournir un service `a mˆeme de remplir la fonction du syst`eme Davantage erreur(s) se propage(nt) en d´epit des fautes. Toulouse. essuie-phares. ☞ Appr´ecier la qualit´e du service d´elivr´e ou plusieurs personnes r´ egulateur de vitesse. radio. S. 1996. 17 juin 2011 13 / 53 S. éra nécessitant une "intervention manuelle" Détection d’erreur nt (en-ligne) au Application avortée xf au Bénigne (inoffensive) corruption de données tes Aucune (le meilleur cas) Traitement de faute Traitement d’erreur (empêche des fautes (élimine les erreurs d’être activées de nouveau) de l’état de système) Gravité de faute(s) Syst`emes SdF demandent extensive et compl` ete d´ etection d’erreurs S.

. Delcroix et D. bien que d´egrad´e : abandon de certaines tˆaches r´e-allocation de certaines tˆaches aux composants restants S.. 17 juin 2011 21 / 53 S. .... (localisation et nature de faute(s)) D´ etection d’erreur Diagnostic d’erreur ☞ Objectif principal du traitement des fautes.....) Ck-1 Ck-2 .. 17 juin 2011 24 / 53 . .. Piestrak (IRISA) Introduction ` a la SdF Lannion. 17 juin 2011 23 / 53 S. C1 C0 Cc R` egles sur la maintenabilit´ e et la lisibilit´ e du code : suffixe pour M0 . au lieu de rester concentrées dans le même mot dans les switch chaque case se termine par un break . R`egles sur la portabilit´ e : utiliser les biblioth`eques standards C++ Ml-1 ... Piestrak (IRISA) Introduction ` a la SdF Lannion. . Piestrak (IRISA) Introduction ` a la SdF Lannion. perturbations de la transmission web-serv. Bessemoulin. Diagnostic de faute : d´etermine les causes des erreurs si possible avant qu’une d´efaillance ne survienne.. octets . . d´egradation locale du support d’enregistrement (disque.. Renault. A...pdf..pdf. J. ”R` egles de Programmation”. Piestrak (IRISA) Introduction ` a la SdF Lannion.univ-angers. ”R` egles de Programmation”. Antier. Reprise Les composants consid´er´es comme fautifs sont retir´es du processus Poursuite d’ex´ecution ult´erieure. Compensation d’erreur ☞ La reconfiguration : les composants non-d´efaillants permettent de d´elivrer un service acceptable. web-serv.. ..univ-angers. S. de fautes provoquant des erreurs difficile `a traiter par des m´ethodes Exemples : de tol´erance aux fautes Constantes (2) : ne pas utiliser de constante octale Expressions (6) : ne pas tester l’(in)´egalit´e sur des flottants Contrˆ ole des flux (16) : interdiction d’utiliser des goto Pointeurs et tableaux (7) : ne pas utiliser d’op´erateurs relationnels avec des pointeurs Source : G.. J. un seul point d’entr´ee et de sortie. A. 15/06/2007.. F→float.. Sˆ uret´ e de fonctionnement (SdF) : notions de base Sˆ uret´ e de fonctionnement (SdF) : notions de base Tol´ erance aux fautes : mise en œuvre (1) Tol´ erance aux fautes : mise en œuvre (2) Traitement des fautes : op´erations destin´ees `a ´eviter qu’une ou des fautes ne soit activ´ees `a nouveau. c’est Passivation des fautes : Recouvrement d’erreur : les actions destin´ees `a empˆecher une nouvelle activation des fautes. et pas les fonctionnalit´es propres `a un syst`eme sp´ecifiques. ☞ ´ Eviter des erreurs de programmation typiques et difficiles `a d´etecter ☞ Empˆ echer l’occurrence ou l’introduction Langage MISRA C et ses 127 r` egles de programmation de certaines fautes en g´en´eral («bonnes pratiques») obligatoires et facultatives ou (MISRA = Motor Industry Software Reliability Association). 17 juin 2011 19 / 53 S. Bessemoulin. . 17 juin 2011 22 / 53 ´ Evitement (pr´ evention) de fautes ´ Evitement (pr´ evention) de fautes M´ ethodes d’´ evitement (pr´ evention) de fautes : exemples (2) M´ ethodes d’´ evitement (pr´ evention) de fautes : exemples (3) Entrelacement des donn´ ees High-Integrity C++ Coding Standard Manual (HICCSM) Organisation logique de données : l mots de k+1 unités (bits. Traitement des erreurs : op´erations destin´ees `a ´eliminer les erreurs.. J. J. Piestrak (IRISA) Introduction ` a la SdF Lannion. nom de variable selon leur type (L→long... R`egles sur la fiabilit´ e et la sˆ uret´ e du code : pr´eserver Transmission de mêmes données entrelacées colonne par colonne . Renault. l’encapsulation en privil´egiant la cr´eation de classe private R`egles sur les instructions conditionnelles : De nombreuses erreurs de transmission consécutives (paquets d’erreurs) ne modifier qu’une seule fois les variables d’it´erations dans les boucles se retrouve réparties raison d’une par ligne et pourront être corrigées.. J. J....) M1 . . . S... contrôle . S. bits de . .. 15/06/2007... Piestrak (IRISA) Introduction ` a la SdF Lannion. Antier.. ne pas utiliser de goto ☞ Eviter des erreurs multiples dˆ ues aux : Source : G....fr/docs/etudquassi/GL07_06. CD ROM) S. 17 juin 2011 20 / 53 ´ Evitement (pr´ evention) de fautes ´ Evitement (pr´ evention) de fautes ´ Evitement (pr´ evention) de fautes M´ ethodes d’´ evitement (pr´ evention) de fautes : exemples (1) Programmation : Utilisation des quelques langages sp´ecifiques selon certaines r`egles de programmation. Delcroix et D.fr/docs/etudquassi/GL07_06.

J. . . . . triplication) colonne VDD colonne colonne VDD colonne Redondance d’information Vrai Faux Vrai Faux (codes d´etecteurs d’erreurs : parit´e. Modification de l’emballage A2n-1 (´ecartement des zones sensitives de points de soudure) mot Modifications du proc´ essus technologique adressé jusqu’à 4 bits erronés au plus 1 bit erroné Utilisation des technologies alternatives (r´ealisation des circuits sur d’un seul boîtier d’un seul boîtier mat´ eriaux isolants plutˆot que sur substrat semiconducteur) : Code détecteur ou correcteur Code détecteur ou correcteur SOI (« Silicon On Insulator ». Piestrak (IRISA) Introduction ` a la SdF Lannion. . blocs de recouvrement. 17 juin 2011 28 / 53 Tol´ erance aux fautes Redondance mat´ erielle Tol´ erance aux fautes Redondance mat´ erielle Achever un syst` eme fiable en utilisant composants non-fiables Processeur autocontrˆ olable ` a chaque coup d’horloge (lock-step) Utilisation de la redondance permet d’augmenter la fiabilit´ e (disponibilit´e) d’un syst` eme par ordres de grandeur Mémoire Cache Cache Système Composant Composant 1 2 Hypoth`eses : Temps de Temps de non-disponibilité : non-disponibilité : 2 composants redondants 0. Piestrak (IRISA) Introduction ` a la SdF Lannion. . . . . .) N1a ligne N1a ligne Redondance temporelle (r´ep´etition d’une op´eration) N2a N2a Redondance logicielle (tests d’acceptation. ´ Evitement (pr´ evention) de fautes ´ Evitement (pr´ evention) de fautes M´ ethodes d’´ evitement (pr´ evention) de fautes : exemples (4) R´eduction de la sensitivit´ e aux radiations de composants ´ electroniques Syst` eme de m´ emoire RAM utilisant plusieurs boˆıtiers défaut d’alimentation 4 bits par boîtier d’un boîtier RAM 1 bit par boîtier A0 Utilisation des mat´ eriaux avec le taux d’emission des particules α A1 r´eduit . . 17 juin 2011 30 / 53 . . Utilisation des couches de blindage . . . J. . . Al2 O3 ) ☞ Eviter certaines erreurs multiples provoqu´ees par faute d’alimentation ou adressage S.. Piestrak (IRISA) Introduction ` a la SdF Lannion. . Piestrak (IRISA) Introduction ` a la SdF Lannion. dont Contrôleur Contrôleur les modes de fautes sont Décideur de mémoire de mémoire independents et Contrôle Contrôle 100% parfait d´etectables à chaque coup d’horloge à chaque coup d’horloge Temps de non-disponibilité : 0. Reed-Solomon. Pas de tol´ erance aux fautes sans redondance ! portes) – Augmentation de la capacit´e des nœuds sensitifs – augmentation du pull-up gain – insertion de r´ esistances ou actifs dispositifs boucl´es – raccoursissement des lignes de colonnes (SRAM) . .. . . .. . 17 juin 2011 25 / 53 S. N1 N2 N1 N2 programmation en N-versions) VSS VSS durcissement zones sensibles Cellule durcie de la m´emoire SRAM S. .0001% de temps Vers le système Vers le système d’interconnexion d’interconnexion Il est impossible de jamais achever’s 100% de la fiabilit´e ou disponibilit´e S. . . . . . . . . . turbo. Piestrak (IRISA) Introduction ` a la SdF Lannion. J. . . cycliques CRC. . . J. . . .. 17 juin 2011 29 / 53 S. 17 juin 2011 26 / 53 ´ Evitement (pr´ evention) de fautes Tol´ erance aux fautes Durcissement des composants (cellules de m´ emoire. . .0001% et et interconnexion du système interconnexion du système Sortie du système Syst`eme dupliqu´e non-disponible seulement 0. . SiO2 ) d’erreurs quadruples ineluctable d’erreurs simples suffie SOS (« Silicon On Sapphire ». . . Piestrak (IRISA) Introduction ` a la SdF Lannion. . .. . P2 P2 ligne P1 ligne P1 codes correcteurs d’erreurs : Hamming. J.. J. . . Redondance mat´ erielle (duplication. . . . .1% Microprocesseur Microprocesseur identiques. . . . . 17 juin 2011 27 / 53 S. . . . .1% 0. . bistables. .

J.. ´etat d’un compte d´ebordement bancaire) «underflow» incr´ement de valeur d’une variable (´ecart maximal par rapport au instruction inexistante adresse m´emoire inexistante r´esultat pr´ec´edent dans un contrˆ ole de processus continu = des violations de protections de segments-m´emoire continuit´e des r´esultats) .) (fiabilisation d’un r´esultat en combinant plusieurs r´esultats l´eg`erement diff´erents .. . 17 juin 2011 33 / 53 S. corr´elation entre les valeurs de variables diff´erentes ou leurs ☞ Syst`eme de gestion d’exceptions incr´ements Impl´ement´e en logiciel : s´equences attendues des ´etats d’un commutateur t´el´ephonique contrˆole de type de variable contrˆole des valeurs d’indice de tableaux ☞ Ind´ ependance des variables utilis´ees dans les programmes et les . Piestrak (IRISA) Introduction ` a la SdF Lannion. Piestrak (IRISA) Introduction ` a la SdF Lannion. 17 juin 2011 32 / 53 Tol´ erance aux fautes Redondance logicielle Tol´ erance aux fautes Redondance logicielle Tests d’acceptation (1) Tests d’acceptation (2) 2. 17 juin 2011 31 / 53 S. J. ex.. Ligne 3 1 1 1 3 ex. (codifi´ee `a Venise par Luca Pacioli au XVe ou XVIe si`ecle) ☞ Faible surcoˆ ut. Contrˆ oles de vraisemblance : bas´ees sur l’intervalle de grandeurs 4. ou comptabilit´ e en partie double si l’ex´ecution de programme n’a pas d´evi´e du flot attendu. Ligne 21 de contrôle 6 8 7 21 = des colonnes S. Piestrak (IRISA) Introduction ` a la SdF Lannion. 17 juin 2011 34 / 53 Tol´ erance aux fautes Redondance logicielle Tol´ erance aux fautes Redondance logicielle Tests d’acceptation (3) Tests d’acceptation (4) 3. 17 juin 2011 35 / 53 S. vitesse maximale. s´equences attendues des ´etats.. faible couverture de contrôle des lignes Colonne 1 Colonne 2 Colonne 3 Colonne 1.. Contrˆoles de comptabilit´ e : limit´es aux op´erations transactionnelles qui impliquent simple op´erations math´ematiques Tests d’acceptation : le test ex´ecut´e pour v´erifier ajouter la somme de contrˆ ole (totale ou modulo) si les r´esultats obtenus sont acceptable.. : syst`emes reposant sur des capteurs redond´es) S. moyenne pond´er´ee. Piestrak (IRISA) Introduction ` a la SdF Lannion. RM (t) = e −λt Entrée Sortie M1 M2 V MN N ≥ 3 diff´erents composants (mat´ eriels ou logiciels) traitent les mˆemes entr´ees et produisent donc (en principe) les mˆemes sorties Collection des r´ esultats Algorithme de vote produit le r´esultat final simple (vote `a la majorit´e) ou complexe (moyenne. .. J. D´ etection d’erreurs d’´ ex´ ecution (run-time checks) pr´ecalcul´ees des variables. Impl´ement´e en mat´eriel : fourchettes de valeurs possibles division par 0 (ex : temp´erature de l’eau. Y = X v´erifi´e par X ∗ = Y 2 Ligne 4 2 1 1 4 Ligne 5 0 1 0 1 . Contrˆ oles de satisfaction aux exigences : algorithme de tri : Ligne 1 1 2 3 6 contrˆ ole de nombre des ´el´ements tri´es et s’ils sont tri´es Ligne 2 2 3 2 7 inversion √ d’une op´eration math´ematique . m´ediane.. tests d’acceptation S. Piestrak (IRISA) Introduction ` a la SdF Lannion. ex : acc´el´eration. . J. J.. 17 juin 2011 36 / 53 .. Piestrak (IRISA) Introduction ` a la SdF Lannion. Tol´ erance aux fautes Redondance mat´ erielle Tol´ erance aux fautes Redondance mat´ erielle Redondance modulaire N-tuple (NMR) avec syst` eme de vote Fiabilit´ e d’un syst` eme tripl´ e TMR (Triple Modular Redundancy) majoritaire Taux de d´efaillance d’un module λ = const. J.

Piestrak (IRISA) Introduction ` a la SdF Lannion. J. Piestrak (IRISA) Introduction ` a la SdF Lannion. et les donn´ ees trait´ees par le d´ecideur S. Piestrak (IRISA) Introduction ` a la SdF Lannion. 17 juin 2011 38 / 53 Tol´ erance aux fautes Redondance logicielle Tol´ erance aux fautes Redondance logicielle Blocs de recouvrement Programmation en N versions Début Entrée d’un bloc de recouvrement d’exécution (avec données correctes) Exécution de Exécution de Exécution de Point de recouvrement la version la version la version 1 2 N Fin d’exécution Fin d’exécution Fin d’exécution de la version 1 de la version 2 de la version N Programme Version Version principal alternative alternative 1 N-1 Assemblage des résultats d’exécution des diverses versions Plus Début d’exécution Test Echoué de version Non d’un algorithm de décision d’acceptation alternative ? Borne de Exécution d’un propagation Réussi algorithme de décision des erreurs Oui Sortir le bloc de recouvrement Logiciel Calcul acceptable Calcul inacceptable et accepter les résultats fautif Fin Logiciel comme corrects d’exécution fautif S. J. 17 juin 2011 42 / 53 . 17 juin 2011 39 / 53 S. Piestrak (IRISA) Introduction ` a la SdF Lannion. d´estin´e `a fournir un r´esultat suppos´e exempt d’erreur Programmation en N-autotestable : recouvrement d’erreur par compensation `a partir des ex´ecutions des variantes la sp´ ecification commune aux variantes les points de d´ ecision : quand les d´ecisions doivent ˆetre prises. 17 juin 2011 41 / 53 S. con¸cu et r´ealis´e s´epar´ement `a partir de la mˆeme sp´ecification. Trois approches diff´erenci´ees selon la m´ethode de traitement d’erreur : Besoin : Blocs de recouvrement : recouvrement d’erreur par reprise d’au moins deux variantes d’un syst`eme Programmation en N versions : masquage de faute d’un d´ecideur. J. soit de deux variantes et d’un algorithme de comparaison. Tol´ erance aux fautes Redondance logicielle Tol´ erance aux fautes Redondance logicielle Tol´ erance aux fautes de conception : diversification fonctionnelle Approches aux diversification fonctionnelle de logiciel ☞ ´ Eviter des d´ efaillances de mode commun Diversification fonctionnelle : on dispose d’au moins un autre composant `a mˆeme d’assurer la tˆache. 17 juin 2011 37 / 53 S. Piestrak (IRISA) Introduction ` a la SdF Lannion. J. 17 juin 2011 40 / 53 Tol´ erance aux fautes Redondance logicielle Disponibilit´ e de syst` emes Programmation en N-autotestable Coˆ ut horaire de d´ efaillance des syst` emes informatiques en 2000 Début d’exécution Exécution du Exécution du Exécution du module autocontrolable 1 module autocontrolable 2 module autocontrolable N Domaine d’application Coˆ ut [ /h] Test d’acceptation Test d’acceptation Test d’acceptation T´el´ephonie mobile 40 000 Calcul Echoué Calcul Echoué Calcul Echoué R´eservation a´erienne 90 000 acceptable acceptable acceptable Transactions carte de cr´edit 2 500 000 Ligne d’assemblage automobile 6 000 000 Exécution d’un Toutes les N exécutions algorithme de décision echouées ? Transactions boursi`eres 6 500 000 Fin Logiciel d’exécution fautif Chaque composant autotestable est constitu´e : soit de l’association d’une variante et d’un test d’acceptation. Piestrak (IRISA) Introduction ` a la SdF Lannion. J. S. J.

Piestrak (IRISA) Introduction ` a la SdF Lannion. J. Disponibilit´ e de syst` emes Disponibilit´ e de syst` emes Exemples de calcul de la disponibilit´ e Qu’est-ce que la disponibilit´ e? temps de service correct (temps de fonctionnement) . plus le MTTR est faible et le MTBF est ´ elev´ e.5 heures de non-disponibilit´e non-planifi´ee Au moins 1 d´efaillance est serieuse.9999 53 52 min. 17 juin 2011 47 / 53 S. mise `a jour. Boston.5 31.99 5256 87 h.05 3. 46 min MTTR A = (1 . 36 min Diminuer 3 0. service - A3 =10001000 correct (5 × 20) 900 = 1000 = 0.100 900 service correct-service incorrect. MA. 17 juin 2011 48 / 53 .999999 0. 1 0. la 3) passivation de faute et la remise en service. J.(30+70) 900 correct A2 =10001000 = 1000 = 0.9 MTBF (Mean Time Between Failures) : 0 100 200 300 400 500 600 700 800 900 1000 temps [h] tr1 = 20 h tr2 = 20 h tr3 = 20 h tr4 = 20 h tr5 = 20 h le temps moyen de bon fonctionnement S. USA . ”What to look for in mission-critical managed IT services. test) > 10 heures par an Importantes pertes financi` eres. J.(temps de restauration du service) Disponibilité A =temps de fonctionnement = temps de fonctionnement Disponibilit´ e : la mesure MTBF MTBF 1) Défaillance 1 de la d´elivrance d’un service Période de restauration du service correct par rapport `a l’alternance MTTR MTTR MTTR service correct service correct 1000 . cit´ e dans : Stratus Technologies.999.5 jours 2 0. Piestrak (IRISA) Introduction ` a la SdF Lannion. June 2006. J. virement de ☞ Le temps total de la non-disponibilit´e planifi´ee fonds et traitement de cartes bancaires (maintenance. Sept. (nombre de ”neufs”) A [minutes/an] = meilleure est la disponibilit´ e.999 526 8 h. A1 = 1000 = 1000 = 0.9999999 0. 17 juin 2011 45 / 53 S. 35 sec Augmenter Objectif 0. ”2006 Global Server Reliability Survey”.. 33 sec 5 0.9 0 100 200 300 400 500 600 700 800 900 1000 temps [h] tr1 = 100 h Elle s’exprime par : service correct service correct service correct Défaillance Défaillance Défaillance temps Défaillance Défaillance 1 2 3 2) 1 2 Restauration Restauration Restauration MTTR  A= 1− MTBF Période de restauration du service service .5 sec (nombre de "neufs") 7 0. White Paper. J. Piestrak (IRISA) Introduction ` a la SdF Lannion. S. What’s your exposure to losing business capability ?”. risques pour la sant´ e ou la vie Source : The Yankee Group. Piestrak (IRISA) Introduction ` a la SdF Lannion. Classe Disponibilit´e Non-disponibilit´e ☞ En pratique. 6 0.9 52560 36. 2008.9 MTTR (Mean Time To Repair) : le temps moyen de r´eparation 0 100 200 300 400 500 600 700 800 900 1000 temps [h] tr1 = 30 h tr2 = 70 h (d’intervention pour rendre le syst`eme `a nouveau op´erationnel suite `a une Défaillance Défaillance Défaillance Défaillance Défaillance 1 2 3 4 5 d´efaillance). demandant l’intervention de plusieurs administrateurs de r´eseau.. Piestrak (IRISA) Introduction ` a la SdF Lannion. June 2008.15 sec S. Exemple : Exemple : Exemple : Exemple : et potentiellement implique la perte de donn´ees. Il comprend la d´etection de la cause de d´efaillance. Opérations Systèmes Electronic batch Distributeurs de boursières médicaux record systems billets. 17 juin 2011 43 / 53 S. Piestrak (IRISA) Introduction ` a la SdF Lannion. ”How to ensure the availability of IT solutions in mission-critical government locations”. MTBF ) 4 0. humaine Source : Stratus Technologies.99999 5 5 min. 17 juin 2011 46 / 53 Disponibilit´ e de syst` emes Disponibilit´ e de syst` emes Quelques faits sur la disponibilit´ e de serveurs dans des entreprises Attributs de quelques applications critiques industrielles am´ ericans Transactions Transactions Processus Peu ou aucune d’une valeur essentielles pour sensibles tolérance à la très élevées la santé au facteur temps perte ou corruption Un serveur dans des entreprises am´ericans ´eprouve moyennement par an : ou la vie humaine de données 3–5 d´efaillances. 17 juin 2011 44 / 53 Disponibilit´ e de syst` emes Disponibilit´ e de syst` emes Comment am´ eliorer la disponibilit´ e? Classes de disponibilit´ e de syst` emes A = 1 revient : Classe de disponibilit´ e d’un syst`eme : `a MTTR = 0 (maintenance instantan´ee) le nombre de ”neufs” dans le chiffre de disponibilit´e ou Dans le cas g´en´eral : 1  `a MTBF = ∞ (fonctionnement sans d´efaillance) Classe = ⌊log10 1−A ⌋ qui est statistiquement impossible.0–19. dont le temps de non-disponibilit´e est superieur de 4 heures. J. r´esultant en 10.

TMR avec un voteur et une cl´ e de rechange Remplacement des lignes d´ efectueuses Cl´ es d’acc` es cache SEC/DED ECC (12. What Is Inside ..5) Processeur de rechange est disponible pour remplacer un processeur RAM SEC/DED ECC (140.8 h Coˆut : aucune redondance Coˆut : au moins 100% Inconv´ enients : p´enalit´ e en ´ecriture Hamming (Altera) POR-SEFI 221 ans du fait du calcul de la parit´ e SMAP-SEFI 181 ans Source : http://fr. Piestrak (IRISA) Introduction ` a la SdF Lannion. z990 (IBM) ? (2) Circuit M´ ethodes de tol´ erance aux fautes Autres m´ ethodes de tol´ erance aux fautes : Processeur Duplication avec comparaison Registres Parit´ e Processeur de maintenance : contrˆ ole la reprise d’erreur au niveau Bus interne (GX). 2 puces de 2 bits de rechange Cl´ es d’acc` es m´emoire Parit´ e.8 h toutes ses donn´ ees est tol´ er´ee n disques sur un total de n + 1 disques) codes ECC de Bloques de m´emoire 11. Parit´ e avec retransmission interface externe (PCI) d’instruction et sauvegarde toutes les donn´ees interm´ediaires Cache L1 Parit´ e prot´eg´ees par ECC Cache L2 SEC/DED ECCs : donn´ees (72.. Quelques syst` emes commerciaux tol´ erants aux fautes Quelques syst` emes commerciaux tol´ erants aux fautes Intel Inside.. 17 juin 2011 52 / 53 ..010101010.. 17 juin 2011 51 / 53 S.. z990 (IBM) ? (1) Intel Inside. propri´ etaire (11.org/wiki/RAID_(informatique) S. (entrelacement de disques) chaque disque d’une Volume agr´ eg´e par bandes ` a parit´e codes CRC ou Performance augment´ ee paire contient ` a tout r´ epartie Hamming (n disques durs travaillent moment exactement les (n blocs de donn´ ees (n ≥ 3) Taux d’erreurs GEO (geosynchronous orbit) en parall`ele) mˆemes donn´ ees et un bloc de parit´ e) M´ emoire : de Virtex-II XQR2V6000 e : la faute d’un seul Fiabilit´ e : la faute d’un Fiabilit´ e : la faute d’un disque est tol´ Fiabilit´ er´ ee disque entraˆıne la perte de disque de chaque paire Coˆut : minimal (capacit´ e totale de TMR ou M´emoire de configuration 1.. J. Piestrak (IRISA) Introduction ` a la SdF Lannion. Bloques de configuration : =? FPGA nettoyage en continu Corrected Volume agr´ eg´ e par bandes Disques en miroir Frame Data (scrubbing) Modifier ..128).010101010..64).19).wikipedia.. J.. J. Piestrak (IRISA) Introduction ` a la SdF Lannion. What Is Inside . Piestrak (IRISA) Introduction ` a la SdF Lannion... J.7) dans tout les caches et m´emoire principale RAM Coprocesseur cryptographique : modulo exponentiation Code r´esidu Enregistrement de placements de toutes erreurs d´ etect´ees : additionneur.010111010.. 17 juin 2011 49 / 53 S. ALU.... adresse (25. Comparator .. 17 juin 2011 50 / 53 Quelques syst` emes commerciaux tol´ erants aux fautes Quelques syst` emes commerciaux tol´ erants aux fautes Techniques de la SdF utilis´ ees dans des circuits FPGA XILINX Syst` emes de m´ emoires disques RAID (les niveaux standard) M1 RAID = Redundant Array of Independent Disks Logique : («regroupement redondant de disques ind´ependants») s´elective TMR M M2 V (XTMR CAD tools) ou M3 duplication avec comparaison (lock-step) Original Frame Data Erroneous Frame Data Memory .. But . nettoyage en continu quelconque d´efaillant en permanence (scrubbing).. But . unit´ e SHA Parit´ e pour effectuer le remplacement pr´eventif de composants d´efectueux unit´e DES Duplication avec comparaison Oscillateur de syst` eme Duplication avec commutation Reconfiguration dynamique en cas de fautes permanentes Alimentation Duplication (en parall` ele) S.