Grid computing: cos’è, come funziona ed esempi

Un’architettura di rete distribuita che consente di elaborare in meno tempo grandi volumi di dati: come funziona il grid computing? Qual è la differenza con il cloud?

Pubblicato il 19 Ott 2021

Josephine Condemi

giornalista

Analisi dell’Enterprise Architecture: definizione, vantaggi e implementazione

Il grid computing è, letteralmente, la “computazione a griglia” o la “computazione a rete”: un’architettura di rete che collega le risorse di più processori per eseguire attività di calcolo distribuito con grandi volumi di dati, conservarli o risolvere problemi computazionali particolarmente elaborati. La “griglia” è assegnata per eseguire un obiettivo comune da computer diversi.

Cos’è il grid computing

L’architettura di grid computing assembla, anche in cloud, diverse unità geograficamente distanti per intervalli di tempo e scopi specifici: i computer comunicano e agiscono come una singola identità di calcolo. Utilizzare un nodo significa quindi accedere alla potenza computazionale di tutta la rete.

Il grid computing è una rete che può essere sia omogenea che eterogenea, ovvero formata da nodi con lo stesso sistema operativo o diversi. I nodi che compongono l’architettura sono indipendenti: ciascun server o computer mantiene la propria autonomia dalla rete e condivide solo in parte le proprie risorse specifiche. La rete del grid computing è quindi decentralizzata: possono esistere più server autonomi all’interno della griglia.

Come funziona il grid computing

Nell’architettura di grid computing, i processori in rete sono i diversi nodi con cui si interfaccia l’utente e che forniscono le diverse risorse a disposizione del sistema.

Nel grid computing è fondamentale la gestione delle risorse condivise, il bilanciamento dei carichi di lavoro e la loro assegnazione alle diverse unità della rete. In un singolo sistema operativo, il software di pianificazione dei processi è lo scheduler, a lungo, medio e breve termine. Una volta che lo scheduler seleziona il processo, interviene il dispatcher, il modulo che assegna il controllo della CPU al processo di lavoro già selezionato.

Quali sono gli equivalenti nel grid computing dello scheduler e del dispatcher?

Spesso è il middleware, ovvero un insieme di software che mediano tra sistema operativo e applicazioni. Il middleware aggrega le risorse locali nella rete e, in particolare: gestisce i processi da pianificare e monitorare, coordina i diversi compiti e alloca le risorse, accede ai dispositivi di gestione dei dati, informa sulle risorse disponibili e i loro aggiornamenti, comprende un modulo sicurezza con autenticazione, autorizzazione, delega e sign on.

A volte le risorse sono gestite centralmente usando un sistema di gestione delle risorse locali (Local Resource Management) orientato alla coda batch. Un LRM gestisce due tipi di lavori: locali e Grid. Quando si occupa di risorse distribuite, viene chiamato Distributed Resource Manager. L’LRM si occupa di controllare e programmare i processi batch, ovvero di esecuzione dei programmi o modifica dei dati, sulle risorse sotto il proprio controllo.

I lavori da eseguire inviati dall’utente vengono messi in coda dall’LRM: da questa coda lo scheduler delle risorse decide cosa, quando e a chi assegnare.

Un LRM per le risorse di calcolo può essere configurato in base all’utente autorizzato ad eseguire i lavori, alle politiche associate alla selezione dei lavori da eseguire e quelle associate alle singole macchine per considerarle inattive.

Il grid computing risulta particolarmente funzionale per team distribuiti che non possono condividere dati e risorse di calcolo in un unico sito. Ma può essere utile anche come griglia locale, formata da computer della stessa azienda. Dal punto di vista dell’utente, il grid computing trasforma un computer in un supercomputer con aumento esponenziale della capacità e velocità di calcolo e memoria.

Ciascun computer può entrare in un progetto di grid computing aperto: dopo avere installato l’applicazione dal sito web del progetto, la app contatterà il nodo di controllo della rete che invierà un pezzo di dati per l’analisi al nuovo computer. Il software analizzerà i dati, li rimanderà al server di controllo che li inoltrerà al database.

