Berkeley Open Infrastructure for Network Computing: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Inserito il riferimento a Docker |
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 === 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 ===
|