Cerca nel blog

2021/07/23

Podcast del Disinformatico RSI 2021/07/23: Perché i computer spaziali durano decenni ma il mio PC si pianta sempre?


Ultimo aggiornamento: 2021/07/28.

2021/07/23. È appena terminato il montaggio del podcast di oggi de Il Disinformatico della Rete Tre della Radiotelevisione Svizzera, condotto dal sottoscritto, e la puntata è già online presso www.rsi.ch/ildisinformatico (link diretto). Questa è l’edizione estiva, dedicata a un singolo argomento.

I podcast del Disinformatico di Rete Tre sono ascoltabili anche tramite feed RSS, iTunes, Google Podcasts e Spotify.

Buon ascolto, e se vi interessano il testo e i link alle fonti della storia di oggi, sono qui sotto! 

Nota: la parola CLIP nel testo che segue non è un segnaposto in attesa che io inserisca dei contenuti. Indica semplicemente che in quel punto del podcast c’è uno spezzone audio.

----

L’uomo seduto davanti a me, in un ristorante di Zurigo in un caldissimo giorno di giugno, ha un problema. Deve riprogrammare un vecchio computer, cosa che sa fare benissimo, ma quel computer risponde molto, molto lentamente. Per mandargli un comando e ottenere la risposta servono quasi nove ore. Cosa più importante, se si blocca per un comando sbagliato è un po’ difficile andare a spegnerlo e riaccenderlo, perché quel computer sta a cinque miliardi di chilometri di distanza.

L’uomo, infatti, è Alan Stern, principale responsabile della sonda spaziale New Horizons, partita dalla Terra nel 2006; quella che ci ha regalato le prime, bellissime immagini di Plutone e che ora va riprogrammata per esplorare le zone più remote del Sistema Solare. 

Alan Stern è il secondo da sinistra. Sì, davanti a lui c’è Chase Masterson, Leeta di Star Trek: Deep Space Nine. Coincidenze cosmiche. Non fate caso al libro sul tavolo.

Questa è la storia di come uomini e donne di tutto il mondo riescono a creare macchine così incredibilmente affidabili da sopravvivere a decenni di funzionamento continuo nel gelo nello spazio, mentre noi conviviamo sulla Terra a fatica con computer, tablet e telefonini che vanno spenti e riaccesi perché si piantano continuamente. Perché loro ci riescono e noi no?

----

Ho incontrato Alan Stern, il principal investigator della sonda spaziale New Horizons, a giugno del 2019, in occasione del festival di musica e scienza Starmus, tenutosi appunto a Zurigo. Stern era lì per presentare gli straordinari risultati della sua sonda.

(CLIP: AlanStern parla a Starmus)

I dati, appunto, arrivano lentamente perché la sonda sta a oltre cinque miliardi di chilometri e trasmette con una potenza di trenta watt: quella di una lampadina piuttosto fioca, per intenderci. E lui deve trovare il modo di riprogrammare il computer di quella sonda per cercare nuovi corpi celesti da esplorare negli anni che verranno.

Da sinistra, Cathy Olkin, Jason Cook, Alan Stern, Will Grundy, Casey Lisse e Carly Howett guardano le immagini appena arrivate da Plutone. Credit: Michael Soluri

Il lavoro di Alan Stern può sembrare lontanissimo, non solo in termini di distanza siderale, dalla nostra vita di tutti i giorni. Lui, come tutti i responsabili dei progetti spaziali, ha bisogno di sistemi informatici ad altissima affidabilità, mentre noi possiamo tranquillamente accettare che ogni tanto il nostro computer si pianti e vada riavviato pigiando un pulsante.

(CLIP: Suono di boot di Windows Vista)

Ma in realtà non è così: anche noi viviamo circondati da apparati informatici che devono assolutamente funzionare. Le nostre automobili contengono computer che ne gestiscono funzioni essenziali come la frenata; gli ascensori sono comandati da sistemi elettronici programmabili; gli aerei di linea volano grazie ai sistemi informatici di bordo. Sarebbe decisamente spiacevole se uno di questi sistemi decidesse che “Il computer ha riscontrato un problema e deve essere riavviato” proprio mentre stiamo effettuando un sorpasso o sorvolando le Alpi. La progettazione di sistemi a prova di crash informatico è insomma una cosa che ci tocca molto da vicino. 

Cose che non vuoi vedere sul cruscotto del tuo aereo.

