La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Le Griglie Computazionali Ing. Tommaso Coviello. La griglia in breve…1/2 Lobiettivo di una griglia è creare lillusione allutente finale di interagire.

Presentazioni simili


Presentazione sul tema: "Le Griglie Computazionali Ing. Tommaso Coviello. La griglia in breve…1/2 Lobiettivo di una griglia è creare lillusione allutente finale di interagire."— Transcript della presentazione:

1 Le Griglie Computazionali Ing. Tommaso Coviello

2 La griglia in breve…1/2 Lobiettivo di una griglia è creare lillusione allutente finale di interagire con un semplice computer virtuale gestito in maniera autonoma Questo super-computer è ottenuto mediante la connessione di sistemi eterogenei che condividono alcune risorse.

3 La griglia in breve…2/2 Il concetto di Griglia nasce come evoluzione del Web, da cui eredita tutte le caratteristiche (indipendenza dalla piattaforma, facilità duso, scalabilità, trasparenza per lutente). WEB: accesso uniforme alle informazioni GRID: accesso flessibile e ad alte prestazioni a tutte le risorse.

4 Analogia Il termine Grid deriva dallanalogia con la rete elettrica (Electrical Power Grid). Rete elettrica: fornitura di energia senza interruzione lutente paga per luso della corrente, senza interessarsi della sua provenienza Griglia: forniture di risorse (potenza computazionale, capacità di storage, banda, ecc.) senza interruzione lutente paga per luso senza sapere dove è e chi gli fornisce la risorsa che utilizza

5 Le ragioni per cui nasce una griglia

6 Definizioni di griglia Definizione 1 Una griglia computazionale è uninfrastruttura hardware e software che fornisce un accesso sicuro, costante e diffuso a capacità computazionali di alto livello (1998 Ian Foster, Carl Kesselman) La risorsa computazionale è vista come una utility e pertanto deve possedere le seguenti caratteristiche: Accesso trasparente allutente Accesso sicuro Utilizzo efficiente delle risorse Gestione di risorse distribuite

7 Definizioni di griglia Definizione 2 condivisione coordinata di risorse allinterno di una dinamica e multi- istituzionale organizzazione virtuale (2000 Ian Foster, Carl Kesselman, and Steve Tuecke) Questa definizione focalizza lattenzione sulla condivisione delle risorse e sulla collaborazione tra gruppi di individui allinterno o tra organizzazioni virtuali. La condivisione non è limitata allo scambio dei file, ma si estende allaccesso diretto a computer, al software, in generale a tutto lhardware necessario alla risoluzione di un problema scientifico, ingegneristico o industriale

8 Alcuni semplici utilizzi Il più semplice utilizzo della griglia lo si ha facendo eseguire unapplicazione esistente su una macchina differente che normalmente non è impegnata allo svolgimento di attività complesse. In questo scenario occorre che: Lapplicazione deve poter essere eseguita in remoto senza overhead La macchina remota deve essere compatibile con i requisiti hardware e software richiesti dalla particolare applicazione Esempio: Un job batch che esegue delle elaborazioni sui dei dati di input e restituisce un certo output.

9 Cosa una griglia può fare Sfruttare le risorse inutilizzate Un framework per utilizzare le risorse di calcolo di molte organizzazioni che sono effettivamente impiegate per il 5% del tempo La possibilità di aggregare una parte dello spazio disco inutilizzato al fine di formare uno storage virtuale La possibilità di bilanciare lutilizzo delle risorse di calcolo e di storage durante inaspettati picchi di attività. Se lapplicazione utilizzata è grid-enabled, essa può migrare verso risorse inutilizzate.

10 Cosa una griglia può fare Utilizzare in parallelo le CPU Lapplicazione deve essere partizionata in diversi job. Maggiore è lindipendenza di questi job maggiore è la scalabilità dellapplicazione Limiti alla scalabilità: Numero di job di partizionamento limitato I job non sono completamente indipendenti: Necessitano di accedere agli stessi file o database Necessitano di comunicare tra loro latenza nelle comunicazioni

11 Cosa una griglia può fare Rendere unapplicazione grid-enabled Devono essere forniti degli strumenti che i designer delle applicazioni possono sfruttare per scrivere applicazioni grid- enabled Non tutte le applicazioni possono essere trasformate per essere eseguite in parallelo e rese scalabili Non esistono strumenti automatici capaci di rendere lapplicazione in grado di sfruttare il parallelismo offerto dalla griglia

