Existe uma vantagem certa ou mensurável no uso da RAM ECC em um PC de mesa?


21

Eu me preocupei muito em construir máquinas estáveis ​​- porque eu odeio absolutamente falhas, reinicializações, comportamentos engraçados etc. - e a correção de erros, também conhecida como RAM ECC, parece resolver um grande problema: erros de memória.

Mas isso realmente funciona? Existe uma vantagem mensurável, por exemplo, menos falhas ou outro comportamento?

Além do custo, por que não usar a memória ECC para uma nova compilação de PC? Por que o recurso ECC é predominantemente disponível e suportado para máquinas da classe servidor / estação de trabalho, mas não em placas-mãe voltadas para o consumidor?


1
Sim, os ECCs são realmente úteis contra erros leves. Um erro leve pode travar um sistema se houver um erro no acesso à memória. Foi relatado que um único erro leve interrompeu um setor de bilhões de dólares. Aqui está uma referência detalhada para isso.
user984260

Respostas:


10

Eu usei a ram ECC em servidores há alguns anos. O ECC realmente brilha quando você está usando sua máquina pesadamente, como em "está em mais de 12 a 16 horas por dia". Os pequenos servidores de caixa branca que construí sem o ECC desenvolveram, mais cedo ou mais tarde, "problemas" que exigiam uma reinicialização, mas as máquinas ECC nunca os tiveram.

Assim, a minha resposta é: se você usa seu computador um monte , então provavelmente sim. Se você usa o computador 24 horas por dia, todos os dias, deve ser um item obrigatório.

Existem algumas placas-mãe que suportam ECC por aí. Eles geralmente estão no final "mais alto" das coisas, mas com um pouco de pesquisa você pode encontrá-los de vários fabricantes. A única outra consideração é lembrar de ativar o suporte ECC no BIOS.


Google saiu balançando sobre esta questão. Veja http://blogs.zdnet.com/storage/?p=638 para saber como isso realmente afeta os sistemas modernos.


8
"Little whitebox servidores Eu construí sem CEC tem, mais cedo ou mais tarde, 'problemas' desenvolvidos que exigiam um reboot" - isto é um pouco apócrifo / vodu de computação para o meu gosto ..
Jeff Atwood

4
E você acha que eu não estou ciente disso? De que outra forma você pode explicar o mesmo software no mesmo hardware que apresenta problemas estranhos (o correio é entregue incorretamente), mas os problemas se resolvem após a substituição de toda a RAM? Eu não gosto da idéia também, mas dado que era o único componente importante para a mudança, e casal que com as questões desaparecendo após o ECC atualizar, bem, é difícil ignorar ...
Avery Payne

1
Também esqueci de mencionar - a RAM foi substituída uma vez antes da atualização do ECC e o problema persistiu. Talvez tenha sido um mau rastro no mobo. Talvez tenha sido uma falha de design no quadro. Eu acho que, em retrospectiva, poderia ter havido muitos outros problemas, cada um dos quais exigiria que um EE aparecesse e investigasse um escopo, mas no final do dia, o ECC fez o problema desaparecer, se não por outro motivo a não ser verifique se os dados buscados na RAM estavam em um estado 100% consistente. Jeff, eu concordo que é vodu ... Eu não gosto, mas aí está.
Avery Payne

1
@ Jeff Atwood - bem ... acontece que foi um vodu, afinal, no sentido de que você não pode ver isso acontecendo no seu computador ... consulte cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
Avery Payne

6

Eu só acho que vale a pena usar o ECC quando o servidor exigir . Wikipedia :

A detecção e correção de erros nos sistemas de computadores parecem estar fora de moda. Seymour Cray disse que "paridade é para agricultores" quando perguntado por que ele deixou isso de fora do CDC 6600. Ele incluiu paridade no CDC 7600 e disse: "Aprendi que muitos agricultores compram computadores".

Não consigo encontrar uma fonte definitiva na internet, a não ser as alegações nebulosas de um erro de bit por mês por gigabyte, o que é claramente ridículo; os servidores estariam travando à esquerda e à direita em todo o mundo se isso fosse verdade remotamente .

Alguns destaques de um thread do MetaFilter de administradores reais do servidor:

Acho que o ECC é legal, mas tive servidores com e sem ele e nunca tive sua presença ou ausência fazendo nada, de qualquer maneira.

Eu entendo o objetivo da RAM do ECC, mas não o ponto. Quero dizer, nunca notei nenhum problema resultante da inversão de bits de raios cósmicos. Mesmo em servidores de computação / compilação pessoais com uptime de vários anos. Para não dizer que os bits não mudaram, mas certamente não importavam.

Na minha experiência em administrar farms de alguns milhares de máquinas aqui e ali, é mais provável que o Ext3 vomite silenciosamente por toda a parte do que um problema corrigível pelo ECC.

Pessoalmente, acho que o ECC é um pouco culto à carga, mas é uma apólice de seguro razoável em um servidor robusto, desde que o custo-benefício não seja muito alto.


Falhando à esquerda e à direita? Eu não acho que seria tão ruim assim. Interessante re: "travando para a esquerda e para a direita" ... Mas considere: erros de bits podem ocorrer na RAM não alocada (lotes, em servidores subutilizados) ou na memória alocada que provavelmente não será executada ou referenciada novamente antes de ser liberada e realocada (por exemplo, se há um erro de bit no código morto, faz um som ?.)
Chris W. Rea

Também me pergunto se o Google tem algo a dizer sobre erros de memória. Eles executam uma tonelada de servidores. Gostaria de saber quanto servidor down-time seria atribuível a RAM erros ao contrário de, digamos, fontes de alimentação no fritz ...
Chris W. Rea

3

Nós consideramos isso para sistemas críticos. Um problema se torna: como diabos você faz a detecção de erros no software para verificar a integridade da memória, quando o programa usado para executar a verificação da integridade da memória pode, por si só, estar sujeito a erros de memória ??? Você basicamente não pode e isso dificulta a análise do modo de falha / mitigação de falhas, portanto o ECC é um mecanismo de mitigação.

Este é um daqueles casos em que, se houver problemas, você pode culpar os raios cósmicos ;)


2

Eu consideraria o ECC ram para aplicativos "de missão crítica". Se um erro no servidor fizer com que você perca quantias significativas de dinheiro (ou mate pessoas, ou o que seja), salte para a ram ECC. Basicamente, avalie o custo da ram ECC versus o que você espera perder no caso de um erro.

Mas não importa o que você decidir, recomendo executar o MemTest86 + da noite para o dia (ou tempo suficiente para fazer várias passagens por todo o espaço de endereço). E se você puder aumentar o calor (literalmente), isso lhe dará uma idéia de como o seu RAM será executado quando o sistema estiver quente.

Eu tive erros de exibição de RAM novinhos em folha no MemTest. Eu também tive erros de ram "bons", ao longo do tempo, que o MemTest detectou. É uma ótima ferramenta e uma das primeiras coisas que corro em um novo sistema.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.