Accueil🇫🇷Chercher

Tolérance aux pannes

La tolérance aux pannes (ou « insensibilité aux pannes ») désigne une méthode de conception permettant à un système de continuer à fonctionner, éventuellement de manière réduite (on dit aussi en « mode dégradé »), au lieu de tomber complètement en panne, lorsque l'un de ses composants ne fonctionne plus correctement.

Fichier GIF animé de 8 algorithmes ECT dans un réseau 802.1aq. La source est surlignée en violet, la destination en jaune. Les lignes violettes sont des chemins entre la source et la destination et l'épaisseur indique combien de chemins traversent un lien donné.

L'expression est employée couramment pour les systèmes informatiques étudiés de façon à rester plus ou moins opérationnels en cas de panne partielle, c'est-à-dire éventuellement avec une réduction du débit ou une augmentation du temps de réponse. En d'autres termes, le système ne s'arrête pas de fonctionner, qu'il y ait défaillance matérielle ou défaillance logicielle.

Un exemple en dehors de l'informatique est celui du véhicule à moteur conçu pour être toujours en état de rouler même si l'un de ses pneus est crevé.

Critères de tolérance aux pannes

Aucune machine, même en électronique et en informatique, n'est fiable à 100 %, ni inusable. Le fabricant, ou bien un laboratoire d'essais indépendant, définit, après des tests traduisant une utilisation plus ou moins lourde, un critère de tolérance aux pannes de la machine.

Ce critère s'exprime soit en nombre moyen d'heures entre pannes (en anglais MTBF, ou mean time between failures), soit en nombre d'heures de fonctionnement avant la fin de vie de la machine. On lui associe en général un autre paramètre, le MTTR (mean time to repair), le temps moyen jusqu'à la réparation. La combinaison des deux permet d'établir le taux de disponibilité prévisible.

La disponibilité correspond à .

Degrés de gravité des défaillances

  1. panne franche, ou arrêt sur défaillance (en anglais fail stop) : soit le système fonctionne normalement (les résultats sont corrects), soit il ne fait rien. Il s'agit du type de panne le plus simple ;
  2. panne par omission ou panne transitoire : des messages sont perdus en entrée ou en sortie ou les deux. Elle est considérée comme panne temporelle de durée infinie ;
  3. panne temporelle : le temps de réponse du système dépasse les exigences des spécifications ;
  4. panne byzantine : le système donne des résultats aléatoires.

Classification de la disponibilité

