Por que os computadores de vôo críticos são redundantes?

19

Pelo menos nos aviões, os computadores verdadeiramente críticos são redundantes. Normalmente, três cópias idênticas dos computadores do piloto automático são executadas em paralelo e comparam os resultados; se um computador discordar dos outros dois, sua saída será ignorada. O sistema permite que alguns processadores sejam defeituosos enquanto mantém a operação do sistema geral.

Mas por quê? Eu nunca ouvi falar de microprocessadores de repente falhando. Claro, poderia haver erros de fabricação, mas esses teriam sido pegos na fábrica. Talvez o programa (e sua prova) esteja errado, mas seria errado da mesma forma nos processadores. Da mesma forma, a entrada incorreta causaria uma saída ruim nos três computadores. Que tipo de erros esta redundância protege contra? Os microprocessadores às vezes fazem matemática errada?

Se um microprocessador estiver superaquecido ou sobrecarregado e falhar espontaneamente, esperaria que ele parasse de fazer qualquer coisa e não produzisse nenhuma saída. Para lidar com esse tipo de falha, você gostaria de ter um processador de backup, mas não precisaria comparar as saídas de três computadores - qualquer saída produzida seria considerada correta, portanto, você ficaria feliz em usar diretamente saída de qualquer processador que estava produzindo saída.

Relacionados: A resposta para Qual é o objetivo de múltiplos pilotos automáticos? simplesmente diz "redundância" antes de entrar em como isso é alcançado.

    
por raptortech97 24.03.2015 / 22:56

12 respostas

Modos de falha a considerar:

  • superaquecimento. Isso altera as propriedades de tempo do chip e, eventualmente, resulta em erro. Isso pode se manifestar como erros de bit único no meio da operação aparentemente normal; Eventualmente, o falhará, mas poderá gerar dados inválidos primeiro.
  • dano de água. Manifesta-se como uma resistência parasita na placa e pode fazer com que você interprete erroneamente os bits como altos ou baixos. Pode ser carcaças com vazamentos, condensação, etc.
  • Interferência eletromagnética. (O sistema deve ser resistente a isso, mas ainda vale a pena pensar).
  • Problemas de conexão física. Durante a construção (falhas de solda) ou induzidas posteriormente (calor, vibração). Fissuras microscópicas em placas ou juntas podem passar pelo controle de qualidade, mas resultam em falhas intermitentes. Novamente, isso pode te perder um pouco de cada vez. Isto está relacionado com a questão do "anel vermelho da morte" do Xbox.
  • Falha de outros componentes. Capacitores são o suspeito habitual; eletrolítico, tântalo, cerâmica todos têm diferentes modos de falha. Novamente, isso pode resultar em um sistema que principalmente funciona, mas é propenso a interpretar incorretamente valores marginais ou sofre de desvio de tempo.
  • Ciência de materiais estranha ( "Peste roxa" , bigodes de estanho devido à solda sem chumbo)
  • A QA da peça pode não estar à altura dos padrões esperados (fornecedores enviando peças inferiores com uma etiqueta falsa "classe aeroespacial"). Difícil de detectar, mesmo depois de acontecer.

É importante reconhecer que em sistemas digitais de alta velocidade você não obtém um "zero" e um "zero" limpos, você obtém uma série de bordas de subida e descida que são borradas pela capacitância parasita e indutância do fiação. Isso é inerentemente vulnerável a ser mal interpretado em condições elétricas marginais.

    
25.03.2015 / 12:54

Como outra resposta apontou: uma CPU pode falhar. Ou parcialmente (dando respostas erradas), ou totalmente.

Além disso, todos os computadores estão sujeitos a radiações cósmicas que podem de vez em quando virar um pouco na memória (além de outras fontes de erro como curto-circuito, ...). É por isso que experimentos científicos e servidores de longa duração usam memória ECC . As naves espaciais também usam CPUs endurecidas específicas para limitar esse efeito, pois elas são menos protegidas contra tais interferências. Os aviões voam em altitudes elevadas e estão sujeitos a mais interferências do que o seu computador ligado à terra.

Mesmo que o evento seja muito incomum (mas não inédito), você DEVE garantir que os resultados sejam 100% precisos. Um bit invertido pode mudar o comportamento do seu avião de formas imprevisíveis, como inverter os controles, inverter a lei de proteção do envelope de vôo, ...

    
25.03.2015 / 06:47

