Question Rayons cosmiques: quelle est la probabilité qu'ils affectent un programme?


Encore une fois, j'étais dans une revue de conception, et j'ai rencontré l'affirmation selon laquelle la probabilité d'un scénario particulier était «inférieure au risque de rayons cosmiques» affectant le programme, et je me suis rendu compte que probabilité est

"Depuis 2-128 est 1 sur 340282366920938463463374607431768211456, je pense que nous sommes justifiés de prendre nos chances ici, même si ces calculs sont décalés d'un facteur de quelques milliards ... Nous sommes beaucoup plus exposés aux rayons cosmiques pour nous déranger, croyez."

Ce programmeur est-il correct? Quelle est la probabilité qu'un rayon cosmique frappe un ordinateur et affecte l'exécution du programme?


476
2018-04-05 20:19


origine


Réponses:


De Wikipédia:

Des études réalisées par IBM dans les années 1990 suggèrent que les ordinateurs subissent généralement une erreur induite par les rayons cosmiques par 256 Mo de RAM par mois.[15]

Cela signifie une probabilité de 3,7 × 10-9 par octet par mois, ou 1,4 × 10-15 par octet par seconde. Si votre programme s'exécute pendant 1 minute et occupe 20 Mo de RAM, alors la probabilité d'échec serait

                 60 × 20 × 1024²
1 - (1 - 1.4e-15)                = 1.8e-6 a.k.a. "5 nines"

La vérification des erreurs peut aider à réduire les conséquences de l'échec. En outre, en raison de la taille plus compacte des puces, comme l'a commenté Joe, le taux d'échec pourrait être différent de ce qu'il était il y a 20 ans.


268
2018-04-05 20:25



Apparemment, pas insignifiant. De cet article de New Scientist, une citation d'une demande de brevet d'Intel:

"Des accidents informatiques provoqués par les rayons cosmiques se sont produits et devraient s’accroître avec la fréquence à mesure que la taille des dispositifs (transistors, par exemple) diminuent en puces. Ce problème devrait devenir un obstacle majeur à la fiabilité informatique au cours de la prochaine décennie."

Vous pouvez lire le brevet complet ici.


84
2018-04-05 20:26



Remarque: cette réponse ne concerne pas la physique, mais les erreurs de mémoire silencieuse avec les modules de mémoire non-ECC. Certaines erreurs peuvent provenir de l’espace, et d’autres de l’espace interne du bureau.

Il existe plusieurs études sur les défaillances de mémoire ECC dans les grandes fermes de serveurs telles que les clusters CERN et les centres de données Google. Le matériel de classe serveur avec ECC peut détecter et corriger toutes les erreurs sur un seul bit, et détecter de nombreuses erreurs sur plusieurs bits.

Nous pouvons supposer qu'il y a beaucoup de postes de travail non-ECC (et de smartphones mobiles non-ECC). Si nous vérifions la présence de taux d’erreur corrigibles selon le format ECC (single bitflips), nous pouvons connaître le taux de corruption de mémoire silencieuse sur la mémoire non-ECC.

Donc, si le programme a un grand ensemble de données (plusieurs Go), ou a un taux de lecture ou d'écriture en mémoire (GB / s ou plus), et qu'il dure plusieurs heures, alors nous pouvons attendre jusqu'à plusieurs bascules sur le matériel de bureau. Ce taux n'est pas détectable par memtest et les modules DRAM sont bons.

Les grappes longues s'exécutent sur des milliers de PC non ECC, comme les grilles de calcul BOINC sur l'Internet, qui ont toujours des erreurs de retournement des bits de la mémoire, ainsi que des erreurs silencieuses sur le disque et le réseau.

Et pour les machines plus grandes (10 000 serveurs), même avec une protection ECC contre les erreurs mono-bit, comme nous le voyons dans le rapport 2012 de Sandia, il peut y avoir des bascules doubles tous les jours, vous n'aurez donc aucune chance programme pendant plusieurs jours (sans point de contrôle régulier et redémarrage depuis le dernier point de contrôle en cas de double erreur). Les énormes machines recevront également des bit-flips dans leurs caches et dans leurs registres (à la fois les déclencheurs architecturaux et internes de la puce, par exemple dans le chemin de données ALU), car tous ne sont pas protégés par ECC.

