« 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 que des pannes peuvent survenir de temps à autre. Ces pannes peuvent être aussi bien logicielles (un logiciel qui plante ou qui a un bug), que matérielles (un composant cesse de fonctionner ou qui donne un résultat faux). Certaines erreurs peuvent être transitoires et ne se manifester qu’occasionnellement, tandis que d'autres sont de vraies pannes qui empêchent le bon fonctionnement d'un ordinateur tant qu'elle ne sont pas résolues. Pour donner un exemple de panne transitoire, on peut citer l'incident de Schaerbeek. Le 18 mai 2003, dans la petite ville belge de Schaerbeek, on constata une erreur sur la machine à voter électronique de la commune : il y avait un écart de 4096 voix en faveur d'un candidat entre le dépouillement traditionnel et le dépouillement électronique. Mais ce n'était pas une fraude : le coupable était un rayon cosmique, qui avait modifié l'état d'un bit de la mémoire de la machine à voter. Et si les pannes causées par des rayons cosmiques sont rares, d'autres pannes peuvent avoir des conséquences similaires.
 
[[File:Distribfaultredudance.PNG|droite|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 ne peut pas se permettre que de telles pannes aient des conséquences : des vies peuvent être en jeu. Dans une telle situation, on doit limiter l'impact des pannes. Pour cela, il existe des systèmes tolérants aux pannes, qui peuvent continuer de fonctionner, même en ayant un ou plusieurs composants en panne. Cette 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 aie 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 :