Kosmische Strahlung: was ist die Wahrscheinlichkeit, dass Sie wirkt ein Programm?
Wieder einmal war ich in ein design-review und stieß die Forderung, dass die Wahrscheinlichkeit, ein bestimmtes Szenario sei "weniger als das Risiko der kosmischen Strahlung" Auswirkungen auf das Programm, und es fiel mir ein, dass ich nicht die leiseste Ahnung, was die Wahrscheinlichkeit ist.
", Da 2-128 ist 1 von 340282366920938463463374607431768211456, ich denke, wir sind gerechtfertigt, wobei wir unsere Chancen hier, auch wenn die Berechnungen um einen Faktor von ein paar Milliarden... Wir sind mehr an der Gefahr für die kosmische Strahlung zu Schrauben uns nach oben, glaube ich."
Ist dieser programmer richtig?
Was ist die Wahrscheinlichkeit, eine cosmic ray-Kollision mit einem computer und die Auswirkungen auf die Ausführung des Programms?
InformationsquelleAutor der Frage Mark Harrison | 2010-04-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom Wikipedia:
Bedeutet dies eine Wahrscheinlichkeit von 3,7 × 10-9 pro byte pro Monat, oder 1,4 × 10-15 pro byte pro Sekunde. Wenn Ihr Programm läuft für 1 minute und nimmt 20 MB RAM, dann ist die Ausfallwahrscheinlichkeit wäre
Fehler überprüfen können dazu beitragen, die Nachwirkungen des Scheiterns. Auch, wegen der kompakten Größe des chips und kommentiert von Joe, ist die Fehlerrate unterschiedlich sein könnte von dem, was es vor 20 Jahren war.
InformationsquelleAutor der Antwort kennytm
Offenbar nicht unbedeutend. Von dieses New Scientist-Artikelein Zitat aus einem Intel-patent:
Lesen Sie die volles patent hier.
InformationsquelleAutor der Antwort ire_and_curses
Hinweis: diese Antwort ist nicht über Physik, sondern über silent memory-Fehler mit non-ECC-Speichermodule. Einige der Fehler können die aus dem Weltall kommen, und einige - von der inneren Fläche des desktop.
Gibt es mehrere Studien von ECC-memory-Fehler, die auf große server-Farmen, wie CERN-Cluster-und Google-Rechenzentren. Server-class-hardware mit ECC erkennt und korrigiert alle Einzel-bit-Fehler und erkennt viele multi-bit-Fehler.
Können wir davon ausgehen, dass es viele nicht-ECC-desktops (und-nicht-ECC-mobile-smartphones). Wenn wir überprüfen die Papiere für ECC-korrigierbare Fehler (single bitflips), können wir wissen, silent speicherbeschädigungen rate auf nicht-ECC-Speicher.
Große Skala CERN-Studie von 2007 "Integrität der Daten": Verkäufer erklärt, "Bit-Fehler-Rate von 10-12 für Ihre Speichermodule", "eine beobachtete Fehlerrate ist 4 Größenordnungen niedriger als erwartet". Für Daten-intensive Aufgaben (8 GB/s Speicher Lesen), bedeutet dies, dass die einzelnen bit-flip kann auftreten, jede minute (10-12 Anbieter BER) oder einmal in zwei Tagen (10-16 BER).
2009 Google-Papier "DRAM Errors in the Wild: A Large-Scale Field Study" sagt, dass es kann bis zu 25000-75000 ein-bit-FIT pro Mbit (Ausfälle in der Zeit pro Milliarden Stunden), die gleich 1 - 5-bit-Fehler pro Stunde für 8 GB RAM, nach meinen Berechnungen. Papier, sagt der gleiche: "bedeuten korrigierbaren Fehlerraten von 2000-6000 pro GB pro Jahr".
2012 Sandia report "Die Erkennung und Korrektur von Silent Data Corruptionfor Large-Scale, High-Performance Computing": "Doppel-bit-flips, wurden als unwahrscheinlich", aber am ORNL dichten Cray XT5 Sie sind "mit einer rate von einem pro Tag für bis zu 75.000+ - DIMMs" auch mit ECC. Und single-bit-Fehler höher sein sollte.
So, wenn das Programm von großen Datensätzen (mehrere GB), oder hat eine hohe Speicher Lesen oder schreiben rate (GB/s oder mehr), und es läuft für mehrere Stunden, dann können wir erwarten, dass bis zu mehrere silent-bit-flips auf desktop-hardware. Diese rate ist nicht nachweisbar durch memtest und DRAM-Module sind gut.
Lange cluster läuft auf Tausende nicht-ECC-PCs, wie den BOINC-internet-wide grid computing wird immer Fehler aus dem Speicher bit-flips und auch aus disk-und Netzwerk-silent Fehler.
Und für größere Maschinen (10 Tausende von Servern) auch mit ECC-Schutz vor single-bit-Fehler, wie wir sehen, in den Sandia - Bericht 2012, kann es sein, Doppel-bit-flips jeden Tag, so dass Sie keine chance haben zu laufen, full-size-parallel-Programm für mehrere Tage (ohne regelmäßige Checkpoints und Neustart vom letzten guten checkpoint im Fall von Doppel-Fehler). Die gigantischen Maschinen werden auch get bit-flips in Ihren caches und cpu-Register (sowohl architektonische und interne chip-Auslöser, z.B. in ALU-Datenpfad), weil nicht alle von Ihnen sind geschützt durch die ECC.
PS: es wird noch viel schlimmer, wenn das DRAM-Modul schlecht ist. Zum Beispiel, installierte ich eine neue DRAM-in laptop, der starb einige Wochen später. Es begann zu geben, die viel Speicher-Fehler. Was ich bekomme: laptop hängt, linux neu gestartet, fsck läuft, findet Fehler auf dem root-Dateisystem und meint, es tun zu wollen, Neustart nach Fehler-Korrektur. Aber bei jedem nächsten Neustart (ich habe etwa 5-6), gibt es immer noch Fehler auf der root-Dateisystem.
InformationsquelleAutor der Antwort osgx
Wikipedia zitiert eine Studie von IBM in den 90er Jahren darauf hindeutet, dass "Computer in der Regel über ein cosmic-ray-induced Fehler pro 256 MB RAM pro Monat." Leider ist das Zitat wurde einem Artikel in Scientific American, die nicht geben keine weiteren Referenzen. Persönlich finde ich, dass die Zahl sehr hoch zu sein, aber vielleicht am Speicher Fehler induziert durch kosmische Strahlen verursachen keine tatsächlichen oder Auffälligkeiten.
Auf der anderen Seite, die Menschen reden über Wahrscheinlichkeiten, wenn es um software geht-Szenarien in der Regel keine Ahnung haben, wovon Sie reden.
InformationsquelleAutor der Antwort JesperE
Gut, kosmische Strahlung offenbar verursacht die Elektronik im Toyota-Autos zu Fehlfunktionen, so würde ich sagen, dass die Wahrscheinlichkeit sehr hoch ist 🙂
Sind die kosmische Strahlung wirklich verursachen Toyota leiden?
InformationsquelleAutor der Antwort Kevin Crowell
Mit ECC können Sie korrigieren, das 1-bit-Fehler der Kosmischen Strahlung. Um zu vermeiden, die 10% der Fälle, in denen die kosmische Strahlung Ergebnis in 2-bit-Fehler der ECC-Zellen sind in der Regel interleaved über die chips, sodass sich keine zwei Zellen neben einander. Eine cosmic ray event, das auf zwei Zellen wird daher dazu führen, dass zwei korrigiert 1bit-Fehler.
Sonne-Zustände: (Teil-Nr. 816-5053-10 April 2002)
InformationsquelleAutor der Antwort
Speicher-Fehler sind real, und ECC-Speicher unterstützt. Richtig umgesetzt ECC-Speicher korrigiert single-bit-Fehler erkennen und Doppel-bit-Fehler (anhalten des Systems, wenn solch ein Fehler erkannt wird.) Sie können sehen, aus wie oft beschweren sich Leute über das, was zu sein scheint ein software problem, das behoben ist, durch ausführen Memtest86 und entdecken ein schlechtes Gedächtnis. Natürlich auch ein vorübergehender Ausfall verursacht durch kosmische Strahlung unterscheidet sich von der konsequent versagt Stück Speicher, aber es ist relevant für die breitere Frage, wie viel sollten Sie Vertrauen Sie Ihrem Speicher, um ordnungsgemäß zu funktionieren.
Analyse basiert auf einer 20-MB resident Größe geeignet sein könnten für triviale Anwendungen, aber große Systeme routinemäßig auf mehreren Servern mit großen Hauptspeicher.
Interessanter link: http://cr.yp.to/hardware/ecc.html
Den Corsair link die Seite scheint leider tot zu sein.
InformationsquelleAutor der Antwort janm
Wenn ein Programm ist Leben-kritisch (es wird jemanden umbringen, wenn es scheitert), muss es in einer Art geschrieben, dass es entweder fail-safe, oder erholen Sie automatisch von einem solchen Ausfall. Alle anderen Programme, YMMV.
Toyotas sind so ein Fall. Sagen Sie, was Sie über einen Gaszug, aber es ist nicht software.
Siehe auch http://en.wikipedia.org/wiki/Therac-25
InformationsquelleAutor der Antwort Robert Harvey
Ich einmal programmiert, Geräte, die in den Weltraum Fliegen, und dann sind Sie (angeblich niemand jemals zeigte mir Papier über es, aber es wurde auch gesagt, um Allgemeines wissen in der Wirtschaft) könnte erwarten, dass die kosmische Strahlung zu induzieren Fehler die ganze Zeit.
InformationsquelleAutor der Antwort erikkallen
Dies ist ein echtes Problem, und deshalb ist ECC-Speicher in Servern und embedded-Systemen. Und warum fliegende Systeme unterscheiden sich von Boden-basierte.
Zum Beispiel, beachten Sie, dass Intel Teile bestimmt für "embedded" Anwendungen neigen dazu, hinzufügen ECC auf dem Datenblatt. Ein Bay Trail tablet fehlt es, da würde der Speicher etwas teurer und möglicherweise langsamer. Und wenn ein tablet stürzt ein Programm jeder einmal in einem blauen Mond, der Benutzer kümmert sich nicht viel. Die software selbst ist weit weniger zuverlässig als die HW sowieso. Aber für SKUs bestimmt für Gebrauch in den industriellen Maschinen-und Fahrzeugbau, ECC ist obligatorisch. Da hier, wir erwarten, dass die SW zu weit mehr zuverlässig, und die Fehler von zufälligen Verstimmungen wäre ein echtes Problem.
Systeme zertifiziert nach IEC 61508 und ähnliche standards haben in der Regel sowohl die boot-up-tests, die prüfen, ob alle RAM funktionsfähig ist (keine bits stecken bei null oder eins), sowie die Fehlerbehandlung zur Laufzeit, die versucht sich zu erholen aus, Fehler erkannt durch ECC, und oft auch die Arbeitsspeicher-scrubber-Aufgaben, die durch zu gehen und Lesen und schreiben Speicher kontinuierlich, um sicherzustellen, dass alle Fehler, die auftreten, um wahrgenommen zu werden.
Aber für mainstream-PC-software? Nicht eine große Sache. Für einen langlebigen server? Verwenden ECC und ein fault handler. Wenn ein nicht korrigierbarer Fehler killt der kernel, soll es so sein. Oder du gehst paranoid und verwenden Sie ein redundantes system mit lock-step-Ausführung, so dass, wenn ein Kern beschädigt wird, der andere übernehmen kann, während der erste Kern wird neu gestartet.
InformationsquelleAutor der Antwort jakobengblom2
Öfter, Lärm, können Daten beschädigt werden. Prüfsummen verwendet werden, um diese zu bekämpfen auf vielen Ebenen; in einem data-Kabel ist in der Regel ein parity-bit dass Reisen neben den Daten. Diese stark reduziert die Wahrscheinlichkeit von Korruption. Dann auf Analyse-Ebenen, nonsense-Daten in der Regel ignoriert, so dass selbst wenn einige der Korruption haben sich die Vergangenheit, das parity-bit oder andere Prüfsummen, es würde in den meisten Fällen ignoriert werden.
Auch, einige Komponenten sind elektrisch geschirmt zu blockieren, die Lärm (wahrscheinlich nicht die kosmische Strahlung, die ich denke).
Aber am Ende, wie die anderen Beantworter haben gesagt, es ist die gelegentliche bit oder byte, bekommt Rührei, und es bleibt dem Zufall überlassen ob diese eine signifikante byte oder nicht. Best-case-Szenario, einem der kosmischen Strahlung, stört einen der leeren bits und hat absolut keine Wirkung, oder stürzt der computer (dies ist eine gute Sache, weil der computer gehalten wird, keinen Schaden anrichtet), aber im schlimmsten Fall, naja, ich bin mir sicher, dass Sie sich vorstellen können.
InformationsquelleAutor der Antwort Ricket
"cosmic ray-Ereignisse" berücksichtigt werden, um eine gleichmäßige Verteilung in vielen der Antworten hier kann dies nicht immer wahr sein (z.B. supernovas). Obwohl die "kosmischen Strahlen" ist per definition (zumindest laut Wikipedia) kommt aus äußeren Raum, ich denke, es ist fair, auch lokalen Sonnenstürme (aka koronaler massenauswurf unter dem gleichen Dach. Ich glaube, es könnte dazu führen, dass mehrere bits kippen, innerhalb einer kurzen Zeitspanne, möglicherweise genug, um korrupten sogar ECC-fähigen Speicher.
Es ist bekannt, dass Sonnenstürme verursachen können einiges anrichten, mit elektrischer Systeme (wie die Quebec Stromausfall im März 1989). Es ist sehr wahrscheinlich, dass computer-Systeme können auch betroffen sein.
Etwa 10 Jahren saß ich direkt neben einem anderen Kerl, saßen wir mit jedem unserer laptops, es war in einer Zeit mit durchaus "stürmische" solar-Wetter (sitzend in der Arktis, konnten wir beobachten diese indirekt - viele der aurora borealis zu sehen). Plötzlich - im selben Augenblick - unsere beiden laptops abgestürzt. Er war mit OS X, und ich war mit Linux. Keiner von uns verwendet werden, um die laptops, die Absturz - es ist eine ziemlich seltene Sache bei Linux und OS X. Gemeinsame software-bugs kann mehr oder weniger ausgeschlossen werden, da waren wir auf unterschiedlichen OS ' es (und es geschah nicht während einer Schaltsekunde). Ich bin gekommen, um Attribut, das Ereignis zu "kosmische Strahlung".
Später, "kosmische Strahlung" hat sich zu einem internen Witz an meinem Arbeitsplatz. Wann immer etwas passiert mit unseren Servern und wir können nicht finden, eine Erklärung für Sie, wir scherzhaft Attribut die Schuld für diese "kosmische Strahlung". 🙂
InformationsquelleAutor der Antwort tobixen
Ich habe dieses erlebt -, Es ist nicht selten, dass die kosmische Strahlung zu kippen ein bisschen, aber es ist sehr unwahrscheinlich, dass eine person beobachten.
Arbeitete ich auf einem Kompressions-tool für den installer in 2004. Meine test-Daten wurde einige Adobe-Installations-Dateien von über 500 MB oder mehr dekomprimiert.
Nach einem langwierigen, Kompression laufen, und eine Dekompression laufen, um zu testen, Integrität, FC /B zeigte ein byte anders.
Dass man innerhalb von byte das MSB gedreht hatte.
Ich habe auch umgedreht, sich sorgen, dass ich hatte eine verrückte Fehler, der nur die Oberfläche, unter ganz bestimmten Bedingungen - die ich gar nicht wissen, wo zu beginnen.
Aber etwas sagte mir, führen Sie den test erneut. Ich lief es und es ging. Ich habe ein script zum ausführen der Tests 5 mal über Nacht. In der früh alle 5 bestanden hatte.
So, dass war definitiv eine cosmic ray-bit-flip.
InformationsquelleAutor der Antwort rep_movsd
Möchten Sie vielleicht einen Blick auf Fehlertolerante hardware-als auch.
Beispielsweise Stratus-Technologie baut Wintel-Server genannt ftServer, die hatten 2 oder 3 "mainboards" im lock-step, vergleicht man das Ergebnis der Berechnungen. (dies geschieht ebenfalls im Raum Fahrzeuge manchmal).
Den Stratus-Servern entwickelt von custom-Chipsatz Gleichschritt auf der backplane.
Einen sehr ähnlichen (aber software -) system ist die VMWare-Fehlertoleranz Gleichschritt basiert auf dem Hypervisor.
InformationsquelleAutor der Antwort eckes
Als ein Datenpunkt, das passiert nur auf unser build:
Sieht sehr stark wie ein bit-flip passiert während einer Kompilierung, in eine sehr bedeutende Stelle in einer Quelldatei durch Zufall.
Bin ich nicht unbedingt sagen, das war ein "kosmischer Strahl", aber das symptom passt.
InformationsquelleAutor der Antwort dascandy