CHE COS’È IL CALCOLO DISTRIBUITO E PERCHÈ TUTTI NOI DOVREMMO INTERESSARCENE?
Sin dal loro avvento, i computer hanno cambiato il modo di vivere delle persone. Ai giorni d’oggi, essi, oltre a semplificare la vita delle persone, contribuiscono in maniera determinante al progresso dell’umanità mediante il loro utilizzo in ambito scientifico. Sempre più gruppi di ricerca che operano nei settori più disparati (dalla medicina alla fisica, dalla meteorologia allo studio del cosmo) si appoggiano a calcolatori per elaborare dati che aiutano il loro lavoro. Sebbene ogni anno vengano commercializzati elaboratori sempre più veloci, nei centri di ricerca la potenza di calcolo a disposizione non è mai sufficiente. In soccorso a tale mancanza, giunge il calcolo distribuito. Laboratori che non possono permettersi di acquistare calcolatori sempre più potenti, si appoggiano alla piattaforma BOINC di calcolo distribuito. In tutto il mondo vi è una quantità sterminata di computer, le cui risorse per lo più vengono sottoutilizzate. L’idea di base del calcolo distribuito è quella di sfruttare questa enorme potenza di elaborazione inutilizzata. Per far ciò, i ricercatori dell’Università di Berkeley hanno creato il software BOINC che permette di sfruttare le risorse dei computer che vengono offerti volontariamente.
COME FUNZIONA?
Partecipare è molto semplice, e non richiede particolari conoscenze informatiche: innanzitutto bisogna decidere a quale (oppure a quali) progetto scientifico si vuole dare il proprio contributo (qui potete trovare una lista), dopodichè si effettua una registrazione sul sito del progetto che si è scelto. Ciò permette di tenere delle statistiche che misurano il contributo che si è fornito con i propri computer. Una volta fatto ciò, si installa BOINC e nelle impostazioni si effettua il collegamento ai progetti al quale si vuole contribuire. Facendo un’analogia con il mondo della musica, si può affermare che BOINC è come uno stereo dove si inseriscono i dischi, questi ultimi, che contengono la musica che si vuole ascoltare, sono paragonabili ai progetti da elaborare.
Dopo aver collegato BOINC ai progetti,tutto avviene in modo automatico. Ogni progetto scaricherà sul PC il proprio CLIENT, cioè il programma che si occuperà di elaborare i dati. Il programma BOINC si connetterà ad Internet, scaricherà dei pacchetti di dati (chiamati Work Units o anche tasks, abbreviato WUs), li farà elaborare al nostro PC tramite il client del progetto e, completata la Work Unit, provvederà a riportare i risultati ed a acquisire nuove WUs. Durante l’elaborazione non è necessario restare connessi ad Internet.
È possibile elaborare questi dati sul proprio PC quando si vuole, in generale in ogni attimo durante il quale il PC, e in particolare il processore, non viene utilizzato in nessuna operazione o compito gravoso. Si può utilizzare la potenza di calcolo del proprio computer per elaborare mentre si naviga, si scrive una relazione, si legge la posta e persino mentre si guarda un film.
È possibile spegnere il proprio computer in qualsiasi momento, l’elaborazione dei dati si interrompe e riprende automaticamente dal punto in cui si era fermata non appena il PC viene riacceso.
L’elaborazione avviene a priorità bassa, il che significa che non si noterà nessun rallentamento del PC in quanto, quando gli altri programmi richiedono l’uso del processore, BOINC “si fa da parte” e concede la precedenza.
Durante l’elaborazione il processore lavora al pieno delle sue capacità. Questo non deve spaventarvi: i computer sono fatti apposta per lavorare e non si danneggiano se le temperature restano nella norma. Nessun pericolo quindi a meno che non abbiate modificato qualcosa in modo improprio o non abbiate piazzato il PC di fianco al termosifone! Anzi, per dirla tutta, sono molto più pericolosi gli sbalzi di tensione che ricevono quando vengono accesi o spenti.
UN ESEMPIO CONCRETO DI UTILIZZO DEL CALCOLO DISTRIBUITO PER LA RICERCA
Citando un caso dal mondo della medicina, i ricercatori del progetto WorldCommunityGrid – Help Conquer Cancer utilizzano la piattaforma BOINC per migliorare i risultati della cristallografia a raggi X per le proteine, allo scopo di migliorare la comprensione del cancro. A tal fine, non solo devono essere scoperti nuovi approcci terapeutici capaci di identificare la malattia in fase di metastasi (cancro che si diffonde in altre parti del corpo), ma devono essere anche identificati marcatori diagnostici (indicatori della malattia) che possono individuare uno stadio precoce della malattia. Migliorare la cristallografia a raggi X permetterà ai ricercatori di determinare più velocemente la struttura di molte proteine coinvolte nel cancro. Questo porterà ad una migliore comprensione della loro funzione e consentirà a potenziali interventi farmacologici di curare questa malattia mortale.
POSSIBILI SVILUPPI ED APPLICAZIONI ALL’INTERNO DELLE UNIVERSITÀ
Il calcolo distribuito è una grande occasione anche per le università: BOINC può essere utilizzato per creare un centro di calcolo virtuale d’ateneo, che può fornire risorse sia per attività di ricerca, sia per svolgere attività amministrative. Ciò permetterebbe di risparmiare una grande quantità di denaro che andrebbe speso nell’acquisto di hardware, di sistemi di raffreddamento, in costi di fornitura elettrica, e di manutenzione. L’università di Westminster, che ha deciso di adottare tale infrastruttura distribuita, risparmia annualmente circa £125.000, soldi che l’ateneo può reinvestire in altre attività.
Dato che ogni università ha innumerevoli ricercatori che operano su diversi campi, affinchè si possano coordinare le varie attività di calcolo, è possibile creare un progetto contenitore nel quale sono presenti singoli sottoprogetti che soddisfano le esigenze dei vari gruppi di ricerca.
Per gli studenti invece, contribuire con i propri computer, potrebbe tradursi in un decremento della retta universitaria. La prova del loro contributo continuativo, può essere ricavata direttamente dai server che distribuiscono le working unit, in quanto ogni utente ha le proprie statistiche di elaborazione.
Una migrazione di tal genere, porterebbe vantaggi a tutti, pertanto è auspicabile che questo tipo di approccio in ambito universitario, si diffonda il più possibile.
Qui vi è una guida che spiega rapidamente come si può creare un centro di calcolo d’ateneo distribuito
GUIDA INSTALLAZIONE E CONFIGURAZIONE
Sebbene BOINC funzioni alla perfezione sui più importanti sistemi operativi per personal computer, dato che il LUG tratta delle tematiche Linux, la seguente guida rapida si concentrerà sulla versione Linux.
Debian/Ubuntu:
sudo apt-get install boinc-client boinc-manager
Fedora (da root):
yum install boinc-client boinc-manager
CONFIGURAZIONE MODALITÀ GRAFICA
Consiglio di passare in modalità visualizzazione avanzata, dopodichè menù strumenti -> connetti ad un progetto oppure ad un account manager -> selezionare il progetto ed immettere nome utente e password precedentemente registrati
CONFIGURAZIONE MODALITÀ TESTUALE
Dalla shell di Linux:
boinccmd –project_attach URL KEY
dove per URL si intende l’url completo del progetto (esempio www.worldcommunitygrid.org) e per KEY si intende la chiave univoca dell’utente che trovate nella vostra pagina personale presente sul sito del progetto (esempio: Account Key presente nella pagina My Profile del progetto WorldCommunityGrid)
Dopo che le prime working unit sono state scaricate, si può accedere alle preferenze per personalizzare l’elaborazione come più si preferisce.
Assicuratevi che il servizio sia permanentemente attivo (ovvero che parta automaticamente ogni qual volta che accendete il computer)
Debian/Ubuntu:
sudo update-rc.d boinc-client enable
Fedora (da root):
systemctl enable boinc-client.service
Questo testo è una rielaborazione ed ampliamento dell’articolo www.boincitaly.org/calcolo-distribuito.html
Risorse varie
- Sito web BOINC
- Sito web di BOINC Italy, comunità italiana di BOINC
- Canale di chat #boinc-it ospitato sul server IRC irc.freenode.net a cui ci si può collegare utilizzando un client IRC, oppure utilizzando un client web
- Articolo de Il Venerdì sul progetto Simulation One, creato dal ricercatore italiano Simone Conti
Sito web del progetto Simulation One