Why are critical flight computers redundant?

Software

Um ponto que tem sido perdido é que os sistemas redundantes são freqüentemente projetos independentes, especialmente o software. Isso protege contra falhas de projeto (ou erros de software) que podem causar problemas em raras combinações de circunstâncias.

Hardware

Mesmo que um microprocessador seja altamente confiável, há vários fatores que podem ser relevantes

  • aeronaves voam em altitudes elevadas, onde a atmosfera oferece menos proteção contra raios cósmicos . Isso não afeta apenas a saúde da tripulação , mas tem potencial para interferir com dispositivos eletrônicos .
  • Os sistemas de aviônica são compostos de mais do que apenas microprocessadores, com certeza existem outros dispositivos mais propensos a falhas - como capacitores. Existem inúmeras formas de falha eletrônica, por exemplo, falha de aterramento induzida por vibração, levando a interferência em linhas de dados (por exemplo, de sensores analógicos).

I've never heard of microprocessors suddenly failing.

Confiabilidade ≠ Segurança

  • Many accidents occur without any component “failure”
    • Caused by equipment operation outside parameters and time limits upon which reliability analyses are based.
    • Caused by interactions of components all operating according to specification.
    • Highly reliable components are not necessarily safe
De Nancy Leveson, MIT via UCSD

    
25.03.2015 / 10:17

Eu sei que essa pergunta já recebeu algumas respostas, mas nenhuma delas parece abordar a questão de por que existem três sistemas no conjunto redundante, em vez de apenas dois.

Primeiro, como foi apontado por Simon , Jan Hudec e RedGrittyBrick , os designs não são idênticos. Na verdade, eles são frequentemente completamente diferentes por uma boa razão: a probabilidade de que qualquer problema afetará todos os sistemas redundantes, e especialmente afeta todos os sistemas redundantes da mesma forma, de "pequeno" a "totalmente minúsculo que beirou o inexistente". Compare Como são diferentes os computadores de controle de vôo redundantes?

Em segundo lugar, quanto a por que existem três sistemas em cada configuração redundante. Quando tudo está funcionando bem e a aeronave está em constante fuga, por algum valor e algum dado conjunto de insumos, todos os sistemas relatam que é necessária uma correção de 0 (de qualquer unidade). Neste ponto, não há problema, e os computadores servem apenas para manter o estado atual. Agora, um dos sistemas componentes não consegue executar seu trabalho adequadamente por qualquer motivo e começa a relatar que é necessária uma correção de +50 unidades. Ou seja, o conjunto de respostas muda de [0,0,0] para [0,0, + 50]. Dois sistemas concordam e o terceiro relata outra coisa, portanto, podemos com segurança desconsiderar o valor discrepante e usar os dois sistemas que relatam o mesmo: tratar o resultado como [0,0, incorreto] e ignorar o resultado incorreto ao registrar detalhes técnicos e exibindo algum tipo de alerta proeminente de que os sistemas precisam ser examinados o mais rápido possível. Mas e se tivéssemos apenas dois sistemas para começar e um dos dois falhasse da mesma maneira? A correção determinada necessária vai de [0,0] a [0, + 50]. Rápido agora: qual valor está correto? Você deve manter o estado ou corrigir por +50?

Nesse ponto, não há como saber se a correção de 0 ou +50 é o curso correto de ação. Você poderia ter uma média, mas usando uma média de dois números (um dos quais é provável que seja incorreto) poderia realmente ser pior do que o valor por si só.

Ao adicionar um terceiro sistema ao conjunto redundante, você adiciona um desempatador para a situação em que há um sistema com defeito. Somente se dois dos três sistemas começarem a funcionar mal ao mesmo tempo, você tem um problema real, e se a aeronave está tendo tais problemas que dois dos três sistemas redundantes estão dando saídas erradas, então você provavelmente terá sérios problemas para começar. .

    
25.03.2015 / 13:51

A maioria das respostas tem girado em torno do potencial de erros de hardware e coisas dessa natureza. Enquanto tudo isso é verdade, ninguém mencionou o que os computadores estão realmente olhando.

