A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Acidentes em Missões a Marte Sistemas Distribuídos e Tolerância a Falhas Adriano Raposo Junho 2004.

Apresentações semelhantes


Apresentação em tema: "Acidentes em Missões a Marte Sistemas Distribuídos e Tolerância a Falhas Adriano Raposo Junho 2004."— Transcrição da apresentação:

1 Acidentes em Missões a Marte Sistemas Distribuídos e Tolerância a Falhas Adriano Raposo Junho 2004

2 Adriano RaposoAcidentes em Missões a Marte 2 Agenda Mars Climate Orbiter Mars Polar Lander Mars Rover Pathfinder Mars Rover Spirit

3 Adriano RaposoAcidentes em Missões a Marte 3 Agenda Mars Climate Orbiter Mars Polar Lander Mars Rover Pathfinder Mars Rover Spirit

4 Adriano RaposoAcidentes em Missões a Marte 4 Mars Climate Orbiter Primeiro Satélite Meteorológico Interplanetário Projecto Mars Surveyor 98 Comunicações com Mars Polar Lander

5 Adriano RaposoAcidentes em Missões a Marte 5 Mars Climate Orbiter Lançado em Dezembro de 1998 Viagem interplanetária de 9 meses Chegou a Marte a 23 de Setembro de 1999 Objectivos Científicos: Monitorizar o clima e as condições atmosféricas Registar alterações na superfície

6 Adriano RaposoAcidentes em Missões a Marte 6 Mars Climate Orbiter Objectivos Científicos (cont.): Determinar os perfis térmicos da atmosfera Monitorizar a quantidade de vapor de água e de poeiras na atmosfera Procurar evidências de alterações climáticas passadas

7 Adriano RaposoAcidentes em Missões a Marte 7 Mars Climate Orbiter

8 Adriano RaposoAcidentes em Missões a Marte 8 MCO: O que aconteceu? Órbita inicial de 140 km de altitude Incompreensível descida para 100 km de altitude Onde estavam os erros de cálculo? Algum erro de trajectória ou de software tinha sido detectado demasiado tarde ou não tinha sido corrigido Outras falhas no passado tinham sido corrigidas como, por exemplo, o espelho do Telescópio Espacial Hubble ou o problema no disco da sonda Galileo Desta vez aconteceu o inevitável e o MCO desapareceu sem deixar rasto

9 Adriano RaposoAcidentes em Missões a Marte 9 MCO: Qual foi a falha? Não foi detectado um erro de transferência de informação entre a equipa da nave no Colorado e a equipa de navegação na Califórnia The problem here was not an error, it was a failure of NASAs systems engineering, and the checks and balances in out process to detect the error. (Dr. Edward Weiler, NASA) O MCO foi destruído ao aproximar-se demasiado da atmosfera de Marte

10 Adriano RaposoAcidentes em Missões a Marte 10 MCO: Qual foi a falha? A altitude mínima de segurança eram cerca de 80 km, mas a nave desceu para cerca de 50 km 80 km são aproximadamente 50 milhas O erro foi provocado pela utilização de dois sistemas métricos distintos Uma equipa usou medidas imperiais, ou seja, milhas; a outra usou o sistema métrico em km A falta de capacidade para detectar e corrigir um erro simples teve implicações muito graves! Única foto tirada pelo MCO. A Terra vista de Marte.

11 Adriano RaposoAcidentes em Missões a Marte 11 Agenda Mars Climate Orbiter Mars Polar Lander Mars Rover Pathfinder Mars Rover Spirit

12 Adriano RaposoAcidentes em Missões a Marte 12 Mars Polar Lander Lançado a 3 de Janeiro de 1999 Chegou a Marte em Dezembro do mesmo ano Deveria descer sobre o pólo sul de Marte Seria a primeira máquina a explorar um ambiente polar de outro planeta

13 Adriano RaposoAcidentes em Missões a Marte 13 Mars Polar Lander Ao entrar na atmosfera de Marte deveria começar a redução de velocidade até aterrar algures no pólo sul de Marte A sua missão seria procurar vestígios de gelo à superfície do planeta ou de mudanças climatéricas A actividade de investigação do MPL no solo deveria durar, no máximo, 90 dias

14 Adriano RaposoAcidentes em Missões a Marte 14 Mars Polar Lander

15 Adriano RaposoAcidentes em Missões a Marte 15 MPL: O que aconteceu? A 3 de Dezembro de 1999 a MPL atravessava a atmosfera de Marte e preparava-se para uma suave aterragem algures no pólo sul de Marte. A prova de que tinha aterrado em segurança seria dada por uma comunicação rádio com a Terra. Essa comunicação nunca aconteceu. A MPL transportava outros dispositivos como o Deep Space 2 que seria ejectado na atmosfera do planeta. Também esses nunca responderam às tentativas de comunicação. Seguiram-se meses de tentativas de comunicação com a MPL. Finalmente, a NASA declarou o fracasso da missão.

16 Adriano RaposoAcidentes em Missões a Marte 16 MPL: Qual foi a falha? Depois de intensos estudos a NASA divulgou a causa mais provável para a perda da MPL. Durante a descida, aquando da abertura das pernas da MPL, terá sido originado um sinal que chegou aos dispositivos que controlavam os motores na nave. Estes foram desligados ao pensar que a MPL já estava no solo.

17 Adriano RaposoAcidentes em Missões a Marte 17 MPL: Qual foi a falha? A nave estava em queda livre a grande altitude e terá acabado por destruir-se ao embater violentamente no solo a 80 km/h. A MPL não estava preparada para informar a Terra da sua situação passo-a-passo no momento da aproximação ao solo! Sem dados da descida e da telemetria da aterragem, era praticamente impossível determinar o momento exacto da mesma.

18 Adriano RaposoAcidentes em Missões a Marte 18 Agenda Mars Climate Orbiter Mars Polar Lander Mars Rover Pathfinder Mars Rover Spirit

19 Adriano RaposoAcidentes em Missões a Marte 19 Pathfinder Lander

20 Adriano RaposoAcidentes em Missões a Marte 20 Pathfinder Sojourner Rover Chegou a Marte a 4 de Julho de 1997 Aterragem pouco ortodoxa tipo queda livre rodeado de airbags Transportava o Mars Sojourner Rover Envio de enormes quantidades de dados para a Terra incluídos muitas imagens panorâmicas que fizeram imenso sucesso na web

21 Adriano RaposoAcidentes em Missões a Marte 21 Pathfinder: O que aconteceu? Alguns dias depois do início da missão, pouco depois da Pathfinder começar a reunir dados meteorológicos, a nave começou a fazer resets totais ao sistema, resultando na perda de dados. A imprensa disse então que estas falhas eram problemas de software e que o computador estava a tentar fazer demasiadas coisas ao mesmo tempo.

22 Adriano RaposoAcidentes em Missões a Marte 22 Pathfinder: Qual foi a falha? A Pathfinder possuia um kernel VxWorks - sistema embutido de tempo-real desenvolvido pela Wind River Systems. O VxWorks fornece um escalonamento preemptivo das threads. As tarefas da Pathfinder eram executadas como threads com prioridades atribuídas de forma normal reflectindo a sua urgência relativa.

23 Adriano RaposoAcidentes em Missões a Marte 23 Pathfinder: Qual foi a falha? A Pathfinder possuia um bus de informação usado como memória partilhada entre distintos componentes da nave. Uma tarefa de gestão desse bus executava frequentemente com alta prioridade. O acesso ao bus era sincronizado com uma mecanismo de exclusão mútua (mutexes). A recolha dos dados meteorológicos era executada numa thread com baixa prioridade. E adquiria o lock do bus para publicação dos dados.

24 Adriano RaposoAcidentes em Missões a Marte 24 Pathfinder: Qual foi a falha? Se uma interrupção fizesse com que a thread do bus fosse escalonada enquanto o mutex estava fechado e ao mesmo tempo a thread do bus tentasse adquirir o mesmo mutex para obter os dados publicados, ficaria bloqueada no mutex, à espera que a thread meteorológica libertasse o mutex. Além disso, a nave também continha uma tarefa de comunicações que executava com prioridade média.

25 Adriano RaposoAcidentes em Missões a Marte 25 Pathfinder: Qual foi a falha? Na maioria dos casos esta combinação funcionava bem. Mas podia acontecer ocorrer uma interrupção que fizesse a thread de prioridade média ser escalonada no intervalo de tempo em que a thread de alta prioridade estava bloqueada à espera da thread de baixa prioridade. Neste caso a thread de comunicações (demorada) como tinha maior prioridade que a thread meteorológica, ia impedi-la de ser escalonada e, consequente a thread do bus ficava bloqueada e nunca conseguia executar. O sistema detectava que a thread do bus não era executada à demasiado tempo e fazia um reset total. Caso clássico de inversão de prioridades!

26 Adriano RaposoAcidentes em Missões a Marte 26 Pathfinder: Inversão de Prioridades P1 P2 P3 tempo SC secção crítica SC RESET

27 Adriano RaposoAcidentes em Missões a Marte 27 Pathfinder: Como foi detectada a falha? VxWorks pode ser executado num modo que permite monitorizar todos os eventos do sistema, incluindo objectos sincronizados e interrupções. Os engenheiros do JPL passaram horas a executar o sistema numa réplica da Pathfinder para tentarem reproduzir as condições exactas em que aconteceu a falha. De madrugada, quando já só estava um engenheiro no laboratório, este conseguiu finalmente reproduzir o erro. A análise da monitorização revelou a inversão de prioridades.

28 Adriano RaposoAcidentes em Missões a Marte 28 Pathfinder: Como foi corrigido o problema? Cada mutex do VxWorks tem um parâmetro booleano que indica se deve usar herança de prioridades. O mutex em causa foi inicializado com esse parâmetro OFF Se fosse ON a thread de mais baixa prioridade (meteorológica) teria herdado a prioridade da tarefa de alta prioridade (bus) que estava bloqueada por ela, fazendo com que fosse escalonada à frente da tarefa de prioridade média (comunicações). Usando um mecanismo de herança de prioridades o JPL conseguiu resolver o problema de inversão de prioridades!

