Quando i computer non funzionano, su Marte

26
Quando i computer non funzionano - su Marte Gabriella Dodero 3.10.2014

description

Presentazione tenuta il 3.10.2014 nell'ambito dell'iniziativa di orientamento alle materie scientifiche MINT, organizzata dalla provincia Autonoma di Bolzano presso Sheraton Bolzano Fiera. Erano presenti oltre 300 studenti e i rispettivo docenti delle scuole superiori.

Transcript of Quando i computer non funzionano, su Marte

Page 1: Quando i computer non funzionano, su Marte

Quando i computer non funzionano -

su Marte Gabriella Dodero

3.10.2014

Page 2: Quando i computer non funzionano, su Marte

Sommario

1.Esplorazioni su Marte2.La missione del Pathfinder

a)Problemi su Marte, e b)Soluzione dei problemi

3.La teoria che c'e` dietro4.Cosa abbiamo imparato

Page 3: Quando i computer non funzionano, su Marte

Esplorazioni su Marte 1I primi tentativi di esplorare Marte risalgono agli anni '60"Gara" tra URSS e USA 1964: Mariner 4 riesce ad entrare nell'orbita di Marte, e rimanda sulla Terra 21 immagini

Page 4: Quando i computer non funzionano, su Marte

Esplorazioni su Marte 2

Anni 90: missione Viking (MOLTO costosa!!)1996: nuovo programma della NASA: il programma Discovery.

A costi relativamente bassi (meno di 150 M $) e con tempi di sviluppo delle missioni relativamente veloci

(meno di 3 anni)

Page 5: Quando i computer non funzionano, su Marte

La missione Pathfinder 1● L'obiettivo e` inviare un "rover" (veicolo senza

pilota) ad esplorare la superficie di Marte● Scopo principale: studiare la geologia del

pianeta, analizzare la composizione chimica del terreno e delle rocce.

● Scopo secondario: analizzare l'atmosfera e gli eventi meteorologici

● Nuova discesa "soft"

Page 6: Quando i computer non funzionano, su Marte

La missione Pathfinder 2

● E' possibile discendere "dolcemente" su Marte grazie ad una combinazione di paracadute ed air-bag

Page 7: Quando i computer non funzionano, su Marte

La missione Pathfinder 3

● Il razzo vettore Delta II parte da Cape Canaveral il 4 Dicembre 1996

Page 8: Quando i computer non funzionano, su Marte

La missione Pathfinder 4

L'attrezzatura inviata su Marte e` composta da:● Mars Pathfinder Lander: conteneva una

videocamera e una stazione meteo, e rappresentava il "garage" del rover

● Sojourner: il rover, che doveva "andare in giro" ad esplorare la superficie del pianeta

Page 9: Quando i computer non funzionano, su Marte

Sojourner – appena arrivato●

Page 10: Quando i computer non funzionano, su Marte

Sojourner in movimento

Page 11: Quando i computer non funzionano, su Marte

Se i computer non funzionano su Marte

● Discesa perfetta !! ● Iniziano i test scientifici, ma subito c'e` un

problema: ● Il software del Sojourner compie un reset !! Piu`

volte di seguito !!● Il reset fa ripartire correttamente il software, ma

nessuno riesce a capire come mai, e come far smettere i continui reset

● I dati non vanno perduti nel reset, ma bisogna rimandare gli esperimenti al "sol" (giorno marziano) successivo – per sempre?

Page 12: Quando i computer non funzionano, su Marte

Soluzione (trovata sulla Terra) ● I tecnici del JPL iniziano a lavorare su un

sistema "gemello" rimasto sulla Terra● Il software del Sojourner consente di lavorare in

modo "debug" ● Lanciando il programma in modo "debug", il

problema viene individuato: e' un problema di inversione di priorita`

● Per correggerlo, i tecnici sviluppano una "patch" e la inviano al Surveyor

Page 13: Quando i computer non funzionano, su Marte

Avviso importante !!!

● Se vi interessa solo la storia, potete saltare direttamente alla fine della presentazione

● Adesso infatti inizia una parte un po` piu` tecnica, in cui verra` illustrato il problema, e la soluzione trovata

Page 14: Quando i computer non funzionano, su Marte

Hardware su Marte

L'hardware del Sojourner era gestito da una sola CPU

● Un bus collegava le due parti del veicolo spaziale, ● Lo stadio di crociera, che conteneva un sensore

solare e uno scanner stellare● Lo stadio di atterraggio, che conteneva un altimetro

radar e una stazione meteo● Le interfacce del bus, riutilizzate da una

missione precedente, schedulavano le attivita` con una frequenza ciclica di 8 Hz

Page 15: Quando i computer non funzionano, su Marte

Architettura del sistema

Page 16: Quando i computer non funzionano, su Marte

Schedulazione del bus ● La raccolta dati dal bus era affidata a due task:

● Il gestore delle transizioni del bus (bc_sched)● Il responsabile di acquisizione dati (bc_dist)

● Una sequenza di operazioni corrette richiedeva che i due task si alternassero in esecuzione, durante ogni ciclo di 8Hz● Quando un task iniziava, per prima cosa controllava

che l'altro task avesse finito; altrimenti, generava un reset del sistema.

Page 17: Quando i computer non funzionano, su Marte

Ciclo di esecuzione

Ciclo eterno:1.Attivazione del bus hardware2.Quando la trasmissione sul bus e' conclusa, parte

bc_dist 3.Quando bc_dist ha distribuito i dati, termina e parte

a sua volta bc_sched4.Il task bc_sched imposta le transizioni del ciclo

successivo, quindi termina

Page 18: Quando i computer non funzionano, su Marte

Operazioni di bc_sched

In ogni ciclo, bc_sched determina quali azioni (task) devono essere eseguite al ciclo successivo

● La scelta dei task dipende dalla rispettiva priorita`, e all'avvio, ciascuno di essi "trova" in un buffer interno i dati di cui ha bisogno

● Tali dati sono ricuperati da bc_dist durante il ciclo precedente

● Fa eccezione il task meteo station, che comunica direttamente con bc_sched

Page 19: Quando i computer non funzionano, su Marte

Priorita` dei task sul Rover

Le priorita` dei task, in ordine decrescente, sono:1.bc_sched2.Task di discesa (non piu` attivo dopo l'atterraggio)3.bc_dist4.Task relativi alle operazioni della stazione spaziale 5.Tasks relativi agli esperimenti scientifici (tra cui

compressione delle immagini e interfacciamento della stazione meteo)

I task vengono eseguiti in modo preemptive ● Ogni task sospende tutti gli altri task di priorita`

inferiore!

Page 20: Quando i computer non funzionano, su Marte

Ma perche` il computer non funzionava su Marte?

Il problema riguardava tre task:● bc_dist (priorita` 3), ● Un qualsiasi task relativo alle operazioni della stazione

spaziale (priorita` 4), e ● Il task della stazione meteo (priorita` 5)

Il task della stazione meteo riceveva i dati da bc_sched, per fare questo, doveva prendere in uso esclusivo (lock) una risorsa, cioe` il bus.

● La sua esecuzione veniva sospesa dal task con priorita` 4, prima che rilasciasse il lock,

● Successivamente, bc_dist non riusciva ad acquisire quella risorsa, e forzava il reset.

Page 21: Quando i computer non funzionano, su Marte

Schema dell' inversione di priorita`

Page 22: Quando i computer non funzionano, su Marte

La soluzione - 1● Quando il task a priorita` piu` bassa acquisisce un

lock, esso deve essere eseguito a priorita` maggiore ● In questo modo il task a priorita` intermedia non puo`

sospenderlo!!!

● Il problema di inversione di priorita` in questo modo viene risolto

● La patch che cambiava la priorita` venne sviluppata ed inviata su Marte, aggiornando cosi` il software del rover

Page 23: Quando i computer non funzionano, su Marte

La soluzione - 2● Il problema di inversione di priorita` non era per nulla

nuovo● Era stato studiato da tempo nella teoria dei Sistemi

Operativi, ● Il software che gestiva questo scambio di priorita`

era in effetti gia` presente sul rover, ma non venva eseguito per motivi di efficienza,

● La patch sostanzialmente si limitava a riattivarlo!● I test svolti sulla Terra prima del decollo non avevano

mostrato la necesita` di attivare questo software!● Su Marte, il bus raccoglieva piu` dati del previsto, e le

operazioni dei task avevano durate superiori

Page 24: Quando i computer non funzionano, su Marte

Il lieto fine ● La patch funziono` perfettamente, e non ci furono piu`

reset.● Il rover continuo` a funzionare per diversi mesi

(l'aspettativa iniziale era di una sola settimana!)● L'ultimo collegamento con la Terra fu il 27.09.1997

E poi ...● Il Mars Orbiter "Reconnaissance" scatto` alcune

immagini ad alta definizione della superficie di marte nel 2007, in cui si vede ancora il Pathfinder

Page 25: Quando i computer non funzionano, su Marte

Cosa abbiamo imparato ?● La legge di Murphy vale anche su altri pianeti

● Mai ignorare una "teoria", anche se riguarda eventi improbabili!

● E' meglio eseguire operazioni "corrette" piuttosto che operazioni "veloci"

● Il software per "debugging" e` importante, e spesso indispensabile, per riuscire a gestire situazioni impreviste

Secondo voi, questa storia rappresenta un successo o un fallimento ?

Page 26: Quando i computer non funzionano, su Marte

Pronti al decollo ... ?