Vorteile von DDR5-ECC-RAM für wichtige Anwendungen

Vorteile von DDR5-ECC-RAM für wichtige Anwendungen – Hero Image

Die meisten Hosting-Spezifikationen nennen die RAM-Kapazität und -Geschwindigkeit. Sie erklären aber nicht, was ECC bedeutet und warum es für Produktions-Workloads wichtig ist. Diese Auslassung kann für Unternehmen teuer werden, die erst nachträglich merken, wie sich eine stille Datenbeschädigung auswirkt.

Der Extreme Dedicated ServerInMotion Hosting kommt mit 192 GB DDR5 ECC RAM. Beide Teile dieser Spezifikation sind wichtig. Dieser Artikel erklärt, was jeder Teil leistet, welche Anwendungen beide brauchen und wie die Kombination die Leistungsökonomie für datenbankintensive Workloads verändert.

Was ECC-RAM eigentlich macht

Das Problem: DRAM-Bitfehler

DRAM (Dynamic Random-Access Memory) speichert Bits als elektrische Ladungen in winzigen Kondensatoren. Kosmische Strahlung, Alpha-Partikel-Emissionen von Spuren radioaktiver Materialien in der Chipverpackung und elektrische Störungen können manchmal Bit-Flips verursachen: Eine gespeicherte 0 wird zu einer 1 oder umgekehrt. Das ist kein theoretisches Problem.

Eine Studie vom Infrastrukturteam von Google, die 2009 veröffentlicht und seitdem von anderen großen Betreibern wiederholt wurde, hat Fehlerraten von etwa 25.000 bis 75.000 Fehlern pro Milliarde Geräte-Stunden in großen Serverflotten festgestellt. Bei einem einzelnen 192-GB-Server, der ständig läuft, kommt das auf ungefähr einen Soft-Fehler alle 1–4 Jahre. In einigen Studien wurde festgestellt, dass DDR5-Module mit höherer Dichte etwas höhere Fehlerraten aufweisen als DDR4, wodurch ECC bei höheren Kapazitäten eher relevanter wird, nicht weniger.

Einzelbit-Fehlerkorrektur

ECC-RAM packt ein paar zusätzliche Datenbits zu jedem Speicherwort dazu (normalerweise 8 extra Bits pro 64-Bit-Wort) und hat eine Fehlererkennungs- und -korrekturschaltung mit Hamming-Code. Wenn ein einzelner Bitfehler auftritt, merkt die ECC-Schaltung, welches Bit sich verändert hat, korrigiert es, bevor die Daten die CPU erreichen, und protokolliert das Ereignis. Die Anwendung sieht den Fehler gar nicht. Das System läuft einfach normal weiter.

Ohne ECC macht dieser einzelne Bit-Flip die Daten im Speicher kaputt. Was dann passiert, hängt ganz davon ab, welches Bit umgedreht wurde und was es gespeichert hat. Mögliche Folgen reichen von einem Prozessabsturz (relativ harmlos) über eine stille Datenbeschädigung auf der Festplatte (schwerwiegend) bis hin zu einem Kernel Panic, der den ganzen Server offline schaltet.

Mehrbit-Fehlererkennung

Standard-ECC (SECDED: Single-Error Correcting, Double-Error Detecting) korrigiert einzelne Bitfehler und erkennt (kann aber nicht korrigieren) doppelte Bitfehler. Wenn ein doppelter Bitfehler entdeckt wird, löst das System eine Maschinenprüfungsausnahme aus. Das führt normalerweise zu einem Systemstillstand, was besser ist, als beschädigte Daten einfach so zu schreiben. Für Anwendungen, bei denen ein ungeplanter Neustart nicht okay ist, bieten erweiterte ECC-Implementierungen und Chipkill-korrigierender Speicher eine stärkere Mehrbitkorrektur.

Welche Anwendungen sind ohne ECC am meisten gefährdet?

Datenbanken

Datenbankserver sind die risikoreichste Kategorie für den Einsatz von Nicht-ECC-RAM. Ein Bit-Flip im Pufferpool einer Datenbank kann eine Indexseite, eine Datenseite oder einen Transaktionsprotokolleintrag beschädigen. Eine Beschädigung des Index führt zu fehlerhaften Abfragen oder falschen Abfrageergebnissen, die möglicherweise erst nach Tagen oder Wochen auffallen. Bei einer Beschädigung der Datenseite werden während eines Checkpoints fehlerhafte Daten auf die Festplatte geschrieben, wodurch die Beschädigung auch nach einem Neustart des Servers dauerhaft bleibt.

Deshalb wird ECC-RAM schon seit Ewigkeiten als Standard für Unternehmensdatenbank-Hardware (Oracle Exadata, IBM Db2-Appliances, SAP HANA-Systeme für Unternehmen) benutzt. Bei Systemen, bei denen die Datenintegrität super wichtig ist, ist das einfach ein Muss.

