venerdì 26 Aprile 2024
Home / Networking / Combatti il COVID-19 con il tuo Raspberry Pi
Raspberri Pi per combattere il COVID-19

Combatti il COVID-19 con il tuo Raspberry Pi

Sapete cosa è il calcolo distribuito? Problemi molto complessi vengono suddivisi in tanti problemi più piccoli, e questi vengono distribuiti tra vari computer diversi, collegati tra loro. Una volta risolti i problemi e ricomposti, si sarà risolto anche quello generale, altrimenti irrisolvibile in tempi-macchina ragionevoli, se eseguito su una sola macchina.

Da tempo questa tecnica è stata utilizzata per eseguire in tempi brevi quei compiti che erano gravosi (se non impossibili, fino a qualche anno fa) anche per i grandi calcolatori. E’ stata utilizzata per renderizzare filmati in 3D, per cercare tracce di vita extra-terrestre, per un challenge tra sistemi operativi, e nella ricerca medica.

Rosetta@home

Rosetta@home è un progetto di calcolo distribuito per la previsione della struttura delle proteine sulla piattaforma BOINC (Berkeley Open Infrastructure for Network Computing), svolto al Baker laboratory all’Università di Washington. Rosetta@home si propone di prevedere le interazioni proteina-proteina e di progettare nuove proteine.

La percentuale di risorse del computer non utilizzate dall’utente, viene utilizzata da Rosetta@home per eseguire i calcoli. Vi sono diverse ricerche,  come è immaginabile, attualmente una certa importanza ricopre quella indirizzata a terapie e diagnostica del Covid-19. In particolare, Rosetta@home è utilizzato per prevedere la struttura delle proteine ​​importanti per la malattia e per produrre nuove mini-proteine ​​stabili da utilizzare nel contrasto o nella diagnosi del SARS-CoV-2.

Recentemente è stato aggiunto il supporto per piattaforme Linux – Arm. Quindi, perché non dare una mano togliendo la polvere a quel Raspberry che aspettava nel cassetto il suo progetto ideale? Certamente non è un supercomputer, ma consuma poco e può stare acceso 24h su 24h, dando il suo piccolo contributo. Per questo è importante che ognuno di noi valuti se può fare altrettanto. Una goccia non riempie il mare, ma il mare non è altro che l’insieme di moltissime piccole gocce.

Uso del Raspberry Pi

I calcoli necessari sono incredibilmente impegnativi, e l’applicativo è solo a 64bit. va da sé, che gli unici modelli utilizzabili siano Raspberry Pi 3, 3B+ e 4, che dispongono di un SoC a 64bit. Inoltre alcune attività possono arrivare a utilizzare anche 1,5Gb di RAM, quindi il candidato ideale per questo compito è il Raspberry Pi 4, seppur si possano utilizzare – non senza qualche difficoltà, anche i modelli 3.

Ma Raspbian è a 32bit! E allora? come si fa? Non temete: le versioni recenti del kernel prevedono la possibilità di funzionamento a 64bit. Serve almeno il kernel 4.19.75 o successivo, ma se non lo avete, non preoccupatevi: seguite la guida, e lo aggiorneremo.

Due tipi di installazione

BOINC (su cui si appoggia Rosetta@home), si può installare in due modi: nel modo classico manuale, oppure si può scaricare l’immagine di una distribuzione Raspbian già settata per utilizzarlo. Se si vuole dedicare un Raspberry Pi allo scopo, la distribuzione già pronta è la via facile e indolore. Solo se avete un Raspberry Pi sottoutilizzato, e quindi con molte risorse libere, ma purtuttavia volete continuare a usarlo per i vostri compiti quotidiani, oltre che per Rosetta@home, allora utilizzate il metodo manuale, in modo da mantenere i vostri programmi e configurazioni.

Immagine già pronta

Fold for Covid è il nome del progetto, supportato da Balena.io (quelli di Etcher), che fornisce file immagine di sistemi già pronti e configurati con interfaccia web per controllare i calcoli in remoto, per Raspberry Pi 4 e Pi 3 e molte altre piattaforme IoT. Quindi è sufficiente scaricare il giusto file immagine da questa pagina, metterlo su una microSD (naturalmente con il programma Balena Etcher) e poi inserire la sd nel Raspberry Pi, per avere un sistema BOINC funzionante, che opera con Rosetta@home.

