acidentes em missões a marte

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

Upload: oksana

Post on 10-Jan-2016

54 views

Category:

Documents


1 download

DESCRIPTION

Acidentes em Missões a Marte. Adriano Raposo Junho 2004. Sistemas Distribuídos e Tolerância a Falhas. Agenda. Mars Climate Orbiter Mars Polar Lander Mars Rover Pathfinder Mars Rover Spirit. Agenda. Mars Climate Orbiter Mars Polar Lander Mars Rover Pathfinder Mars Rover Spirit. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Acidentes em  Missões a  Marte

Acidentes em Missões a MarteSistemas Distribuídos e Tolerância a Falhas

Adriano RaposoJunho 2004

Page 2: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 2

Agenda

Mars Climate Orbiter

Mars Polar Lander

Mars Rover Pathfinder

Mars Rover Spirit

Page 3: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 3

Agenda

Mars Climate Orbiter

Mars Polar Lander

Mars Rover Pathfinder

Mars Rover Spirit

Page 4: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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

Page 5: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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

Page 6: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 6

Mars Climate Orbiter

Objectivos Científicos (cont.):Determinar os perfis térmicos da

atmosferaMonitorizar a quantidade de vapor de

água e de poeiras na atmosferaProcurar evidências de alterações

climáticas passadas

Page 7: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 7

Mars Climate Orbiter

Page 8: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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

Page 9: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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 NASA’s 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

Page 10: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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 fototirada peloMCO. A Terra vista de Marte.

Page 11: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 11

Agenda

Mars Climate Orbiter

Mars Polar Lander

Mars Rover Pathfinder

Mars Rover Spirit

Page 12: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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

Page 13: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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

Page 14: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 14

Mars Polar Lander

Page 15: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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.

Page 16: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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.

Page 17: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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.

Page 18: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 18

Agenda

Mars Climate Orbiter

Mars Polar Lander

Mars Rover Pathfinder

Mars Rover Spirit

Page 19: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 19

Pathfinder Lander

Page 20: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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

Page 21: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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.

Page 22: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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.

Page 23: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 23

Pathfinder: Qual foi a falha?

A Pathfinder possuía 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.

Page 24: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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.

Page 25: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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!

Page 26: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 26

Pathfinder: Inversão de Prioridades

P1

P2

P3

tempo

SC secção crítica

SC

RESET

Page 27: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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.

Page 28: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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!

Page 29: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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!

Page 30: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 30

Pathfinder: Herança de Prioridades

P1

P2

P3

tempo

SC secção crítica

SC SC

SC

prioridade 1

Page 31: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 31

Agenda

Mars Climate Orbiter

Mars Polar Lander

Mars Rover Pathfinder

Mars Rover Spirit

Page 32: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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

Page 33: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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.

Page 34: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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.

Page 35: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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.

Page 36: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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.

Page 37: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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.

Page 38: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes 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 1981 “867-5309 (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!

“Aren’t our fault NASA doesn’t use broadband.” O’ Donaugh (Microsoft)

Page 39: Acidentes em  Missões a  Marte

Adriano Raposo Acidentes em Missões a Marte 39

Referências

http://www.iki.rssi.ru/jplmirror/mars/msp98/news/mco990930.html http://catless.ncl.ac.uk/Risks/20.60.html http://www.seds.org/%7Espider/spider/Mars/ms98mco.html http://en.wikipedia.org/wiki/Mars_Climate_Orbiter http://www.space.com/missionlaunches/mars_polar_lander_031222.html http://catless.ncl.ac.uk/Risks/19.49.html http://www.augustachronicle.com/stories/071497/tech_pathfinder.html http://www.space.com/missionlaunches/spirit_update_040206.html http://en.wikipedia.org/wiki/MER-A http://www.noapologiespress.com/newnews/spiritshutdown.html http://arstechnica.com/news/posts/1074978528.html http://www.spaceflightnow.com/mars/mera/040123recovery.html http://spaceflightnow.com/mars/mera/040126spirit.html http://www.space.com/missionlaunches/spirit_serious_040124.html Sha, L., Rajkumar, R., Lehoczky, J., Priority Inheritance Protocols:

An Approach to Real-Time Synchronization, IEEE 1990

Page 40: Acidentes em  Missões a  Marte

Fim.