Finanz- und Transaktionssysteme

Ein Bit-Flip in einer Finanzberechnung im Speicher kann einen Dollarbetrag um den Wert des umgedrehten Bits verändern. Ein Flip in Bit 20 einer 32-Bit-Ganzzahl, die einen Dollarbetrag darstellt, ändert den Wert um 1.048.576 $. Die Wahrscheinlichkeit für dieses spezielle Szenario ist gering, aber die Folgen einer unentdeckten Beschädigung von Finanzdaten sind so schwerwiegend, dass das Risiko nicht akzeptabel ist.

Das überrascht viele Unternehmen, die Finanzanwendungen ohne Probleme auf Nicht-ECC-Consumer-Hardware laufen lassen. Dass man keine Fehler sieht, heißt nicht, dass keine Fehler passieren; ECC-Protokollierung würde zeigen, ob Fehler stillschweigend behoben wurden.

Wissenschaftliches Rechnen und Forschung

Wissenschaftliche Simulationen, die stunden- oder tagelang laufen, sammeln die Ergebnisse von Milliarden von Gleitkommaoperationen. Ein einziges fehlerhaftes Zwischenergebnis verbreitet sich durch die ganze Berechnung. Ohne ECC kann es passieren, dass Forscher eine mehrtägige Simulation abschließen und dann feststellen, dass das Ergebnis falsch ist, ohne dass sie herausfinden können, wo der Fehler passiert ist.

In-Memory-Caches

Redis und Memcached speichern Daten komplett im RAM. Ein Bitfehler in den zwischengespeicherten Daten führt dazu, dass Anwendungen fehlerhafte Daten bekommen. Bei einer Webanwendung, die Datenbankabfrageergebnisse zwischenspeichert, bedeutet das, dass Nutzer unbemerkt falsche Daten bekommen. Je nachdem, was fehlerhaft ist, kann das harmlos sein (ein zwischengespeicherter Artikeltext) oder schwerwiegende Folgen haben (ein zwischengespeicherter Benutzerberechtigungs-Set oder ein zwischengespeicherter Preis).

DDR5 vs. DDR4: Die Geschichte der Leistung

Speicherbandbreite

DDR4 mit 3200 MT/s und 4 Speicherkanälen hat eine theoretische Spitzenbandbreite von ungefähr 102 GB/s. DDR5-4800 mit 4 Kanälen schafft ungefähr 153 GB/s. Diese 50 % mehr theoretische Bandbreite machen sich in der Praxis bei Workloads bemerkbar, die von der Speicherbandbreite abhängen.

SpeichertypGeschwindigkeit4-Kanal-BandbreiteLatenz (CAS)
DDR4-32003.200 MT/s~102 GB/sTypisch 22–26 ns
DDR5-48004.800 MT/s~153 GB/sTypisch 28–34 ns
DDR5-6400 (zukünftig)6.400 MT/s~204 GB/s~32–38 ns

DDR5 hat im Vergleich zu DDR4 eine etwas höhere Latenz in Nanosekunden, weil es bei der Bankadressierung und den Auffrischungszyklen anders funktioniert. Bei Sachen, wo die Latenz echt wichtig ist, wie kleine OLTP-Abfragen, wo ein einziger Speicherzugriff die Antwortzeit bestimmt, sollte man das im Auge behalten. Bei Sachen, wo die Bandbreite wichtig ist (Scannen großer Datensätze, Videoverarbeitung, wissenschaftliche Simulationen), macht die bessere Bandbreite das mehr als wett.

Workloads, bei denen die Bandbreite von DDR5 wichtig ist

  • Große Datenbank-Pufferpools: MySQL und PostgreSQL große Tabellenscans oder Indexseiten aus dem Pufferpool PostgreSQL , profitieren von einer höheren Bandbreite, wenn die Arbeitsdatensätze groß sind.
  • In-Memory-Analysen: Spark DataFrames, Pandas-Operationen auf großen Datensätzen und ähnliche Tools werden bei großen Datensätzen oft eher durch die Speicherbandbreite als durch die Rechenleistung eingeschränkt.
  • Wissenschaftliches Rechnen: Matrixoperationen , Fourier-Transformationen und Finite-Elemente-Analysen sind typische Workloads, bei denen die Speicherbandbreite eine wichtige Rolle spielt und wo DDR5 seine Vorteile am besten zeigen kann.
  • Videoverarbeitung: Unkomprimierte 4K-Videobilder mit 10-Bit-Farbtiefe brauchen eine hohe Speicherbandbreite, um in Echtzeit verarbeitet zu werden; DDR5 bietet den nötigen Spielraum.

