As CPUs Dual Fornecem Tolerância a Falhas?

17
Digamos que eu comprei dois Intel Xeon's e os instalei em hardware de classe de servidor ... Se uma CPU falhou, a outra ainda funcionaria e receberia a folga, portanto fornecendo tolerância a falhas?

Isso não parece muito provável, mas imaginei que pediria em vez de fazer quaisquer suposições.

    
por Soviero 25.02.2012 / 02:35

6 respostas

30

Em um sistema normal de dois soquetes, não, embora existam servidores que permitem hot-swap de processadores e RAM. Então, essas coisas fazem existem, mas estão no mercado muito alto do mercado.

Não é realmente um grande problema - de tudo em seu servidor que pode falhar, o processador está bem na parte inferior da lista, ao lado daqueles pequenos tirantes de latão que seguram a placa-mãe para fora do chassi.

    
por 25.02.2012 / 02:39
9

Falando sobre o hardware commodity x86, se um sistema estiver em execução e uma CPU falhar, as coisas ficarão paralisadas normalmente. No entanto, o sistema funcionará bem após uma reinicialização, embora seja um pouco mais lento.

Múltiplas CPUs estão lá para ter processamento paralelo, não para tolerância a falhas. Mas é legal ter um sistema que ainda inicializa caso uma CPU (ou mais) falhe.

Eu diria que é mais provável que sua CPU falhe do que Mark Henderson sugere, mas ainda é muito improvável. Na minha experiência, a maioria acontece quando o sistema freqüentemente superaquece e se fecha (isso é muito fácil em uma sala de servidores de escritório mal-condicionada). As CPUs não tendem a gostar muito disso.

Claro que se você tivesse um bom mainframe IBM ou algo similar, um hot swap de CPU (placa) é "fácil" o suficiente.

    
por 25.02.2012 / 02:47
5

Se uma CPU falhar - o que é extremamente improvável, pelas outras respostas - não há basicamente nada que o sistema possa fazer para recuperar. Dependendo do modo como ele falha, pode acabar corrompendo a memória de maneiras estranhas, ou destruindo a tabela de processos, ou quem sabe o que mais. Se você tivesse algum tipo de sistema de monitoramento ativo que mantém o controle da CPU para ter certeza de que está funcionando bem (e capaz de, por exemplo, reverter quaisquer mudanças feitas pela CPU durante a morte), isso também seria outro sistema Isso pode falhar, e determinar programaticamente a falha do software é bastante difícil (basicamente, a única maneira que você pode praticamente fazer é ter outra CPU fazendo exatamente o mesmo material ao mesmo tempo e comparar os resultados - o que acabará atrasando as coisas de tal forma que não há nenhum ponto para ter outra CPU para começar).

Dito isso, por mais rara que seja uma falha de CPU, aumentar a contagem de CPU em um sistema aumentará a taxa de falhas, já que agora você tem o dobro de falhas. Você também tem outros subsistemas que podem falhar, como aqueles que mantêm os caches das CPUs sincronizados, e o aumento no consumo de energia e na saída térmica também contribuem para os fatores por trás da falha geral do sistema (e claro, ventiladores ativos são outra ponto de falha).

    
por 25.02.2012 / 05:47
4

Você terá que definir exatamente que tipo de falhas deseja manipular. Se considerarmos uma coleção de núcleos / CPUs / computadores trabalhando juntos como uma rede, um tipo de falha é que um nó simplesmente pára de responder. Uma falha muito mais grave é quando um nó começa a corromper dados e envia informações com falha para os outros. Isso é chamado de Falha Bizantina e, no pior dos casos, está interrompendo ativamente a operação da rede por meio de "mentiras" estratégicas. É relativamente fácil mostrar que nenhum sistema poderia lidar com um terço ou mais de seus nós indo em bizantino.

O que você precisa fazer é decidir exatamente que tipo de falhas você está esperando, e projetar seu sistema com isso em mente, e aceitar o fato de que o problema de lidar com um número arbitrário de nós mal-intencionados é insolúvel. No seu caso, você precisa de pelo menos quatro CPUs, se uma delas estiver com defeito.

Em uma nota lateral: Na física quântica não há impossibilidades, mas se tiver que esperar mais que a idade do universo para ter estatisticamente a chance de observar um certo comportamento, não temos que dizer que isso é possível. Tenha isso em mente ao projetar seu sistema. ;)

    
por 25.02.2012 / 08:34
2

A falha da CPU pode ser rara. Uma falha provavelmente resultaria em outros problemas no nível do sistema operacional. Eu não pensaria nisso como qualquer forma de tolerância a falhas.

    
por 25.02.2012 / 02:47
1

Como as outras respostas, é muito raro que uma CPU falhe, e nos servidores médios você não pode fazer um hot swap, o que você provavelmente pode fazer é deixar o servidor com uma CPU até que a falha seja substituída, Claro, este procedimento é totalmente off-line e você precisa fazer uma parada do servidor

    
por 25.02.2012 / 08:50