12 Cosa una griglia può fare Favorire la collaborazione tra Virtual Organization (VO) Attraverso lutilizzo di standard vengono rese interoperabili diverse risorse eterogenee offrendo allutente finale limpressione di interagire cin un sistema virtuale che mette a disposizione delle risorse virtuali. Gli utenti a loro volta sono organizzate dinamicamente in VO ognuna con politiche differenti

13 Cosa una griglia può fare Accesso a una grande quantità di risorse addizionali (non solo CPU/Storage) Esempio Supponiamo di voler effettuare unelaborazione su un set di dati localizzati su ununica macchina di storage. E possibile aumentare la banda totale per la connessione se i job trasferiscono i dati da diverse macchine che hanno una connessione separata. Accesso a software con licenze costose Accesso ad apparecchiature speciali Ad esempio microscopio a scansione

14 Cosa una griglia può fare Bilanciare il carico sulle risorse Contenimento di inaspettati picchi di richieste computazionali. 1° Modo: I job vengono schedulati su macchine poco utilizzate. 2° Modo: I job con bassa priorità possono essere temporaneamente sospesi o comunque cancellati per essere sottomessi successivamente Rendere il sistema affidabile La distribuzione su larga scala geografica può essere utile ad esempio in caso di blackout Lenorme quantità di risorse può essere sfruttata per fare delle repliche

15 Cosa una griglia può fare Strumenti per la gestione Questi strumenti permettono di controllare laccesso alle risorse e descriverne le politiche. Ad. Es. sarebbe possibile concedere laccesso a una certa percentuale di risorse a una determinata VO piuttosto che a unaltra per questioni legate ad esempio alla priorità di un progetto rispetto a un altro.

16 Classificazione delle risorse Le risorse computazionali Le risorse computazionali possono avere caratteristiche differenti in termini di velocità, architettura,sistema operativo, memoria, spazio disco e connettività. Modalità di utilizzo: Esecuzione di unapplicazione su una macchina disponibile Esecuzione contemporanea di una stessa applicazione che ha la possibilità di essere divisa in più job Esecuzione su macchine diverse di unapplicazione che deve elaborare dei dati molte volte.

17 Classificazione delle risorse Le risorse di storage. Queste risorse si riferiscono alla condivisione dei dispositivi di memorizzazione di massa. La condivisione di queste risorse permette permette di avere uno storage virtuale con Enormi capacità di immagazzinamento dei dati Miglioramenti della performance Aumento dellaffidabilità Lutilizzo di file system distribuiti (AFS,NFS,DFS,GPFS) offre la possibilità di: Non avere restrizioni in termini di spazio disco Di avere un singolo spazio di nomi per i file

18 Classificazione delle risorse Alcuni file system avanzati possono implementare: Meccanismi per la replica automatica dei data set per migliorarne laffidabilità e la performance Il data striping che è la segmentazione di dati logicamente sequenziali (come ad esempio un file) che vengono scritti su dispositivi fisici diversi in modalità round-robin utile nella lettura o scrittura di grandi quantità di dati ad alta velocità. Meccanismi di journaling che monitorano in maniera continua le transazioni e quindi permettono di ristabilire lintegrità del sistema anche dopo un certo numero di failure

19 Classificazione delle risorse Software e licenze Software con licenze molto costose possono essere installati su nodi di griglia dando a tutti gli utenti la possibilità di lanciare i job su tali nodi. Alcune licenze permettono di installare il software su un numero illimitato di macchine limitando il numero delle installazioni che possono essere utilizzate contemporaneamente. Apparecchiature speciali

20 I job e le applicazioni Un job è un programma che viene eseguito su un particolare nodo di griglia Unapplicazione di griglia è progettata in maniera tale da eseguire in parallelo un certo numero di job. I job possono avere delle dipendenze in maniera tale da formare una gerarchia di job. Tutti i risultati prodotti vengono alla fine ricomposti per dare il risultato finale dellapplicazione

21 Scheduling Nei sistemi di griglia più semplici è lutente responsabile di selezionare la risorsa su cui inviare un job Nei sistemi di griglia più avanzati questo compito viene assegnato al job scheduler o resource broker Il resource broker tiene conto della disponibilità effettiva delle risorse di griglia.

22 Scavenging system Sistemi scavenging: Quando una macchina diventa idle comunica il suo stato a un nodo centrale Questultimo assegna i job alla prima risorsa libera che soddisfa i requisiti del job. Proprietà: Sistema non intrusivo il job viene sospeso o cancellato nel caso la macchina risulti occupata nellesecuzione di job locali. Sistema con comportamento non prevedibile i tempi di esecuzione dei job possono variare nel tempo Soluzione: avere risorse dedicate (predizioni più accurate)

