Disons que j'ai acheté deux Intel Xeon et les ai installés dans du matériel de classe serveur ... Si un processeur tombe en panne, l'autre fonctionnera-t-il et récupérera-t-il le jeu, offrant ainsi une tolérance aux pannes?
Cela ne semble pas très probable, mais j'ai pensé que je demanderais au lieu de faire des hypothèses.
la source
En parlant de matériel de base x86, si un système fonctionne et qu'un processeur tombe en panne, les choses s'arrêteront normalement. Cependant, le système fonctionnera correctement après un redémarrage, quoique un peu plus lentement.
Plusieurs processeurs sont généralement là pour avoir un traitement parallèle, pas vraiment pour la tolérance aux pannes. Mais c'est bien d'avoir un système qui démarre encore si un CPU (ou plus) tombait en panne.
Je dirais qu'il est un peu plus probable que votre processeur tombe en panne que Mark Henderson ne le suggère, mais c'est encore très peu probable. D'après mon expérience, cela se produit principalement lorsque le système surchauffe fréquemment et s'arrête (c'est assez facile dans une salle de serveurs de bureau mal climatisée). Les processeurs n'ont pas tendance à aimer ça beaucoup.
Bien sûr, si vous aviez un joli mainframe IBM ou similaire, l'échange à chaud d'un CPU (carte) est assez "facile".
la source
Si un processeur venait à tomber en panne - ce qui est extrêmement improbable, selon les autres réponses - il n'y a pratiquement rien que le système puisse faire pour récupérer. Selon la façon dont il échoue, il pourrait finir par corrompre la mémoire de manière étrange, ou détruire la table de processus, ou qui sait quoi d'autre. Si vous deviez avoir une sorte de système de surveillance actif qui garde un œil sur le CPU pour s'assurer qu'il fonctionne bien (et capable, par exemple, d'annuler toutes les modifications apportées par le CPU pendant ses affres), ce serait également un autre système qui peut échouer, et déterminer par programme un échec logiciel est assez difficile (fondamentalement, la seule façon de le faire est d'avoir un autre processeur faisant exactement les mêmes choses en même temps et comparant les résultats - ce qui finira par ralentir les choses) vers le bas de telle sorte qu'il '
Cela dit, aussi rare qu'une panne de processeur soit, l'augmentation du nombre de processeurs dans un système fera augmenter votre taux de défaillance, car vous avez maintenant deux fois plus de choses qui peuvent échouer. Vous avez également d'autres sous-systèmes qui peuvent également échouer, tels que ceux qui maintiennent les caches des CPU synchronisés, et l'augmentation de la consommation d'énergie et de la sortie thermique contribuent également aux facteurs à l'origine de la défaillance globale du système (et bien sûr, les ventilateurs de refroidissement actifs sont un autre point de défaillance).
la source
Vous devrez définir exactement le type d'échecs que vous souhaitez gérer. Si nous considérons une collection de cœurs / CPU / ordinateurs travaillant ensemble comme un réseau, un type d'échec est qu'un nœud cesse simplement de répondre. Une défaillance beaucoup plus grave survient lorsqu'un nœud commence à corrompre des données et envoie des informations erronées aux autres. C'est ce qu'on appelle un échec byzantin et, dans le pire des cas, il perturbe activement le fonctionnement du réseau par des «mensonges» stratégiques. Il est relativement facile de montrer qu'aucun système ne peut gérer un tiers ou plus de ses nœuds en byzantin.
Ce que vous devez faire, c'est de décider exactement à quel type d'échecs vous vous attendez, et de concevoir votre système dans cet esprit, et d'accepter le fait que le problème de la gestion d'un nombre arbitraire de nœuds malveillants est insoluble. Dans votre cas, vous avez besoin d'au moins quatre processeurs si l'un d'eux est défectueux.
Soit dit en passant: en physique quantique, il n'y a pas d'impossibilité, mais s'il faut attendre plus longtemps que l'âge de l'univers pour avoir statistiquement une chance d'observer un certain comportement, il n'est pas nécessaire de dire que c'est possible. Gardez cela à l'esprit lorsque vous concevez votre système. ;)
la source
La défaillance du processeur est très rare. Un échec entraînerait probablement d'autres problèmes au niveau du système d'exploitation. Je ne considérerais pas cela comme une forme de tolérance aux fautes.
la source
Comme les autres réponses, il est très rare qu'un CPU tombe en panne, et dans les serveurs moyens vous ne pouvez pas faire un échange à chaud, ce que vous pouvez probablement faire est de laisser le serveur avec un CPU jusqu'à ce que celui qui échoue soit remplacé, bien sûr, cela la procédure est totalement hors ligne et vous devez faire un arrêt du serveur
la source