Digamos que você esteja na abordagem, preparando-se para fazer uma autoland CAT III, e você só tem dois sistemas de computador. Ambos os sistemas de computador comparam os sistemas de altímetro de rádio # 1 e # 2. Apenas existe um mau funcionamento com um dos sistemas de altímetro de rádio, causando uma discrepância de algum valor arbitrário que não esteja dentro dos limites.

Como o computador sabe qual está errado? Um computador olha para o sistema de rádio altímetro # 1 e vê 500 pés. O outro olha para o sistema # 2 e vê 1000 pés. Qual deles está certo e qual está errado? Como o computador poderia tomar essa decisão?

Digite o terceiro computador. Se o valor do que ele vê for condizente com o de qualquer um dos outros dois computadores, ele pode efetivamente "votar" na leitura inválida "fora da ilha".

Devo observar que a maioria desses computadores tem entre dois e quatro processadores, todos comparando seus próprios resultados. Essa é a redundância interna para evitar falhas de hardware, mas ter várias comparações cruzadas de sistemas externos é, em grande parte, a razão pela qual existe um terceiro sistema.

Nota: Como um mecânico de A & P, 9 de 10 é um dos sistemas externos que falharam (altímetro de rádio, falha de MMR / ILS, etc ...) que causa uma degradação nas capacidades - NÃO o próprio computador .

    
05.06.2017 / 10:56

Os computadores falham, espontaneamente, o tempo todo. Você não está acostumado a isso porque não usou muitos computadores. Mas considere alguém como o Google, que administra grandes centros de dados contendo milhares de computadores. O software que executa o Google é projetado com base na suposição explícita de que os computadores falham porque ocorrem várias vezes por dia. Agora, uma aeronave não contém muitos computadores, mas os que ela contém são críticos para a segurança. Então, eles são duplicados para garantir que a falha não cause problemas.

    
25.03.2015 / 09:39

Se olharmos para isso do ponto de vista estritamente de engenharia, microprocessadores como qualquer coisa têm uma vida útil de ciclo. De um modo geral, é muito longo, e o PC do qual você está postando provavelmente estará desatualizado antes de chegar ao ciclo de vida. Embora um microprocessador não tenha partes móveis, ele recebe informações de vários sensores. Eu só posso supor que as entradas são fundidas de alguma forma, mas isso não significa que os picos são completamente eliminados e isolados se ocorrerem. Por que vale a pena, mesmo picos relativamente pequenos vão fritar um microprocessador. Tendo isso em mente, para errar do lado da cautela, vários sistemas são usados. Com o tamanho cada vez menor da tecnologia, ficou mais fácil e barato transportar um sobressalente, de modo que, do ponto de vista de vendas, a paz de espírito está presente. Novamente, é melhor tê-lo e não usá-lo do que não tê-lo quando você precisar dele.

Para responder diretamente à sua pergunta, eu tenho trabalhado com microprocessadores, microcontroladores e afins por um longo tempo. Naquela época, eu tive dois ou três falhos espontâneos, geralmente relacionados ao calor. Em um avião isso pode não parecer um problema, mas na verdade frio extremo pode causar problemas, bem como calor extremo quando se trata de eletrônica. Dito isto, brinquei com inúmeras unidades batendo nelas com entradas sobrecarregadas. Digamos que seu avião foi atingido pela iluminação (eu sei que as companhias aéreas modernas estão protegidas contra isso), mas por razões de argumentação, digamos que um terreno era ruim: isso facilmente torraria uma unidade.

Nota lateral: é mais comum que chips / unidades de memória falhem nos dias de hoje. Isso é algo que você talvez nunca saiba, pois a maioria dos computadores modernos pode lidar com memória morta, seja no disco ou na memória do sistema.

    
25.03.2015 / 01:36

Em uma redundância específica, o ambiente de instalação desses sistemas é provavelmente o maior fator. Não são apenas muitos sistemas apertados juntos em espaços apertados, mas o fluxo de ar é muitas vezes muito limitado. O calor é um grande destruidor de muitos microprocessadores. Os aviões também vibram muito devido a motores em rotação, turbulência durante o vôo e pouso. Juntas de solda fracas e trabalhos de crimpagem sub-par ou um backshell de conector solto, e você tem uma conexão ruim, ou pior, um intermitente .

