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
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 ?
Introduction Introduction
Station de travail
Banque services
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]
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
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
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
S
uret
e de fonctionnement (SdF) : notions de base S
uret
e de fonctionnement (SdF) : notions de base
Processeur sarrte
me
tol
(en-ligne)
au
Application avorte
xf
au
Tol
erance aux fautes : mise en uvre (1) Tol
erance aux fautes : mise en uvre (2)
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)
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
Evitement (pr
evention) de fautes Tol
erance aux fautes
VSS VSS
durcissement
zones sensibles
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)
Sortie du systme
Syst`eme duplique non-disponible seulement 0,0001% de temps Vers le systme Vers le systme
dinterconnexion dinterconnexion
M2 V
MN
Tol
erance aux fautes Redondance logicielle Tol
erance aux fautes Redondance logicielle
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
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
Tol
erance aux fautes Redondance logicielle Tol
erance aux fautes Redondance logicielle
Dbut
Entre dun bloc de recouvrement dexcution
(avec donnes correctes)
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
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
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
Disponibilit
e de syst`
emes Disponibilit
e de syst`
emes
Comment am
eliorer la disponibilit
e? Classes de disponibilit
e de syst`
emes
Disponibilit
e de syst`
emes Disponibilit
e de syst`
emes
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)
Quelques syst`
emes commerciaux tol
erants aux fautes Quelques syst`
emes commerciaux tol
erants aux fautes