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

Contenu supprimé Contenu ajouté
mAucun résumé des modifications
Ligne 1 :
Un ordinateur n'est jamais un composant parfait et des pannes peuvent survenir de temps à autre. Ces pannes peuvent être logicielles (un logiciel qui plante ou qui a un bug) ou matérielles (un composant cesse de fonctionner ou qui donne un résultat faux). Elles peuvent être transitoires et ne se manifester qu’occasionnellement, tandis que d'autres sont des pannes permanentes qui empêchent le bon fonctionnement d'un ordinateur tant qu'elle ne sont pas résolues. 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.
 
[[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.]]
 
La 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, lesla méthodes vues dans ce coursredondance ne s'utilisentutilise que pour des cas bien précis, oùquand 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 nosles 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 ;
* une redondance logicielle, où plusieurs exemplaires d'un même programme font leurs calculs dans leur coin.
 
Les architectures tolérantes aux pannes dupliquent du matériel, que ce soit des ordinateurs, des composants (processeurs, mémoires, disques durs), voire des portions de composants (cœurs de processeurs, unités de calcul). : siSi un composant tombe en panne, les autres continuent de fonctionner. Par exemple, on peut utiliser plusieurs ordinateurs identiques, qui font la même chose en parallèle. Si un ordinateur tombe en panne, les autres prendront le relais. On peut classer les techniques de redondances matérielles en deux :
* les méthodes actives, où l'on doit détecter les erreurs et reconfigurer le circuit pour corriger la panne ;
* les méthodes passives, qui masquent les erreurs sans pour autant faire quoique ce soit sur le composant fautif ;