Torniamo ora a parlare un po’ di tecnologia. Come sapete, ormai, nel bene o nel male, la maggior parte delle persone possiede uno smartphone. Questi piccoli strumenti nascondono al loro interno una capacita’ di calcolo impressionante se paragonata con le ridotte dimensioni, ma soprattutto, per quelli non proprio giovanissimi, se paragonata con quella dei personal computer piu’ costosi che si potevano acquistare anche solo 10 anni fa. Da un lato, questo e’ impressionante ma anche completamente comprensibile. Come sapete, l’elettronica e le capacita’ di calcolo seguono leggi esponenziali di crescita, di riduzione del prezzo e delle dimensioni dei dispositivi e l’insieme di questi parametri fa si che, di volta in volta, esca un prodotto nuovo che faccia impallidire i suoi predecessori.
Ora pero’, quanti di quelli che utilizzano uno smartphone lo utilizzano a pieno delle sue capacita’? In verita’, credo io, davvero un numero esiguo di persone riesce a sfruttare a pieno le capacita’ del proprio telefono se non facendo andare in contemporanea diversi programmi richiedenti la rete internet.
Oltre a questo poi, c’e’ un altro aspetto da considerare. Mediamente, questi piccoli oggetti sono molto energivori e le loro batterie difficilmente durano anche solo una giornata se sfruttati a pieno. Conseguenza di questo e’ che tutte le notti dobbiamo ricaricare la batteria lasciando, come spesso accade, il telefono acceso con la connessione dati o wireless accesa. Durante questa fase di standby, anche se non del tutto, il nostro dispositivo e’ fermo e la sua enorme capacita’ di calcolo non viene sfruttata.
Perche’ faccio questo preambolo iniziale?
Molto semplice, in questi giorni, su diversi giornali, e’ stata lanciata una notizia che ha suscitato il mio interesse se non altro perche’ rilancia le problematiche appena discusse. Come avrete sicuramente letto, un team di ricercatori austriaci ha trovato, almeno da come raccontano i giornali, il modo di sfruttare questa potenza di calcolo per un nobile scopo. Questo gruppo di ricerca e’ coinvolto nello studio dei dati del database Simap, un enorme catalogo contenente al suo interno la struttura di tutte le proteine conosciute. Scopo di questa ricerca e’ quello di studiare le somiglianze tra le proteine con il fine ultimo, tra i tanti altri, di poter trovare cure per alcune delle malattie piu’ critiche che riguardano il genere umano. Gestire una mole di dati cosi’ impressionante non e’ affatto semplice e richiede una capacita’ di calcolo molto elevata. Ovviamente, una capacita’ di calcolo elevata significa un costo altrettanto elevato. Per farvi capire questa relazione, pensate che il costo computazionale aumenta con il quadrato del numero di proteine contenute nel database.
Come gestire una mole cosi’ elevata di dati con costi che non siano insostenibili?
Semplice, stando a quanto riporta la notizia sui giornali, e’ stata programmata una App, uno dei piccoli programmini che girano sui nostri smartphone, che consente di sfruttare lo smartphone per analizzare questi dati. Il nome della App e’ Power Sleep appunto perche’ si tratta di una normale sveglia che puo’ essere impostata all’ora in cui desideriamo alzarci. Al contrario di una normale sveglia, Power Sleep ha pero’ una funzione aggiuntiva. Prima di andare a dormire, mettete il vostro smartphone sotto carica lasciando la connessione WiFi accesa. Non appena la batteria avra’ raggiunto la carica completa, il telefono comunichera’ con un server centrale dando inizio al vero scopo del software. Il server invia paccheti da 1Mb che vengono analizzati dal processore dello smartphone. Il tempo richiesto per questa analisi e’ compreso tra 30 e 60 minuti a seconda della potenza di calcolo. Quando il processo e’ completato, il telefono invia il risultato al server e scarica un altro pacchetto da analizzare. Questa comunicazione dura fino a quando non arriva l’ora impostata per la sveglia e il telefono e’ di nuovo disponibile completamente per l’utente.
Detta in questo modo, sembra una scoperta rivoluzionaria che ci permettera’ di contribuire senza spendere un soldo alla ricerca scientifica.
Perche’ dico “sembra”?
Molto semplice, ovviamente si tratta di un’applicazione utilissima per lo scopo della ricerca scientifica in se, ma questo genere di applicazioni non sono assolutamente una novita’. Questo processo di analisi dei dati e’ quello che viene comunemente definito “calcolo distribuito”. Si tratta di un procedimento molto semplice in cui un processo principale viene diviso in tante parti assegnate a processori diversi che poi comunicheranno il loro singolo risultato ad un server centrale. Grazie al calcolo distribuito e’ possibile sfruttare una rete di computer, o smartphone come in questo caso, invece di investire cifre spropositate in una singola macchina in cui far girare l’intera analisi. Di esempi di questo tipo ce ne sono a bizzeffe anche indietro negli anni. Sicuramente tutti avrete sentito parlare del programma SETI@Home per la ricerca di vita extraterrestre nell’universo. In questo caso, si utilizzavano radiotelescopi per cercare segnali non naturali. L’enorme mole di dati veniva analizzata da chiunque decidesse di installare un piccolo software sul proprio computer per contribuire a questa ricerca.
Nel caso di Power Sleep, i ricercatori austriaci si sono affidati ad una societa’ che si occupa proprio di calcolo distribuito e si chiama BOINC. Vi riporto anche il link alla loro pagina italiana in cui compare, proprio in prima pagina, una descrizione sul funzionamento e sull’importanza del calcolo distribuito:
Come potete leggere, esistono decine di applicazioni per il calcolo distribuito gestite da BOINC e molte di queste riguardano proprio analisi scientifiche dei dati. Il perche’ di questo e’ facilmente comprensibile, le applicazioni scientifiche sono quelle che producono la maggior mole di dati e che richiederebbero super-computer sempre piu’ potenti per la loro analisi. Grazie a BOINC e al calcolo distribuito, e’ possibile sfruttare a titolo gratuito computer, smartphone e tablet privati per velocizzare il calcolo e risparmiare notevoli capitali che incidono fortemente sul costo della ricerca. Visto che lo abbiamo citato, BOINC nacque qualche anno fa proprio per gestire il progetto SETI@Home. Tra i programmi disponibili ora trovate ad esempio: LHC@Home per l’analisi dei dati del collisore LHC del CERN, Orbit@Home per l’analisi delle traiettorie degli asteroidi vicini alla Terra, Einstein@Home per la ricerca di onde gravitazionali e cosi’ via. Per una lista piu’ completa dei programmi scientifici di calcolo distribuito potete far riferimento alla pagina di Wikipedia che ne parla:
- Wiki, esempi calcolo distribuito
Concludendo, al solito la notizia e’ stata data sui maggiori giornali con toni enfatici volti piu’ a impressionare che non ha mostrare l’importanza scientifica di applicazioni di questo tipo. Esempi di calcolo distribuito ce ne sono tantissimi e molti di questi sfruttano il servizio BOINC per dialogare con gli utenti che volontariamente decidono di sostenere un programma piuttosto che un altro. Power Sleep ha sicuramente un nobile scopo se pensiamo all’importanza del mantenimento del database Simap e per i risultati che ricerche di questo tipo dovrebbero portare per l’intero genere umano.