PS: Les choses seront bien pires si le module DRAM est mauvais. Par exemple, j'ai installé une nouvelle DRAM sur un ordinateur portable, qui est mort plusieurs semaines plus tard. Il a commencé à donner beaucoup d'erreurs de mémoire. Ce que je reçois: ordinateur portable bloque, Linux redémarre, exécute fsck, trouve des erreurs sur le système de fichiers racine et dit qu'il veut faire redémarrer après avoir corrigé les erreurs. Mais à chaque redémarrage suivant (j'en ai fait environ 5 à 6), le système de fichiers racine contient toujours des erreurs.


39
2018-05-11 00:14



Wikipédia cite un étude par IBM Dans les années 90, il est suggéré que «les ordinateurs subissent généralement une erreur induite par les rayons cosmiques par 256 Mo de RAM par mois». Malheureusement, la citation était à un article dans Scientific American, qui n'a pas donné d'autres références. Personnellement, je trouve ce nombre très élevé, mais peut-être que la plupart des erreurs de mémoire induites par les rayons cosmiques ne causent pas de problèmes réels ou notables.

D'un autre côté, les gens qui parlent de probabilités en matière de scénarios logiciels n'ont généralement aucune idée de ce dont ils parlent.


30
2018-04-05 20:25



Eh bien, les rayons cosmiques ont apparemment causé un dysfonctionnement de l’électronique dans les voitures Toyota, alors je dirais que la probabilité est très élevée :)

Les rayons cosmiques causent-ils vraiment les malheurs de Toyota?


29
2018-04-05 20:28



Avec ECC, vous pouvez corriger les erreurs de 1 bit de rayons cosmiques. Afin d'éviter les 10% de cas où les rayons cosmiques résultent en des erreurs de 2 bits, les cellules ECC sont typiquement entrelacées sur des puces donc pas deux cellules sont côte à côte. Un événement de rayon cosmique affectant deux cellules entraînera donc deux erreurs 1bit corrigibles.

Les états du soleil: (Partie No. 816-5053-10 Avril 2002)

D'une manière générale, les erreurs soft rayons cosmiques se produisent dans la mémoire DRAM à un   taux de ~ 10 à 100 FIT / Mo (1 FIT = 1 appareil échoue en 1 milliard d'heures).   Donc, un système avec 10 Go de mémoire devrait montrer un événement ECC tous les 1.000   10 000 heures, et un système de 100 Go afficherait un événement tous les   100 à 1000 heures. Cependant, ceci est une estimation approximative qui   changer en fonction des effets décrits ci-dessus.


22
2018-04-06 05:27



Les erreurs de mémoire sont réelles et la mémoire ECC aide. Correctement implémentée, la mémoire ECC corrigera les erreurs sur un seul bit et détectera les erreurs à double bit (arrêt du système si une telle erreur est détectée). Vous pouvez le constater à quelle fréquence les utilisateurs se plaignent de ce qui semble être un problème logiciel résolu. Memtest86 et découvrir une mauvaise mémoire. Bien sûr, une défaillance transitoire provoquée par un rayon cosmique est différente d'un élément de mémoire défaillant, mais elle concerne la question plus large de savoir à quel point vous devez faire confiance à votre mémoire pour fonctionner correctement.

Une analyse basée sur une taille de résident de 20 Mo peut être appropriée pour des applications triviales, mais les grands systèmes ont généralement plusieurs serveurs avec de grandes mémoires principales.

Lien intéressant: http://cr.yp.to/hardware/ecc.html

Le lien Corsair dans la page semble malheureusement être mort.


17
2018-04-06 03:02



Si un programme est critique pour la vie (il tue quelqu'un s'il échoue), il doit être écrit de manière à ce qu'il soit sécurisé ou qu'il se rétablisse automatiquement après un tel échec. Tous les autres programmes, YMMV.

Les Toyota sont un bon exemple. Dites ce que vous voulez sur un câble d'accélérateur, mais c'est ne pas Logiciel.

Voir également http://en.wikipedia.org/wiki/Therac-25


13
2018-04-05 21:16



Une fois, j'ai programmé des appareils qui devaient voler dans l’espace, et puis vous (soi-disant, personne ne m’a jamais montré de papier à ce sujet, mais il était de notoriété publique) que les rayons cosmiques induiraient des erreurs tout le temps.


11
2017-11-06 11:10