Schätzung der Wahrscheinlichkeit von Hardwarefehlern


13

Angenommen, ich führe 4 Stunden lang eine Supercomputerberechnung mit 100.000 Kernen unter http://www.nersc.gov/users/computational-systems/edison/configuration durch , tausche ungefähr 4 PB Daten über das Netzwerk aus und führe ungefähr 4 TB I / Ö. Die Berechnung ist ganzzahlig, daher sind die Ergebnisse entweder richtig oder falsch (keine numerischen Zwischenfehler).

Unter der Annahme, dass der Code korrekt ist, möchte ich die Wahrscheinlichkeit abschätzen, dass die Berechnung aufgrund eines Hardwarefehlers falsch ist. Was ist ein guter Weg, um dies zu tun? Gibt es gute Quellen für die Zahlen, die für eine solche Schätzung erforderlich sind?


Ich stelle mir vor, dass die CPU / RAM-Ergebnisse im Vergleich zu den Überlegungen zu Netzwerkproblemen und Festplatten wirklich stabil sind.
Meawoppl

Antworten:


5

Haben Sie sich die verschiedenen Exascale-Berichte angesehen, die herausgekommen sind? Harte Ausfälle sind heutzutage kein großes Problem - sie treten zwar auf, aber ihre Häufigkeit ist nicht hoch genug, um ernsthafte Sorgen zu bereiten. Es wird jedoch davon ausgegangen, dass sie auf Exascale-Systemen mit oder mehr Kernen ausreichend häufig sind, sodass Codes vorbereitet werden müssen, um angemessen zu reagieren. Ich glaube, dass diese Themen in den Berichten über Roadmaps in Richtung Exascale dargelegt wurden.Ö(108)

Ich erinnere mich, dass unter den verschiedenen Fehlermodi einzelne Bitflips im Speicher oder auf Prozessorkernen nicht die wichtigsten Bedenken waren. Vielmehr fielen ganze Knoten aus, z. B. aufgrund eines Festplattenausfalls, Betriebssystemfehlern usw. Die aktuellen Designs im Exascale-Modus erfordern daher alle ein periodisches Überprüfen von Codes in den Flash-RAM, wobei die Prüfpunktdaten vorzugsweise außerhalb des Knotens übertragen werden. Codes müssen dann in der Lage sein, von einem zuvor gespeicherten Status aus sofort neu zu starten, wenn das System feststellt, dass ein Knoten verschwunden ist, und diesen Knoten durch einen Hot-Start-Knoten an einer anderen Stelle im System ersetzen.


Das hört sich genau so an, wie ich es brauche. Haben Sie bestimmte Beispiele im Sinn?
Geoffrey Irving

1
Ich würde sehen, ob es irgendetwas unter den verschiedenen DoE-Berichten gibt, das Sie interessiert. Ich nehme an, du kennst auch exascale.org ? Dort sollte es für Sie viel zu lesen geben.
Wolfgang Bangerth

1
Geoff, der endgültige Exascale-Bericht, stammt von Peter Kogge und ist online verfügbar . Sehen Sie sich alle Vorkommen des Wortes Ausfallsicherheit an. Trotzdem kann ich Sie auf einige Personen bei NERSC hinweisen, die möglicherweise genauere Informationen zu dieser Maschine haben.
Aron Ahmadia

@AronAhmadia: Danke, das Dokument sieht toll aus. Ich akzeptiere diese Antwort, da sie mehr der Fehlerklassen abdecken sollte, an denen ich interessiert bin.
Geoffrey Irving

@Wolfgang: Das erinnert mich an meine Zeit im Kalten Krieg, als Minuteman-Raketen mit Kontrollpunkten programmiert wurden, sodass ein Neutronenblitz in der Nähe, der ein sofortiges Herunterfahren des Prozessors zur Folge hatte, vom letzten Kontrollpunkt aus neu gestartet werden konnte. Wenn es zu den nachweislich richtigen Zeiten zu Checkpoints kam, hieß es "Neustart-geschützt".
Mike Dunlavey

9

Ich schätze, Sie beginnen mit der Erfassung der Fehlerraten von Komponenten wie DRAM wie dieser Google-Untersuchung zu DRAM-Fehlern in freier Wildbahn: Eine groß angelegte Feldstudie. Sie haben eine Chance von ~ 1% gefunden, einen nicht korrigierbaren Fehler pro Jahr zu erhalten.

Ich bin mir nicht sicher, ob Sie daran interessiert sind. Ich wäre mehr an nicht nachweisbaren Fehlern interessiert. Fehler, die von typischen Fehlerprüfmethoden nicht erkannt werden. Wenn Sie beispielsweise Pakete über die Optik senden, werden diese von einer Art CRC begleitet, die eine geringe Wahrscheinlichkeit für ein Durchrutschen eines Fehlers zulässt.

UPDATE: In diesem Artikel über Architekturen zur Online-Fehlererkennung und -wiederherstellung in Multicore-Prozessoren wird die zuverlässige Multicore-Architektur beschrieben, es werden jedoch auch verschiedene Aspekte der Systemzuverlässigkeit behandelt


Tolle Studie. Es bestätigt eine Menge Intuition, alt, heiß, häufig verwendet, fast voller Widder ist weniger zuverlässig. Ich bin etwas überrascht, dass es keine herstellerspezifischen Mängel oder allgemein schlechtere Architekturen gibt.
Meawoppl

3

Gibt es gute Quellen für die Zahlen, die für eine solche Schätzung erforderlich sind?

Fragen Sie möglicherweise die Administratoren des Clusters, auf dem Sie arbeiten. Ich stelle mir vor, dass sie im Rahmen ihres Validierungsprozesses mit dem Problem konfrontiert wurden, die Wahrscheinlichkeit von Hardwarefehlern abzuschätzen.


Vielen Dank! Im Nachhinein offensichtlich, aber es war mir nicht in den Sinn gekommen.
Geoffrey Irving

2

Klingt episch. Wenn noch niemand dieses Experiment durchgeführt hat, können Sie überlegen, 100.000 separate Kerne zu verwenden, um einen sha1-Eingang immer wieder zu überarbeiten und die Fehlerrate zu ermitteln. (Ich vermute, es ist nicht messbar.) Machen Sie von dort dasselbe, aber lassen Sie sie von Zeit zu Zeit Hash-Ketten-Ergebnisse tauschen, um Ihre Netzwerkfehlerraten zu ermitteln. Das stelle ich mir auch sehr klein vor, aber ich vermute, Sie können in ein paar Stunden mindestens ein Paar mit Ihrem Supercluster erreichen :)

Dieser Ansatz stellt sicher, dass jede Berechnung korrekt ist, da das Hashing für Einzelbit-Swaps extrem empfindlich ist, während selbst eine Berechnung nur mit Ganzzahlen Fehler in Zweigen verbergen kann, dh die gesamte Berechnung wäre nicht in jedem aufeinanderfolgenden Speicherzustand elliptisch.

Ich habe an einer Möglichkeit gearbeitet, um sicherzustellen, dass der Code von einem externen Cluster korrekt ausgeführt wurde, dessen Motivation darin besteht, durch Übermittlung gefälschter Ergebnisse zu betrügen. Die Lösung, die ich gefunden habe, besteht darin, den Hash mit einer gewissen Häufigkeit in die Berechnung zu integrieren, die das Betrügen weniger effizient macht als die Arbeit.


2
Leider ist es unwahrscheinlich, dass Ihr Programm für den Abbau von Bitcoins genehmigt wird. :)
Geoffrey Irving

Tee hee hee. Es ist wirklich nur ein Beweis für die Arbeit. : P
meawoppl
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.