Grid computing
Il termine Grid computing (letteralmente, "calcolo a griglia") indica un'infrastruttura distribuita per consentire l'utilizzo di risorse di calcolo e di storage provenienti da un numero indistinto di calcolatori (anche e soprattutto di potenza non particolarmente elevata) interconnessi da una rete (solitamente, ma non necessariamente, Internet).
L'idea del Grid computing, di cui recentemente si sente spesso parlare come la prossima rivoluzione dell'informatica (come a suo tempo fu il World Wide Web), risale però a circa metà degli anni Novanta.
Le 'griglie di calcolo' vengono prevalentemente utilizzate per risolvere problemi computazionali di larga scala in ambito scientifico e ingegneristico. Sviluppatesi originariamente in seno alla fisica delle alte energie (in inglese HEP), il loro impiego è già da oggi esteso alla biologia, all'astronomia e in maniera minore anche ad altri settori. I maggiori player dell'IT in ambito commerciale hanno già da tempo cominciato ad interessarsi al fenomen,o collaborando ai principali progetti grid world-wide con sponsorizzazioni o sviluppando propri progetti grid in vista di un utilizzo finalizzato al mondo del commercio e dell'impresa.
Una grid è in grado di fornire agli utenti di un gruppo scalabile senza una particolare caratterizzazione geografica (gergalmente detto VO ossia Virtual Organization) la potenzialità di accedere alla capacità di calcolo e di memoria di un sistema distribuito, garantendo un accesso coordinato e controllato alle risorse condivise e offrendo all'utente la visibilità di un unico sistema di calcolo logico cui sottomettere i propri job.
L'idea del Grid computing è scaturita dalla constatazione che in media l'utilizzo delle risorse informatiche di una organizzazione è pari al 5% della sua reale potenzialità. Le risorse necessarie sarebbero messe a disposizione da varie entità in modo da creare un'organizzazione virtuale con a disposizione un'infrastruttura migliore di quella che la singola entità potrebbe sostenere.
Evoluzione del Grid computing
Il progetto SETI@home, lanciato nel 1999 da Dan Werthimer, è un esempio molto noto di un progetto, seppur semplice, di Grid computing. SETI@Home è stato seguito poi da tanti altri progetti simili nel campo della matematica e della microbiologia.
Attualmente, la più importante grid europea è quella del CERN di Ginevra che ora si chiama gLite (precedentemente LCG e prima ancora DataGrid), sviluppata da un team italo-ceco e prevalentemente presso l'INFN, l'Istituto Nazionale di Fisica Nucleare con la collaborazione di Datamat spa.
A differenza di quella utilizzata da SETI@Home, attualmente una grid viene concepita prevedendo un livello di middleware fra le risorse di calcolo e memoria (CE - computing element e SE - storage element: possono essere anche più di uno in una cosiddetta farm o worker node) e gli utenti della grid stessa.
Lo scopo principale del middleware è quello di effettuare il cosiddetto match-making, ossia l'accoppiamento tra le risorse richieste e quelle disponibili in modo da garantire il dispatching dei job nelle condizioni migliori avendo sempre visibilità dello stato dell'intera grid.
L'organismo di riferimento per lo sviluppo di omogeneità e standard dei protocolli usati dalle grid è GGF (Global Grid Forum), che ha creato gli standard OGSA (Open Grid Services Architeture). Nel 2004 è stato emanato WSRF (Web Services Resource Framework), che è un insieme di specifiche per aiutare i programmatori a scrivere applicazioni capaci di accedere alle risorse Grid.
Bibliografia
Ian Foster e Carl Kesselman (ed.), The Grid 2: Blueprint for a New Computing Infrastructure, 2003, ISBN 1558609334.