GRID Computing delle ict PDF

Title GRID Computing delle ict
Course Sistemi informativi e trend digitali
Institution Libera Università di Lingue e Comunicazione IULM
Pages 46
File Size 804.4 KB
File Type PDF
Total Downloads 27
Total Views 170

Summary

Grid computing spiegazione delle ict applicate...


Description

GRID COMPUTING

Grid Computing

PARAGRAFO 1: GRID COMPUTING

1.1 INTRODUZIONE La sempre crescente domanda di risorse di calcolo nel mondo moderno, ha portato, dagli anni '50 ad oggi, alla crescita in modo esponenziale della potenza dei computer. Oggi giorno però ci si trova ad affrontare un problema per molti aspetti inedito, almeno per quanto riguarda la storia dell'informatica. Per certe applicazioni, le richieste, in termini di potenza di calcolo, di memoria e di spazio disco, sono ormai diventate impossibili da soddisfare con l'utilizzo di un singolo calcolatore. Per ovviare a questo problema, negli ultimi anni, si è iniziato a pensare di unire le risorse di più computer di modo da ottenere potenze di calcolo maggiori. Si è quindi assistito al rapido diffondersi di sistemi per collegare in rete locale una serie di computer (da poche unità a qualche centinaio), ottenendo sistemi di potenza (e complessità ) via via crescenti. Purtroppo però anche questa strada ha delle limitazioni, tra le quali si possono citare lo spazio disponibile e la difficoltà di gestione: mettere un centinaio di computer in un unico posto in modo che siano gestibili con facilità dal personale tecnico,

adeguatamente

alimentati,

controllati,

aggiornati,

crea

numerose

problematiche di non facile soluzione, quali la necessità di impianti elettrici, di rete e di condizionamento molto costosi e complessi. L'immediata conseguenza di questo fatto è che il numero di computer che si possono mettere in cluster è necessariamente limitato, dato che i costi accessori e le diffcoltà tecniche, a un certo punto, crescono di pari passo, se non più velocemente dei benefici che si ottengono da queste architetture.

2

Grid Computing A questo punto qualcuno potrebbe pensare che l'enorme potenza di calcolo generata da un sistema di computer in cluster fra loro dovrebbe essere sufficiente per ogni applicazione umanamente concepibile, ma non è così esistono già applicazioni, e altre se ne stanno pensando, che necessitano di risorse di calcolo superiori (a volte per ordini di grandezza) rispetto a quelle odiernamente fornite con i sistemi classici. E' nata quindi l'esigenza di andare oltre quella che è stata fino a oggi la comune struttura di un sistema di calcolo. Una delle strade recentemente intraprese per far fronte a tutto questo sono le cosiddette "griglie computazionali", più comunemente dette le "grid".

1.2 COS'

È UNA GRID

?

Informalmente è l’idea, semplice e piuttosto antica dell’informatica, di mettere in comune le risorse di calcolo e di memoria, in modo da raggiungere livelli di potenza, accessibili ad ogni partecipante alla comunità scientifica, altrimenti impossibili. Le tecnologie abilitanti per questo gioco già esistono, e da tempo: - in primo luogo le comunicazioni. Oggi la larga banda è già un termine restrittivo. Velocità di trasmissione dati di un gigabit al secondo su rete locale, tecnicamente costa poche centinaia di dollari per nodo e sulla Internet a lunga distanza, con la tecnologia wdm (wavelenght division multipelxing, la scomposizione della luce, sulla fibra ottica, nelle sue varie frequenze spettrali o “colori”) si raggiungono velocità di migliaia di gigabit (terabit) su un centinaio di “colori” contemporaneamente trasmessi su una fibra, ciascuna frequenza capace di velocità di trasporto di 2,5 gigabit. E questi colori, o lambda, molto presto diverranno capaci di 40 gigabit ciascuna, in ragione di 200-300 di essi inviabili su singola fibra ottica. Un lambda, ovvero 2,5 gigabit permanenti da Parigi a New York, già oggi è un canale di comunicazione sufficientemente potente (e a basso costo) perché due computer, o sistemi di computer, possano in pratica divenire una cosa sola. Condividendo risorse di elaborazione o capacità di memoria quasi come se fossero fisicamente adiacenti.

3

Grid Computing - i computer stessi stanno velocemente incrementando, anche al di là di molte previsioni date per ottimistiche negli anni scorsi, il loro rapporto tra prestazioni e costo. Su tre assi: microprocessori, memorie, software. Basta considerare un normale pc venduto in negozio: supera il gigahertz (miliardo di cicli al secondo), contiene hard disk che ormai raggiungono il centinaio di gigabyte, può essere pilotato da un sistema operativo evoluto, stabile e a bassissimo costo come è Linux, completo di tutti i protocolli e gli standard di Internet, provati su milioni di connessioni. Da un anno a questa parte, poi, Linux sta esponenzialmente evolvendo verso lo status di ambiente informatico (nella sua accezione estesa) capace di gestire server di fascia alta, quali i cluster (reti “strette” di elaboratori) capaci di erogare potenze di elaborazione prima riservate ai grandi sistemi, di ordini di grandezza più costosi. - gli standard aperti di Internet, Linux e l’Open Source rendono possibile l’accesso attivo da parte di tecnologi e di scienziati all’innovazione “diffusa” nelle architetture informatiche. Non esistono più i “santoni” intoccabili del software proprietario, segreto e chiuso. Oggi, per un centro di ricerca, diviene conveniente investire sui sistemi standard (basati su tecnologia pc) risparmiando il costo (enorme) di grandi supercomputer proprietari per dirottare le proprie risorse risparmiate sulla formazione di ampi laboratori di programmazione, capaci di plasmare Linux e il software Open Source secondo le proprie esigenze di ricerca. Le grid sono infrastrutture emergenti, esse mirano a collegare su larga scala risorse di calcolo che possono essere eterogenee, distanti tra loro, nonché gestite da persone ed enti diversi. Il termine griglia computazionale, "computational grid", è stato scelto perché in inglese presenta una forte analogia con il termine atto a designare la rete elettrica: "electric power grid"; è al modello delle reti di distribuzione dell'energia elettrica che il progetto delle grid si ispira. Una rete elettrica rende oggi giorno ampiamente disponibili e collega fonti di energia eterogenee (vi sono centrali elettriche di innumerevoli tipi diversi, che sfruttano le più svariate tecnologie), distanti, gestite da persone ed enti diversi: basti pensare al fatto che intere nazioni comprano e vendono costantemente energia elettrica. 4

Grid Computing Allo stesso modo si può pensare a dei prototipi di grid quando si guarda alle reti di comunicazione stradali, ferroviarie, marittime e aeree; alle reti telefoniche; ai servizi di trasporto e distribuzione delle merci e così via; ognuno di noi può facilmente trovare decine di altri esempi. Una cosa importante è però il fatto che gli esempi citati non sono realtà isolati gli uni dagli altri, ma sono altresì tutti più o meno interagenti e interdipendenti. Allo stesso modo la grid computazionale (che in seguito chiameremo per semplicita soltanto grid) dipende da altre infrastrutture, senza le quali sarebbe impensabile. Grid Computing significa condividere ed utilizzare la potenza di elaborazione di una serie di computer, tipicamente server, collegati in rete tramite le infrastrutture di Internet. Ovvero? Attualmente, la maggior parte dei server rimane "non occupata" o poco occupata per parecchie ore del giorno (basti pensare alla notte). L'idea del Grid Computing è quella di sfruttare tale "tempo libero" per operazioni di calcolo ed elaborazione dati che vedano coinvolti migliaia di server in tutto il modo, superando qualsiasi barriera fisica di elaborazione dati di un qualunque server oggi disponibile. E' la vecchia, ma affascinate idea dell'informatica di mettere in comune le risorse di calcolo e di memoria, in modo da raggiungere livelli di potenza, accessibili ad ogni partecipante alla comunità scientifica o privata, altrimenti impossibili. Per intenderci: se un computer multiprocessore ha sulla stessa scheda madre più "cervelli" in grado di elaborare operazioni, un cluster (come quello del Politecnico della Virginia realizzato con 1.100 G5 dual processor ora in via di aggiornamento a Xserve) è un "grappolo" di computer fisicamente vicini ed interconnessi che si suddividono i compiti, cioè calcolano in parallelo e in meno tempo quello che a un unico computer occorrere molto più tempo per fare.

5

Grid Computing Il Grid, cioè il calcolo in rete, prevede invece la relativa distanza dei singoli computer. Per vicinanza non si intende tanto la prossimità fisica, ma di collegamento. Due computer collegati da un cavo ottico sono estremamente vicini, quasi come due processori sulla stessa scheda collegati dal bus di sistema. Due computer collegati attraverso un cavo GigaEthernet sono più vicini di due collegati da una Ethernet 10, etc.

1.3 PERCHÉ? Ci si potrebbe chiedere perché qualcuno dovrebbe voler spendere tanti soldi (la ricerca, in qualsiasi campo, è costosa) per creare questa nuova infrastruttura; la risposta è semplice: perché sarà presto indispensabile e perché la nostra tecnologia lo ha reso possibile. Per continuare con l'analogia della rete elettrica, possiamo notare che lo stato attuale delle risorse di calcolo è tutto sommato analogo a quello dell'elettricità nei primi anni del '900. Infatti in quegli anni era possibile generare energia elettrica, venivano inoltre costruiti macchinari che dipendevano da questa per funzionare, ma la necessità per ogni utilizzatore di dover disporre oltre al macchinario, anche di un generatore, ne limitava fortemente la diffusione. La vera rivoluzione, in questo settore, si ebbe con lo sviluppo delle tecnologie per il trasporto e la distribuzione di energia elettrica su grande scala; sviluppo che venne sostentato in gran parte dalla necessità di poter sfruttare il più possibile i benefici apportati dall'uso di questi macchinari. Questo processo evolutivo ha portato oggi alla disponibilità di energia elettrica adattabile e a basso costo. Allo stesso modo oggi giorno esistono, sparse per il mondo, le risorse di calcolo e le applicazioni che le sfruttano; ma queste sono sfruttabili solo a chi abbia a disposizione, in loco, computer abbastanza grossi e costosi a fornire la potenza di calcolo necessaria per svolgere il lavoro desiderato. Inoltre, sebbene queste risorse esistano, sono per lo più separate tra loro, così che la limitazione attualmente esistente alla potenza di calcolo, è data dalla limitazione della nostra tecnologia nel costruire singoli computer abbastanza potenti.

6

Grid Computing Una tecnologia atta alla condivisione delle risorse, permetterebbe quindi i superare

agevolmente

questo

scoglio,

e

renderebbe

disponibili

(magari

a

pagamento), le risorse necessarie a chi ne abbisogni solo saltuariamente e non voglia farsi carico della spesa necessaria per un centro di calcolo.

1.4 POSSIBILI

APPLICAZIONI

Ora è quindi naturale chiedersi quali siano le applicazioni che maggiormente necessitano della potenza di calcolo e della versatilità messa a disposizione a una infrastruttura di questo tipo e, in ultima analisi, capire quali sono le asce di utenza che, per prime, utilizzeranno le grid. Le applicazioni di questo tipo possono essere divise sostanzialmente in cinque classi. 1.4 1.4.1 .1 Supercalcolo distribuito Questo tipo di applicazione può usare le grid per unire le risorse di calcolo di lacuni, o molti, supercomputer per risolvere problemi che, altrimenti, sarebbero non affrontabili con l'ausilio di un unico calcolatore, per quanto potente, tra quelli oggi disponibili. Un esempio di applicazione che ne trarrebbe grande vantaggio è la Simulazione Interattiva Distribuita (DIS), tecnica molto usata nell'ambiente militare per la simulazione di scenari di guerra realistici, che coinvolgono centinaia di migliaia di elementi dai comportamenti molto complessi; mentre, allo stato dell'arte, anche i più potenti supercomputer possono trattare al più poche decine di migliaia di questi elementi. Un altro ramo in cui il supercalcolo distribuito può portare grosse innovazioni è quello scientifico. Una simulazione accurata di un fenomeno fisico richiede risoluzioni spaziali e temporali molto elevate; in queste situazioni, unire alcuni supercomputer può portare a superare le limitazioni di risoluzione esistenti.

7

Grid Computing Campi in cui si è già iniziato a indagare in questa direzione sono la cosmologia, la chimica computazionale ed i modelli climatici. 1.4 1.4.2 .2 High Throughput compu computing ting In questo tipo di applicazioni, una grid può essere utilizzata per organizzare il lavoro di un grande numero di programmi, che siano tra loro poco o per nulla collegati. Lo scopo di questo sistema è generalmente quello di sfruttare il tempo macchina inutilizzato (specialmente di notte). Questa tecnologia, ad esempio, è stata usata dalla Advanced Micro Design per sfruttare le risorse di calcolo inutilizzate di un migliaio di computer nella progettazione dei processori K6 e K7. Un felice esempio di software adatto a implementare architetture di questo tipo è il sistema Condor, sviluppato dall'università del Wisconsin, che è utilizzato per amministrare pool di centinaia di workstation in università ed enti di ricerca di tutto il mondo. Negli ultimi anni esperimenti di questo tipo hanno dimostrato la validità di queste applicazioni, coinvolgendo centinaia di migliaia di computer sparsi in tutto il globo, basti pensare ai progetti Seti@Home, e al progetto di cracking dell' algoritmo di crittografia MD5. 1.4 1.4.3 .3 On demand computing Le applicazioni on demand (a richiesta) si appoggiano sulle grid per rendere disponibili, una tantum, risorse di calcolo che, per il loro saltuario utilizzo, non sarebbe pratico, ne economicamente conveniente, avere a disposizione in loco. Queste risorse possono essere: processori, software, archivi di dati, strumenti molto specializzati e così via. Al contrario del supercalcolo distribuito, queste applicazioni sono spesso motivate dal rapporto costo-prestazioni, piuttosto che dalla necessità di una performance massima.

8

Grid Computing Applicazioni di questo tipo sono attualmente in uso in ambito scientifico con programmi di analisi numerica, nell'acquisizione in tempo reale di immagini e nella meteorologia. Le sfide principali delle applicazioni on-demand sono: i potenzialmente numerosissimi utenti e la flessibilità necessaria per soddisfare le loro richieste. Questo implica dover trattare problemi di allocazione di risorse, gestione delle code, scheduling, fault tollerance, sicurezza e sistemi di pagamento. 1.4.4 Data inten intensive sive computing Nelle applicazioni come queste, il cui scopo è la gestione di gigantesche quantità di dati distribuiti geograficamente, normalmente allo scopo di eseguirne sintesi di vario tipo, si riscontrano sovente anche problemi legati all'alto carico di calcolo e all'ingente data transfer. Anche in questo caso, le principali applicazioni che necessiteranno a breve di tecnologie come queste vengono dal mondo della scienza. Esperimenti futuri nella fisica delle alte energie (come ALICE o CMS) genereranno terabyte di dati; le complesse ricerche necessarie alla rivelazione di eventi interessanti potrebbero necessitare l'accesso a grandi porzioni di questi dati. Inoltre, le persone che dovranno materialmente eseguire queste analisi, si troveranno sparse in tutto il mondo, cosa che necessiterà un'architettura altamente distribuita. Le sfide principali di queste applicazioni sono legate allo scheduling e alla gestione di flussi di dati complessi e di ingente quantità. 1.4 1.4.5 .5 Calcolo collabor collaborativo ativo Questo tipo di applicazioni mirano soprattutto a favorire le comunicazioni e le collaborazioni tra le persone, pertanto sono spesso pensate in termini di spazi virtuali. Molte di queste applicazioni devono rendere disponibili risorse di calcolo condivise, così come archivi di dati e accesso alle simulazioni; pertanto finiscono per condividere tutti gli aspetti delle applicazioni già viste.

9

Grid Computing La sfida maggiore in questo tipo di applicazioni è la necessità di fornire tutte queste funzionalità il più possibile in tempo reale, perché, altrimenti, l'utilizzo ne risulterebbe fortemente penalizzato.

1.5 CHI

USERÀ LE GRID

?

Dall'analisi svolta nel paragrafo precedente, si è evidenziato che, almeno in un primo momento, le categorie di persone che maggiormente saranno interessate nell'uso, e quindi nello sviluppo delle grid, saranno scienziati, tecnici, ingegneri e, comunque, tutte quelle categorie di persone direttamente interessate alle ricadute tecnologiche della scienza. Informatici, ingegneri e scienziati in genere necessitano di visualizzare i risultati delle proprie applicazioni in tempo reale, e non solo, spesso necessitano della possibilità di fare modifiche ai parametri del calcolo durante l'esecuzione dello stesso, senza aspettarne la fine. Oggi giorno è sovente necessario, per certe applicazioni, aspettare giornate intere (anche sui computer più potenti a nostra disposizione) per poter ottenere il risultato di una simulazione e spesso è necessario trasferire su nastro i dati ottenuti per poi trasportarli nel luogo dove saranno visualizzati; in tal modo passano giorni, quando non settimane, prima di poter valutare il risultato finale. Questa è, quasi sempre, una condizione inaccettabile, dato che può essere molto frustrante aspettare una settimana il risultato di una simulazione, per poi accorgersi che, a dieci minuti dall'inizio della stessa, un errore di impostazione ne ha inficiato irreparabilmente i risultati, facendo perdere ai ricercatori una ingente quantità di tempo e di denaro (il tempo macchina costa!). Sarebbe molto più comodo e redditizio poter controllare in tempo reale i risultati della simulazione e, magari, poterne variare i parametri, evitando così sorprese come quella appena descritta. Questo, ad esempio, è un compito perfetto da affidare ad una grid, gestita magari con software come globus. Un'altra cateto di persone, che dovrebbe essere fortemente interessata da queste tecnologie, sono i fisici sperimentali e gli sperimentatori in generale,basti

10

Grid Computing pensare ai futuri esperimenti nella fisica delle alte energie in programma al CERN, come l'esperimento ALICE, per il quale si prevede la generazione di terabyte di dati. Sarebbe molto comodo, per non dire indispensabile, poter usufruire di una grid di calcolo e di data storage, per permettere a fisici di tutto il mondo di analizzare questi dati. Uscendo dall'ambito scientifico, questa tecnologia sarà di notevole interesse anche per grosse multinazionali, che beneficeranno della conseguente capacità di aggregazione, scuole e università, che potranno condividere archivi e risorse multimediali, nonché accedere in modo proficuo ai testi delle rispettive biblioteche. Non ultimi, bisogna ricordare tra i beneficiari anche interi stati, che potranno, a lungo andare, integrare le grid tra gli strumenti a disposizione per la gestione della cosa pubblica, basti pensare ad archivi catastali elettronici a larga diffusione, registri automobilistici e così via, gli esempi sarebbero migliaia.

1.6 REQUISITI

TECNICI

Affinché anche le grid diventino una realtà, e possano effettivamente essere utilizzate nelle applicazioni precedentemente descritte, è necessario che soddisfino certi requisiti. Per prima cosa una grid deve essere una infrastruttura, in quanto deve essere pensata come una struttura a larga scala che metta a disposizione risorse di calcolo, di memorizzazione e di trasporto dati, nascondendo, per così dire, sotto il tappeto, le difficoltà tecniche all'utente finale; senza tralasciare il fatto che la struttura deve anche occuparsi di tutte le funzioni di controllo e monitoraggio. E' poi importante la continuità del servizio, in quanto gli utenti devono poter contare su un'applicazione che garantisca loro prestazioni di alto livello, ma il più possibile continue: nessuno vorrebbe usare un processore che può darti presta...


Similar Free PDFs