La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Problem Solving Environment Grid Computing –Globus –MPICH-G2 –NWS Autonomic Computing L’ambiente CAMELot –L’Automa Cellulare –Il linguaggio CARPET CAMELotGRID.

Presentazioni simili


Presentazione sul tema: "Problem Solving Environment Grid Computing –Globus –MPICH-G2 –NWS Autonomic Computing L’ambiente CAMELot –L’Automa Cellulare –Il linguaggio CARPET CAMELotGRID."— Transcript della presentazione:

1

2 Problem Solving Environment Grid Computing –Globus –MPICH-G2 –NWS Autonomic Computing L’ambiente CAMELot –L’Automa Cellulare –Il linguaggio CARPET CAMELotGRID –L’architettura –Il modello basato sull’isoefficienza –Esempio di esecuzione

3 Problem Solving Environment  Risorse di computazione per la risoluzione di problemi in domini specifici  Usati per implementare, compilare, eseguire e visualizzare applicazioni relative ad una precisa classe di problemi  Permettono agli utenti di concentrarsi esclusivamente sull’applicazione tralasciando i dettagli hardware/software  Finora sono stati eseguiti su macchine sequenziali

4 SOLUZIONESOLUZIONE Nascono alcune esigenze:  Coinvolgere sistemi paralleli e distribuiti che permettano la collaborazione e lo scambio di dati e di risorse  Utilizzare sistemi che forniscano capacità computazionali elevate

5 Le Griglie Computazionali  Consentono di condividere ed utilizzare la potenza di elaborazione di una serie di risorse collegate in rete tramite le infrastrutture di Internet.  Permettono livelli di potenza, altrimenti impossibili, accessibili ad ogni partecipante alla comunità scientifica o privata  Coinvolgono migliaia di server in tutto il modo, superando qualsiasi barriera fisica  Le comunità di condivisione di risorse all’interno delle griglie sono chiamate Organizzazioni Virtuali (VO)  Forniscono una capacità elaborativa elevata e dunque possono essere adottate nell’implementazione dei PSE

6 Il Globus Toolkit è uno dei maggiori strumenti software per la gestione dei servizi in ambienti di Griglia. Le Griglie Computazionali si basano su di una struttura stratificata dalla forma a “clessidra” Base: Nodi locali che mettono a disposizione i servizi fondamentali Collo: Middleware che provvede all’accesso uniforme ai servizi locali. Qui si aggiungono i nuovi servizi. Parte Superiore: Applicazioni ad alto livello avviate sulla griglia

7 GEM il modulo di gestione di file eseguibili GASS il modulo per l’accesso remoto ai dati HBM il modulo per Il monitoraggio MDS il modulo per l’Information Service GSI il modulo per la sicurezza Nexus il modulo per la comunicazione GRAM il modulo di gestione delle risorse Resource Specification Language (RSL) GRISGIIS

8 Presentiamo ora due strumenti importanti per ambienti di griglia: MPICH-G2 : tool di programmazione a scambio di messaggi NWS : sistema di monitoraggio di host e reti che come vedremo in seguito, sono stati utilizzati anche nell’implementazione del nostro sistema CAMELotGRID

9

10

11  Eterogeneità elevata  Scalabilità crescente da poche unità a centinaia di risorse  Dinamicità estrema Vantaggi: Aumento delle potenzialità computazionali dei sistemi Problemi: Complessità di gestione e di manutenzione Frequenti malfunzionamenti delle risorse

12 L'Autonomic Computing  Paradigma proposto nel 2001 dall’IBM  Idea: Creare un sistema simile al sistema nervoso autonomico umano  Un sistema computazionale autonomico deve essere in grado di gestire se stesso e ottimizzare il suo rendimento senza alcun intervento umano - Kephart, J.O. / Chess, D.M. (IBM Thomas J. Watson Research Center) : “The vision of Autonomic Computing”, IEEE Computer Society – January 2003

13 La struttura di un sistema autonomico si basa su otto principi fondamentali: 1.Auto Definizione 2.Auto Protezione 3.Auto Ottimizzazione 4.Auto Riparazione 5.Auto Configurazione 6.Cosciente del contesto in cui opera 7.Aperto 8.Capace di anticipare le richieste

14 APPLICAZIONE UTENTE Autonomic Manager (CONTIENE LE REGOLE AUTONOMICHE DEFINITE DALL’UTENTE) Autonomic Manager (CONTIENE LE REGOLE AUTONOMICHE DEFINITE DALL’UTENTE) MIDDLEWARE AUTONOMICO (Monitoraggio, analisi e verifica, attuazione) MIDDLEWARE AUTONOMICO (Monitoraggio, analisi e verifica, attuazione) SISTEMA COMPUTAZIONALE

15 PSE per sviluppare, compilare, eseguire e visualizzare modelli ad Automi Cellulari in grado di simulare fenomeni complessi E’ un’implementazione portatile su computer paralleli, basata su MPI.

16 Applicazioni significative: produzione di modelli in grado di simulare il comportamento intrinseco distribuito e di auto-organizzazione dei fenomeni. Rete di piccole e identiche celle, connesse uniformemente e sincronizzate. Funzione di transizione viene usata ad ogni passo da ogni cella per determinare il suo nuovo stato a partire dallo stato corrente e dagli stati di alcune celle che compongono un vicinato della cella stessa.

17 Computational Steering Bilanciamento del carico L’ambiente CAMELot offre: un linguaggio, chiamato CARPET, che può essere usato per definire algoritmi cellulari ed eseguire comandi di computational steering un’interfaccia grafica (GUI) per editare, compilare, configurare, eseguire, pilotare la computazione molti strumenti per la visualizzazione on-line e off-line dei dati di output Un’interfaccia con Database Geografici (GIS)

18 Una sezione di dichiarazione conosciuta come sezione cadef (CA DEFinition) Una sezione per la definizione della funzione di steering (opzionale) Una sezione per la definizione della funzione di transizione cadef {dimension 2; radius 1; state (short ground,display); neighbor cross [4] ([0,-1]North, [-1,0]West, [0,1]South, [1,0] East); parameter (pb 0.6); region (zona1 (40,60,30,40,1,1,1,200,1) } E’ un linguaggio di programmazione per la definizione di modelli basati su automi cellulari e delle loro funzioni di transizione steering {if (step == 1) {steer_colrange (ground, 0.0, 5.0); steer_colrange (display, 0.0, 5.0); } endsteering double px; int succ; int succ; {if (step == 1) {px = ( (double)rand() ) / RND_MAX; if (px < pb)update (cell_ground, tree); elseupdate (cell_ground, land); update (cell_display, 1); } else {dist = Distance (zona1); if ( (MaxRegion(zona1_ground, &succ) == fire) && (dist < 30) && (dist > 20) )update (cell_ground, dead); else if ( (cell_ground == tree) && (North_ground == fire || East_ground == fire || (West_ground == fire || South_ground == fire) ) update (cell_ground, fire); else if ( (cell_ground == fire) ) update (cell_ground, dead); if ( (InRegion(zona1) ) && (cell_ground == land) ) update (cell_display, 10); else update (cell_ display, cell_ground); }

19 Modello dell’isoefficienza APPLICAZIONE UTENTE Regole autonomiche AUTONOMIC MANAGER

20 a αia αi d bytes a b c foreach z,y,x trans_function(x,y,z,step) copy_boundary exchange_boundary copy_CA

21 AWidth BHeight CDepth DDimensione del substato in byte PNumero dei processori t f (i)Tempo di esecuzione medio della funzione di transizione sull’i esimo processore t s (i,i+1)Tempo start-up per le comunicazioni dall' i esimo processore all' i+1 esimo processore t b (i,i+1) Tempo necessario per inviare un byte nella comunicazione fra i esimo processore all' i+1 esimo processore t as (i)Tempo sequenziale additivo dell' i esimo processore t ap (i) Tempo parallelo additivo dell' i esimo processore C l (i)Carico di Cpu disponibile riferito all’i esimo processore

22  t f ’ (i) tempo di esecuzione media della funzione di transizione sull’i-esimo processore (su una cella). Nel calcolo viene considerata anche la percentuale disponibile di CPU.  Definiamo f i = 1/ t f ’(i) (indice della frequenza di calcolo riferita ad un singolo processore)  α i = f i /fdove  Ogni processore avrà assegnata una sottogriglia dell’automa cellulare di dimensione:  Il carico computazionale risulterà bilanciato:

23  Il tempo di esecuzione parallelo può essere modellato come:  Dove : T exc (i)= t s (i,i-1) + b c d t b (i,i-1) + t s (i,i+1) + b c d t b (i,i+1) che indicano i tempi di scambio bordi e di latenza con i vicini di destra e di sinistra. che indicano i tempi di scambio bordi e di latenza con i vicini di destra e di sinistra.  Otteniamo come risultato finale:

24 1.Stima del numero di processori da coinvolgere nell’esecuzione 2.Raccolte di tutte le informazioni relative alle caratteristiche delle risorse a disposizione e della rete di comunicazione 3.Calcolo delle porzioni in cui suddividere l’automa cellulare in base alle potenzialità delle macchine 4.Scrittura dei file di impostazione e avvio dell’esecuzione Si applica il modello di predizione per stimare il tempo di esecuzione

25

26 4)Lo scheduler calcola il numero dei processori da coinvolgere partendo dal valore dell’efficienza desiderata dall’utente. Avendo poi a disposizione i dati forniti dall’MDS e dall’NWS e utilizzando il modello delle Performance, provvede a partizionare l’automa cellulare fra i vari processori 5)Lo scheduler può ora avviare l’esecuzione6)Durante l’esecuzione il Monitor dinamico delle Risorse provvede a controllare che le regole autonomiche vengano rispettate. In caso contrario lancia un evento allo scheduler che interrompe l’esecuzione e provvede ad effettuare le modifiche necessarie 1)L’utente crea il programma CARPET che definisce il modello ad automa cellulare da eseguire. All’interno della sezione di steering inserisce le regole autonomiche che desidera vengano rispettate. Ad esempio: Il valore di efficienza E da ottenere e quello minimo da non superare durante l’esecuzione Ogni quante iterazioni effettuare il controllo autonomico 2)L’MDS raccoglie le informazioni sulle risorse disponibili sulla griglia 3)L’NWS analizza le risorse e la rete di comunicazione ed estrae le informazioni sulle disponibilità di CPU e sui tempi di banda e latenza APPLICAZIONE UTENTE Regole autonomiche AUTONOMIC MANAGER

27 Macchine a disposizione: K1, K2, K3, K4, Minos, Icarus (LAN dell’ICAR-CNR) Processori: 11 (Minos è una macchina mono-processore) Modello di predizione basato sull’isoefficienza per stimare i tempi di esecuzione. Confronto con i tempi di esecuzione misurati.

28 Hostt as (μsec)t f ’ (μsec)CPU (numero)Memory k1, k2, k3, k PIII 800M (2)256 M Minos PIV 1,5G (1)375M Icarus PIII 1,133M (2)2048M Host (processori)Tempo di esecuzione Tempo di comunicazione Tempo totale k4, icarus (2) k4, icarus (4) Minos, k4 (2) Minos, icarus (3) icarus, minos, k4 (5)

29 Host (processori) Tempo di esecuzione Tempo di comunicazione Tempo di copy_boundary Tempo totale k4, icarus (2) k4, icarus (4) Minos, k4 (2) Minos, icarus (3) icarus, minos, k4 (5) Host (processori) Tempo totale Stimato Tempo totale Misurato Errore relativo k4, icarus (2) % k4, icarus (4) % Minos, k4 (2) % Minos, icarus (3) % icarus, minos, k4 (5) %

30  Aumento della capacità computazionali utilizzando le griglie  Grossi vantaggi nell’utilizzo della strategia dell’autonomic computing sia dal punto di vista dell’autonomia dei sistemi sia perché permette all’utente di disinteressarsi della gestione dell’hardware e del software  Il modello basato sull’isoefficienza si è dimostrato efficace, naturalmente sarebbe necessario effettuare esperimenti con un numero di macchine maggiore e magari con una griglia sparsa un po’ nella rete globale  In futuro si potrebbe entrare più nel merito dell’infrastruttura autonomica, fornendo magari un’interfaccia utente grafica che ottimizzi la fase di raccolta delle informazioni iniziali e dei risultati ottenuti con l’esecuzione


Scaricare ppt "Problem Solving Environment Grid Computing –Globus –MPICH-G2 –NWS Autonomic Computing L’ambiente CAMELot –L’Automa Cellulare –Il linguaggio CARPET CAMELotGRID."

Presentazioni simili


Annunci Google