Vous êtes sur la page 1sur 9

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 lUniversit
e Paul Verlaine de Metz) 4 Tol
erance aux fautes
piestrak@univ-metz.fr Redondance materielle
Redondance logicielle
Club PME, Surete 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 lassurer ? Entraves `
a la s
uret
e de fonctionnement (SdF) : terminologie
Fonctionnement s ur dun syst`eme :
bon, correct, fiable, sans defauts, sans risque, ...
Fautes Erreurs Dfaillances
rseau des ordinateurs
Appellations systme Physical Informational External
usuelles de (ordinateur, base de donnes)
fonctionnement universe universe universe
pas sr : composant matriel ou logiciel
accident, (microprocesseur, mmoire disque,
avarie, systme de transmission,
bogue, module dapplication, ...)
dfaillance,
dfaut (physique), circuit Exemples :
dysfonctionnement, (logique, analogique)
crasement, Sortie dune porte
endommagement,
erreur, porte logique logique colle "0" Valeur incorrecte Service
Quelles sont
faute,
fonctionnement dfectueux, transistor calcule par incorrecte
indisponibilit,
techniques de protection Une bogue de un programme
inscurit, (tolrance aux fautes ?) programmation
manque de fiabilit,
mauvais fonctionnement,
aux niveaux si diffrents
panne, ... dun systme 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 elecommunications : Domaine m edical : equipements de mesure et danalyse, stimulateurs
telephone, radio, television, reseaux informatiques, ... cardiaques, suivi en-ligne des malades, bases de donnees, ...
Syst` emes transactionnels : Syst`emes de commande-contr ole, de surveillance
banquaires, reservation de places, gestion des materiaux, ... et de supervision en temps r eel :
lindustrie manufacturi`ere (nucleaires, chimiques, ...)
Transportation :
avions, trains, automobiles (assistance au freinage ABS ou `a
ladherence, 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
Introduction Introduction

CAO = Catastrophe Aid


ee par Ordinateur ? Les causes les plus communes de d
efaillances de syst`
emes
informatiques
Consequences fatales des defaillances de syst`emes numeriques :
Inconvenients aux utilisateurs

La non-disponibilite du syst`eme `a long distance AT&T aux Etats-Unis Fautes du mat
eriel
(dune duree de 9 heures en janvier 1990)
La non-disponibilite du reseau de cartes bancaires Carte Bleue en fautes dalimentation
France (33 heures pendant un week-end en juin 1993, 33 millions virus informatiques
dutilisateurs affectes)
catastrophes naturelles :
Pertes nanci`
eres ouragans, tornados, inondations, tremblements de terre, incendies, ...
Lechec du premier vol de la fusee Ariane V
erreurs humaines
Le rappel de millions de processeurs Pentium dIntel en 1996
(les pertes denviron 500 millions de dollars) erreurs de syst`
eme dexploitation
Mise en danger de la sant
e ou de la vie des
etres humains
Laccident dun Airbus de Lufthansa atterrissant `a Varsovie (1997)
Le mauvais fonctionnement dun syst`eme durgence medicale `a Londres
Defaillances de cause commune : affectent plusieurs entites `a
partir dun evenement unique et ne resultent pas les unes des autres
(le nombre de victimes inconnu)

S. J. Piestrak (IRISA) Introduction `


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

Introduction Introduction

M
ecanisme de parution dune faute temporaire soft error Classication 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 - e-t/2), 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 alatoire erreur simple (single event upset)
Drain Source 200 changement dtat(s)
40 MBU de(s) point(s) mmoire
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.2 0.3 0,4 0,5
0
0 0.2 0.4 0.6 0.8 1.0 SEE (single event (soft error)
Time t [ns] Time t [ns]
(single event effects) functional interrupt)
vnements perte de fonctionnalit
singuliers temporaire du circuit
SEU SET SET Faute
temporaire SELU
bascule (single event latch-up)
G1 G2 cration dun 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
dtat erron
t 01 ou 10

S. J. Piestrak (IRISA) Introduction `


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

S
uret
e de fonctionnement (SdF) : notions de base S
uret
e de fonctionnement (SdF) : notions de base

Quest-ce-quon attend dun syst`


eme SdF ? S
uret
e de fonctionnement (SdF) : d
enition

Calcul sans erreurs et integrit e des donn ees


(aucune erreur permise) :
ex. syst`emes bancaires
Op eration continue (no interruption permise) : S
uret
e de fonctionnement : aptitude dun syst`eme `a
ex. syst`emes de temps r eel delivrer un service de confiance justi
ee
Haute disponibilit e (courtes interruptions permises) : ex. serveurs
ou
Sans d efaillances catastrophiques (arrets sans consequences graves
eviter des defaillances du service
autorises) : ex. applications critiques (nucleaires, avioniques,
plus fr
equentes ou plus graves quacceptable
spatiales, ferroviaires, automobiles, ...)
(un crit`ere pour decider si le service delivre est s
ur).
Comment :
Detecter (presque) toute faute,
limiter les degats,
faire de fautes transparentes et, en cas de faute,
permettre la reprise, faire le compte rendu au niveau superieur ?
S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 11 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 12 / 53
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 dun automobile S
uret
e de fonctionnement : attributs

Criticit
e
Catastrophique La
Pire effet de d
mort dune
efaillance Exemples
Freinage electronique,
Exprimer les proprietes qui sont attendues du syst`eme

Critique
ou
La
plusieurs personnes
blessure dune
direction
Contr
electronique
ole de traction,
Apprecier la qualite du service delivre
ou plusieurs personnes r
egulateur de vitesse,
Disponibilite:
coussin gonflable laptitude dun syst`eme `a etre pret `a lutilisation `a un instant donne.
Significative Le remorquage du v
ehicule Controle moteur,
controle dassiette, Fiabilit
e : laptitude dun syst`eme `a etre en etat daccomplir la
suspension active continuite du service delivre, pendant un intervalle de temps donne
Mineure Une g
ene pour le conducteur Limitation de vitesse,
r
eglage de si` ege,
(la mesure du temps jusqu`a defaillance).
r
etroviseurs electriques, Securit
e-innocuit
e:
vitres
electriques,
syst`
eme de diagnostic la non-occurrence de consequences catastrophiques pour
N
egligeable La diminution du confort Climatisation, lenvironnement.
essuie-phares,
radio, tel
ephone Maintenabilite : laptitude aux reparations et aux evolutions
Source : Ch. Ziegler, S
uret
e de fonctionnement darchitectures informatiques embarqu
ees sur automobile,
(ne concerne que des syst`emes reparables).
th`
ese de doctorat, Rapport LAAS No 96289, Toulouse, 1996.

S. J. Piestrak (IRISA) Introduction `


a la SdF Lannion, 17 juin 2011 13 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 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 connement des erreurs

Application

Systme dexploitation
Prevention ( evitement) de fautes Macrocode
Hirarchie
(intolerance du syst`eme aux fautes) : du systme
Microcode
comment empecher loccurrence ou lintroduction de fautes
Diminuer la probabilite dapparition des fautes et des erreurs
Matriel

Erreurs
Tol
erance aux fautes :
Rptition dun cycle de bus
comment fournir un service `a meme de remplir la fonction du syst`eme Davantage erreur(s) se propage(nt)
en depit des fautes. Rptition dune instruction
Complexit davantage dtats sont impliqus

Limiter les effets de fautes Rptition dune procdure de traitement


derreur
des manifestations derreur
sont plus diverses et plus nombreuses
le traitement derreurs
Rptition dun procs
devient de plus en plus compliqu
Ces deux approches sont compl
ementaires !
Rptition dune tache

Comment arreter (restreindre) la propagation derreurs ?


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

S
uret
e de fonctionnement (SdF) : notions de base S
uret
e de fonctionnement (SdF) : notions de base

Lignorance des fautes ou la tol


erance aux fautes ? Fonctionnement dun syst`
eme expos
e aux fautes

Des eets de fautes non-d


etect
ees :
Manifestation
Effective corruption de donnes critiques de lerreur
dans le systme
Consquences croissantes

Systme est suspendu


Faute Erreur Dfaillance
Fonctionnement Faute dormante Erreur latente (manifestation
Plusieurs processeurs sarrtent normal (cause)
(faute active, de lerreur
Sy

effet interne) sur le service,


effet externe)
st

Processeur sarrte
me
tol

Subystme est suspendu ou sarrte,


ra

ncessitant une "intervention manuelle" Dtection


derreur
nt

(en-ligne)
au

Application avorte
xf
au

Bnigne (inoffensive) corruption de donnes


tes

Aucune (le meilleur cas) Traitement de faute Traitement derreur


(empche des fautes (limine les erreurs
dtre actives de nouveau) de ltat de systme)
Gravit de faute(s)

Syst`emes SdF demandent extensive et compl`


ete d
etection derreurs
S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 17 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 18 / 53
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 :


operations destinees `a eviter quune ou des fautes ne soit activees `a
nouveau.
Traitement des erreurs : operations destinees `a eliminer les erreurs,
Diagnostic de faute : determine les causes des erreurs
si possible avant quune defaillance ne survienne.
(localisation et nature de faute(s))
D
etection derreur
Diagnostic derreur
Objectif principal du traitement des fautes, cest
Passivation des fautes :
Recouvrement derreur : les actions destinees `a empecher une nouvelle activation des fautes.
Reprise Les composants consideres comme fautifs sont retires du processus
Poursuite dexecution ulterieure.
Compensation derreur
La reconguration : les composants non-defaillants
permettent de delivrer un service acceptable, bien que degrade :
abandon de certaines taches
re-allocation de certaines taches aux composants restants

S. J. Piestrak (IRISA) Introduction `


a la SdF Lannion, 17 juin 2011 19 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 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 specifiques
selon certaines r`egles de programmation.

Eviter des erreurs de programmation typiques et difficiles `a detecter
Emp
echer loccurrence ou lintroduction
Langage MISRA C et ses 127 r` egles de programmation
de certaines fautes en general (bonnes pratiques) obligatoires et facultatives
ou (MISRA = Motor Industry Software Reliability Association).
de fautes provoquant des erreurs difficile `a traiter par des methodes Exemples :
de tolerance aux fautes Constantes (2) : ne pas utiliser de constante octale
Expressions (6) : ne pas tester l(in)egalite sur des flottants
Contr ole des ux (16) : interdiction dutiliser des goto
Pointeurs et tableaux (7) :
ne pas utiliser doperateurs relationnels avec des pointeurs
Source : G. Antier, A. Bessemoulin, S. Delcroix et D. Renault, R`
egles de Programmation, 15/06/2007,
web-serv.univ-angers.fr/docs/etudquassi/GL07_06.pdf.
S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 21 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 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 donnes : l mots de k+1 units (bits, octets ...)
Ck-1 Ck-2 ... C1 C0 Cc
R`
egles sur la maintenabilit e et la lisibilit
e du code : suffixe pour M0 ...
nom de variable selon leur type (Llong, Ffloat, ...) M1 ... bits de
... contrle
...

...

R`egles sur la portabilit e : utiliser les biblioth`eques standards C++ Ml-1 ...
et pas les fonctionnalites propres `a un syst`eme specifiques.
R`egles sur la abilit
e et la s uret e du code : preserver Transmission de mmes donnes entrelaces colonne par colonne
... ... ... ... ...
lencapsulation en privilegiant la creation de classe private
R`egles sur les instructions conditionnelles : De nombreuses erreurs de transmission conscutives (paquets derreurs)
ne modifier quune seule fois les variables diterations dans les boucles se retrouve rparties raison dune par ligne et pourront tre corriges,
au lieu de rester concentres dans le mme mot
dans les switch chaque case se termine par un break
... ... ... ... ...
un seul point dentree et de sortie.
ne pas utiliser de goto
Eviter des erreurs multiples d
ues aux :
Source : G. Antier, A. Bessemoulin, S. Delcroix et D. Renault, R`
egles de Programmation, 15/06/2007,
perturbations de la transmission
web-serv.univ-angers.fr/docs/etudquassi/GL07_06.pdf. degradation locale du support denregistrement (disque, CD ROM)

S. J. Piestrak (IRISA) Introduction `


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

Evitement (pr
evention) de fautes
Evitement (pr
evention) de fautes

M
ethodes d
evitement (pr
evention) de fautes : exemples (4) Reduction de la sensitivit
e aux radiations de composants

electroniques
Syst`
eme de m
emoire RAM utilisant plusieurs botiers
dfaut dalimentation
4 bits par botier dun botier RAM 1 bit par botier

A0 Utilisation des mat


eriaux avec le taux demission des particules
A1
reduit
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . Utilisation des couches de blindage
. . . . . . . . . . . . . . . . . . . . .
Modication de lemballage
A2n-1
(ecartement des zones sensitives de points de soudure)
mot Modications du proc essus technologique
adress
jusqu 4 bits errons au plus 1 bit erron
Utilisation des technologies alternatives (realisation des circuits sur
dun seul botier dun seul botier mat eriaux isolants plutot que sur substrat semiconducteur) :
Code dtecteur ou correcteur Code dtecteur ou correcteur SOI ( Silicon On Insulator , SiO2 )
derreurs quadruples ineluctable derreurs simples suffie
SOS ( Silicon On Sapphire , Al2 O3 )

Eviter certaines erreurs multiples provoquees par faute


dalimentation ou adressage
S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 25 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 26 / 53


Evitement (pr
evention) de fautes Tol
erance aux fautes

Durcissement des composants (cellules de m


emoire, bistables, Pas de tol
erance aux fautes sans redondance !
portes)

Augmentation de la capacite des nuds sensitifs


augmentation du pull-up gain
insertion de r
esistances ou actifs dispositifs boucles
raccoursissement des lignes de colonnes (SRAM) ...
Redondance mat erielle (duplication, triplication)
colonne
VDD
colonne colonne
VDD
colonne Redondance dinformation
Vrai Faux Vrai Faux
(codes detecteurs derreurs : parite, cycliques CRC, ...
P2 P2
ligne P1 ligne P1
codes correcteurs derreurs : Hamming, Reed-Solomon, turbo, ...)
N1a
ligne
N1a
ligne
Redondance temporelle (repetition dune operation)
N2a N2a Redondance logicielle (tests dacceptation, blocs de recouvrement,
N1
N2
N1
N2 programmation en N-versions)

VSS VSS
durcissement
zones sensibles

Cellule durcie de la memoire SRAM


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

Tol
erance aux fautes Redondance mat
erielle Tol
erance aux fautes Redondance mat
erielle

Achever un syst`
eme able en utilisant composants non-ables Processeur autocontr
olable `
a chaque coup dhorloge (lock-step)

Utilisation de la redondance permet daugmenter la abilit


e
(disponibilite) dun syst`
eme par ordres de grandeur Mmoire
Cache Cache
Systme
Composant Composant
1 2
Hypoth`eses :
Temps de Temps de
non-disponibilit : non-disponibilit :
2 composants redondants 0,1% 0,1%
Microprocesseur Microprocesseur
identiques, dont Contrleur Contrleur
les modes de fautes sont Dcideur de mmoire de mmoire
independents et Contrle Contrle
100% parfait
detectables chaque coup dhorloge chaque coup dhorloge
Temps de non-disponibilit : 0,0001% et et
interconnexion du systme interconnexion du systme

Sortie du systme

Syst`eme duplique non-disponible seulement 0,0001% de temps Vers le systme Vers le systme
dinterconnexion dinterconnexion

Il est impossible de jamais achevers 100% de la fiabilite ou


disponibilite
S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 29 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 30 / 53
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 dun syst`
eme tripl
e TMR (Triple Modular Redundancy)
majoritaire
Taux de defaillance dun module = const, RM (t) = e t
Entre Sortie
M1

M2 V

MN

N 3 dierents composants (mat eriels ou logiciels) traitent les


memes entrees et produisent donc (en principe) les memes sorties
Collection des r
esultats
Algorithme de vote produit le resultat final
simple (vote `a la majorite) ou
complexe (moyenne, moyenne ponderee, mediane, ...)
(fiabilisation dun resultat en combinant plusieurs resultats leg`erement
differents ; ex. : syst`emes reposant sur des capteurs redondes)
S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 31 / 53 S. J. 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 dacceptation (1) Tests dacceptation (2)

2. Controles de comptabilit e : limites aux operations transactionnelles


qui impliquent simple operations mathematiques
Tests dacceptation : le test execute pour verifier
ajouter la somme de contr ole (totale ou modulo)
si les resultats obtenus sont acceptable, ou
comptabilit e en partie double
si lexecution de programme na pas devie du flot attendu.
(codifiee `a Venise par Luca Pacioli au XVe ou XVIe si`ecle)
Faible surco
ut, faible couverture

de contrle
des lignes
Colonne 1

Colonne 2

Colonne 3

Colonne
1. Contr
oles de satisfaction aux exigences :
algorithme de tri : Ligne 1 1 2 3 6
contr
ole de nombre des elements tries et sils sont tries Ligne 2 2 3 2 7
inversion
dune operation mathematique ;
Ligne 3 1 1 1 3
ex. Y = X verifie par X = Y 2 Ligne 4 2 1 1 4
Ligne 5 0 1 0 1
...
Ligne 21
de contrle
6 8 7 21
=

des colonnes

S. J. Piestrak (IRISA) Introduction `


a la SdF Lannion, 17 juin 2011 33 / 53 S. J. 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 dacceptation (3) Tests dacceptation (4)

3. Contr oles de vraisemblance : basees sur lintervalle de grandeurs 4. D


etection derreurs d ex ecution (run-time checks)
precalculees des variables, sequences attendues des etats, ...
Implemente en materiel :
fourchettes de valeurs possibles division par 0
(ex : temperature de leau, vitesse maximale, etat dun compte debordement
bancaire) underflow
increment de valeur dune variable (ecart maximal par rapport au instruction inexistante
adresse memoire inexistante
resultat precedent dans un contr ole de processus continu =
des violations de protections de segments-memoire
continuite des resultats) ; ex : acceleration, ...
correlation entre les valeurs de variables differentes ou leurs Syst`eme de gestion dexceptions
increments Implemente en logiciel :
sequences attendues des etats dun commutateur telephonique controle de type de variable
controle des valeurs dindice de tableaux
Ind
ependance des variables utilisees dans les programmes et les ...
tests dacceptation