Em redundância em geral, se você tiver um BSOD no trabalho, comparativamente, não é grande coisa. Você pode ter perdido o documento em que estava trabalhando, mas é sobre isso. Se os sistemas da aeronave saírem, você terá um problema real. É difícil de conseguir, mas a redundância está lá porque as vidas de centenas de pessoas confiam nela .

    
25.03.2015 / 13:51

A chance de falha do processador é muito baixa, mas não é zero. Em caso de falha do processador, o que acontece durante o tempo de transição entre a falha e a funcionalidade completa após a reinicialização? Com um evento raro como este, poderíamos construir experiência suficiente para ter certeza de que testamos em todas as circunstâncias? Estamos falando de < $ 10 ^ {- 9} $ números aqui.

Os backups são propensos a falhas ocultas. O backup normalmente não é usado e só é ligado quando necessário - mas tem algo enferrujado, ou tem um molde funky aninhado em um local confortável e quente e causa um curto após a ativação? Murphy ainda assombra as aplicações aeroespaciais. O backup pode ser testado antes da decolagem, mas e se ele soltar e o processador principal falhar? As chances são pequenas, mas todos os grandes acidentes hoje em dia são causados por seqüências improváveis de eventos como esse.

A redundância é útil porque demonstra continuamente que os principais dispositivos estão funcionando corretamente e são usados para circunstâncias críticas de voo. Sistemas de back-up podem ser usados se você puder fazer sem o dispositivo principal, ou se for garantido que o back-up funcionará sempre, como o acionamento manual dos controles de vôo.

Um piloto automático em cruzeiro não é crítico em vôo e pode ser desconectado sem graves conseqüências. Em um pouso CAT III, onde a pista só pode ser observada quando você está dirigindo, eles são absolutamente vitais. Você não quer que o piloto automático se desconecte 10 metros acima da pista, sem visibilidade, vento lateral com rajadas de vento - não há tempo para engatar o back-up.

    
05.06.2017 / 06:42

If a microprocessor is overheated or overloaded and spontaneously fails, I would expect it to stop doing anything and produce no output.

Você já fez overclock de uma CPU ou viu uma peça antiga de hardware morrer? Você pode obter todos os tipos de artefatos estranhos enquanto a CPU ainda está em execução.

    
25.03.2015 / 23:24

Em um avião, a segurança é mais importante do que qualquer outro fator (depois vem o peso ideal para eficiência de combustível e o custo geral é o terceiro). Se o avião não fosse seguro, poucas pessoas voariam e o setor de aviação entraria em colapso. É por isso que existem regulamentos da FAA, e é por isso que existem tantas regras para as companhias aéreas. (a verificação de segurança do aeroporto é outro assunto, relacionado à segurança nacional / política com a imigração, etc., então quando dizemos 'segurança' do avião, quero dizer, engenharia sábia)

Sistemas críticos a bordo (ou seja, sistemas que são necessários para pilotar o avião) precisarão de redundância. Como o queimador no motor a jato tem 2 ignitores, embora um seja suficiente. Além disso, se um motor falhar, o outro motor poderá pilotar o avião e o computador compensará o desequilíbrio de força esquerda / direita. Muitos sistemas no avião dependem do computador, então ele precisa ter um 'plano b' (a redundância é um dos 'planos b')

    
08.04.2015 / 21:24

Porque, apesar de a teoria ser boa, a realidade é que nem todos os componentes do computador são iguais.

Um exemplo específico do início dos anos 90: a Intel produziu o CPU 486/33 (era bastante avançado e incrivelmente rápido para o dia). A maioria deixou a fábrica bem, mas alguns tinham um erro esotérico na FPU que gerava respostas incorretas. As revistas do dia estavam cheias de cálculos que você poderia colocar em sua planilha que produziria X se sua CPU fosse boa, ou Y se tivesse o bug.

Se o seu avião estiver rodando com uma das CPUs defeituosas, e apenas o conjunto correto de dados for coletado e alimentado em qualquer um dos programas de controle de vôo e entrar neste bug FPU, você será feliz que as outras duas CPUs calcularam o valor correto e expulsaram o errante do loop.

    
25.03.2015 / 06:37