Ma non la possiamo avere nei nostri computer, perché troveremmo indigesto il prezzo di questa affidabilità totale. I progettisti di questi sistemi, infatti, devono ricorrere a rinunce drastiche e a rimedi costosi. I loro mantra non sono il numero di megapixel della fotocamera o la risoluzione ultra HD dello schermo o i gigahertz del processore, ma la resilienza e la ridondanza.

Resilienza significa che il software che controlla tutto, ossia il sistema operativo, deve essere in grado di assegnare le giuste priorità ai vari compiti che deve svolgere, e di decidere quali di questi compiti scartare senza pietà se la situazione gliene chiede troppi contemporaneamente. Se il vostro computer si ferma completamente per qualche secondo perché sta scaricando la mail, non muore nessuno; ma se il computer di una sonda spaziale che si sta avvicinando a Marte si blocca per una manciata di secondi nel momento sbagliato perché è occupato a copiare un file o a salvare una foto, rischia di schiantarsi sul pianeta o mancarlo completamente.

Non solo: il software deve essere anche capace di riavviarsi da solo e istantaneamente in caso di problemi, qualunque cosa accada, perché nello spazio non c’è nessuno che possa premere il pulsante di reset e non c’è tempo di aspettare il caricamento dei programmi. I progettisti includono quindi un cosiddetto safe mode: una modalità minima che permette al sistema di ripartire velocemente da capo, a mente fresca, per così dire, e dedicarsi alle attività essenziali ignorando tutto il resto.

Questa non è teoria o eccesso di prudenza: sono realmente accaduti vari episodi in cui questa progettazione astuta ha salvato le missioni spaziali e in alcuni casi anche le vite degli astronauti.

Un caso classico è quello del primo allunaggio, a luglio del 1969: due astronauti, Neil Armstrong e Buzz Aldrin, stanno scendendo verso la Luna quando il computer che mantiene stabile il loro veicolo va in sovraccarico a tre minuti dall’atterraggio. Sta ricevendo troppe informazioni contemporaneamente, e segnala questo problema ai due uomini con un laconico, semplice codice: 1202.

(CLIP: Armstrong e Aldrin segnalano il 1202)

Senza quel computer i due astronauti sono spacciati, ma i tecnici sulla Terra rispondono via radio di continuare tranquillamente la discesa, ignorando la crisi informatica. È la scelta giusta, perché il software del computer si riavvia istantaneamente, scarta i compiti non strettamente necessari e si concentra sull'unica cosa davvero importante: atterrare. E i due, appunto, atterranno con successo sulla Luna ed entrano nella Storia.

Se non abbiamo tanti pezzettini d'astronauta sparsi sulla Luna è grazie in parte a una donna, Margaret Hamilton, che era direttore e supervisore della programmazione del software della missione Apollo 11, a soli 33 anni. È stata lei a progettare il computer di allunaggio in modo così resiliente, ispirata in parte da un incidente avvenuto durante una simulazione: la sua piccola figlia Lauren, che aveva portato con sé in ufficio, era riuscita a mandare in tilt il computer di bordo semplicemente pigiando dei tasti a caso. Questo chiaramente non doveva essere possibile durante una missione.

Questa resilienza, però, si paga: niente grafica, niente finestre, ma solo lettere e numeri su uno schermo rigorosamente monocromatico. Accettereste un telefonino o un computer così semplificato? Senza Fortnite, senza suonerie personalizzate, senza video e foto per Instagram, senza schermo touch 4K, e con una manciata di bei tasti robusti? Probabilmente no. E quindi niente resilienza per il vostro smartphone.

Però il software del computerino che gestisce la frenata della vostra auto con l’ABS fa a meno di tutte questi abbellimenti e quindi riesce a fare una sola cosa e a farla bene: frenare senza bloccare le ruote. Quel computerino salvavita della vostra auto è resiliente come un veicolo spaziale.

Anche Alan Stern, l’uomo che cerca di “vedere” una lampadina da cinque miliardi di chilometri di distanza, sa bene quanto sia importante questa resilienza. La sua sonda New Horizons a un certo punto aveva perso il contatto radio con la Terra proprio pochi giorni prima di raggiungere la sua destinazione principale, Plutone, dopo anni di viaggio. Senza quel contatto radio i dati raccolti sarebbero andati persi per sempre. Ma la sonda, che era andata in sovraccarico di compiti da svolgere, si era resa conto della situazione e si era riavviata da sola, andando in safe mode e dando priorità assoluta alle trasmissioni, e così aveva ripreso il contatto con la Terra appena in tempo.

