lunedì 27 aprile 2020

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, maconsuma 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 oche 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

BONIC (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 BONIC funzionante, che opera con Rosetta@home.

Quindi,  per avere un sistema BONIC funzionante, che opera con 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 precebdenti, è 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:

sudo apt update
sudo apt full-upgrade

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.

sudo apt install boinc-client boinc-manager

Con questo comando, installiamo BONIC, 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

cd /boot
sudo cp config.txt config.old

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

sudo nano config.txt

scorri fino in fondo al file e aggiungi la riga 

arm_64bit=1

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

sudo reboot

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

uname -a

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

cd /etc/boinc-client
sudo nano cc_config.xml

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

<options>
  <alt_platform>aarch64-unknown-linux-gnu</alt_platform>
</options>

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

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

sudo reboot

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

Lanciando Bonic, 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.

 

 

 

 

L'articolo Combatti il COVID-19 con il tuo Raspberry Pi sembra essere il primo su RaspberryItaly.



da RaspberryItaly https://ift.tt/2zCtG1N
via Roberto Montanaro Blog

Nessun commento:

Posta un commento