S. J. Piestrak (IRISA) Introduction `


a la SdF Lannion, 17 juin 2011 35 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 36 / 53
Tol
erance aux fautes Redondance logicielle Tol
erance aux fautes Redondance logicielle

Tol
erance aux fautes de conception : diversication fonctionnelle Approches aux diversication fonctionnelle de logiciel


Eviter des d
efaillances de mode commun

Diversication fonctionnelle :
on dispose dau moins un autre composant `a meme dassurer la tache,
concu et realise separement `a partir de la meme specification. Trois approches differenciees selon la methode de traitement derreur :

Besoin :
Blocs de recouvrement : recouvrement derreur par reprise
dau moins deux variantes dun syst`eme
Programmation en N versions : masquage de faute
dun decideur, destine `a fournir un resultat suppose exempt derreur
Programmation en N-autotestable : recouvrement derreur par compensation
`a partir des executions des variantes
la sp
ecication commune aux variantes
les points de d
ecision :
quand les decisions doivent etre prises, et
les donn
ees traitees par le decideur

S. J. Piestrak (IRISA) Introduction `


a la SdF Lannion, 17 juin 2011 37 / 53 S. J. 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

Dbut
Entre dun bloc de recouvrement dexcution
(avec donnes correctes)

Excution de Excution de Excution de


Point de recouvrement la version la version la version
1 2 N
Fin dexcution Fin dexcution Fin dexcution
de la version 1 de la version 2 de la version N

Programme Version Version


principal alternative alternative
1 N-1 Assemblage des rsultats
dexcution des diverses versions

Plus Dbut dexcution


Test Echou de version Non dun algorithm de dcision
dacceptation alternative ?
Borne de
Excution dun
propagation Russi algorithme de dcision
des erreurs Oui

Sortir le bloc de recouvrement Logiciel


Calcul
acceptable
Calcul
inacceptable
et accepter les rsultats fautif Fin Logiciel
comme corrects dexcution fautif

S. J. Piestrak (IRISA) Introduction `