La classification des systèmes en matière de disponibilité conduit communément à 7 classes, de la classe non prise en compte (système disponible 90 % du temps, et donc indisponible plus d'un mois par an) à la classe ultra disponible (disponible 99,99999 % du temps et donc indisponible seulement 3 secondes par an) : ces différentes classes correspondent au nombre de 9 dans le pourcentage de temps durant lequel les systèmes de la classe sont disponibles.

TypeIndisponibilité (en minutes par an)Pourcentage disponibilitéClasse
non géré 50 000 (34 jours, 17 heures et 20 min) 90 % 1
géré 5 000 (3 jours, 11 heures et 20 min) 99 % 2
bien géré 500 (8 heures 20 minutes) 99,9 % 3
tolérance fautive 50 (un peu moins d'une heure) 99,99 % 4
haute disponibilité 5 minutes 99,999 % 5
très haute disponibilité 0,5 (30 secondes) 99,9999 % 6
très grande haute disponibilité 0,05 (3 secondes) 99,99999 % 7

N.B. : Une annĂ©e dure 8 760 heures, soit 525 600 minutes.

Les méthodes

  • Les composants tolĂ©rants aux pannes. Si chaque composant, Ă  son tour, peut continuer Ă  fonctionner quand un de ses sous-composants tombe en panne, le système tout entier pourra continuer Ă  fonctionner. Certaines voitures ont des pneus de roulage Ă  plat ou anti-crevaison (en anglais run flat tires), qui contiennent de la gomme solide Ă  l'intĂ©rieur pour leur permettre de continuer Ă  rouler mĂŞme lorsque la chambre Ă  air est crevĂ©e. S'ils ne peuvent ĂŞtre utilisĂ©s que pendant une durĂ©e limitĂ©e et Ă  vitesse rĂ©duite, ils constituent nĂ©anmoins une amĂ©lioration considĂ©rable par rapport aux pneus traditionnels.
  • La redondance. Cela signifie avoir une sauvegarde des composants qui prend automatiquement la relève dès qu'un composant tombe en panne. Par exemple, les gros poids-lourd peuvent perdre un pneu sans grande consĂ©quence. Ils ont tellement de pneus qu'aucun n'est d'une importance vitale (Ă  l'exception des pneus avant, qui sont utilisĂ©s pour la direction).

DĂ©savantages

Les avantages d'un système insensible aux pannes sont évidents, mais qu'en est-il des désavantages ?

  • InterfĂ©rence avec la dĂ©tection de panne. Pour conserver l'exemple de la voiture capable de rouler malgrĂ© un pneu crevĂ©, un conducteur peut ne pas ĂŞtre en mesure de savoir que sa roue, Ă©quipĂ©e un système tolĂ©rant aux pannes, vient de crever. C'est souvent pris en charge par un système sĂ©parĂ© de dĂ©tection automatique de pannes. Dans le cas du pneu, un dĂ©tecteur surveille la perte de pression d'air et avertit le conducteur. L'autre terme de l'alternative est la dĂ©tection manuelle de pannes, en allant inspecter manuellement tous les pneus Ă  chaque arrĂŞt.
  • RĂ©duction de prioritĂ© de la correction de pannes. MĂŞme si le conducteur est au courant de la panne, avoir un système insensible aux pannes revient Ă  rĂ©duire la nĂ©cessitĂ© de la rĂ©parer. Si la panne n'est pas rĂ©parĂ©e, cela finira par entraĂ®ner une dĂ©faillance du système, lorsque le composant tolĂ©rant aux pannes tombe en panne complètement ou lorsque tous les composants redondants ont Ă©galement cessĂ© de fonctionner.
  • DifficultĂ© du test Pour certains systèmes de tolĂ©rance aux pannes comme les rĂ©acteurs nuclĂ©aires, il n'y a pas de moyen facile de vĂ©rifier que les composants de sauvegarde sont opĂ©rationnels. L'exemple le plus connu est la catastrophe de Tchernobyl, oĂą le système de rafraĂ®chissement de secours fut testĂ© en dĂ©sactivant les systèmes primaire et secondaire. Le système de secours ne fonctionna pas, provoquant la fusion du cĹ“ur et l'Ă©chappement du nuage radioactif.
  • CoĂ»t. Les composants insensibles aux pannes et les composants redondants ont tendance Ă  accroĂ®tre les coĂ»ts. Cela peut ĂŞtre un coĂ»t purement Ă©conomique ou Ă©galement inclure d'autres paramètres comme le poids. Les vols spatiaux habitĂ©s, par exemple, ont tellement de systèmes redondants et de composants tolĂ©rants aux pannes que leur poids s'en trouve considĂ©rablement accru par rapport aux systèmes non habitĂ©s, qui n'ont pas besoin du mĂŞme niveau de sĂ©curitĂ©.

Quand utiliser un système de tolérance aux pannes ?

En règle générale, il n'est pas question de concevoir un système dont chaque composant est insensible aux pannes. Pour déterminer lequel des composants doit être tolérant aux pannes, on peut se poser les questions suivantes :

  • Le composant est-il vraiment d'une importance cruciale ? Dans une voiture, la radio n'est pas d'une importance vitale, donc ce composant a moins besoin de tolĂ©rance aux pannes.
  • Quelle est la probabilitĂ© pour que le composant tombe en panne ? Certains composants, comme l'arbre moteur d'une voiture, ne sont pas susceptibles de tomber en panne, et donc n'ont pas besoin d'ĂŞtre insensibles aux pannes.
  • Combien coĂ»te la conception d'un système de tolĂ©rance aux pannes ? La solution d'embarquer un deuxième moteur de voiture, par exemple, coĂ»terait trop cher et entraĂ®nerait un poids et un encombrement trop grands pour ĂŞtre envisagĂ©e.

Un exemple de composants qui répond à tous les tests est le système d'immobilisation des passagers.

On ne pense pas normalement au système premier d'immobilisation des passagers qu'est la gravité. Si la voiture fait des tonneaux ou est sévèrement freinée à plusieurs g, cette méthode première d'immobilisation peut ne pas fonctionner. Immobiliser les passagers pendant un tel accident est vital pour leur sécurité, on répond donc au premier test.

Les accidents qui provoquent l'éjection des passagers étaient monnaie courante avant l'apparition des ceintures de sécurité, on répond donc au second test.

Un système redondant de blocage des passagers comme les ceintures de sécurité est d'un coût peu élevé et d'un poids et d'un encombrement très faibles, on répond donc au troisième test.

De ce fait, ajouter des ceintures de sécurité à toutes les voitures est une excellente idée. Des systèmes supplémentaires d'immobilisation des passagers comme le coussin gonflable de sécurité (en anglais airbag) sont plus chers et répondent à ce test avec une marge moindre. C'est la raison pour laquelle les voitures bon marché n'en ont pas autant que les autres.

Exemples de tolérance aux pannes

La tolérance aux pannes matérielles peut parfois nécessiter que les pièces défaillantes soient retirées puis remplacées par de nouvelles pièces pendant que le système reste opérationnel. Un tel système à simple redondance est dit « à tolérance simple » (en anglais single point tolerant) et représente la grande majorité des systèmes tolérants aux pannes. Dans de tels systèmes le taux moyen d'échecs entre les pannes doit être suffisamment élevé pour que les administrateurs aient le temps de réparer l'ancien avant que la sauvegarde ne tombe en panne à son tour. Plus la durée entre les pannes est longue, et plus c'est facile, mais ce n'est pas indispensable dans un système de tolérance aux pannes.

L'insensibilité aux pannes fonctionne particulièrement bien dans les systèmes informatiques. Ainsi, la société Tandem Computers fait appel à des machines « à tolérance simple » pour créer ses systèmes NonStop dont le temps de bon fonctionnement (temps écoulé depuis le dernier démarrage) (en anglais uptime) se mesure en dizaines d'années. La société Netflix a de son côté mis en place les Chaos Monkey, un programme qui choisit un serveur au hasard et le neutralise pendant ses heures habituelles d’activité pour tester en continu la résilience de son système.

Différence entre système tolérant aux pannes et système ayant peu de défaillances

Il y a une différence entre les systèmes à tolérance de pannes et les systèmes qui ont rarement des défaillances. Par exemple, les commutateurs crossbar de la société Western Electric avaient un taux de défaillance de deux heures sur quarante ans, et étaient donc hautement résistants aux pannes. Mais comme ils s'arrêtaient quand même lorsqu'une panne se produisait, ils n'étaient donc pas véritablement insensibles aux pannes.

Fiabilité de fonctionnement

La fiabilité de fonctionnement (en anglais dependability) est la possibilité de se fier aux services fournis. Elle dépend de la fiabilité de fonctionnement des composants utilisés.

Origine des pannes

L'origine des erreurs à prendre en considération peut varier :

  • erreurs de conception, de programmation ou de saisie ;
  • accidents dus Ă  l'environnement ;
  • malveillances intentionnelles.

État d'erreur

État d'erreur interne

Une erreur interne, provoquée par les circonstances précédentes, reste interne tant qu'elle n'a pas eu de conséquences sur le fonctionnement externe du système. Cette erreur peut rester interne longtemps (latence de la faute) mais conduit à court ou long terme à un état d'erreur externe par une défaillance ou panne.

État d'erreur externe

L'état d'erreur externe se manifeste par une défaillance, une panne au niveau du service rendu. Le système est en panne si, à la suite de l'un des phénomènes précédents, il ne respecte pas l'une de ses spécifications. En général, seuls sont visibles les états d'erreurs externes : comment repérer le problème qui a conduit à la défaillance ?

Évitement des pannes

L'évitement des pannes (en anglais fault avoidance) est l'ensemble des moyens permettant, en amont, d'éviter que le système ne tombe en panne. Cela passe notamment par :

  • des composants de très bonne qualitĂ© (très fiables) ;
  • une très bonne conception du logiciel, un dĂ©veloppement de qualitĂ© (gĂ©nie logiciel).

Voir aussi

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.