29 Adriano RaposoAcidentes em Missões a Marte 29 Pathfinder: Como foi corrigido o problema? O VxWorks contém um interpretador de C para funções de depuramento. Os engenheiros do JPL casualmente decidiram deixar esta funcionalidade activa. Por convenção, os parâmetros dos mutexes em questão estavam armazenados em variáveis globais acessíveis ao interpretador de C. Adicionou-se à nave um pequeno programa em C que, depois de interpretado, alterou os valores dessas variáveis de FALSE para TRUE. Não ocorreram mais resets do sistema!

30 Adriano RaposoAcidentes em Missões a Marte 30 Pathfinder: Herança de Prioridades P1 P2 P3 tempo SC secção crítica SC prioridade 1

31 Adriano RaposoAcidentes em Missões a Marte 31 Agenda Mars Climate Orbiter Mars Polar Lander Mars Rover Pathfinder Mars Rover Spirit

32 Adriano RaposoAcidentes em Missões a Marte 32 Spirit MER-A (Spirit) foi a primeira de duas missões de exploração de Marte A outra missão era a MER-B (Opportunity) Chegou a Marte a 3 de Janeiro de 2004 Fotografias panorâmicas do planeta

33 Adriano RaposoAcidentes em Missões a Marte 33 Spirit: O que aconteceu? A 21 de Janeiro, a Spirit interrompeu repentinamente as comunicações com o controlo da missão. No dia seguinte transmitiu via rádio um beep de 7.8 bps a indicar que recebia as tentativas de comunicação da Terra mas que estava num estado de falha. Era uma anomalia grave mas eventualmente podia ser corrigida se fosse uma falha de software ou de memória. Dia 23 de Janeiro, a pedido dos controladores na Terra, a Spirit enviou a uma baixa taxa várias mensagens e finalmente transmitiu 73 megabits via Xband para a Mars Odyssey.

34 Adriano RaposoAcidentes em Missões a Marte 34 Spirit: O que aconteceu? Esta situação parecia sugerir que o problema se encontrava na antena de alto ganho. O processador também tinha entrado numa série de ciclos de reset dos quais acordava e reiniciava o software de voo escondendo a causa que tinha provocado o reset. Estes resets não eram imediatos, aconteciam com um intervalo de cerca de uma hora. O sistema de diagnóstico não conseguia determinar se a causa era sempre a mesma.

35 Adriano RaposoAcidentes em Missões a Marte 35 Spirit: Qual a falha? A 24 de Janeiro a equipa de reparação da nave anunciou que o problema estava na memória flash e no software que a utilizava. A Spirit foi posta num modo em que usava apenas a memória RAM em vez da memória flash. A Spirit passou a obedecer aos comandos de comunicação e às ordens passagem ao estado sleep e comunicou sem problemas a 120 bps durante cerca de uma hora.

36 Adriano RaposoAcidentes em Missões a Marte 36 Spirit: Como foi corrigido? Surgiu a hipótese de que a memória flash estaria a funcionar e que o problema estaria de facto na falta de robustez do software responsável pela sua gestão. Tudo indicava que o problema seria um bug no software e não uma falha de hardware. Inicialmente pensou-se que era um problema grave. Finalmente, chegou-se à conclusão que o problema era a existência de demasiados ficheiros armazenados, o que constituía um problema menor. Muitos ficheiros continham dados de voo desnecessários. Esses ficheiros foram apagados e repôs-se a formatação original da memória flash.

37 Adriano RaposoAcidentes em Missões a Marte 37 Spirit: Jukebox! Entretanto a NASA cortou relações com a Microsoft invocando diferenças irreconciliáveis. A NASA pensava que o Windows XP Mars Edition estava terminado e testado. A Microsoft respondeu que um sistema operativo nunca está terminado. Aparentemente o problema estava nas camadas do software de mais baixo nível, que deveriam reger-se por princípios binários.

38 Adriano RaposoAcidentes em Missões a Marte 38 Spirit: Jukebox! Quando os engenheiros da NASA tentaram alterar algumas sub rotinas, o processador do Spirit ignorou todos os princípios binários e substituiu-os pelo single de (Jenny) de Tommy Tutone! A Microsoft afirmou que quando alguém compra um SO é normal que vá fazendo as actualizações respectivas. Como a Spirit não tinha uma ligação de cabo ou ADSL só iria conseguir fazer o download de todos os patches no ano 5872! Aint our fault NASA doesnt use broadband. O Donaugh (Microsoft)

39 Adriano RaposoAcidentes em Missões a Marte 39 Referências Sha, L., Rajkumar, R., Lehoczky, J., Priority Inheritance Protocols: An Approach to Real-Time Synchronization, IEEE 1990

40 Fim.


Carregar ppt "Acidentes em Missões a Marte Sistemas Distribuídos e Tolerância a Falhas Adriano Raposo Junho 2004."

Apresentações semelhantes


Anúncios Google