Existe-t-il un avantage certain ou mesurable à utiliser la mémoire RAM ECC sur un ordinateur de bureau?

21

Je me passionne beaucoup pour la construction de machines stables - en ce sens que je déteste absolument les crashs, les redémarrages, les comportements amusants, etc. - et que corriger les erreurs, dit ECC RAM, semble résoudre un gros problème: les erreurs de mémoire.

Mais ça marche vraiment? Existe-t-il un avantage mesurable, par exemple moins d'accidents ou d'autres comportements?

Outre le coût, pourquoi ne pas utiliser la mémoire ECC pour une nouvelle version de PC? Pourquoi la fonctionnalité ECC est-elle principalement disponible et prise en charge pour les ordinateurs de type serveur / poste de travail, mais pas pour les cartes mères grand public?

Chris W. Rea
la source
1
Oui, les ECC sont vraiment utiles contre les erreurs logicielles. Une erreur logicielle peut planter un système si une erreur survient lors de l'accès à la mémoire. Il a été rapporté qu'une seule erreur douce a arrêté une industrie d'un milliard de dollars. Voici une référence détaillée pour cela.
user984260

Réponses:

10

J'ai utilisé la RAM ECC dans les serveurs depuis quelques années maintenant. ECC brille vraiment lorsque vous utilisez beaucoup votre machine, comme dans "c'est plus de 12-16 heures par jour". Les petits serveurs whitebox que j'ai construits sans ECC ont, tôt ou tard, développé des "problèmes" qui nécessitaient un redémarrage, mais les machines ECC ne les ont jamais rencontrés.

Ma réponse est donc la suivante: si vous utilisez beaucoup votre ordinateur , alors probablement. Si vous utilisez votre ordinateur 24h / 24 et 7j / 7, il devrait être indispensable.

Certaines cartes mères supportent ECC. Ils se situent généralement dans la catégorie "supérieure", mais avec un peu de recherche, vous pouvez les trouver chez différents fabricants. La seule autre considération à prendre en compte consiste à activer le support ECC dans le BIOS.


Google est sorti sur cette question. Reportez-vous à http://blogs.zdnet.com/storage/?p=638 pour connaître l' impact réel de cette situation sur les systèmes modernes.

Avery Payne
la source
8
« Les petits serveurs whitebox j'ai construit sans ECC ont, tôt ou tard, mis au point « questions » qui nécessitent un redémarrage » - c'est un peu apocryphe informatique / voodoo pour mes goûts ..
Jeff Atwood
4
Et vous pensez que je ne suis pas au courant? Sinon, comment expliquer le même logiciel sur le même matériel et présentant des problèmes étranges (le courrier est mal livré), mais les problèmes se résolvent d'eux-mêmes après le remplacement de toute la mémoire RAM? Je n’aime pas l’idée non plus, mais étant donné que c’est le seul élément majeur à changer, et qu’avec les problèmes qui disparaissent après la mise à niveau du CEC, il est difficile d’ignorer ...
Avery Payne le
1
J'ai également oublié de mentionner - la RAM a été remplacée une fois avant la mise à niveau ECC et le problème persiste. Peut-être que c'était une mauvaise trace sur la mobo. Peut-être était-ce un défaut de conception du tableau. Avec le recul, j’imagine qu’il pourrait s’agir de nombreuses autres questions, chacune nécessitant l’application d’un EE, mais au bout du compte, ECC a fait disparaître le problème, ne serait-ce que pour s'assurer que les données extraites de la RAM étaient dans un état cohérent à 100%. Jeff, je suis d'accord pour dire que c'est du vaudou ... Je n'aime pas ça, mais c'est comme ça.
Avery Payne
1
@ Jeff Atwood - eh bien ... il s'avère que c'était du vaudou après tout, en ce sens que vous ne pouvez pas voir cela se produire sur votre ordinateur ... voir cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
Avery Payne
6

Je pense seulement qu’ECC vaut la peine d’être utilisé lorsque le serveur le requiert . Wikipedia :

La détection et la correction des erreurs dans les systèmes informatiques semblent aller à la mode. Seymour Cray a déclaré que "la parité est pour les agriculteurs" quand on lui a demandé pourquoi il avait laissé cela hors du CDC 6600. Il a inclus la parité dans le CDC 7600 et aurait, dit-on, "J'ai appris que beaucoup d'agriculteurs achètent des ordinateurs".

Je ne trouve pas de source définitive sur Internet, mis à part des affirmations nébuleuses d'une erreur d'un bit par mois par gigaoctet, ce qui est manifestement ridicule; les serveurs planteraient à gauche et à droite partout dans le monde si cela était vrai à distance .

Quelques faits saillants d' un thread MetaFilter des administrateurs de serveur actuels:

Je pense qu’ECC est une bonne chose, mais j’ai eu des serveurs avec et sans, et je n’ai jamais vu sa présence ou son absence faire quoi que ce soit, de toute façon.

Je comprends l'objectif de la RAM ECC, mais pas le but. Je veux dire, je n'ai jamais remarqué de problème résultant d'un basculement d'un rayon cosmique. Même sur des serveurs personnels de calcul / compilation avec des périodes de disponibilité de plusieurs années. Pour ne pas dire que les bits n'ont pas basculé, mais ils n'ont certainement pas d'importance.

D'après mon expérience dans l'exploitation de fermes de quelques milliers de machines ici et là, vous êtes plus susceptible d'avoir Ext3 en mémoire de rien, plutôt que d'avoir un problème corrigible par ECC.

Personnellement, je pense qu’ECC est un peu sectaire, mais c’est une police d’assurance raisonnable pour un gros serveur costaud, tant que la prime de coût n’est pas trop élevée.

Jeff Atwood
la source
Crashing gauche et droite? Je ne pense pas que ce serait si grave. Intéressant re: "crashing left and right" ... Mais considérons: des erreurs de bits pourraient se produire dans la RAM non allouée (lots, sur des serveurs sous-utilisés), ou dans la mémoire allouée non susceptible d'être exécutée ou référencée avant d'être libérée et réaffectée (par exemple S'il y a une petite erreur dans le code mort, est-ce qu'il émet un son?)
Chris W. Rea
Je me demande également si Google a quelque chose à dire sur les erreurs de mémoire. Ils courent une tonne de serveurs. Je me demande combien de temps d'arrêt du serveur serait imputable aux erreurs de RAM, par opposition aux blocs d'alimentation sur le serveur Fritz ...
Chris W. Rea
3

Nous l'avons envisagé pour les systèmes critiques. Un problème est, comment diable faites-vous la détection d'erreur dans le logiciel pour vérifier votre intégrité de la mémoire, quand le programme utilisé pour exécuter la vérification de l'intégrité de la mémoire peut lui-même être sujet à des erreurs de mémoire ??? En gros, vous ne pouvez pas le faire et cela rend difficile l’analyse / l’atténuation des erreurs en mode défaillance, donc ECC est un mécanisme d’atténuation.

C'est l'un de ces cas où, s'il y a des problèmes, vous pouvez réellement blâmer les rayons cosmiques ;)

Jason S
la source
2

Je considérerais ECC RAM pour les applications "critiques". Si une erreur de serveur vous faisait perdre d'importantes sommes d'argent (ou tuer des gens, ou que ce soit autre chose), relevez le rôle du pilon ECC. Fondamentalement, pesez le coût du bélier ECC par rapport à ce que vous risquez de perdre en cas d'erreur.

Mais quoi que vous décidiez, je vous recommande d'exécuter MemTest86 + pendant la nuit (ou suffisamment longtemps pour effectuer plusieurs passages sur tout l'espace d'adressage). Et si vous pouvez augmenter la température (littéralement), cela vous donnera une idée de la performance de votre bélier lorsque le système est chaud.

J'ai eu de toutes nouvelles erreurs d'exposition RAM dans MemTest. J'ai également eu de "bonnes" erreurs de développement de mémoire RAM détectées par MemTest au fil du temps. C'est un excellent outil, et l'une des premières choses que je lance sur un nouveau système.

ijprest
la source