23 Reservation La reservation delle risorse per un set di job è utile per Per raggiungere dei risultati entro una certa deadline Per garantire una certa QoS La tecnica dello scavenging permetterebbe di utilizzare le risorse con job a bassa priorità nel caso le risorse non fossero impegnate durante il periodo della reservation

24 Le applicazioni di griglia

25 Classificazione applicazioni Distributed Supercomputing Queste applicazioni usano la griglia per aggregare una sostanziale quantità di risorse per risolvere problemi che non possono essere risolti su un singolo sistema. Problemi: Scalabilità dei protocolli e degli algoritmi su centinai di migliaia di nodi Algoritmi tolleranti alla latenza delle comunicazioni Raggiungere perfomance adeguate su sistemi eterogenei Necessità di co-schedulare i job

26 Classificazione applicazioni High-Throughput Computing La griglia viene usata per schedulare unenorme numero di task indipendenti o debolmente accoppiati. Lobiettivo principale è sfruttare le CPU disponibili. Esempio: Condor è un sistema che riesce a gestire centinaia di workstation sparse fra laboratori e università, per risolvere problemi di natura scientifica

27 Classificazione applicazioni On-demand computing Queste applicazioni sfruttano la griglia per raggiungere degli obiettivi a breve-termine A differenza delle applicazioni di distributed supercomputing non badano alla performance assoluta, ma anche ai costi. Le risorse di cui necessitano possono essere: Repository Sensori specalizzati etc. Risorse di calcolo Software Problemi: natura estremamente varia delle risorse e dal numero potenzialmente alto di risorse e di utenti discovery delle risorse, scheduling, fault tolerance, meccanismi di pagamento, sicurezza.

28 Classificazione applicazioni Data intensive computing Queste applicazioni hanno lo scopo di sintetizzare nuove informazioni a partire da dati distribuiti geograficamente in diversi repository. Questo processo di sintesi è Computational intensive Communication intensive Esempio: In futuro gli esperimenti di fisica alle alte energie produrranno terabyte di dati al giorno che verranno analizzati da migliaia di fisici in tutto il mondo

29 Classificazione applicazioni Collaborative Computing Queste applicazioni sono strutturate in termini di spazi virtuali condivisi che favoriscono la collaborazione e linterazione tra individui. Esempio Il sistema NICE permette ai bambini di partecipare nella creazione e manutenzione di mondi virtuali realistici per scopi di intrattenimento ed educativi. Problemi: real-time

30 Servizi e componenti di griglia

31 La progettazione di una griglia La progettazione di un sistema di griglia è influenzata dal fattore Scala Linfrastruttura computazionale è frattale. Tuttavia a seconda della scala cambiano i regimi fisici, economici e politici. Performance Requisiti di performance stringenti amplificano gli effetti del fattore di scala soprattutto a causa delleterogeneità. Esempio: Lacceso remoto ai file, nel caso di sistemi UNIX, può essere implementato sfruttando il protocollo HTTP. Soluzione poco performante.

32 Una breve premessa I processi e i thread Un processo può essere pensato come un programma in esecuzione: lo stato della sua attività è rappresentato dal program counter, dai registri del processore ecc. Un thread è lunità di base dellutilizzo della CPU. Esso comprende un ID, un program counter, un insieme di registri e uno stack.

33 Una breve premessa Ogni processo può essere formato da uno o più flussi di controllo detti thread i quali condividono il codice, i dati e altre risorse del sistema operativo come i file aperti.

34 I servizi di base I servizi di base che saranno probabilmente adottati nei sistemi di griglia saranno quelli sviluppati in passato per i sistemi di calcolo convenzionale. Autenticazione: stabilisce lidentità dellutente Autorizzazione: stabilisce i diritti dellutente per creare le entità chiamate processi. La capacità di un processo nellacquisire delle risorse dipendono dai meccanismi di autorizzazione sottostanti i quali implementano precise politiche di allocazione delle risorse.

35 I servizi di base Scheduling: stabilisce lassegnazione delle risorse ai diversi processi concorrenti secondo alcune politiche. Accounting: tiene traccia delle risorse allocate e utilizzate. Meccanismi di pagamento: traducono lutilizzo delle risorse nella valuta corrente Meccanismi di protezione: assicurano che la computazione di un utente non interferisca con quella di un altro utente

36 End Systems Questi componenti di sistema sono: Computer Sistemi di storage Sensori Altri dispositivi specializzati Sono caratterizzati da: Una piccola scala Alto grado di omogeneità e integrazione Questi sistemi sono i più semplici su cui implementare i servizi precedenti

37 End Systems: Stato dellarte Nei sistemi convenzionali i servizi sono forniti da un sistema operativo che ha un controllo assoluto su tutte le risorse del computer. Gestisce lautenticazione e fa da mediatore per le richieste dellutente nellacquisizione delle risorse, nella comunicazione tra processi, nellaccesso ai file ecc. Lalto grado di integrazione tra hardware e sistema operativo permette di raggiungere performance elevate

38 End Systems: Direzioni future Lattuale architettura di questi sistemi non prevede lintegrazione degli stessi in cluster, intranet e internet. I sistemi operativi stanno evolvendo nel supportare operazioni in ambienti nei quali i servizi sono distribuiti su più computer connessi in rete Nel supportare la mobilità del codice attraverso schemi di autenticazione e sviluppo di ambienti di esecuzione sicuri per il codice scaricato.

39 Cluster Sono un gruppo di computer connessi da una LAN ad alta velocità e progettati per essere utilizzati come una risorsa di calcolo integrata. Proprietà di un cluster Omogeneo: i sistemi componenti differiscono nella configurazione ma non nellarchitettura Controllato da una singola entità amministrativa Scala fisica di sviluppo più elevata: richiede algoritmi alternativi per funzioni di gestione e controllo delle risorse. Integrazione ridotta: crollo delle performance per alcune funzioni (ad es. le comunicazioni)

40 Cluster: Stato dellarte In un end system multiprocessore, si raggiungono elevate performance mediante lutilizzo di librerie di comunicazione specializzate (MPI) Multithreading (utilizzo memoria condivisa): meccanismi hardware assicurano uno spazio di indirizzi uniforme per i thread. In un cluster: Limplementazione dello scambio di messaggi è semplice attraverso lutilizzo del TCP/IP (poco performante) La condivisione di memoria richiede limplementazione di meccanismi software per tradurre gli indirizzi locali in indirizzi globali (più complicato).

41 Cluster: direzioni future Le architetture dei cluster stanno evolvendo in risposta a tre questioni: Modifiche a livello hardware e i sistema operativo per supportare comunicazioni ad alta velocità Implementazioni di nuovi servizi come il co-scheduling (tecnica capace di schedulare contemporaneamente su processori differenti i processi membri di una stessa unità computazionale). Possibilità di utilizzare risorse non specializzate a discapito delle performance e dellintegrazione

42 Intranet Una intranet comprende un elevato numero di risorse che sono soggette: A un unico organo di controllo amministrativo A un elevato grado di coordinazione delle risorse I principali fattori di complicazione sono: Eterogeneità: gli end system e le reti utilizzate sono di tipologia differenti Gestione separate: i singoli sistemi possono essere gestiti separatamente politiche conflittuali Mancanza di una conoscenza globale della struttura e dello stato del sistema

43 Intranet: Stato dellarte I servizi implementati in una intranet si rivolgono soprattutto a questioni riguardanti: La condivisione dei dati File system distribuiti Database Web services Laccesso a servizi specializzati piuttosto che il supporto coordinato di risorse multiple. Occorrono meccanismi e interfacce che possono essere resi uniformi grazie al controllo amministrativo centrale. Autenticazione Conversione di formati Accounting

44 Intranet: Stato dellarte I programmi solitamente non allocano delle risorse o creano esplicitamente dei processi. Essi si collegano a servizi predefiniti a causa della scarsa conoscenza tra le risorse. Linterazione avviene attraverso meccanismi di Remote procedure call (RPC) Remote method invocation (RMI) Necessità di servizi aggiuntivi: Meccanismi di discovery delle risorse Tecnologie sofisticate di autenticazione (kerberos).

45 Internet I fattori principali che complicano lo scenario sono: Mancanza di un controllo centralizzato: nessuna autorità centrale può forzare le politiche o la qualità delle risorse Diffusione su scala geografica: calo significativo delle performance di rete. Allaumentare della distanza Aumenta la latenza Diminuisce la banda disponibile a causa delle comunicazioni concorrenti

46 Internet: stato dellarte Lassunzione che un utente o una risorsa può fare nei riguardi di unaltra risorsa è ridotta al minimo. Occorrono tecniche basate sul discovery e la negoziazione. La sicurezza diventa un problema primario in internet: Vengono introdotti approcci dinamici per lautenticazione e il controllo degli accessi: la delegazione.


Scaricare ppt "Le Griglie Computazionali Ing. Tommaso Coviello. La griglia in breve…1/2 Lobiettivo di una griglia è creare lillusione allutente finale di interagire."

Presentazioni simili


Annunci Google