Folding@home, il calcolo distribuito contro il Covid-19 e non solo
In meno di due mesi, il Covid-19 conosciuto comunemente come Coronavirus di Wuhan è passato dallo stato di epidemia a quello di pandemia. Numerosi gruppi di ricerca stanno studiando il virus da settimane per trovare cure efficaci ed un vaccino nel più breve tempo possibile. Nonostante il virus sia stato isolato in tempi record (il ceppo italiano è stato isolato dall’ospedale Spallanzani di Roma, eccellenza nel campo delle malattie infettive), lo sviluppo di un vaccino ha tempistiche che possono arrivare anche a diversi mesi. Sorge quindi spontanea la domanda: come può la tecnologia aiutare in situazioni come queste?
La tecnologia al servizio della ricerca
Non è un mistero che il forte avanzamento della tecnologia, in particolare nell’ambito informatico, abbia permesso anche ad altri settori di cresce e migliorare. Ad esempio, nella ricerca medica vengono spesso utilizzate intelligenze artificiali: famoso è il caso di DeepMind, AI di Google che, a seguito dell’accordo fra l’azienda di Mountain View e diversi centri specializzati (fra cui il Cancer Research UK, la Northwestern University e il Royal Surrey County Hospital),è stata utilizzata per l’identificazione di tumori al seno, arrivando a risultati sorprendenti: si parla di una precisione del 99% nel riconoscere un tumore allo stadio iniziale. Non è ovviamente l’unico caso e non sono solo le IA ad essere protagoniste, è sempre più evidente come tali strumenti possano arrivare a salvare vite umane o migliorare le condizioni di vita di pazienti con gravi patologie.
Folding@home e il calcolo distribuito
Oggi parliamo di Folding@home, un sistema di calcolo distribuito nato nel lontano 2000 nel PandeLab della Stanford University. Innanzitutto, che cos’è un sistema di calcolo distribuito? Ce lo dice un po’ il termine stesso, è un sistema formato da più elementi, collegati fra loro, che ha come scopo il risolvere problemi complessi che un singolo calcolatore non riuscirebbe a svolgere in tempi significativi. Facciamo un esempio per capire, mettiamo di avere un programma che riesce a trovare la soluzione di una difficilissima equazione. Questo programma per un computer solo è troppo pesante, richiederebbe una certa quantità di potenza di calcolo che però il computer in questione non possiede, quindi o non verrebbe eseguito o nel caso fortunato (ma quasi impossibile), impiegherebbe anni per trovare la soluzione. Se invece riuscissimo a collegare più computer insieme tramite una rete e allo stesso tempo a dividere i compiti da fare in task molto semplice, non avremmo più la potenza di calcolo del singolo dispositivo bensì quella di decina, centinaia o migliaia di computer messi insieme, ognuno che risolve una piccola parte del problema. Volendo spiegare ulteriormente, con una metafora, immaginate di essere in pizzeria. A fine cena è rimasta ancora una pizza intera sul tavolo e per le regole del ristorante, dovete per forza finirla. Presi singolarmente, nessuno dei presenti sarebbe in grado di finirla, tuttavia se venisse divisa in più spicchi e ogni persona seduta al tavolo ne prendesse uno, in pochi minuti il piatto sarebbe vuoto e lo scopo raggiunto. Benissimo, ora sostituite “tavolo” con ” rete” (nel caso di Folding@home, Internet), i “presenti al tavolo” con “computer indipendenti fra loro” e “pizza” con “problema complesso da risolvere“. Infine sostituiamo il verbo “mangiare” con “calcolare” e abbiamo, a grandissime linee, il funzionamento di un sistema di calcolo distribuito.
Il Progetto
Come abbiamo detto, Folding@home è nato a Standford, nel PandeLab, con lo scopo di simulare fenomeni quali il ripiegamento delle proteine, la progettazione di farmaci e altre dinamiche molecolari. Il loro sistema di calcolo è basato sui computer di volontari sparsi per il globo che mettono a disposizione parte della potenza di calcolo dei propri computer per eseguire le operazioni di cui Folding@home ha bisogno. Le simulazioni che sono state eseguite dal 2000 ad oggi grazie a questo progetto hanno permesso numerosissime scoperte riguardo:
- alcuni tipo di tumori, in particolare cancro al seno e al rene
- la proteina tumorale P53
- virus quali Ebola, Epatite C, Zika, Febbre Dengue
- Morbo di Alzheimer
- Morbo di Parkinson
- Morbo di Huntington
Chiariamo, non hanno risolto i problemi sopra elencati ma grazie alle simulazioni si sono potute individuare dinamiche molecolari e proteine che potrebbero essere alla base di tali patologie, come anche possibili soluzioni. Sono quindi risultati importantissimi che hanno reso il progetto famoso in tutto il mondo.
Folding@home e Covid-19
Vista la situazione, il team di Folding@home non è rimasto a guardare e hanno da subito messo a disposizione i loro sistemi per la lotta contro il Corovirus di Wuhan. Le simulazioni effettuate riguarderebbero i ripiegamenti della proteina “spike”, dall’Università scrivono: “Il primo passo dell’infezione si verifica nei polmoni, quando una proteina sulla superficie del virus si lega a una proteina del recettore su una cellula polmonare. Questa proteina virale è chiamata la proteina spike e dobbiamo studiare tutti i modi in cui si muove e si piega in forme alternative”.
Come possiamo aiutarli?
Sul sito ufficiale di Folding@home c’è una pagina dedicata nella quale potrete trovare informazioni circa i modi per supportare il progetto che sono principalmente due: entrare a far parte della loro rete o essere degli sviluppatori esperti. Entrare a far parte della loro rete distribuita significa installare l’applicativo ufficiale di Folding@home disponibile per Windows, Linux e MacOS. Una volta fatto, si può scegliere quanta della propria potenza di calcolo si vuole condividere e soprattutto quando (ad esempio quando il computer è in stop oppure anche quando è normalmente acceso). Molti utenti sono soliti lasciare i propri computer fissi accessi anche durante la notte, sicuramente quello potrebbe essere un momento per condividere quanta più potenza di calcolo si ha a disposizione. Comporta dei rallentamenti? Nell’uso quotidiano no, potreste notare qualche rallentamento in caso siate utenti esperti che utilizzano software di simulazione, rendering o scriviate algoritmi che hanno bisogno di molte risorse del sistema per essere eseguiti. In ogni caso, potete interrompere la condivisione quando volete.
Noi della redazione di E-nsight abbiamo deciso di installare il software di Folding@home sul computer condiviso che utilizziamo per eventi e progetti, condividendo per 12 ore al giorno la nostra potenza di calcolo. Il concetto alla base dei sistemi distribuiti è che anche se piccolo, il contributo di un solo computer può comunque essere importante. Vi invitiamo a visitare il loro sito e prendere in considerazione la possibilità di installare il software sui vostri dispositivi.
Link al download: https://foldingathome.org/start-folding/