¿Existe alguna ventaja cierta o medible al usar la RAM ECC en una PC de escritorio?

21

Me preocupo mucho por construir máquinas estables, ya que odio absolutamente los bloqueos, reinicios, comportamientos divertidos, etc., por lo que la corrección de errores, también conocida como RAM ECC, parece resolver un gran problema: errores de memoria.

pero de verdad funciona? ¿Existe una ventaja medible, por ejemplo, menos accidentes u otro comportamiento?

Además del costo, ¿por qué no usar la memoria ECC para una nueva compilación de PC? ¿Por qué la función ECC está predominantemente disponible y es compatible con máquinas de clase servidor / estación de trabajo, pero no en placas base orientadas al consumidor?

Chris W. Rea
fuente
1
Sí, los ECC son realmente útiles contra errores suaves. Un error suave puede bloquear un sistema si el error está en el acceso a la memoria. Se ha informado que un solo error suave detuvo a una industria de miles de millones de dólares. Aquí hay una referencia detallada para esto.
user984260

Respuestas:

10

He usado RAM ECC en servidores por algunos años. El ECC realmente brilla cuando está usando su máquina en gran medida, como en "funciona más de 12-16 horas al día". Los pequeños servidores de caja blanca que he creado sin ECC, tarde o temprano, han desarrollado "problemas" que requieren un reinicio, pero las máquinas ECC nunca han tenido estos.

Así que mi respuesta es: si utiliza su ordenador mucho , entonces lo más probable es que sí. Si usa su computadora 24/7, entonces debe ser imprescindible.

Hay algunas placas base que admiten ECC por ahí. Por lo general, están en el extremo "superior" de las cosas, pero con un poco de investigación puede encontrarlos de varios fabricantes. La única otra consideración es recordar habilitar el soporte ECC en el BIOS.


Google ha salido balanceándose sobre este tema. Consulte http://blogs.zdnet.com/storage/?p=638 para ver cómo esto realmente afecta a los sistemas modernos.

Avery Payne
fuente
8
"Los pequeños servidores de caja blanca que he creado sin ECC, tarde o temprano, han desarrollado 'problemas' que requerían un reinicio" - esta es una computación un poco apócrifa / vudú para mis gustos ..
Jeff Atwood
44
¿Y crees que no soy consciente de eso? ¿De qué otra forma puede explicar el mismo software en el mismo hardware que tiene problemas extraños (el correo se entrega mal), pero los problemas se resuelven por sí mismos después de reemplazar toda la RAM? Tampoco me gusta la idea, pero dado que era el único componente importante para cambiar, y unir eso con los problemas que desaparecen después de la actualización de ECC, bueno, es difícil de ignorar ...
Avery Payne
1
También olvidé mencionar: la RAM fue reemplazada una vez antes de la actualización de ECC y el problema persistió. Tal vez fue un mal rastro en el mobo. Tal vez fue un defecto de diseño en el tablero. Supongo que, en retrospectiva, podrían haber sido muchos otros problemas, cada uno de los cuales requeriría que un EE saliera y investigara con un alcance, pero al final del día, ECC hizo que el problema desapareciera, si no por otra razón que no sea asegúrese de que los datos obtenidos de la RAM estén en un estado 100% coherente. Jeff, estoy de acuerdo en que es vudú ... No me gusta, pero ahí está.
Avery Payne
1
@Jeff Atwood - bueno ... resulta que era vudú después de todo, en el sentido de que no puedes ver que esto le suceda a tu computadora ... mira cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
Avery Payne
6

Solo creo que vale la pena usar ECC cuando el servidor lo requiere . Wikipedia :

La detección y corrección de errores en los sistemas informáticos parece estar fuera de moda. Seymour Cray dijo que "la paridad es para los agricultores" cuando se le preguntó por qué dejó esto fuera del CDC 6600. Incluyó la paridad en el CDC 7600 y supuestamente dijo: "Aprendí que muchos agricultores compran computadoras".

No puedo encontrar una fuente definitiva en Internet, aparte de las afirmaciones nebulosas de un error de un bit por mes por gigabyte, que es evidentemente ridículo; los servidores se bloquearían de izquierda a derecha en todo el mundo si esto fuera remotamente cierto.

Algunos aspectos destacados de un hilo MetaFilter de los administradores del servidor real:

Creo que ECC es algo genial, pero he tenido servidores con y sin él, y nunca he tenido su presencia o ausencia haciendo algo, de cualquier manera.

Entiendo el propósito de ECC RAM, pero no el punto. Quiero decir, nunca he notado ningún problema resultante del cambio de bits de rayos cósmicos. Incluso en servidores de cómputo / compilación personal con tiempos de funcionamiento múltiples años. No quiere decir que los bits no cambiaron, pero ciertamente no importaron.

En mi experiencia con granjas de unos pocos miles de máquinas aquí y allá, es más probable que Ext3 vomite silenciosamente sobre usted que un problema corregible por ECC.

Personalmente, creo que ECC es un poco culto a la carga, pero es una póliza de seguro razonable en un servidor grande y robusto siempre que la prima de costo no sea demasiado alta.

Jeff Atwood
fuente
Chocando a izquierda y derecha? No creo que sea tan malo. Interesante re: "fallar a la izquierda y a la derecha" ... Pero considere: podrían producirse errores de bit en la RAM no asignada (lotes, en servidores infrautilizados), o en la memoria asignada que probablemente no se ejecutará o se hará referencia nuevamente antes de que se libere y reasigne (p. Ej. si hay un pequeño error en el código muerto, ¿suena?)
Chris W. Rea
También me pregunto si Google tiene algo que decir sobre los errores de memoria. Ejecutan una TONELADA de servidores. Me pregunto cuánto tiempo de inactividad del servidor sería atribuible a errores de RAM en lugar de, por ejemplo, las fuentes de alimentación en el fritz ...
Chris W. Rea
3

Lo hemos considerado para sistemas críticos. Un problema es, ¿cómo diablos haces detección de errores en el software para verificar la integridad de tu memoria, cuando el programa utilizado para ejecutar la verificación de integridad de la memoria puede ser propenso a errores de memoria? Básicamente, no puede y dificulta el análisis del modo de falla / mitigación de fallas, por lo que ECC es un mecanismo de mitigación.

Este es uno de esos casos en los que si hay problemas, puedes culpar a los rayos cósmicos ;)

Jason S
fuente
2

Consideraría ECC ram para aplicaciones de "misión crítica". Si un error del servidor hace que pierda una cantidad significativa de dinero (o mate personas, o lo que sea), salte a la memoria RAM ECC. Básicamente, calcule el costo del carnero ECC en comparación con lo que puede perder en caso de error.

Pero no importa lo que decida, le recomiendo ejecutar MemTest86 + durante la noche (o el tiempo suficiente para hacer varios pases en todo el espacio de direcciones). Y si puede aumentar el calor (literalmente), eso le dará una idea de cómo funcionará su ram cuando el sistema se esté calentando.

He tenido nuevos errores de exhibición de RAM en MemTest. También he tenido errores de desarrollo "buenos" de ram, con el tiempo, que MemTest detectó. Es una gran herramienta, y una de las primeras cosas que ejecuto en un nuevo sistema.

ijprest
fuente