192 GB Speicherplatz: Warum das alles verändert, was möglich ist

Die Kombination aus ECC-Schutz und 192 GB Speicherplatz macht Workload-Kategorien möglich, die auf Systemen mit weniger Speicher nicht funktionieren:

Vollständige Datenbank im Arbeitsspeicher

Eine PostgreSQL mit einem 100 GB großen Datensatz, der komplett in shared_buffers gespeichert ist, läuft nach dem Warm-up komplett aus dem Speicher. Jede Abfrage landet im Puffer-Cache statt auf der Festplatte. Festplatten-I/O wird nur noch für WAL-Schreibvorgänge und Vacuum-Operationen wichtig. Die Abfrage-Latenz hängt jetzt eher von der CPU als von der I/O ab.

Auf einem 64-GB-Server führt dieselbe 100-GB-Datenbank dazu, dass Seiten ständig rausgeschmissen und von der Festplatte neu gelesen werden müssen. Der Leistungsunterschied ist nicht linear. Anwendungen, die auf einem 64-GB-Server mit einer durchschnittlichen Abfragezeit von 200 ms liefen, haben auf einem System, bei dem der Arbeitsspeicher ausreicht, normalerweise eine Abfragezeit von 20 bis 40 ms.

Große Caching-Schichten

Redis mit 80–100 GB Daten läuft problemlos auf einem 192-GB-System zusammen mit der Anwendung und dem Betriebssystem. Dadurch wird kein separater Redis-Server für Caching-Workloads mit hohem Speicherbedarf benötigt. Durch die reduzierte Infrastruktur (ein Server statt zwei) entfällt auch der Netzwerk-Roundtrip zwischen Anwendung und Cache, wodurch die Cache-Zugriffsverzögerung in der Regel von 0,3–1 ms (Netzwerk + TCP) auf unter 0,1 ms (Loopback) reduziert wird.

Mehrere Isolationszonen

Ein 192-GB-Server kann gleichzeitig eine Produktionsdatenbank (60 GB Pufferpool), eine Staging-Umgebung (20 GB), eine Redis-Caching-Ebene (40 GB), Anwendungsdienste (20 GB) und Betriebssystem-Headroom (16 GB) hosten, ohne dass eine einzelne Workload die anderen belastet. Diese Konsolidierung ist bei kleineren Speicherkonfigurationen nicht möglich, ohne die Leistung zu beeinträchtigen.

ECC im Zusammenhang mit Backup und RAID

Ein häufiges Missverständnis ist, dass RAID und regelmäßige Backups ECC überflüssig machen. Sie schützen nicht vor denselben Ausfallarten.

  • RAID: Schützt vor physischen Festplattenausfällen. Schützt nicht vor Speicherbeschädigungen, die gleichzeitig auf beide gespiegelte Festplatten geschrieben werden.
  • Backups: Schütze dich vor versehentlichem Löschen, Ransomware und totalen Festplattenausfällen. Ein Backup von kaputten Daten ist eben ein Backup von kaputten Daten.
  • ECC: Schützt vor Bitfehlern im Speicher, bevor sie in den Speicher gelangen. Fängt Fehler ab, die RAID und Backups nicht abfangen können.

Alle drei Schutzschichten decken verschiedene Ausfallmodi ab. Ein Produktionsdatenbankserver braucht alle drei: ECC-RAM für die Speicherintegrität, RAID für die Fehlertoleranz der Laufwerke und externe Backups für die Notfallwiederherstellung. InMotion HostingPremier Care-Paket kombiniert automatisierten 500-GB-Backup-Speicher mit der Option „Extreme Dedicated Server“ und deckt damit zwei der drei Schichten ab.

Erste Schritte

Hol dir AMD-Leistung für deine Aufgaben

Der Extreme Dedicated Server von InMotion hat einen AMD EPYC 4545P-Prozessor mit 192 GB DDR5-RAM und einer Burst-Bandbreite von 10 Gbit/s. Er ist perfekt für Streaming, APIs und CRM-Anwendungen, die Burst-Kapazität brauchen.

Entscheide dich für vollständig verwaltetes Hosting mit Premier Care, wenn du eine professionelle Verwaltung willst, oder für selbstverwaltetes Bare-Metal-Hosting, wenn du die volle Kontrolle haben möchtest.

Entdecke den Extreme-Plan

Für Produktionsdatenbankserver, Finanzanwendungen und alle Workloads, bei denen eine stille Datenbeschädigung nicht okay ist, ist ECC-RAM kein optionales Upgrade. Der Extreme Dedicated Server hat es als Basisspezifikation zu einem Preis, der mit Nicht-ECC-Dedicated-Server-Konfigurationen von vielen Anbietern mithalten kann.

Diesen Artikel teilen

Eine Antwort hinterlassen

Deine E-Mail Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert