PDA

Visualizza versione completa : [BOINC] Guida per l'iscrizione, l'installazione e la configurazione


Dav82
22-11-2007, 21.07.07
http://boinc.berkeley.edu/logo/www_logo.gif

Berkeley Open Infrastructure for Network Computing




Cosa sono il calcolo distribuito e BOINC
Iscrizione ai progetti, gestione, iscrizione al team di WinTricks
Download e installazione del client
Funzionamento del client e sua interfaccia
Preferenze
Crediti, classifiche, statistiche (in lavorazione)
Controllo remoto (in lavorazione)
Utility (in lavorazione)

Dav82
22-11-2007, 21.07.40
Cos'è il calcolo distribuito

Il calcolo distribuito è un metodo di calcolo per il quale una singola e normalmente corposa computazione (progetto) viene suddivisa in più unità di lavoro (workunit) che vengono processate da computer differenti e di solito geograficamente sparsi, e poi riunite per ottenere il risultato globale. In questo modo è possibile eseguire calcoli anche molto complessi senza dover disporre di grossi e costosi mainframe, centri di calcolo o simili, ma utilizzando normali computer connessi alla rete Internet.

Questo approccio è utilizzato da molti progetti di ricerca scientifica in ambito medico, chimico, matematico, fisico, meteorologico, astronomico, etc.

Su ogni computer che partecipa al progetto viene installato un software che usa solo i cicli di CPU inutilizzati nel normale uso del pc e che in nessun modo rallenta o diminuisce le prestazioni del PC. Il software è di norma totalmente trasparente all'utente, poiché viene avviato in automatico e non richiede intervento, anche se ovviamente è sempre possibile configurarlo, arrestarlo, riavviarlo e disinstallarlo quando si vuole.



BOINC: cos'è, come funziona

BOINC (http://boinc.berkeley.edu/) è una piattaforma software, sviluppata dall'Università di Berkeley (California), che permette di gestire molteplici progetti di ricerca basati su calcolo distribuito.
Semplifica quindi la vita sia agli scienziati che vogliono avvalersi delle immense potenzialità di calcolo rese disponibili dagli utenti, sia a chi vuole partecipare contemporaneamente a più progetti.
Dal punto di vista dell'utente è sicuramente utile poiché scarica automaticamente i client dei vari progetti, le unità di lavoro (workunit) e distribuisce i tempi di elaborazione per ogni progetto, tutto attraverso una singola applicazione.

Attualmente è la piattaforma più diffusa e con più progetti attivi, nei più svariati campi di ricerca.

Dav82
22-11-2007, 21.07.59
Come detto, è possibile iscriversi e contribuire a più di un progetto contemporaneamente, anche se ovviamente non è obbligatorio: è solamente una questione di scelte personali ;)
Altrettanto ovviamente è possibile contribuire con uno o più computer.

Liste di progetti disponibili si trovano sui siti di BOINC (http://boinc.berkeley.edu/projects.php), BOINCStats / BAM (http://it.boincstats.com/page/project_ranking.php), GridRepublic (http://www.gridrepublic.org/index.php?param=projects), Wikipedia italiana (http://it.wikipedia.org/wiki/BOINC#Progetti_che_utilizzano_BOINC) e Wikipedia inglese (http://en.wikipedia.org/wiki/BOINC#Projects_using_BOINC_Framework)

Il client di BOINC gestisce autonomamente l'esecuzione dei progetti, ma l'iscrizione e quindi la partecipazione ai singoli progetti (e la loro gestione) può avvenire in due modalità differenti: singolarmente o tramite un account manager.
WinTricks consiglia caldamente l'uso di un account manager, che permette di aver sottomano con pochi click tutto il necessario ;)
Vediamo ora come procedere.


Iscrizione singola

L'iscrizione può avvenire direttamente con un form sul sito del progetto (per esempio qui (http://lhcathome.cern.ch/lhcathome/create_account_form.php) per LHC@Home), ma ormai molti progetti non supportano più questa modalità... o almeno il vostro Dav82 non dappertutto è riuscito a trovarla :D
La modalità standard è quella fornita dal client BOINC, e la vedremo quindi più in là.


Gestione tramite account manager

Esistono al momento due account manager, BAM (http://it.boincstats.com/bam/) e GridRepublic (http://www.gridrepublic.org/). In questa guida verrà preso in esame BAM.

Ora vediamo rapidamente come iscriversi a BAM e ai singoli progetti: per maggiori dettagli, andate a BAM: in dettaglio (...).
Iscriversi è molto semplice: basta recarsi alla pagina di registrazione (http://it.boincstats.com/bam/register.php) e compilare il form. Non preoccupatevi per l'indirizzo email, riceverete solo 2 email di conferma :)

Una volta iscritti a BAM, si possono sottoscrivere i progetti desiderati tramite la pagina "Progetti disponibili". I progetti selezionati appariranno nella pagina "Progetti attivi".

http://img225.imageshack.us/img225/6789/progettiattivivz3.th.png (http://img225.imageshack.us/my.php?image=progettiattivivz3.png)


L'adesione al Wintricks.it Italian Team è da compiere per ogni progetto, attraverso la pagina "Team". Per ogni progetto occorre selezionare la cella della colonna iscrizione e poi cercare il nome del team (immagine 1), quindi aderire al team (immagine 2)

http://img443.imageshack.us/img443/5305/iscrizioneteamvg7.th.png (http://img443.imageshack.us/my.php?image=iscrizioneteamvg7.png) http://img102.imageshack.us/img102/5802/iscrizioneteam2ag1.th.png (http://img102.imageshack.us/my.php?image=iscrizioneteam2ag1.png)

Fatto questo, le minime operazioni di iscrizione sono completate :)

Dav82
22-11-2007, 21.08.22
Il client può essere scaricato da questa pagina (http://boinc.berkeley.edu/download.php): è disponibile per Windows 32/64, Linux 32/64 e Mac, e verrà proposta automaticamente la versione corretta. In ogni caso, è disponibile la lista completa (http://boinc.berkeley.edu/download_all.php) dei client per le varie piattaforme.


Windows

Scaricato l'eseguibile, occorre lanciarlo. Verrà proposta la normale procedura di installazione, con accettazione della licenza (LGPL (http://it.wikipedia.org/wiki/LGPL)), scelta della cartella di installazione e tutto il resto. L'unica scelta importante riguarda il tipo di installazione:

Utente singolo
Multi utente
Servizio

Nel primo caso il client verrà eseguito solo quando sarà attiva una sessione dell'utente con il quale si sta eseguendo l'installazione, nel secondo quando sarà attiva una sessione di qualsiasi utente presente sulla macchina, nell'ultimo caso verrà eseguito sempre, anche in mancanza di una sessione attiva.

Nel caso di installazione come servizio è necessario fornire la password di amministratore; nel caso in cui questa password non esista, si può risolvere impostando una password qualsiasi, procedere con l'installazione fino a quando verrà segnalato l'errore 1820: a questo punto, senza chiudere la finestra di errore, aprire il pannello di amministrazione dei servizi (Start -> esegui -> services.msc), fare doppio click sul servizio BOINC, nella finestra del servizio aprire la scheda "Connessione" e all'opzione Connessione scegliere "Account di sistema locale"; chiudere il pannello di amministrazione dei servizi e scegliere l'opzione "Retry" nella finestra di errore: la procedura di installazione come servizio terminerà correttamente.



Linux

In lavorazione... si accettano contributi!


Mac

In lavorazione... si accettano contributi!




Completata l'installazione, il client viene avviato in automatico, con la comparsa di un wizard. Sebbene utile, è consigliabile chiudere il wizard e, tramite l'opzione "Advanced View" presente nella parte inferiore della finestra del client (figura 1), passare alla visualizzazione avanzata (figura 2)

http://img513.imageshack.us/img513/4927/clientsimpleviewzl0.th.png (http://img513.imageshack.us/my.php?image=clientsimpleviewzl0.png) http://img408.imageshack.us/img408/8454/clientadvancedviewni2.th.png (http://img408.imageshack.us/my.php?image=clientadvancedviewni2.png)


Nel caso in cui si sia scelto di utilizzare BAM, si può connettere il client a BAM tramite una semplicissima procedura (http://it.boincstats.com/bam/instruct_attach.php). Per GridRepublic stiamo cercando documentazione adeguata.

Nel caso invece in cui si sia scelto di non utilizzare un account manager, è possibile iscriversi/collegarsi ai singoli progetti attraverso il menu Tools -> Attach to project (maggiori informazioni seguiranno)

Se tutto è andato bene, nella scheda "Projects" troverete l'elenco dei progetti cui siete iscritti e, trascorso il tempo necessario per il download delle applicazioni e delle informazioni relative ad ogni progetto, nella scheda "Tasks" saranno presenti le workunit, di cui almeno una nello stato di Running.

Dav82
22-11-2007, 21.08.40
Come visto, il client ha due interfacce: semplice e avanzata.


Interfaccia semplice

http://img235.imageshack.us/img235/331/clientsimpleview2ep2.th.png (http://img235.imageshack.us/my.php?image=clientsimpleview2ep2.png) http://img159.imageshack.us/img159/4075/clientsimpleviewprefereku2.th.png (http://img159.imageshack.us/my.php?image=clientsimpleviewprefereku2.png)
(fig. 1: client in visualizzazione semplice; fig. 2: preferenze per la visualizzazione semplice)


Nella parte superiore sono presenti una o più tab (tante quante sono i progetti in running, di norma uno per processore presente), con l'indicazione del tempo passato dall'inizio della workunit (elapsed time), del tempo rimanente stimato (Time remaining) e della percentuale di completamento della workunit.

Nella parte inferiore si trovano i controlli generali: i progetti attivi per il computer in esame (rappresentati tramite un logo) e dei pulsanti per varie funzioni:
Synchronize: per sincronizzare il client con BAM con i vari progetti
Messages: per visualizzare i messaggi sul funzionamento (download delle workunit, completamenti, pause nell'elaborazione, etc)
Pause: per sospendere l'elaborazione
Preferences: impostazioni varie (vedi dopo per spiegazioni)
Advanced View: per passare alla visualizzazione avazata



Interfaccia avanzata

http://img123.imageshack.us/img123/3829/clientadvancedviewprojeem1.th.png (http://img123.imageshack.us/my.php?image=clientadvancedviewprojeem1.png) http://img111.imageshack.us/img111/7410/clientadvancedviewtaskszy7.th.png (http://img111.imageshack.us/my.php?image=clientadvancedviewtaskszy7.png) http://img107.imageshack.us/img107/254/clientadvancedviewstatihs1.th.png (http://img107.imageshack.us/my.php?image=clientadvancedviewstatihs1.png) http://img407.imageshack.us/img407/83/clientadvancedviewdiskiq2.th.png (http://img407.imageshack.us/my.php?image=clientadvancedviewdiskiq2.png)


L'interfaccia avanzata è articolata in più schede: Projects, Tasks, Tranfers, Messages, Statistics e Disk, oltre ovviamente al menu.

Projects: sono elencati tutti i progetti attivi sulla macchina in esame; per ogni progetto è indicato il nome utente, l'eventuale team a cui si è aggregati, i crediti accumulati in totale (Work done), i crediti medi giornalieri (Average Work Done), la percentuale di utilizzo del tempo macchina totale (Resource Share) e lo stato del progetto (attivo, sospeso temporaneamente, sospeso a tempo indeterminato, ...).
Per ogni progetto è possibile sincronizzarsi con il sito (Update con il server del progetto), sospendere l'esecuzione (Suspend), non richiedere ulteriori workunit (No new tasks) o tornare a chiederne (Allow new tasks), resettare il progetto (Reset).
Alcuni progetti forniscono anche dei link all'homepage, alle statistiche personali, a quelle generali e ad altre risorse.

Tasks: qui sono elencate tutte le workunit in elaborazione. Per ogni workunit è indicato il progetto cui appartiene, il nome dell'applicazione eseguita (il client per il singolo progetto), il nome della workunit, il tempo di calcolo utilizzato in totale, la percentuale di avanzamento nell'elaborazione, il tempo stimato al completamento, il termine ultimo entro cui la workunit dovrà essere completata, lo stato della workunit (running -> in elaborazione; running high priority -> in elaborazione con priorità, la scadenza è vicina; ready to start -> in coda alle altre workunit; waiting to run -> sospesa per la turnazione dei progetti sulla macchina; suspended -> sospesa dall'utente; uploading -> in consegna o in attesa di consegna; ready to report -> completata e in attesa di riscontro; downloading -> in ricezione).
Ogni workunit può essere sospesa, ripresa o abortita tramite i comandi sulla sinistra.

Transfers: qui sono elencati i trasferimenti in atto al momento. Possono riguardare le singole workunit (ricezione o consegna dei risultati), le applicazioni dei singoli progetti (scaricate alla prima esecuzione o come aggiornamento), gli screensaver delle applicazioni etc

Messages: sono elencati tutti i messaggi di funzionamento, da quelli generici del client (avvio, sospesione, benchmark, aggiornamento delle preferenze, contatti con account manager...) a quelli specifici di ogni singolo progetto, indicati col nome dello stesso (avvio/sospensione/ripresa/ricezione/consegna di una workunit, aggiornamento delle preferenze, etc).

Statistics: di tutto e di più sui punteggi accumulati per ogni progetto, relativamente a tutti gli host controllati o solo a quello corrente, medie, totali etc.

Disk: statistiche sull'occupazione del disco, sia come spazio disponibile totale, sia come occupazione dei singoli progetti sul totale occupato da BOINC.



Attraverso il menu è possibile compiere ulteriori azioni:

File: chi vuole spiegazioni su questo sarà bannato :D
View: permette di passare da una visualizzazione a un'altra ("Accessible" pare essere adatta a una navigazione con la sola tastiera)
Tools: per gestire i singoli progetti o l'account manager
Activity: per impostare l'attività del client e di comunicazione con i vari server (sempre, in base alle preferenze, momentaneamente sospesa)
Advanced: qui sono presenti varie voci
Options: per impostare i parametri di connessione (proxy)
Preferences (vedi dopo)
Select computer (per selezionare quale client monitorare, vedi dopo)
Shut down connected client: per chiudere il client che si sta monitorando
Run CPU benchmarks: per eseguire dei test di prestazione della macchina (i risultati appariranno nella scheda Messages)
Retry communications: per ritentare la comunicazione con i vari server, nel caso non fosse stata possibile (mancanza di connessione, mancata risposta, etc); le comunicazioni vengono comunque ritentate a intervalli regolari
Read config file e Read local prefs file: in lavorazione

Dav82
22-11-2007, 21.09.20
Queste preferenze, una volta impostate, avranno la meglio su eventuali preferenze impostate online (su BAM o sui siti dei singoli progetti). Per ripristinare le preferenze impostate online, utilizzare il pulsante "Clear" in alto a destra nella finestra.
Per l'impostazione su BAM o sui siti dei singoli progetti, vedere i thread appositi ;)


La finestra delle preferenze si divide in tre schede:

http://img141.imageshack.us/img141/2070/clientadvancedviewprefekk1.th.png (http://img141.imageshack.us/my.php?image=clientadvancedviewprefekk1.png) http://img220.imageshack.us/img220/5828/clientadvancedviewprefezv2.th.png (http://img220.imageshack.us/my.php?image=clientadvancedviewprefezv2.png) http://img403.imageshack.us/img403/6995/clientadvancedviewprefexa6.th.png (http://img403.imageshack.us/my.php?image=clientadvancedviewprefexa6.png)


Processor: gestisce i tempi di attività:

While computer is on batteries: il pc lavorerà anche se alimentato a batteria
While computer is in use il pc lavorerà sempre quando acceso, altrimenti "only after computer has been idle for" -> solo dopo che non è stato utilizzato per il numero di minuti fissato
Every day between hours of: intervallo di utilizzo giornaliero, tutto il giorno se gli estremi sono identici. È possibile impostare preferenze differenti per i vari giorni della settimana
Switch between applications every: intervallo con il quale l'elaborazione passa da un progetto ad un altro
On multiprocessor systems, use at most X processors: per i sistemi multiprocessore, indica quanti processori possono essere utilizzati al massimo
Use at most X% CPU time: indica la percentuale di utilizzo della CPU



Network Usage: gestisce l'utilizzo della rete.

Maximum download (upload) rate: massima velocità di download (upload) per le workunit, le applicazioni, etc
Connect about every X days: intervallo di tempo con il quale il client si collega ai vari server (BAM, dei progetti); è indicato in frazioni di giorno, per cui 0,5 indicherà 12 ore, 0,1 indicherà circa 2 ore e mezza e così via; il valore "0" sta a indicare di eseguire le comunicazioni senza alcun ritardo.
Additional work buffer: indica il numero di giorni per i quali si vuole "immagazzinare" lavoro/workunit (secondo i tempi di elaborazione stimati). Utile in caso di mancata connettività, risposta dei server o workunit disponibili per i progetti, poiché l'elaborazione potrà continuare con le workunit ottenute come riserva. Un buon valore può essere pari a 2-3 giorni massimo. In ogni caso la quantità di lavoro scaricabile dipende anche dalle politiche implementate dagli amministratori di ogni singolo progetto.
Skip image file verification: per non eseguire controlli sui risultati/workunit dopo l'elaborazione; consigliato non selezionare questa opzione
Confirm before connecting to internet: il client chiederà conferma prima di connettersi a internet
Disconnect when done: il client si disconnetterà da internet dopo aver effettuato le comunicazioni necessarie
Network usage allowed between...: come per l'utilizzo del processore, si può indicare un intervallo di tempo in cui utilizzare la connessione a internet (sempre se i due estremi sono uguali), con eventuali preferenze differenziate per i singoli giorni della settimana.



Disk and Memory Usage: gestisce l'utilizzo dei dischi e della memoria

Per il disco:

Use at most X GB of disk space: massimo spazio utilizzato su disco (ma comunque saranno sempre pochi mega, da una decina a qualche decina)
Leave at least X GB of disk space free: se con il parametro precedente si riempisse il disco, con questo si può comunque lasciare dello spazio libero
Use at most X% of total disk space: un'altra limitazione sullo spazio occupato, questa volta come percentuale sullo spazio totale; a occhio verrà utilizzata la configurazione più stringente per il client.
Write to disk at most every X seconds: governa il ritmo di scrittura su disco da parte dei processi client in esecuzione; di norma nell'elaborazione le workunit hanno dei checkpoint ogni circa 5 minuti su dei sistemi di medie performances, per cui scrivere più spesso di 300 secondi può non essere utile; in ogni caso, le scritture sono comunque molto poche sia come numero che come byte;
Use at most X% of page file (swap space): percentuale massima di file di swap che può essere utilizzata sul totale


Per la memoria:

Use at most X% when computer is in use: percentuale massima di memoria che può essere utilizzata da BOINC quando il computer è in uso
Use at most X% when computer is idle: percentuale massima di memoria che può essere utilizzata da BOINC quando il computer non è in uso
Leave applications in memory when suspended: lascia in memoria le applicazioni (i client dei singoli progetti) quando l'elaborazione a loro associata è sospesa