Grid computing: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m +portale
mNessun oggetto della modifica
Riga 1:
{{nota disambigua|il videogioco|[[Race Driver: GRID]]|GRID}}
{{W|informatica|febbraio 2009}}
I '''Gridgrid computing''' o sistemi Gridgrid sono un’infrastruttura di [[calcolo distribuito]], utilizzati per l’elaborazione di grandi quantità di dati, mediante l’uso di una vasta quantità di risorse. In particolare, tali sistemi permettono la condivisione coordinata di risorse all’interno di un’organizzazione virtuale.
 
== I sistemi GRIDgrid ==
[[File:Sistema grid.jpg|thumb|right|500px|Esempio di sistema Gridgrid]]
Il termine “[[Grigliagriglia]]” è stato coniato intorno alla metà degli anni Novantanovanta. Il vero e specifico problema alla base del concetto di Grigliagriglia è la condivisione coordinata di risorse all’interno di una dinamica e multi-istituzionale organizzazione virtuale (Virtual Organization, brevemente indicata con VO)<ref>{{cita libro|cognome=Foster |nome=Ian|coautori=C. Kesselman, S. Tuecke|titolo=The Anatomy of the Gridgrid: Enabling Scalable Virtual Organizations |url=http://www.globus.org/research/papers/anatomy.pdf |formato=pdf|anno=2001|editore=Intl. J. Supercomputer Applications}}</ref>. La condivisione non è limitata solo allo scambio dei file, ma si estende all’accesso diretto a [[computer]], a [[software]], in generale a tutto l’[[hardware]] necessario alla risoluzione di un problema scientifico, ingegneristico o industriale. Gli individui e le istituzioni, che mettono a disposizione della griglia le loro risorse per la medesima finalità, fanno parte della stessa VO. Caratteristica comune dei progetti Gridgrid è la necessità di disporre un ambiente di calcolo data-intensive, all’interno del quale le applicazioni hanno il bisogno di accedere a grandi quantità di dati geograficamente distribuiti in maniera veloce e affidabile ed, è proprio l’onere della Gridgrid, far operare tali applicazioni nel miglior modo possibile. È facile osservare che nessun computer attualmente in commercio sarebbe in grado, da solo, di elaborare simili moli di dati in tempi ragionevoli; tuttavia la condivisione di
risorse quali [[CPU]] e dischi opportunamente coordinati può dare l’impressione all’utente di accedere ad un supercomputer virtuale, con una incredibile potenza computazionale e capacità di memorizzazione in grado di sopportare grandi carichi di lavoro <ref>{{cita libro|cognome=Baker|nome=M.|coautori=R. Buyya, D. Laforenza |titolo =The Grid: International Efforts in
Global Computing, International Conference on Advances in Infrastructure for Electronic Business, Science and Education on the Internet|url=http://www.csse.monash.edu.au/~rajkumar/papers/TheGrid.pdf|formato=pdf|anno=2000 |mese=agosto|città=L’Aquila}} </ref>.
Dall’idea di far apparire tutta l’architettura di un Gridgrid come un unico [[supercomputer]] virtuale, celando all’utilizzatore tutta la complessità interna e mostrandogli solo i benefici, nasce l’esigenza di progettare e realizzare uno [[Scheduler|schedulatore]] di risorse Resource Broker.<ref>{{cita libro|cognome=Krauter |nome=K.|coautori=R.Buyya, M.Maheswaran|titolo=A Taxonomy and Survey of Grid Resource Management System for Distributed Computing, Software: Practice and Experience (SPE) Journal |url=http://www.buyya.com/papers/gridtaxonomy.pdf |formato=pdf |anno=2001 |città=New York}}</ref>.
Esso è uno dei componenti critici del sistema di gestione delle risorse, ha il compito di assegnare le risorse ai job (Gridletgridlet), in modo da soddisfare le esigenze delle applicazioni e del sistema. Le risorse di cui esso deve tenere traccia e gestire includono sistemi di calcolo e sistemi di immagazzinamento dati (mediante lo Storage Broker, rete di interconnessione e,
tramite il [[rete di calcolatori|Network]] Monitor)<ref>{{cita libro|cognome=Vazhkudai |nome=S.|coautori=S. Tuecke, and I. Foster |titolo= Replica Selection in the Globus Data Grid, Proceedings of the First IEEE/ACM International Conference on Cluster Computing and the Grid (CCGRID 2001), pp. 106-113 |anno=2001 |mese=maggio |editore= IEEE Computer Society Press}}</ref>.
Lo scheduling è un campo tradizionale dell’informatica, ma nonostante siano state studiate molte tecniche per numerose tipologie di sistemi (da uniprocessore a multiprocessore ai sistemi distribuiti), le caratteristiche tipiche delle griglie di dati rendono molti di questi approcci inadeguati. Infatti, mentre nei sistemi tradizionali le risorse e i job sono sotto il diretto controllo dello schedulatore, le risorse delle griglie sono geograficamente distribuite. Queste ultime sono di natura eterogenea e, appartengono a diversi individui o organizzazioni, ciascuna con le proprie politiche di scheduling, modelli di costo di accesso differenti, carichi di lavoro e disponibilità di risorse che varia dinamicamente nel tempo. La mancanza di un controllo centralizzato, insieme alla presenza di utenti che generano job (Gridletgridlet), molto diversi l’uno dall’altro, rendono la schedulazione più complicata rispetto a quella dei sistemi di calcolo tradizionali.
 
== Storia ==
{{NN|informatica|aprile 2010}}
La condivisione delle risorse di calcolo ci permette di suddividere la [[Storiastoria dell'informatica]] in 4 ere.
La prima era quella caratterizzata dall'idea di un singolo computer per molti utenti. In questa era l'acquisto delle risorse di calcolo ha costi talmente ingenti che il problema è quello dell'uso contemporaneo di tali risorse da parte dei diversi utenti.
A partire dagli anni '80 i costi dell'hardware subirono cali che permisero di avere un computer per ogni singolo utente. Nascono in questo periodo i primi [[personal computer]] e l'infrastruttura di calcolo si evolve verso il [[SIMD]]. Già dalla fine degli anni '80 si comincia a diffondere l'idea della condivisione dell'architettura hardware ciò anche grazie al già detto calo dei prezzi, portando alla nascita delle prime macchine parallele virtuali.
Gli anni '90 sono quelli durante i quali si applica in toto la [[legge di Moore]] e si affermano le [[reti di calcolatori]] e [[Internet]] (concetti fondamentali per il ''Gridgrid'')
 
=== Evoluzione del ''Gridgrid computing'' ===
Il progetto [[SETI@home]], lanciato nel [[1999]] da Dan Werthimer, è un esempio molto noto di un progetto, seppur semplice, di Gridgrid 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 (città)|Ginevra]] che ora si chiama EGEE (gLite è il nome del middleware che produce; precedentemente LCG e prima ancora DataGrid), sviluppata - tra gli altri - da un team italo-ceco e prevalentemente presso l'[[INFN]], l'Istituto Nazionale di Fisica Nucleare.
Riga 28:
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 la distribuzione dei job (termine utilizzato nei sistemi [[ batch ]] per indicare un [[ processo (informatica)| ]] o una parte di esso) nelle condizioni migliori avendo sempre visibilità dello stato dell'intera grid.
 
Un altro importante fenomeno da evidenziare è la nascita accanto alle grandi GRIDgrid nazionali ed internazionali, di molteplici implementazioni su scala locale o metropolitana di sistemi distribuiti che mantengono le caratteristiche di una GRIDgrid. Tali sistemi vengono indicati con i termini Local Area Grid (LAG) e Metropolitan Area Grid (MAG) o, più semplicemente, Metropolitan Grid con chiaro riferimento alla classificazione introdotta nell'ambito del network ([[Local Area Network|LAN]], [[Metropolitan Area Network|MAN]], [[Wide Area Network|WAN]]). Come la coordinazione di Gridgrid nazionali prevede la futura costituzione di un world wide Gridgrid, le implementazioni di locali o di Gridgrid Metropolitanemetropolitane si avvicinano al mondo delle [[Intranet]]. Esse infatti forniscono un tipo di infrastruttura che può essere usata più semplicemente di internet per l'introduzione del calcolo distribuito in ambito aziendale.
 
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 Architecture). 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 Gridgrid.
 
Oggi il software più famoso ed utilizzato è [[BOINC]], un software di Grid Computing sviluppato dall'[[Università della California (Berkeley)]]. La sigla BOINC infatti sta per Berkeley Open Infrastructure for Network Computing. Questo software è open source.
 
== Applicazioni del ''Gridgrid computing'' ==
Un esempio di applicazione del paradigma di Gridgrid computing è [[neuGRID]], un progetto del 7° Programma Quadro che prevede lo sviluppo di una infrastruttura per lo studio delle malattie neurodegenerative.
 
== GridSim ==
[[File:Architettura GridSim.JPG|thumb|Architettura ''GridSim'']]
È stata elaborata un’interfaccia grafica che permette all’utente di inserire le caratteristiche del sistema Gridgrid, di cui si analizza il comportamento, presentandone di
volta in volta la ricostruzione grafica. Al termine della prima fase, ossia l’inserimento delle caratteristiche, si avvia la seconda fase, relativa alla simulazione. Durante la simulazione i dati vengono elaborati e viene presentato all’utente il report con tutte le informazioni e le risposte del sistema. Per la simulazione viene utilizzato il simulatore GridSim mentre
per la rappresentazione grafica del sistema viene utilizzato JUNG. JUNG (Java Universal Network/Graph Framework) è una libreria di modellazione e visualizzazione open source dei grafi, scritta in Java.