Che cos’è, come funziona e utilizzi del Calcolo Distribuito

Che cos’è, come funziona e utilizzi del Calcolo Distribuito

Il Calcolo Distribuito

In informatica, per Calcolo Distribuito”si intende: “Il calcolo distribuito è un campo dell’informatica che studia i sistemi distribuiti. Un sistema distribuito consiste in tanti ed autonomi computer che comunicano attraverso una rete. I computer interagiscono tra loro al fine di raggiungere un obiettivo comune. Un software eseguito in un sistema distribuito è chiamato programma distribuito, e la programmazione distribuita è il processo di scrittura di tali software. Il calcolo distribuito si riferisce anche all’uso di sistemi distribuiti per risolvere problemi computazionali. Nel calcolo distribuito, un problema è diviso in molti compiti ognuno dei quali è risolto da un singolo computer“.

Che cos'è, come funziona e utilizzi del Calcolo Distribuito

I mezzi informatici sono uno strumento importante in quanto hanno permesso di accelerare considerevolmente il progresso dell’umanità, e sono sempre più uno strumento fondamentale in qualsivoglia ambito di ricerca scientifica, dalla medicina alla fisica, dalla meteorologia allo studio dei consumi energetici. Sebbene la potenza dei calcolatori stia aumentando di anno in anno (seguendo la ben nota “Legge di Moore”), la richiesta di capacità di calcolo risulta spesso estremamente inutilizzata, tanto da rendere inadeguati anche i costosissimi supercomputer, più per mode o cambiamento di protocolli che per necessità. Si può evitare di perdere una così grande potenzialità? Una soluzione è il “calcolo distribuito”.

Utilizzo e funzionamento del calcolo distribuito

Dislocati su tutto il pianeta ci sono miliardi di elaboratori, molti dei quali collegati nella grande rete di internet. Tutta questa capacità di calcolo viene generalmente sfruttata per una minima percentuale delle proprie possibilità, da qui l’idea alla base del “Calcolo Distribuito”. Unire le potenze di migliaia di computer per realizzare un unico, potere di calcolo enorme, sfruttando appunto le risorse inutilizzate di questi elaboratori. Per sfruttare al meglio tutta questa potenza, si può utilizzare ad esempio il progetto “Seti” dell’università di “Berkeley”: il cosiddetto progetto “BOINC” (Berkeley Open Infrastructure for Network Computing); una potente piattaforma per il calcolo distribuito che sfrutta le risorse dei PC offerte da volontari. Il processo con cui funzionano i progetti di calcolo distribuito è molto semplice:

  1. L’utente ricerca un progetto che vuole sostenere, scaricano dei pacchetti dati (chiamati Work Unit)
  2. Il PC li elabora, durante l’elaborazione non è necessaria nessuna connessione
  3. Completata l’elaborazione del dato, vengono rinviati i risultati 4 Si può scaricare dei nuovi pacchetti di dati

Ogni progetto ha un suo programma di elaborazione, solitamente chiamato CLIENT che permette di elaborare i suoi specifici dati. Il tutto viene fatto automaticamente, e non vi è bisogno di particolari conoscenze tecniche o della materia per cui si vuole contribuire da conoscere. E’ possibile elaborare questi dati sul proprio PC domestico quando si vuole, in generale in ogni frazione di tempo durante il quale il PC (in particolare il processore) non è utilizzato per compiti gravosi. Il programma Client può utilizzare la potenza di calcolo del computer per elaborare i pacchetti di codice precedentemente scaricati. Questo si può fare ad esempio mentre si scrive una tesi o si effettua qualsiasi altro tipo di operazione di correzione o stesura di una presentazione. Solitamente è possibile spegnere il proprio elaboratore in qualsiasi momento, interrompendo l’elaborazione dei dati scaricati e riprendendola nel punto in cui è stata interrotta non appena il dispositivo viene riacceso.

L’elaborazione avviene a priorità bassa, il che significa che non si noterà nessun rallentamento nell’utilizzo delle potenzialità di calcolo, in quanto quando, solitamente se il/i processi richiedono potenza di calcolo, il Client libera immediatamente le risorse, nei casi peggiori ferma proprio l’elaborazione dati, facendola ripartire in un secondo momento. Ovviamente il carico del processore durante l’elaborazione è costantemente al 100% ma se il processore non è in grado di sottostare a tale stress di calcolo, il programma ridurrà automaticamente la propria richiesta di calcolo.

Chi aderisce ad un progetto di ricerca di questo tipo, non lo fa per ricevere premi o denaro, lo fa per aiutare il raggiungimento di un obbiettivo sfruttando la propria “Work Unit” (WU o postazione di lavoro). Tante più WU elaboreremo, tanto più sarà rapida la ricerca, ma è importante sottolineare che aderendo ad un progetto di “Calcolo Distribuito” non si prenderanno nessun tipo di impegni vincolanti, non ci sono infatti risultati minimi da raggiungere o obblighi di obbiettivo (come Minestone o Deadline). Chiunque può contribuire in maniera spontanea alla ricerca scientifica e non, lo si farà per il tempo che si desidera impiegare e con quali materiali si desidera impiegare, sapendo che con le tecnologia attuale i nuovi elettromestici casalinghi sono connessi al mondo del web, si potrebbero usare anche quelli per il calcolo. Il calcolo distribuito può essere interpretato come una nuova forma di beneficenza della Sharing Economy.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *