Würden Sie ECC-RAM in einer Workstation verwenden?

21

Wird ECC-RAM für die Verwendung in Workstations empfohlen oder wird es nur auf Servern verwendet? Wenn Nicht-ECC-RAM in PCs funktioniert, warum benötigen wir überhaupt ECC-RAM?

Jon Tackabury
quelle

Antworten:

25

Wenn Daten im Arbeitsspeicher abgelegt, dort belassen und schließlich aus dem Arbeitsspeicher entfernt werden, kommt es auf natürliche Weise zu Beschädigungen (Theorien variieren, aber die derzeit schwerste ist die EMI vom Computer selbst). ECC ist eine Funktion von RAM und Motherboards, mit der diese Beschädigung erkannt und behoben werden kann.

Die Beschädigung ist normalerweise ziemlich gering (ECC kann normalerweise 1-2 Bits pro 64-Bit- "Wort" erkennen und reparieren - und das übersteigt die typischen Fehlerraten), nimmt jedoch mit der Dichte des RAM in der Häufigkeit zu. Ihre durchschnittliche Workstation / PC wird es nie bemerken. Auf einem Server, auf dem rund um die Uhr High-Density-RAM in einer Umgebung mit hohen Anforderungen ausgeführt wird, die wichtige Dienste bereitstellt, unternehmen Sie alle erforderlichen Schritte, um zu verhindern, dass Daten beschädigt werden.

Beachten Sie auch, dass der ECC-RAM von Ihrem Motherboard unterstützt werden muss und von der durchschnittlichen Workstation / dem PC nicht unterstützt wird.

ECC-RAM ist teurer als Nicht-ECC-RAM, reagiert wesentlich empfindlicher auf Taktraten und kann die Leistung geringfügig (1-2%) beeinträchtigen. Wenn es hilft, ist eine Analogie, die funktioniert, RAM für RAID-Controller. Auf Ihrem PC bietet das in Ihren Chipsatz integrierte Hardware-unterstützte Software-RAID einen hervorragenden Schutz vor Ausfällen einzelner Festplatten. Auf einem Server würde das nie ausreichen. Sie benötigen ein batteriegepuffertes High-End-Hardware-RAID mit integriertem RAM, um sicherzustellen, dass Sie keine Daten aufgrund eines Stromausfalls, eines Festplattenausfalls oder Ähnlichem verlieren.

Nein, Sie brauchen kein ECC-RAM in Ihrer Workstation. Der Vorteil wird den Preis einfach nicht rechtfertigen.

sh-beta
quelle
2
Wie auch in der Antwort von Basil Bourque ausgeführt , haben sich die Preise in diesen Tagen ziemlich angeglichen (als ich zuletzt nachgesehen habe, waren die Preisunterschiede die ~ 10%, die Sie von der zusätzlichen Chipfläche erwarten würden, bei der gleichen nutzbaren RAM-Menge). . Vor diesem Hintergrund könnte es sich lohnen, den letzten Satz noch einmal zu lesen.
ein
10

Wenn dieser Artikel hilfreich ist, sollten Sie ECC-RAM verwenden.

Es geht nicht nur um "Ich betreibe keinen Server, also brauche ich ihn nicht". Es kommt darauf an, wie sehr Sie Ihre Daten schätzen. Es ist nicht nur eine Frage von gelegentlichen Abstürzen - das Problem besteht darin, dass Sie Korruption bekommen und nicht wissen können, dass dies geschieht.

geofftnz
quelle
3
Aus dem Artikel: "[...] 4 GB RAM haben eine 96% ige Wahrscheinlichkeit, in drei Tagen ohne ECC RAM einen kleinen Fehler zu haben". Das hört sich so an, als ob Computer ständig abstürzen und die Daten ständig beschädigt werden sollten. Doch ohne ECC scheint es allen recht gut zu gehen ... warum?
Calimo
1
Das liegt daran, dass dieser Artikel in Bezug auf die Fehlerquote falsch ist. Die tatsächliche Fehlerrate ist um viele Größenordnungen niedriger. Siehe den entsprechenden reddit-Thread reddit.com/r/programming/comments/ayleb/…
mimrock
Unabhängig von der Fehlerrate hängt es auch davon ab, was betroffen ist. Möglicherweise führt dies nicht zu einem Systemabsturz.
Sudo
8

Der ECC-RAM wird mit zunehmender Speichergröße interessanter. Die Wahrscheinlichkeit eines Einzelbitfehlers in einer Maschine mit 8 GB RAM ist viel höher als in den Tagen eines 640 KB PC / XT, einfach aufgrund der größeren Anzahl von Bits. Auf einem Datenbankserver, auf dem sich dieser RAM möglicherweise in einem Plattenpuffer befindet, kann ein Bitfehler auch den Plattenspeicher beschädigen. Im Allgemeinen würden Sie erwarten, ECC-Speicher auf einem Server zu verwenden.

Einige Workstations (insbesondere solche mit Xeon- oder Opteron-CPUs) verwenden registrierten Speicher, der ohnehin nur in ECC-Versionen zur Verfügung steht. Auf einem Desktop-PC kann dies als Overkill angesehen werden.

Betroffen vonTunbridgeWells
quelle
4

ECC RAM wurde entwickelt, um speicherbasierte Fehler zu vermeiden und zu beheben. In der Regel wird eine Art Hamming-Code oder modulare Redundanz verwendet. Dies ist sehr nützlich bei Servern, die wichtige Daten enthalten oder eine hohe Verfügbarkeit erfordern, jedoch mit Kosten verbunden sind.

Auch wenn es sich wahrscheinlich lohnt, den Aufpreis für Ihre wichtigen Server zu zahlen, möchten Sie dies wirklich für Ihren Desktop-Computer tun. Ist es wichtig, wenn gelegentlich ein Speicherfehler auftritt? Sicher ist es wichtig, wenn Ihre SQL-Datenbank während einer Transaktion Daten löscht, aber ist es Ihnen wichtig, ob Ihr Word-Dokument von einem leichten Speicherfehler betroffen ist?

Sam Cogan
quelle
4

Wenn Sie eine zuverlässige Workstation benötigen, benötigen Sie dafür ECC-RAM. Es kommt seltener zum Absturz, und die Arbeit daran und die im RAM zwischengespeicherten Dokumente werden nicht zufällig beschädigt.

Zan Lynx
quelle
4
Es scheint eine unermesslich kleine Chance für eine verbesserte Stabilität zu sein. Die einzigen RAM-bedingten Abstürze, die mir auf Arbeitsstationen bekannt sind, sind auf fehlerhaften RAM oder fehlerhafte Anwendungen zurückzuführen, niemals etwas, das ECC verhindert hätte. Auf Servern, auf denen Sie ständig Terabytes an Daten verarbeiten, ist dies ein wenig sinnvoll (lesen Sie: immer noch ein kleines bisschen), aber auf Workstations ist High-End-Grafik-Rendering oder Videoverarbeitung möglicherweise das Einzige, was in die Nähe kommt. Kurz gesagt, ich denke, Sie können eine absolut zuverlässige Workstation ohne ECC-RAM erhalten.
Chris Thorpe
Ich habe memtest86 mehrere Male über Nacht ohne Fehler ausgeführt. So oft kommt es zu einem Memory Flip ... Wenn das Leben davon abhängt, würde das die Verwendung von ECC rechtfertigen. Andernfalls halte ich 99,9% der Fälle nicht für ein echtes Problem. Es ist sehr unwahrscheinlich, dass 1 zufälliges Bit pro Monat einen kritischen Wert in Terabyte Daten erreicht.
Inf3rno
Ofc. ZFS ist eine Ausnahme.
inf3rno
1
@ inf3rno Das Argument? Übernachtung ist nichts. Höhe ist wichtig. Ich lebe in Colorado und sehe jeden Monat mehrere korrigierbare Fehler im ECC-System. Kommen Sie mit Protokollen von einem ECC-System zurück, oder Sie haben keine Informationen. Lesen Sie auch den Bericht von Google zu ECC-Fehlern.
Zan Lynx
4