Tipologie di grid computing

Esistono diverse tipologie di grid computing: griglie computazionali, griglie on demand, griglie di dati, griglie di sensori.

Grid computazionali

Le griglie computazionali aggregano risorse di calcolo provenienti da processori diversi. Dividono i problemi di calcolo lunghi ed elaborati in sottocompiti, fanno eseguire ciascun sottocompito in parallelo ai diversi computer della rete, combinano gli output e ottengono il risultato del problema originario in molto meno tempo.

La scalabilità del modello ne consente l’applicazione in aziende di diverse dimensioni per un vasto utilizzo, che aumenta la potenza di calcolo in modo esponenziale.

Grid di utilità o on demand

Le griglie on demand scaricano l’esecuzione di alcuni compiti che sovraccaricano alcuni processori su altri processori della rete.

Sono “su richiesta”, ovvero attivabili in base al momento di picco di attività, con pagamento effettivo solo del tempo di utilizzo. Il carico di lavoro viene quindi distribuito ma non risolto più velocemente così come avviene nelle grid computazionali, che però sono “always on”, ovvero sempre attive, non solo per brevi periodi.

Data Grid

Le data grid fanno con i dati quello che le griglie computazionali fanno con le risorse di calcolo: dividono i volumi per l’archiviazione e/o l’elaborazione su più computer della rete per una maggiore velocità ed efficienza.

Le data grid contengono e gestiscono grandi volumi di dati distribuiti in domini differenti ma accessibili attraverso un’unica interfaccia di rete.

Una tipologia particolare di data grid sono le In-Memory Data Grid (IMDG), che collegano la memoria ad accesso casuale (RAM) dei processori della griglia. I dati vengono immagazzinati direttamente nelle diverse RAM: il risultato è un accesso ai dati più veloce così come una migliore capacità di archiviazione ed elaborazione.

Grid di sensori

La griglia di sensori nasce in ambito militare per avere una visione di insieme e a prova di guasto del campo d’azione, ma si è poi diffusa nell’ambito del monitoraggio ambientale, ad esempio rispetto alla prevenzione degli incendi.

Differenza tra grid computing e cloud computing

Il cloud computing è, letteralmente una “nuvola computazionale“, cioè un’architettura di rete che rende disponibili risorse informatiche hardware e software on demand. Si basa su datacenter centralizzati, così come i server che gestiscono la potenza di calcolo e la memoria.

grid computing

L’architettura di rete del cloud computing è quindi centralizzata, o client-server, al contrario di quella del grid computing che è decentralizzata: il cloud opera come un sistema di gestione centralizzato, la grid come uno decentralizzato.

Un’altra differenza riguarda la proprietà delle infrastrutture: nel cloud, i server sono dei provider, le griglie sono invece possedute direttamente dalle organizzazioni.

Inoltre, mentre il cloud utilizza servizi come Iaas- Infrastructure as a Service, Paas – Platform as a Service, Saas – Software as a Service, la grid utilizza invece sistemi di computazione e informazioni distribuiti: il cloud è orientato ai servizi, la grid alle applicazioni.

In quali settori viene utilizzato il grid computing

Il grid computing viene applicato in tutti i settori in cui può essere utile utilizzare griglie computazionali di calcolo per analizzare grandi quantità di dati.

Nell’industria cinematografica, viene utilizzato per accelerare la produzione dei film ed elaborare gli effetti speciali; nell’industria del gaming, per il rendering delle scene, la distribuzione di programmi online, l’hosting dei giochi online multigiocatore di massa.

L’ingegneria lo utilizza per accelerare la progettazione attraverso la simulazione dei modelli, la finanza per scomporre e archiviare volumi critici di dati, le scienze della vita per studiare il protein folding, il ripiegamento molecolare delle proteine (vedi il progetto Folding@home dell’università di Stanford).

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 2