1. Hardwareluxx
  2. >
  3. News
  4. >
  5. Hardware
  6. >
  7. Prozessoren
  8. >
  9. Cores that don't count: Forscherteam zu versteckten CPU-Fehlern

Cores that don't count: Forscherteam zu versteckten CPU-Fehlern

Veröffentlicht am: von

amd-epyc-milan-cpuComputersysteme sind nicht frei von Fehlern und damit sind keine Errata, also Fehler im Design eines Prozessors gemeint, sonders es kann auch aufgrund äußerer Einflüsse zu Fehlern kommen. Das prominenteste Beispiel sind Fehler aufgrund von Strahlung, was in der Weltraumtechnik zum Tragen kommt.

Aber auch die natürliche Strahlung innerhalb unserer Atmosphäre kann für Bitflips in Speicher sorgen. In Computersystemen kommen solche Bitflips durch Strahlung mit einer Wahrscheinlichkeit von weniger als einem Fehler pro Jahr pro Gigabyte an DRAM-Speicher vor. Für den Heimanwender stellen diese Fehler keine Gefahr dar, in riesigen Rechenzentren mit mehrere tausend Rechenknoten und Terabyte an Speicher kann dies aber durchaus eine Rolle spielen. Hier wird der Speicher aber zum Beispiel durch ECC geschützt, sodass Fehler erkannt und korrigiert werden können. Auch durch thermische Belastung kann es zu Bitflips kommen.

Es gibt aber auch noch eine ganz andere Klasse an Fehlern in Computersystemen, die bisher weniger gut untersucht ist. Man stelle sich auch hier ein riesiges Rechenzentrum mit mehreren tausend Rechenknoten und pro Rechenknoten mindestens einem Prozessor mit jeweils 64 Kernen vor. Bei dann mehreren tausend Kernen sollten sich alle Kerne gleich verhalten und wenn man alle mit der identischen Rechenaufgabe bestückt, sollte am Ende auch überall das gleiche Ergebnis herauskommen. Dem ist aber nicht so. Forscher von Google haben unter dem Namen "Cores that don't count" ein Paper (PDF) veröffentlicht, welches genau diesen Effekt untersuchen sollte. Bislang wird dieser als Corrupt Execution Errors (CEE) bezeichnet und ist ein bekanntes Phänomen. Facebook hatte schon eine ähnliche Untersuchung angestellt und bezeichnete den Effekt als Silent Data Corruption (SDC).

Google stellte in seinen Rechenzentrum wiederkehrende Fehler fest, die reproduzierbar durch gewisse Teilbereiche der Hardware aufgetreten sind. Es handelte sich dabei offensichtlich um Fehler in der Fertigung, die durch alle durchgeführten Tests aber nicht erkannt wurden. Nur unter bestimmten Bedingungen und unter Verwendung bestimmter Befehlssätze produzierten einzelne Kerne dann Fehler. Hinzu kommt, dass diese Fehler häufig erst nach einer gewissen Zeit auftreten und nicht von Anfang an vorhanden sind. Betroffen sind aber nur einzelne Kerne und dies auch nicht in jedem Prozessor des gleichen Typs. Diese Kerne werden als Mercurial Cores bezeichnet, was als launenhaft übersetzt werden kann.

Diese Mercurial Cores treten häufiger auf, als dies bisher vermutet wurde. Google geht von einigen wenigen launenhaften Kernen pro mehrere tausend Server aus – genauer will man an dieser Stelle nicht werden. Facebook berichtete ähnlich unscharfe Zahlen.

Gleich mehrere Gründe für diese Klasse an Fehlern sieht Google: 

  • stetige Zunahme der Größe und Komplexität der Prozessoren
  • immer kleinere Fertigung reduziert die Fehlertoleranz und erhöht die Gefahr für den sogenannten post-burnin
  • ein 3D-Packaging von Chips erhöht die Komplexität zusätzlich

Spannung, Takt und Temperatur spielen für die Mercurial Cores offenbar ebenfalls eine Rolle. Allerdings kann das erratische Verhalten sowohl durch eine niedrige, wie auch eine hohe Spannungen und Takt getriggert werden. Ein dynamisches Takt/Spannungsverhältnis moderner Prozessoren macht eine Erkennung noch schwieriger. Aber genau darum wird es nun gehen: Wie kann man diese Mercurial Cores schnell erkennen und aus dem System isolieren, so dass sie keine fehlerhaften Daten mehr in die Berechnungen einfließen lassen? Die Autoren haben dazu mehrere theoretisch Ansätze, die vom Test der Hardware vor der Installation im Rechenzentren bis hin zu einer Erkennung im laufenden Betrieb reichen. Die Hyperscaler wollen ihre Rechenzentrem aber nicht durch eine Fehlererkennung blockieren, da dies zu Ausfällen führt. Hier muss also ein guter Mittelweg gefunden werden.

Ist ein Mercurial Cores erkannt, kann dieser komplett isoliert und abgeschaltet oder aber wird nur noch mit Rechenaufgaben betraut werden, die nicht kritisch für die auftretenden Fehler sind. Die Macher des Papiers sprechen aber auch davon, dass die Design-for-Test-Methoden der Hersteller und Fertiger verbessert werden müssen und es Methoden zur kontinuierlichen Verifikation von Ergebnissen geben müsse. Solche Fehler sind auch nicht ganz unproblematisch, denn wird ein Mercurial Core mit einer Aufgabe wie der Verschlüsselung von Daten betraut, können solche Fehler dazu führen, dass diese Daten komplett verloren gehen.

Zunächst einmal wollen die Forscher bei Google ein Bewusstsein dafür schaffen, dass solche Kerne ein Problem sein können. Eines steht laut der Forscher fest: Die Mercurial Cores treten häufiger auf, als es Simulationen und Qualitätsaussagen der Hersteller vermuten lassen. Ausgefeilte Methoden zur Erkennung und Verhinderung solcher Phänomene müssen erst noch genauer ausgearbeitet werden. Übrigens sind womöglich jegliche Arten von Chips von dem Problem betroffen - seien es die klassischen Prozessoren, aber auch GPUs, AI/ML-Beschleuniger Smart NICs und vieles mehr. Google nennt aber auch innerhalb der eigenen Tests keinerlei spezifischer Hardware. Nur einmal ist von den eigenen TPUs die Rede.

Welche ist die beste CPU?

Unsere Kaufberatung zu den aktuellen Intel- und AMD-Prozessoren hilft dabei, die Übersicht nicht zu verlieren. Dort zeigen wir, welche Prozessoren aktuell die beste Wahl darstellen - egal, ob es um die reine Leistungsfähigkeit oder das Preis-Leistungs-Verhältnis geht.


Social Links

Das könnte Sie auch interessieren:

  • Der König ist bezwungen: AMD Ryzen 9 5900X und Ryzen 5 5600X im Test

    Logo von IMAGES/STORIES/2017/AMD_RYZEN_9_5900X_5600X_REVIEW-TEASER

    Seit heute sind die ersten Ableger der neuen Ryzen-5000-Familie erhältlich. Mit ihnen will AMD die letzte Intel-Bastion zu Fall bringen und endlich auch bei der Spieleleistung wieder ganz vorne mitspielen, nachdem man dem Konkurrenten mit seinen Matisse-Ablegern in Sachen Preis und... [mehr]

  • Generations-Nachzügler: AMD Ryzen 9 5950X und Ryzen 7 5800X im Test

    Logo von IMAGES/STORIES/2017/AMD_RYZEN_9_5950X_5800X-TEASER

    Wie angekündigt hat uns AMD pünktlich zum gestrigen Marktstart der ersten vier Ryzen-5000-Modelle inzwischen auch mit den noch fehlenden zwei Modellvarianten versorgt. Wir komplettieren die Testreihen daher nun um das Topmodell mit 16 Kernen, den AMD Ryzen 9 5950X, und um den AMD Ryzen 7 5800X... [mehr]

  • Prozessor non grata: Rocket Lake-S als Core i7-11700K im Vorab-Test (Update)

    Logo von IMAGES/STORIES/2017/COREI7-11700K

    Gut einen Monat vor dem offiziell geplanten Verkaufsstart konnte jeder Nutzer bereits den Core i7-11700K erstehen. Mindfactory verkaufte den Prozessor tagelang und jeder der wollte, konnte diesen auch bestellen. Auch wir haben die Gelegenheit ergriffen und präsentieren bereits heute einen... [mehr]

  • Günstiger 10-Kern-Einstieg: Intel Core i9-10850K im Test

    Logo von IMAGES/STORIES/2017/INTEL-CML-S

    Ende Juli stellte Intel in einem kleinen, zweiten Schwung einige weitere neue Modelle an Comet-Lake-S-Prozessoren vor. Die wichtigste Neuvorstellung ist dabei sicherlich der Core i9-10850K, der sich knapp unter dem Core i9-10900K aufstellt. Zehn Kerne, etwas niedrigere Taktraten, dafür ein um... [mehr]

  • Refresh-Nachzügler: AMD Ryzen 7 3800XT und Ryzen 5 3600XT im Test

    Logo von IMAGES/STORIES/2017/AMD_MATISSE_REFRESH_TRIPLE-TEASER

    Wenige Tage nach unserem Test zum AMD Ryzen 9 3900XT versorgte uns die Chipschmiede mit den beiden kleineren Serienvertretern der Matisse-Refresh-Generation, die dank zahlreicher Verbesserungen im Fertigungsprozess und etwas höherer Taktraten die Effizienz gegenüber den bestehenden Modellen... [mehr]

  • Zen 2 optimiert: So funktioniert der ClockTuner for Ryzen (Update)

    Logo von IMAGES/STORIES/2017/CTR

    Bereits vor einigen Wochen wurde der ClockTuner for Ryzen (CTR) angekündigt. Ab heute ist er nun für Jedermann verfügbar und kann ausprobiert werden. 1usmus, der Entwickler hinter dem DRAM Calculator for Ryzen, hat auch den ClockTuner for Ryzen entwickelt. Durch einen Custom... [mehr]