• Non ci sono risultati.

CAPITOLO 1 Ambiente GRID

N/A
N/A
Protected

Academic year: 2021

Condividi "CAPITOLO 1 Ambiente GRID"

Copied!
10
0
0

Testo completo

(1)

CAPITOLO 1

Ambiente GRID

Il termine Grid Computing deriva da un parallelo che i suoi primi teorici hanno proposto tra la fruizione dell’energia elettrica e l’accesso ai dati derivato dalla nuo-va interpretazione delle reti di calcolatori illustrata nel loro lavoro[18], ponendo l’accento su come non fossero le reti di calcolatori la vera rivoluzione informatica, quanto la diffusione estensiva di punti d’accesso ai servizi di rete. Si voleva infatti proporre un sistema secondo il quale la necessit`a di accedere ad un servizio di calcolo potesse essere soddisfatta semplicemente collegandosi all’infrastruttura di rete, cos`ı come avviene con la rete di distribuzione dell’energia elettrica1

.

Accorpare in un’unica entit`a virtuale le risorse computazionali dei soggetti reali, che partecipino al Grid, permette di mettere a disposizione un sistema complessi-vamente capace di produrre risultati ad alto throughput rispetto a quelli ottenibili col solo sistema locale di ogni utente, ascrivibile ad entit`a virtuali distinte chia-mate in gergo Virtual Organizations (VO)[19], con un pi`u ragionato utilizzo delle risorse di calcolo e con il supporto immediato alla collaborazione tra le VO.

1.1

Origini e sviluppi

Il concetto di Grid Computing affonda le proprie radici[11] nei primi esperimenti di calcolo distribuito dei primi anni 70 dello scorso secolo, all’inizio della storia

1

(2)

delle reti di calcolatori. Quei risultati posero le basi teoriche per un sistema distribuito virtualizzabile come singola entit`a, in cui si potevano individuare al suo interno unit`a, o nodi, a cui demandare compiti di elaborazione dati con costi computazionali elevati.

Nonostante ad oggi esistano diversi enti e gruppi di ricerca che lavorino sulla tec-nologia Grid, non esiste una concezione formale o comunque univoca su cosa sia il Grid[31], su quali siano le sue specifiche sia dal punto di vista dell’infrastruttura fisica di rete sia riguardo le caratteristiche e i servizi offerti dal software di gestio-ne. Per questo motivo ogni progetto adatta il proprio approccio al problema pi`u o meno autonomamente, affrontando un sottoinsieme dei possibili obiettivi se non addirittura arrivando ad incongruenze con altri progetti. Rimane comunque una vision comune, ovvero la creazione di una rete di calcolo distribuito a copertura ampia, se non globale, accessibile ed utilizzabile secondo le proprie necessit`a. La prima descrizione proposta per un computational grid risale alla fine degli anni novanta[18]. Su questa prima base teorica `e stato basato lo sviluppo del Globus Toolkit, lo standard di fatto tra i middleware per Grid, di cui si parler`a pi`u approfonditamente nella Sezione 1.2.1.3. Le specifiche del Globus Toolkit prevedono che una computational grid possieda queste caratteristiche:

affidabilit`a i processi che richiedono le potenze computazionali del Grid richiedono ri-sultati precisi e puntuali, sia che provengano dal mondo della ricerca che da quello delle imprese;

consistenza la diffusione auspicata per il Grid, vedendo cooperare utenze e sistemi ete-rogenei, seppur in cooperazione, ha bisogno di interfacce e servizi standard e aperti, per garantirne l’omogeneit`a;

(3)

basso costo in relazione ai risultati ottenibili: si vorrebbe che il Grid avesse per l’utente le stesse attrattive economiche per l’utente dei grossi impianti di produzione e distribuzione dell’energia.

Tale descrizione viene successivamente rielaborata dallo stesso autore, che propo-ne una lista pi`u concisa di tre caratteristiche fondamentali che l’infrastruttura di gestione deve verificare per la classificazione del sistema di rete distribuito come Grid 2

:

• coordina risorse non soggette ad un controllo centralizzato;

• usa interfacce e protocolli standard, open e general purpose;

• offre una significativa qualit`a di servizio.

Tale visione `e poco efficace nel descrivere la variet`a di forme ed applicazioni attuale, sebbene sia una base comune di molti, se non tutti, i progetti relativi alla tecnologia Grid.

1.2

Campi d’applicazione

Le possibilit`a offerte dal calcolo distribuito, e in particolar modo dal Grid com-puting, sono un’attrattiva per tutte le applicazioni che richiedono grosse potenze di calcolo e che coinvolgono pi`u soggetti anche geograficamente distanti. Stori-camente il campo della ricerca scientifica `e stato terreno fertile per la nascita e lo sviluppo di sistemi Grid, e ad oggi rimane il maggior campo di applicazione e sviluppo di questa tecnologia, mentre sul versante industriale le attuali appli-cazioni offerte sul mercato si limitano per la maggior parte a soluzioni di utility computing, descritte pi`u avanti nella sezione 1.3.2.

2 [17]

(4)

1.2.1 Promotori ed applicazioni reali

Come si `e detto, le tecnologie su cui si deve basare lo svilupo dei Grid si richie-dono essere standard e non proprietarie, in modo da garantire interoperabilit`a e affidabilit`a tra i sistemi, in generale eterogenei, che i singoli utenti includono nel Grid stesso. In linea con questa filosofia di principio, la progettazione degli standard per le infrastrutture Grid `e guidata da enti e associazioni creati dal-la partecipazione di un gran numero di centri di ricerca e aziende interessate a questa tecnologia, con collaborazioni anche a livello mondiale, come nel caso del progetto EGEE (1.2.1.2). Di seguito verranno descritti i maggiori enti di sviluppo delle tecnologie Grid e il loro apporto allo stato dell’arte.

1.2.1.1 OGF

L’Open Grid Forum nasce nel 2006 dall’unione tra il Global Grid Forum e l’En-terprise Grid Alliance. Il primo nasce dall’unione dei Grid Forum americano, europeo e giapponese che essenzialmente organizzavano conferenze tenute e se-guite tra ricercatori ed esperti nell’ambito del supercomputing. Il secondo invece `e una partnership tra una moltitudine di aziende del settore, anche di grosso ca-libro quali IBM, Sun Microsystems e Cisco Systems, per citare solo alcune tra le pi`u conosciute, con l’obiettivo di rendere possibile l’uso estensivo dei data center aziendali per la realizzazione di Grid Computing.

L’OGF ha finora prodotto un discreto numero di standard di grande rilevanza nello sviluppo della tecnologia Grid, primo fra tutti l’Open Grid Services Archi-tecture, che pone le basi tecniche per lo sviluppo di un’infrastruttura Grid. Altro risultato importante `e la Distributed Resource Management Application API, la descrizione di un’interfaccia per la sottomissione e la gestione di jobs all’interno di un sistema distribuito, standard implementato anche nel Grid Engine

(5)

suppor-tato da Sun3

.

Alcuni degli standard OGF sono stati seguiti nell’implementazione del Globus Toolkit4

.

1.2.1.2 EDG, EGEE e gLite

Lo European Data Grid era un progetto finanziato dalla Comunit`a Europea per lo sviluppo di un Grid a supporto dei centri di ricerca, in particolare rivolto allo studio di biologia, fisica delle particelle e monitorizzazione della Terra. Nel 2004 il progetto `e stato considerato concluso e molti dei suoi risultati sono stati incor-porati in un secondo progetto, Enabling Grid For E-sciencE, sempre finanziato dall’Unione Europea ma che vede partecipazioni internazionali, dall’America al-l’Estremo Oriente.

Il middleware prodotto nel progetto EDG `e stato la base dell’infrastruttura creata come supporto all’immensa richiesta computazionale del Large Hadrone Collider, situato nel CERN di Ginevra. Questo middleware fu usato dall’EGEE mentre in parallelo sviluppava gLite, che oltre al codice dell’EDG incorpora pezzi di codice fra i pi`u diffusi sistemi middleware per il calcolo distribuito in genere, come il Globus Toolkit e Condor Cycle Scavenger.

1.2.1.3 Globus Alliance

La Globus Alliance `e un’associazione di vari enti, in particolar modo Univesit`a e centri di ricerca Europei, Americani e dall’Estremo Oriente, che ha come obiet-tivo lo sviluppo di un middleware per la creazione e gestione di sistemi Grid: il Globus Toolkit, che `e attualmente il pi`u diffuso. Oltre alle Universit`a e ai

cen-3

Vedi la Sezione 1.3.2.1 per approfondimenti 4

(6)

tri di ricerca, `e da notare la presenza all’interno della Globus Alliance di Univa Corporation, societ`a commerciale fondata nel 2004 dai ricercatori Tuecke, Foster e Kesselman, che si propone come supporto alle aziende per l’utilizzo della tec-nologia Grid sviluppata da Globus. Sono presenti anche altre partecipazioni di aziende private quali IBM e Microsoft.

Il progetto nasce nel 1996 dal finanziamento che il DARPA decise di dare al-l’Argonne National Laboratory, rappresentata da Ian Foster, per continuare lo sviluppo del sistema di interconnessione tra centri di ricerca a livello nazionale che fu utilizzato durante una conferenza del 1995 sul Supercomputing. Dopo un anno venne rilasciata la prima versione del Globus Toolkit, che venne presto adottato su scala mondiale.

1.2.1.4 Il Globus Toolkit

Il Globus Toolkit `e un software per il supporto di Grid e applicazioni orientate a questa tecnologia liberamente distribuito su Internet, unitamente ad una serie di applicazioni pensate per affrontare vari aspetti dell’amministrazione e dell’utiliz-zo di Grid quali sicurezza, fault detection, resource management.

Nato dall’unione tra vari gruppi interessati alla tecnologia Grid, si propone come un progetto mirato a risolvere i problemi reali che si affrontano nella messa in opera di un sistema Grid, fornendo uno strato di middleware basato su standard internazionali, come ad esempio lo standard SOAP definito dalla W3C, che sup-porta la produzione e l’utilizzo di applicativi per Grid. La grande diffusione del Globus Toolkit, aiutata dalla sua natura Open Source, ha permesso di avvicinare molte aziende al Grid Computing.

Come suggerisce il suo nome, il Globus Toolkit non `e un unico blocco software mo-nolitico, ma si presenta come una composizione di elementi specializzati, ognuno

(7)

dei quali ´e pensato per assolvere ad un preciso compito ed affrontare un problema circoscritto. In particolare i componenti principali del Toolkit sono:

WS-Core un’implementazione dello standard OGSA5

basato sui Web Services6

; GSI uno strato software che utilizza la tecnica di crittografia a chiave pubblica

per fornire servizi di sicurezza ad ampio spettro (segretezza, autenticazione, etc)[3].

Queste due componenti sono poi affiancate da un insieme di altre applicazioni di utilit`a, sempre basate su interfacce standard, che offrono alcuni dei principali servizi richiesti ad un Grid, quali data management7

, resurce discovery e moni-toring. Inoltre, viene anche fornita una API per lo sviluppo di applicativi per il Grid per i linguaggi Java e C++, insieme ad una collezione di esempi riguardanti la stessa API e i servizi ad essa collegati.

1.3

GRID e tecnologie di calcolo distrubuito

La stessa idea di Grid Computing nasce dalle possibilit`a offerte dallo sviluppo delle tecnologie di rete, che hanno permesso la creazione di unit`a di calcolo ad elevatissima potenza semplicemente componendo, in maniera collaborativa, la potenza di calcolo dei vari calcolatori collegati insieme. La grande diffusione di Personal Computer, caratterizzati da una discreta potenza di calcolo e da un co-sto non elevato, ha incentivato fortemente l’adozione dell’approccio distribuito, a discapito delle tradizionali tecnologie di supercomputing basate su costose ar-chitetture proprietarie e ad hoc, nell’affrontare problematiche relative allo High

5

Vedi la Sezione 1.2.1.1 6

Vedi la Sezione 2.2 7

(8)

Performance Computing. Il Grid `e solo uno degli approcci al calcolo distribui-to, orientato all’attiva collaborazione tra diverse entit`a o Virtual Organizations, mentre altre tecnologie quali Clustering, Utility Computing e CPU scavenging sono generalmente focalizzate alla sola creazione di un’entit`a virtuale basata su un sistema distribuito che abbia elevate caratteristiche prestazionali.

1.3.1 Cluster

Col termine Computer Cluster si indica un sistema di calcolo distribuito in cui vari computer distinti sono strettamente connessi insieme, tipicamente attraverso reti locali (LAN) ad alta velocit`a. Lo scopo di questa architettura `e la suddivisione di una grossa elaborazione in sottoinsiemi da assegnare ad ogni singolo calcolatore, in modo da aumentare enormemente il parallelismo d’esecuzione e realizzare nel complesso una singola entit`a di elaborazione ad alte prestazioni. Rispetto alla tecnologia Grid, i Cluster definiscono uno stretto accoppiamento tra i nodi che lo compongono, non supportando, o comunque non focalizzandosi sull’eterogeneit`a tipica della collaborazione tra unit`a di calcolo di soggetti distinti.

´

E interessante notare le grandi potenzialit`a fornite dalla combinazione di archi-tetture di tipo Cluster e di tipo Grid: un nodo della Grid pu´o essere, a sua volta, una macchina parallela di tipo Cluster, tipicamente per l’erogazione di servizi che richiedono alta potenza di calcolo e/o affidabilit`a.

Oltre alla pura potenza di calcolo, il Cluster Computing pu`o essere utilizzato per situazioni che richiedono un’elevata affidabilit`a di servizio, ottenibile attraverso la replicazione di dati su nodi distinti, oppure, grazie alla gestione organica del sistema distribuito, per risolvere necessit`a di bilanciamento di carico. Ad esem-pio un Internet Provider pu`o utilizzare un cluster come gateway, per utilizzare politiche di distribuzione del carico e meccanismi di robustezza per sopperire

(9)

al-l’eventuale crash di un nodo.

Attualmente le soluzioni per il Cluster Computing disponibili in commercio so-no molto numerose, e spaziaso-no dalle soluzioni commerciali proposte ad esempio da Microsoft con il suo Windows Compute Cluster Server 2003TM

ad alternative Open Source come OpenMosix, un’estensione per il Clustering del kernel Linux.

1.3.2 Utility Computing

Lo Utility Computing `e un paradigma commerciale in cui si fornisce all’utente un sistema di calcolo utilizzabile attraverso un’interfaccia di sottomissione di job il cui uso viene offerto on-demand, ovvero senza vincoli contrattuali continuativi, e corrisposto proporzionalmente al tempo di calcolo utilizzato.

1.3.2.1 Sun Grid

Il sistema Sun Grid EngineTM

`e un prodotto Open Source guidato da Sun Mi-crosystems proposto a partire dal 2000, che implementa lo standard DRMAA della OGF e che rientra nella categoria dell’Utility Computing: un utente pu`o demandare un job al Grid Engine e ricavare dei risultati pagando solo in funzione del tempo di computazione richiesto. La Sun mette a disposizione degli utenti del Grid Engine un framework per la programmazione di applicativi JavaTM

, il Compute Server, progetto anch’esso Open Source rilasciato sotto licenza Apache v2, per facilitare la produzione di programmi rivolti all’utilizzo della tecnologia del Grid Engine. In pi`u, la stessa Sun rende anche disponibile un plugin per l’integrazione tra Compute Server e NetBeansIDETM

, la sua piattaforma per lo sviluppo Java.

(10)

1.3.3 CPU scavenging

L’idea alla base di questa forma di calcolo distribuito `e una semplice considera-zione: l’utilizzo delle risorse di un calcolatore non `e normalmente continuativo, e la potenza di calcolo disponibile `e, nella maggior parte dei casi, completamente disponibile anche durante l’uso del computer. Questa considerazione, unita alla diffusione di Internet, ha portato alla concezione di un paradigma distribuito che si basa sull’utilizzo della potenza di calcolo latente di tutti i computer connessi alla rete: in questo modo `e possibile demandare delle computazioni a computer remoti che porteranno avanti il lavoro nei tempi morti di utilizzo delle risorse. Il sistema cos`ı basato risulta essere estremamente eterogeneo e dinamico, in cui i nodi disponibili possono connettersi e disconnettersi in maniera imprevedibile. Il pi`u famoso progetto che utilizzava queste tecniche `e senza dubbio SETI@home.

1.3.3.1 SETI@home

L’acronimo SETI sta per Search for Extra-Terrestrial Intelligence, `e un proget-to promosso dallo Space Sciences Laboraproget-tory dell’Universit`a della California che consiste nell’analizzare i dati raccolti dal radio telescopio di Arecibo, in Puerto Rico, nella ricerca di segnali elettromagnetici che possano rivelare la presenza di attivit`a dovute ad intelligenze extraterrestri.

In pratica `e sufficiente scaricare sul proprio personal computer il software mes-so a disposizione, che esiste nella duplice forma di screen saver e procesmes-so in background, per concedere parte della propria potenza di calcolo disponibile al progetto: tale programma scaricher`a delle unit`a di lavoro, in particolare una serie di dati campionati di circa 107 secondi di durata, per poi eseguire elaborazioni quali trasformate di Fourier e ricerca di pattern. I risultati cos´ı ottenuti vengono poi rispediti al server.

Riferimenti

Documenti correlati

Elenco firmatari ATTO SOTTOSCRITTO DIGITALMENTE AI SENSI DEL D.P.R.. Questo documento è stato

I neuroni di II ordine (il cui soma è nel midollo allungato e forma i nuclei della colonna dorsale) hanno campi recettivi diversi da quelli dei n. Posseggono un’attività

A Distributed Resource Management Architecture that Support Advance Reservations and Co-Allocation... (DMTF) Common Information

Capitolo 3 nella prima parte viene arontato il problema della consistenza dei dati negli ambienti Grid, inoltre vengono mostrati alcuni modelli di replicazione dei dati.. Nella

EURO-VO Data Centre Alliance workshop: Grid and Virtual Observatory.. Garching, April

la qualità della rivista su cui si pubblica o l’ap- prezzamento del risultato da parte della comuni- tà scientifica di riferimento, come pure la rapidi- tà e l’estrema

È bene notare che questa strategia può essere efficace solo qualora quel dato film indipendente sia risultato vincitore – o almeno sia stato presentato – in un Festival di

Point 2 of the Government Decision No.. Step three: Two files are being prepared which are submitted simultaneously to the One Stop Shop: one for the National Employment Agency