Berkeley Open Infrastructure for Network Computing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Boboviz (discussione | contributi)
Inserito il riferimento a Docker
Boboviz (discussione | contributi)
Inserita la voce wrapper
Riga 48:
=== Server ===
[[File:Setiathomeversion4point45.png|thumb|right|Immagine del progetto Seti@home]]
La parte centrale dell'applicazione è composta dalla parte "server", i cui vari compiti possono essere eseguiti su una o più macchine in modo da poter gestire progetti anche molto grandi. Il server non si occupa di eseguire i calcoli, bensì di coordinare le operazioni dei client e gestire il database dei risultati. Il server include funzioni come la ''ridondanza omogenea'' (mandare la stessa unità di lavoro a piattaforme simili), ''l'anteprima dell'unità'' (inviare informazioni al server prima che l'unità sia stata calcolata completamente) e la ''pianificazione locale'' (preparare nuove unità di lavoro prima che il computer abbia terminato quelle correnti e creare unità su richiesta).

Un server BoincBOINC è un tipico server [[LAMP|Lamp]], su cui è possibile installare, attraverso Git, le componenti necessarie per creare l'infrastruttura: gli amministratori didel Boincprogetto hanno anche provveduto a creare una [[macchina virtuale]] già preconfigurata e pronta a far partire un progetto di calcolo distribuito.<ref>https://boinc.berkeley.edu/trac/wiki/VmServer</ref>
 
=== Client ===
L'applicazione client si occupa di processare le unità di lavoro, scaricando i dati e gli applicativi dei vari progetti tramite un collegamento ad Internet. Per questioni di sicurezza, il client non si aggiorna automaticamente; le applicazioni dei singoli progetti di ricerca, invece, vengono scaricate e aggiornate automaticamente. Il client dispone di varie possibilità di configurazione per permettere un utilizzo conforme alle volontà dell'utente in termini di tempo e risorse messe a disposizione. Consente inoltre la divisione del tempo di calcolo su più di un progetto. Dal 2013 è possibile scaricare il client con già incluso il pacchetto [[VirtualBox]], dal momento che alcuni progetti utilizzano delle macchine virtuali per poter supportare adeguatamente i checkpoint (salvataggio automatico del lavoro svolto), oppure perchè le working units hanno bisogno di un ambiente software standardizzato. Per migliorare ulteriormente la standardizzazione necessaria all'esecuzione di alcuni progetti, dal 2016 Boinc supporta correttamente [[Docker]].
 
'''Wrapper'''
 
Il team di sviluppo di BOINC ha creato un layer intermedio opzionale ([[wrapper]]) di comunicazione tra l'applicativo da eseguire e il client BOINC, così da permettere il funzionamento di software già funzionante senza la necessità di riscrivere il codice per adattarlo all'infrastruttura BOINC. Le prestazioni degli applicativi che utilizzano il wrapper sono leggermente inferiori, ovviamente, a quelli che sono nativamente compilati per funzionare all'interno di BOINC, ma hanno il vantaggio di funzionare immediatamente senza grossi ritocchi al software stesso.
 
=== Interfaccia utente ===