« Fonctionnement d'un ordinateur/Les architectures tolérantes aux pannes » : différence entre les versions

Contenu supprimé Contenu ajouté
mAucun résumé des modifications
mAucun résumé des modifications
Ligne 1 :
Un ordinateur n'est jamais un composant parfait, ce qui fait queet des pannes peuvent survenir de temps à autre. Ces pannes peuvent être aussi bien logicielles (un logiciel qui plante ou qui a un bug), queou matérielles (un composant cesse de fonctionner ou qui donne un résultat faux). Certaines erreursElles peuvent être transitoires et ne se manifester qu’occasionnellement, tandis que d'autres sont de vraiesdes pannes permanentes qui empêchent le bon fonctionnement d'un ordinateur tant qu'elle ne sont pas résolues. PourDans donnerdes unmilieux exemple de panne transitoire, on peut citercomme l'incidentaéronautique, deles Schaerbeek.satellites, Le 18 mai 2003,ou dans latout petitesystème villedit belge de Schaerbeekcritique, on constatadoit unelimiter erreurà surpresque larien machinel'impact àdes voterpannes électroniqueet de laleurs communeconséquences : ildes yvies avaitpeuvent un écart de 4096 voixêtre en faveur d'un candidat entre le dépouillement traditionnel et le dépouillement électroniquejeu. MaisPour ce n'était pas une fraude : le coupable était un rayon cosmiquecela, quiil avaitexiste modifiédes l'état d'un'systèmes bittolérants de la mémoire de la machine à voter. Et si lesaux pannes''', causéesqui parpeuvent descontinuer rayonsde cosmiquesfonctionner sontmême rares,avec d'autresun pannesou peuventplusieurs avoircomposants desen conséquences similairespanne.
 
[[File:Distribfaultredudance.PNG|vignette|Illustration de la redondance matérielle. On voit sur ce schéma que le processeur, la mémoire et les contrôleurs d’entrée-sortie sont dupliqués.]]
 
Dans des milieux comme l'aéronautique, les satellites, ou dans tout système dit critique, on doit limiter à presque rien l'impact des pannes et de leurs conséquences : des vies peuvent être en jeu. Pour cela, il existe des '''systèmes tolérants aux pannes''', qui peuvent continuer de fonctionner même avec un ou plusieurs composants en panne. CetteLa tolérance aux pannes se base sur la redondance : on duplique du matériel, des données, ou des logiciels en plusieurs exemplaires. Ainsi, si un exemplaire tombe en panne, les autres pourront prendre la relève. Ces solutions matérielles pour tolérer les pannes sont relativement couteuses, dupliquer du matériel n'étant pas sans cout. Aussi, les méthodes vues dans ce cours ne s'utilisent que pour des cas bien précis, où le besoin de fiabilité est fort, typiquement dans les grosses industries (aéronautique, spatiale, ferroviaire, automobile et autres). Il est peu probable qu'un développeur lambda ait affaire à ce genre d'architecture, alors que la redondance de données peut très bien faire partie de son quotidien. Dans nos ordinateurs, cette redondance peut prendre plusieurs formes :
* une redondance des données, qui est à la base des codes correcteurs d'erreur et des systèmes RAID ;
* une redondance matérielle : on duplique des serveurs, des unités de calcul, des processeurs ou de la mémoire, des disques durs (RAID), et ainsi de suite ;