a la SdF Lannion, 17 juin 2011 39 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 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
Dbut
dexcution

Excution du Excution du Excution du


module autocontrolable
1
module autocontrolable
2
module autocontrolable
N Domaine dapplication Co
ut [ /h]
Test dacceptation Test dacceptation Test dacceptation Telephonie mobile 40 000
Calcul Echou Calcul Echou Calcul Echou Reservation aerienne 90 000
acceptable acceptable acceptable

Transactions carte de credit 2 500 000


Ligne dassemblage automobile 6 000 000
Excution dun Toutes les N excutions
algorithme de dcision echoues ? Transactions boursi`eres 6 500 000
Fin Logiciel
dexcution fautif

Chaque composant autotestable est constitue :


soit de lassociation dune variante et dun test dacceptation,
soit de deux variantes et dun algorithme de comparaison.
S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 41 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 42 / 53
Disponibilit
e de syst`
emes Disponibilit
e de syst`
emes

Exemples de calcul de la disponibilit


e Quest-ce que la disponibilit
e?

temps de service correct (temps de fonctionnement) - (temps de restauration du service)


Disponibilit A =temps de fonctionnement = temps de fonctionnement
Disponibilit e : la mesure MTBF MTBF

1)
Dfaillance
1
de la delivrance dun service
Priode de restauration
du service correct par rapport `a lalternance MTTR MTTR MTTR

service
correct
service
correct 1000 - 100 900 service correct-service incorrect.
A1 = 1000 = 1000 = 0,9
0 100 200 300 400 500 600 700 800 900 1000 temps [h]
tr1 = 100 h
Elle sexprime par : service
correct
service
correct
service
correct

Dfaillance Dfaillance Dfaillance temps


Dfaillance Dfaillance 1 2 3
2) 1 2 Restauration Restauration Restauration
MTTR

A= 1 MTBF Priode de restauration du service

service
- (30+70) 900
correct
A2 =10001000 = 1000 = 0,9 MTTR (Mean Time To Repair) : le temps moyen de reparation
0 100 200 300 400 500 600 700 800 900 1000 temps [h]
tr1 = 30 h tr2 = 70 h (dintervention pour rendre le syst`eme `a nouveau operationnel suite `a une
Dfaillance Dfaillance Dfaillance Dfaillance Dfaillance
1 2 3 4 5 defaillance). Il comprend la detection de la cause de defaillance, la
3) passivation de faute et la remise en service.
service
-
A3 =10001000
correct (5 20) 900
= 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. J. Piestrak (IRISA) Introduction `


a la SdF Lannion, 17 juin 2011 43 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 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 dun syst`eme :


`a MTTR = 0 (maintenance instantanee) le nombre de neufs dans le chiffre de disponibilite
ou Dans le cas general :
1

`a MTBF = (fonctionnement sans defaillance) Classe = log10 1A

qui est statistiquement impossible.
Classe Disponibilite Non-disponibilite
En pratique, plus le MTTR est faible et le MTBF est
elev
e, (nombre de neufs) A [minutes/an] =
meilleure est la disponibilit
e. 1 0,9 52560 36.5 jours
2 0,99 5256 87 h, 36 min
Diminuer
3 0,999 526 8 h, 46 min
MTTR
A = (1 - MTBF
) 4 0,9999 53 52 min, 33 sec
5 0,99999 5 5 min, 35 sec
Augmenter
Objectif 0,999...
6 0,999999 0.5 31.5 sec
(nombre de "neufs") 7 0,9999999 0.05 3.15 sec

S. J. Piestrak (IRISA) Introduction `


a la SdF Lannion, 17 juin 2011 45 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 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
dune valeur essentielles pour sensibles tolrance la
trs leves la sant au facteur temps perte ou corruption
Un serveur dans des entreprises americans eprouve moyennement par an : ou la vie humaine de donnes

35 defaillances,
resultant en 10.019.5 heures de non-disponibilite non-planifiee
Au moins 1 defaillance est serieuse,
dont le temps de non-disponibilite est superieur de 4 heures,
demandant lintervention de plusieurs administrateurs de reseau,
Exemple : Exemple : Exemple : Exemple :
et potentiellement implique la perte de donnees. Oprations Systmes Electronic batch Distributeurs de
boursires mdicaux record systems billets, virement de
Le temps total de la non-disponibilite planifiee fonds et traitement
de cartes bancaires
(maintenance, mise `a jour, test) > 10 heures par an
Importantes pertes nanci`
eres, risques pour la sant
e ou la vie
Source : The Yankee Group, 2006 Global Server Reliability Survey, June 2006, Boston, MA, USA ; cit e dans :
Stratus Technologies, How to ensure the availability of IT solutions in mission-critical government locations, June 2008. humaine
Source : Stratus Technologies, What to look for in mission-critical managed IT services.
Whats your exposure to losing business capability ?, White Paper, Sept. 2008.
S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 47 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 48 / 53
Quelques syst`
emes commerciaux tol
erants aux fautes Quelques syst`
emes commerciaux tol
erants aux fautes

Intel Inside, But ... What Is Inside ... z990 (IBM) ? (1) Intel Inside, But ... What Is Inside ... 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 derreur au niveau
Bus interne (GX), Parit
e avec retransmission
interface externe (PCI)
dinstruction et sauvegarde toutes les donnees intermediaires
Cache L1 Parit
e protegees par ECC
Cache L2 SEC/DED ECCs :
donnees (72,64), adresse (25,19), propri
etaire (11,5) Processeur de rechange est disponible pour remplacer un processeur
RAM SEC/DED ECC (140,128), nettoyage en continu quelconque defaillant en permanence
(scrubbing), 2 puces de 2 bits de rechange
Cl
es dacc`
es memoire Parit
e, TMR avec un voteur et une cl e de rechange Remplacement des lignes d efectueuses
Cl
es dacc`
es cache SEC/DED ECC (12,7) dans tout les caches et memoire principale RAM
Coprocesseur cryptographique :
modulo exponentiation Code residu Enregistrement de placements de toutes erreurs d etectees :
additionneur, ALU, unit
e SHA Parit
e pour effectuer le remplacement preventif de composants defectueux
unite DES Duplication avec comparaison
Oscillateur de syst`
eme Duplication avec commutation Reconguration dynamique en cas de fautes permanentes
Alimentation Duplication (en parall`
ele)

S. J. Piestrak (IRISA) Introduction `


a la SdF Lannion, 17 juin 2011 49 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 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 independants)
selective TMR M M2 V
(XTMR CAD tools) ou
M3
duplication avec
comparaison
(lock-step) Original
Frame Data
Erroneous
Frame Data
Memory ...010101010... Comparator ...010111010...
Bloques de
conguration :
=? FPGA
nettoyage en continu Corrected
Volume agr eg
e par bandes Disques en miroir
Frame Data
(scrubbing) Modifier ...010101010... (entrelacement de disques) chaque disque dune Volume agr ege par bandes ` a parite
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 derreurs GEO (geosynchronous orbit) en parall`ele) memes donn ees et un bloc de parit e)
M
emoire : de Virtex-II XQR2V6000 e : la faute dun seul
Fiabilit e : la faute dun
Fiabilit e : la faute dun disque est tol
Fiabilit er
ee
disque entrane la perte de disque de chaque paire Cout : minimal (capacit e totale de
TMR ou Memoire de configuration 1.8 h
toutes ses donn ees est tol
eree n disques sur un total de n + 1 disques)
codes ECC de Bloques de memoire 11.8 h Cout : aucune redondance Cout : au moins 100% Inconv enients : penalit
e en ecriture
Hamming (Altera) POR-SEFI 221 ans du fait du calcul de la parit e
SMAP-SEFI 181 ans
Source : http://fr.wikipedia.org/wiki/RAID_(informatique)
S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 51 / 53 S. J. Piestrak (IRISA) Introduction `
a la SdF Lannion, 17 juin 2011 52 / 53