L’altro asso nella manica di questi computer ultra-affidabili è la ridondanza: tutti i componenti principali, dal processore alla memoria ai sensori, sono duplicati o triplicati. Se se ne guasta uno, subentra l’altro: se va in crisi anche quello, entra in azione il terzo, e così via. Ovviamente questo significa dover installare il doppio o il triplo dei componenti, occupando molto più spazio e quasi raddoppiando o triplicando i costi. Una scelta accettabile per un veicolo spaziale, che costa comunque milioni, ma non per un computer o uno smartphone che vogliamo che sia sempre più compatto e leggero e che costi sempre meno. Sarebbe come andare in giro sempre con quattro ruote di scorta: inutile quando c’è un gommista ogni pochi chilometri, ma molto opportuno se c’è da attraversare un deserto roccioso.

Anche questa ridondanza è un trucco che troviamo anche qui sulla Terra, ma solo nei sistemi informatici che proteggono cose essenziali: negli aerei di linea, appunto, per esempio, e nelle automobili dotate di sistemi avanzati di guida assistita. Questi sistemi devono avere tempi di analisi e reazione rapidissimi e devono funzionare sempre, e quindi le loro memorie e i loro processori sono ridondati, ossia duplicati; addirittura in molti casi l’intero computer è installato in due esemplari completi e ce n’è un terzo, differente, che decide cosa fare se gli altri due non concordano.

L’informatica spaziale, come quella terrestre, continua a evolversi, e la sua nuova frontiera è l’intelligenza artificiale: le sonde più recenti non chiedono più l’aiuto a casa, ma trovano da sole il punto giusto dove atterrare grazie a software di bordo che analizzano le immagini delle telecamere di navigazione e riconoscono crateri, massi e altri ostacoli da evitare. Anche questo software deve essere perfettamente affidabile e privo di esitazioni.

Zibi Turtle è un'altra di quelle persone che lo sa bene: è una collega di Alan Stern. Anche lei è coordinatrice di un progetto spaziale molto ambizioso: la prima sonda capace di atterrare e ripartire in volo per esplorare Titano, una delle lune di Saturno, alla ricerca di indizi chimici della vita. Lo farà nel 2036. La sonda, denominata Dragonfly, sarà così lontana, a un miliardo e quattrocento milioni di chilometri, che i suoi segnali ci metteranno ore, alla velocità della luce, ad arrivare al centro di controllo, per cui il suo software dovrà essere in grado di decidere da solo come volare e dove atterrare. Non potrà aspettare comandi dalla Terra.

Via Zoom, Zibi Turtle mi ha spiegato come Dragonfly, che è in sostanza un laboratorio volante simile a un grosso drone a otto eliche, dovrà cavarsela completamente da solo su Titano.

(CLIP: Zibi spiega)

Le sue decisioni saranno guidate dal software di bordo, che dovrà fare riconoscimento delle immagini in tempo reale. Se il software dovesse sbagliare, addio sonda, e quindi anche qui sarà necessario adottare resilienza e ridondanza.

Quello stesso riconoscimento delle immagini che permetterà a questo “ottocottero” di esplorare una luna lontanissima è quello che, in forma più semplice, riconosce i volti quando facciamo le foto con il telefonino, ed è quello che, in forma molto più sofisticata, agisce nelle automobili più moderne, che possono decidere di frenare autonomamente perché hanno riconosciuto la sagoma di un bambino che sta attraversando di corsa la strada senza guardare e hanno attivato il freno ben prima che il conducente avesse il tempo di rendersi conto del pericolo e reagire.

(CLIP: Allarme di collisione)

Alla fine, insomma, gli investimenti spaziali hanno ricadute molto concrete sulla Terra, grazie a persone come Alan Stern, Zibi Turtle, Margaret Hamilton e a tante altre come loro, sparse per il mondo.

Ed è così che le pigiate incoerenti di una bambina sulla tastiera di un computer spaziale mezzo secolo fa hanno creato un intero settore, l’ingegneria del software, che vale circa 400 miliardi di dollari, e ci hanno portato qui, sul nostro fragile pianeta, ad avere voli sempre più sicuri e automobili che frenano ed evitano incidenti, spesso meglio di quanto farebbero i loro conducenti umani. Ma al tempo stesso, la corsa al risparmio ci dà computer che invece s’impallano puntualmente, contando sul fatto che arriverà la nostra semplice, affidabile mano a spegnerli e farli ripartire. 

---

Aggiornamento (2021/07/28): Alan Stern l’ha fatto di nuovo: ha appena annunciato il completamento con successo di un aggiornamento software su New Horizons, a 7,5 miliardi di km dalla Terra. Fantastico.

 

Fonti aggiuntive: Increment.com; Nautil.us

Nessun commento: