La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Le Griglie Computazionali

Presentazioni simili


Presentazione sul tema: "Le Griglie Computazionali"— Transcript della presentazione:

1 Le Griglie Computazionali
Ing. Tommaso Coviello

2 La griglia in breve…1/2 L’obiettivo di una griglia è creare l’illusione all’utente 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à d’uso, scalabilità, trasparenza per l’utente). WEB: accesso uniforme alle informazioni GRID: accesso flessibile e ad alte prestazioni a tutte le risorse.

4 Analogia Il termine “Grid” deriva dall’analogia con la rete elettrica (Electrical Power Grid). Rete elettrica: fornitura di energia senza interruzione l’utente paga per l’uso della corrente, senza interessarsi della sua provenienza Griglia: forniture di risorse (potenza computazionale, capacità di storage, banda, ecc.) senza interruzione l’utente paga per l’uso 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 è un’infrastruttura 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 all’utente Accesso sicuro Utilizzo efficiente delle risorse Gestione di risorse distribuite

7 Definizioni di griglia
Definizione 2 “condivisione coordinata di risorse all’interno di una dinamica e multi-istituzionale organizzazione virtuale” (2000 Ian Foster, Carl Kesselman, and Steve Tuecke) Questa definizione focalizza l’attenzione sulla condivisione delle risorse e sulla collaborazione tra gruppi di individui all’interno o tra organizzazioni virtuali. La condivisione non è limitata allo scambio dei file, ma si estende all’accesso diretto a computer, al software, in generale a tutto l’hardware 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 un’applicazione esistente su una macchina differente che normalmente non è impegnata allo svolgimento di attività complesse. In questo scenario occorre che: L’applicazione 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 l’utilizzo delle risorse di calcolo e di storage durante inaspettati picchi di attività. Se l’applicazione utilizzata è grid-enabled, essa può migrare verso risorse inutilizzate.

10 Cosa una griglia può fare
Utilizzare in parallelo le CPU L’applicazione deve essere partizionata in diversi job. Maggiore è l’indipendenza di questi job  maggiore è la scalabilità dell’applicazione 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 un’applicazione 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 l’applicazione in grado di sfruttare il parallelismo offerto dalla griglia

12 Cosa una griglia può fare
Favorire la collaborazione tra Virtual Organization (VO) Attraverso l’utilizzo di standard vengono rese interoperabili diverse risorse eterogenee offrendo all’utente finale l’impressione 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 un’elaborazione su un set di dati localizzati su un’unica 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 L’enorme 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 l’accesso alle risorse e descriverne le politiche. Ad. Es. sarebbe possibile concedere l’accesso a una certa percentuale di risorse a una determinata VO piuttosto che a un’altra 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 un’applicazione 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 un’applicazione 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 dell’affidabilità L’utilizzo 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 l’affidabilità 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 l’integrità 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 Un’applicazione 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 dell’applicazione

21 Scheduling Nei sistemi di griglia più semplici è l’utente 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 Quest’ultimo 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 nell’esecuzione 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 un’enorme numero di task indipendenti o debolmente accoppiati. L’obiettivo 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 l’interazione 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 L’infrastruttura 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 dell’eterogeneità. Esempio: L’acceso 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 è l’unità di base dell’utilizzo 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 l’identità dell’utente Autorizzazione: stabilisce i diritti dell’utente per creare le entità chiamate processi. La capacità di un processo nell’acquisire delle risorse dipendono dai meccanismi di autorizzazione sottostanti i quali implementano precise politiche di allocazione delle risorse.

35 I servizi di base Scheduling: stabilisce l’assegnazione delle risorse ai diversi processi concorrenti secondo alcune politiche. Accounting: tiene traccia delle risorse allocate e utilizzate. Meccanismi di pagamento: traducono l’utilizzo 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 dell’arte
Nei sistemi convenzionali i servizi sono forniti da un sistema operativo che ha un controllo assoluto su tutte le risorse del computer. Gestisce l’autenticazione e fa da mediatore per le richieste dell’utente nell’acquisizione delle risorse, nella comunicazione tra processi, nell’accesso ai file ecc. L’alto grado di integrazione tra hardware e sistema operativo permette di raggiungere performance elevate

38 End Systems: Direzioni future
L’attuale architettura di questi sistemi non prevede l’integrazione 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 nell’architettura 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 dell’arte
In un end system multiprocessore, si raggiungono elevate performance mediante l’utilizzo di librerie di comunicazione specializzate (MPI) Multithreading (utilizzo memoria condivisa): meccanismi hardware assicurano uno spazio di indirizzi uniforme per i thread. In un cluster: L’implementazione dello scambio di messaggi è semplice attraverso l’utilizzo del TCP/IP (poco performante) La condivisione di memoria richiede l’implementazione 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 dell’integrazione

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 dell’arte
I servizi implementati in una intranet si rivolgono soprattutto a questioni riguardanti: La condivisione dei dati File system distribuiti Database Web services L’accesso 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 dell’arte
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. L’interazione 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. All’aumentare della distanza Aumenta la latenza Diminuisce la banda disponibile a causa delle comunicazioni concorrenti

46 Internet: stato dell’arte
L’assunzione che un utente o una risorsa può fare nei riguardi di un’altra 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 l’autenticazione e il controllo degli accessi: la delegazione.


Scaricare ppt "Le Griglie Computazionali"

Presentazioni simili


Annunci Google