Ein zusätzlicher Vorteil von ECC gegenüber den oben genannten ist, dass Sie fehlerhaften Arbeitsspeicher erkennen können. Während der Ausführung einer langen memtest86-Sitzung treten normalerweise Probleme auf. Es kann jedoch zu sehr spezifischen Problemen mit dem RAM kommen, die nur selten und in bestimmten Anwendungsfällen auftreten. Dies kann immer noch viel häufiger vorkommen als die Beschädigung, vor der ein einwandfreier ECC-RAM schützen soll - möglicherweise einmal im Monat. Wenn Sie also Überwachungssoftware installieren, können Sie sicher sein, dass Ihr RAM gut ist, oder Sie können schlechte Chips ersetzen. Immer noch ein geringfügiger Vorteil, aber da ECC-Speicher nicht viel teurer als normaler RAM ist, kann es sich lohnen.

Marius Bjørnstad
quelle
1

ECC-Speicher kostet jetzt ungefähr das gleiche wie Nicht-ECC-Speicher, da die Preise gesunken sind. Prüfen Sie also die Preise. Wenn die Preise nahe beieinander liegen, kaufen Sie ECC, wenn Ihre Workstation dies zulässt.

Basil Bourque
quelle
1

Ich denke, dass es einige Verwirrung geben kann, die nur auf dem Titel der Frage basiert.

Wenn Sie nur den durchschnittlichen Desktop-PC meinen, dann basiert dies normalerweise auf einer Plattform, die nicht einmal ECC-Unterstützung bietet.

Wenn Sie einen Computer der Workstation-Klasse meinen , ist der ECC-Speicher sehr wahrscheinlich vorhanden, unabhängig davon, ob Sie sich dafür interessieren oder nicht.
Insgesamt basiert die Workstation-Klasse in der Regel im Wesentlichen auf Serverhardware, verfügt jedoch über eine ordnungsgemäße Grafik und ist in einem anderen Formfaktor verpackt.

Die zu erwartende Arbeitsbelastung ist auch anstrengender als die des Desktop-PCs. Wenn Sie also anerkennen, dass ECC für Server sinnvoll ist, ist es meiner Meinung nach nicht weiter schlimm, dass ECC auch für Workstations sinnvoll ist.

Bei Desktop-PCs wird diskutiert, ob ECC sinnvoll ist oder nicht. Es kann durchaus argumentiert werden, dass alles ECC haben sollte, aber im Moment ist es nicht praktikabel, da die Industrie beschlossen hat, ECC zu einer Funktion zu machen, um High-End-Hardware zu differenzieren.

Håkan Lindqvist
quelle
0

Laut dem in den Kommentaren verlinkten Artikel Zan Lynx: DRAM-Fehler in freier Wildbahn: Eine groß angelegte Feldstudie , sind die nicht korrigierbaren Fehler häufig, während zufällig korrigierbare Fehler in einem System selten auftreten. Die Inzidenz liegt wahrscheinlich bei einigen in einem Jahr, aber es hängt von der Verwendung ab.

In einer Serverumgebung sind die korrigierbaren Fehler möglicherweise nicht so wichtig, aber Sie starten die Servercomputer selten, sodass nicht korrigierbare Fehler, die durch RAM-Ausfälle verursacht werden, dort für eine Weile unentdeckt bleiben und Ihre Daten beschädigen können. Ich denke, das ist der Hauptgrund, warum Server ECC benötigen. Die Arbeitsstationen werden gestartet und überprüfen daher häufig den Arbeitsspeicher, sodass Hardwarefehler bei jedem Neustart erkannt werden können. Wenn diese Frequenz für Ihr Unternehmen ausreicht, benötigen Sie meines Erachtens kein ECC-RAM auf Ihrer Workstation.

Wenn es sich um Speicherfehler handelt, ist es besser, die wichtigen Dokumente auf dem Server zu versionieren. Wenn die Workstation also etwas liest und ändert, sollte der ursprüngliche Inhalt auf dem Server nicht überschrieben werden. Regelmäßige Backups können dasselbe für Sie tun.

Ein weiterer Aspekt dieser Frage ist die Sicherheit. Wenn Ihre Workstation mit einem nicht sicheren Netzwerk verbunden ist, ist sie möglicherweise anfällig für den Row Hammer-Angriff , der ein DRAM-bezogenes Phänomen ausnutzt. Aus Sicherheitsgründen ist es daher besser, ECC-RAM zu verwenden.

inf3rno
quelle