Quindi,  per avere un sistema BOINC Rosetta@home, andate su foldforcovid.io , scorrete fino in fondo , scegliete il vostro modello di Raspberry Pi per scaricare il file immagine adatto. Poi, seguite le istruzioni: mettetelo su una SD tramite Balena Echer e inserite la SD nel Raspberry Pi.

Una volta avviato, lo schermo mostrerà le statistiche di calcolo.  Non è indispensabile collegare un display al Raspberry Pi, le stesse statistiche si possono visualizzare da un altro computer in rete, puntando il browser su foldforcovid.local

Installazione manuale

Se si vuole utilizzare un Raspberry Pi che magari è attivo 24h/24h, ma ha un carico relativamente basso (magari lo usate per il sistema di irrigazione, o monitora un qualche processo), per sfruttarne le capacità inutilizzate, probabilmente non vorremo rinunciare alle nostre impostazioni. Dovremo quindi procedere all’installazione manuale sulla nostra Raspbian pre-esistente. Come accennavo prima, c’è la questione dei 64bit, non è quindi un semplice apt install e via.

Raspbian, infatti,per  mantenere compatibilità con i modelli precedenti, è interamente a 32bit, anche se i SoC dei modelli recenti, sono a 64bit. Ma c’è la possibilità, con versioni recenti del kernel, di usare programmi a 64bit.

Cominciamo quindi a darci da fare con il Terminale:

Aggiorneremo così i repository e tutto il sistema, firmware e kernel inclusi, così da poter usare Rosetta@home senza problemi e da metterci al riparo da inutili surriscaldamenti dovuti al primo firmware bacato del Pi 4.

Con questo comando, installiamo BOINC, che, come detto su, è la piattaforma per il calcolo distribuito. Lo troverete nel menù del lampone in strumenti di sistema).

Ora, andiamo a fare la modifica necessaria: spostiamoci nella /root e facciamo una copia di backup del file config.txt, chiamandola config.old

Poi, andiamo a editare il file config.txt tramite un editor di testo (io userò nano)

scorri fino in fondo al file e aggiungi la riga 

ora CTRL+O e CTRL+X per salvare e uscire. Riavviate il Raspberry Pi con

Al riavvio, rientrate nel Terminale, e verifichiamo se il supporto ai 64bit è stato attivato, con 

dovreste vedere una riga che termina con “aarch64 GNU/Linux”; tutto ok: abbiamo abilitato il supporto a programmi a 64bit su Raspbian! Se invece la parte finale della riga fosse “armv7l GNU/Linux”, allora il sistema è ancora a 32bit, e qualcosa è andato storto. ricontrollate i passaggi.

Ma continuiamo: digitate

Per andare a editare il file di configurazione di BOINC. Dovremmo aggiungere la stringa racchiusa tra <alt_platform> e </alt_platform> dentro ai tag <options>

Nel caso ci siano già <options> e </options>, mettere all’interno la stringa centrale, nel caso manchino, mettere tutto il blocco di testo.

Adesso, di nuovo, CTRL+O e CTRL+X per salvare e uscire. Riavviate un’ultima volta il Raspberry Pi con

Ora siete pronti a far macinare calcoli di simulazione 3D di sviluppo delle proteine inerenti la ricerca scientifica per contrasto al COVID-19!

Lanciando BOINC, scegliete il progetto Rosetta@home nel menù a tendina di sinistra, e poi verranno assegnati i compiti di calcolo al vostro Raspberry Pi.

Se hai qualche dubbio o vuoi condividere la tua esperienza in merito, vieni nella discussione dedicata sul forum!

Se vuoi restare aggiornato, seguici anche sui nostri social: FacebookTwitter, Youtube, Telegram.

 

 

 

 

A proposito di Zzed

Appassionato di informatica alternativa, ma perenne novellino di Linux..

Vedi Anche

MagPi139 doppiapagina

MagPi in Italiano! Soluzione dei Problemi: La Guida

Estratto, tradotto in italiano, di The MagPi N°139 la rivista ufficiale della Fondazione Raspberry Pi.

Powered by themekiller.com