Lockstep (computação) - Lockstep (computing)

Os sistemas Lockstep são sistemas de computador tolerantes a falhas que executam o mesmo conjunto de operações ao mesmo tempo em paralelo . A redundância (duplicação) permite a detecção e correção de erros: a saída das operações lockstep pode ser comparada para determinar se houve uma falha se houver pelo menos dois sistemas ( redundância modular dupla ), e o erro pode ser corrigido automaticamente se houver são pelo menos três sistemas ( redundância modular tripla ), via voto majoritário. O termo " lockstep " origina-se do uso do exército, onde se refere à caminhada sincronizada, na qual os manifestantes caminham tão próximos quanto fisicamente prático.

Para ser executado em passo fechado, cada sistema é configurado para progredir de um estado bem definido para o próximo estado bem definido. Quando um novo conjunto de entradas chega ao sistema, ele os processa, gera novas saídas e atualiza seu estado. Este conjunto de mudanças (novas entradas, novas saídas, novo estado) é considerado para definir aquela etapa e deve ser tratado como uma transação atômica; em outras palavras, ou tudo acontece ou nada acontece, mas não algo intermediário. Às vezes, um timeshift (atraso) é definido entre os sistemas, o que aumenta a probabilidade de detecção de erros induzidos por influências externas (por exemplo , picos de tensão , radiação ionizante ou engenharia reversa in situ ).

Memória de compasso

Alguns fornecedores, incluindo Intel, usam o termo memória lockstep para descrever um layout de memória multicanal em que as linhas de cache são distribuídas entre dois canais de memória, de modo que metade da linha de cache é armazenada em um DIMM no primeiro canal, enquanto o segundo metade vai para um DIMM no segundo canal. Combinando os recursos de correção de erro único e detecção de erro duplo (SECDED) de dois DIMMs habilitados para ECC em um layout lockstep, sua natureza de correção de dados de dispositivo único (SDDC) pode ser estendida para correção de dados de dispositivo duplo (DDDC), fornecendo proteção contra a falha de qualquer chip de memória único.

As desvantagens do layout de memória lockstep da Intel são a redução da quantidade efetivamente utilizável de RAM (no caso de um layout de memória de três canais, a quantidade máxima de memória é reduzida a um terço do máximo fisicamente disponível) e desempenho reduzido do subsistema de memória.

Redundância modular dupla

Onde os sistemas de computação são duplicados, mas ambos processam ativamente cada etapa, é difícil arbitrar entre eles se suas saídas diferem no final de uma etapa. Por esse motivo, é prática comum executar sistemas DMR como configurações "mestre / escravo" com o escravo como um "hot-standby" para o mestre, em vez de em lockstep. Como não há vantagem em ter a unidade escrava processando ativamente cada etapa, um método comum de trabalho é o mestre copiar seu estado no final de cada processamento da etapa para a escrava. Caso o mestre falhe em algum ponto, o escravo está pronto para continuar a partir da etapa anterior conhecida.

Embora o lockstep ou a abordagem DMR (quando combinados com alguns meios de detecção de erros no mestre) possam fornecer redundância contra falha de hardware no mestre, eles não protegem contra falha de software. Se o mestre falhar por causa de um erro de software, é altamente provável que o escravo - ao tentar repetir a execução da etapa que falhou - irá simplesmente repetir o mesmo erro e falhar da mesma maneira, um exemplo de falha de modo comum .

Redundância modular tripla

Onde os sistemas de computação são triplicados, torna-se possível tratá-los como sistemas de "votação". Se a saída de uma unidade discordar das outras duas, ela é detectada como tendo falhado. A saída correspondente das outras duas é tratada como correta.

Veja também

Referências

links externos