Google und Facebook berichten beide davon, dass sie in ihren Rechenzentren Berechungsfehler von CPUs beobachten, die eher auf die Produktion der Chips zurückzuführen sind: Von der gleichen Serie gibt es gute und schlechte CPUs, vielfach betrifft es nur einen Kern eines Mehrkernsystems und Fehler zeigen sich teilweise auch erst nach einiger Betriebszeit. Anders als also bei Spectre und Meltdown, die Fehler im Design der CPU waren und sich somit immer zeigten, ist die Vermutung, dass es sich bei den teilweise auftretenden Fehlern um Fehler bei der Herstellung handelt; z. B. Verunreinigungen im Metall.
Hardware-Fehler (z. B. bei Festplatten, RAM und Netzwerken) sind in der EDV schon länger bekannt und es wurden auch entsprechende Maßnahmen zur Erkennung oder Korrektur (ECC, CRC) entwickelt. Jedoch passieren diese Fehler alle bei der Übertragung und Speicherung von Daten, nicht bei der Berechnung – Operand ggü. Operation. Bei Speicher- oder Übertragungsvorgängen kennt man das Ergebnis der Verarbeitung: am Ende müssen die Daten wieder herauskommen, die man hineingegeben hat. Das Ergebnis einer Operation zu prüfen, ist jedoch wesentlich komplizierter und ein neues Feld der Forschung. Bisher ist man – bis auf besondere Effekte von zum Beispiel kosmischer Strahlung – davon ausgegangen, dass das Ergebnis einer Operation deterministisch und korrekt ist oder wie im Falle von Spectre/Meltdown ein systematischer Fehler vorliegt und kein individuell auftretender Fehler.
Diese neue Art von Rechenfehlern führt im besten Fall zu Programmabstürzen, aber kann eben auch unentdeckt bleiben und zu falschen Ergebnissen und damit auch zu Datenfehlern führen. Google beschreibt den krassen Fall einer CPU, die bei der Verschlüsselung konsequent einen Fehler macht, womit allein sie in der Lage ist, die Daten wieder zu entschlüsseln, weil keine andere CPU den »modifizierten« Algorithmus oder den abweichenden Schlüssel hatte. Solche Fehler fallen auf dem System selbst nicht auf – erst im Zusammenspiel mit anderen Systemen fällt diese Abweichung auf.
Auch treten diese neuartigen Fehler nicht massenhaft auf, aber da Facebook und Google eine solch große Anzahl an Servern betreiben, fällt ihnen in der Masse dieser Fehler auf. Wie gesagt, Fehler die auf die Hardware zurückzuführen sind, gibt es schon immer, nur scheint einerseits die Überwachung besser geworden zu sein, sodass Google und Facebook besser die Fehler erkennen, und andererseits scheint die Fehlerrate anzusteigen. Bei Google sieht man darin eine Folge des Drucks, der auf die Chipentwickler ausgeübt wird und die immer mehr an der Grenze des physikalisch Machbaren operieren.
- FYI: Today's computer chips are so advanced, they are more 'mercurial' than precise – and here's the proof • The Register
- Vortrag bei der HotOS 2021: Cores That Don’t Count (Fun Hardware) - YouTube
- Paper dazu Cores that don’t count
- Paper von Facebook: Silent Data Corruptions at Scale, PDF
Noch eine Anmerkung zur Rolle Googles bzw. Facebooks: So sehr Google und Facebook auch immer für ihre Größe und den teilweisen Missbrauch ihrer Macht gescholten werden, aber genau für solche Beobachtungen erweist die die Größe hier als ein Vorteil. Bevor die Gesellschaft ein solches Phänomen beobachten und untersuchen könnte, müsste eine immense Organisationsarbeit geleistet werden, sodass es unwahrscheinlich ist, dass dies passiert. Ebenso haben Google und Facebook die Macht, von den CPU-Herstellern eine Verbesserung des Zustand zu fordern. Die blinde Zerschlagung der Konzerne, würde also auch einen gewissen Schaden anrichten – die Lage ist leider nicht eindeutig Null oder Eins, sondern ein Mischzustand.