Nel campo delle architetture di calcolo ad alte prestazioni, il Grid Computing rappresenta ad oggi la frontiera delle attività di ricerca, come ਠtestimoniato dall'elevato numero di progetti dedicati a tale tecnologia. Le tecnologie Grid, consentendo la condivisione sicura e l'utilizzo coordinato di risorse distribuite geograficamente, mettono a disposizione degli utenti un'enorme potenza di calcolo, attraverso l'acquisizione di un elevato numero di risorse computazionali difficilmente disponibile localmente. In particolare l'interconnessione dei supercalcolatori e dei cluster disponibili presso i diversi centri realizza una struttura globale che consente l'esecuzione delle applicazioni candidate alla risoluzione di complessi problemi ``computationally intensive'' e ``data intensive''. Il calcolo su Grid, d'altra parte, impone la realizzazione di nuove applicazioni distribuite (o modifiche sostanziali alle applicazioni parallele tradizionali), di strumenti di sviluppo adeguati e la disponibilità di nuovi sistemi per la gestione dell'esecuzione delle applicazioni stesse. Fondamentalmente il modello computazionale utilizzato per la programmazione su Grid ਠil tradizionale modello a scambio di messaggi. In particolare le applicazioni parallele multi-sito consistono di pi๠componenti (subjob) eseguiti in parallelo su uno o pi๠processori di uno o pi๠cluster o supercalcolatori presso differenti siti. Tali applicazioni possono cosଠaccedere efficacemente ad un numero di risorse computazionali molto pi๠ampio di quello a disposizione utilizzando un qualsiasi supercalcolatore o cluster singolo. Un'opportuna distribuzione dei subjob tra le risorse disponibili consente a queste applicazioni di beneficiare in termini di prestazioni di questa potenza computazionale aggregata nonostante l'overhead addizionale introdotto dalle comunicazioni (tra i subjob) che utilizzano le reti pi๠lente (per esempio WAN). In questo lavoro ਠstata realizzata un'implementazione parallela multi-sito dell'algoritmo del Gradiente Coniugato a Blocchi (BCG) (utilizzato come testbed di applicazioni parallele multi-sito) ed ਠstato progettato e realizzato un sistema (denominato MPI jobs management system) per la gestione dell'esecuzione di applicazioni parallele (secondo le specifiche MPI) multi-sito sui cluster distribuiti di una Grid. L'algoritmo del BCG rispetto all'algoritmo standard del CG presenta caratteristiche che lo rendono pi๠consono ad un'elaborazione in ambiente Grid. La relativa implementazione parallela multi-sito fa uso di due livelli di parallelismo: il primo riflette la decomposizione in task dell'algoritmo a blocchi (grana grossa), il secondo ਠrealizzato suddividendo i task computazionalmente pi๠onerosi tra processi paralleli (grana fine). L'MPI jobs management system consente di sottomettere le applicazioni parallele multi-sito ad un sistema Grid, sollevando l'utente dall'individuazione e acquisizione simultanea delle risorse necessarie alla loro esecuzione. Esso consente di schedulare i subjob paralleli, eseguirli sui calcolatori pi๠appropriati, tenendo conto sia dei requisiti e preferenze dei subjob, sia delle caratteristiche delle risorse, e gestirne la sincronizzazione. Requisiti e preferenze dovranno riflettere le esigenze dei diversi subjob paralleli in termini di complessità computazionale e complessità delle comunicazioni, in modo da ottimizzare il mapping con le risorse disponibili. Infine, l'utilizzo della libreria MGF (MPI Globus Forwarder) consente di eseguire in modo trasparente ed efficiente le applicazioni multi-sito realizzate secondo le specifiche MPI su pi๠calcolatori paralleli di una Grid, compresi i cluster a rete privata.
Applicazioni parallele (multi-sito) in ambiente Grid
2006
Abstract
Nel campo delle architetture di calcolo ad alte prestazioni, il Grid Computing rappresenta ad oggi la frontiera delle attività di ricerca, come ਠtestimoniato dall'elevato numero di progetti dedicati a tale tecnologia. Le tecnologie Grid, consentendo la condivisione sicura e l'utilizzo coordinato di risorse distribuite geograficamente, mettono a disposizione degli utenti un'enorme potenza di calcolo, attraverso l'acquisizione di un elevato numero di risorse computazionali difficilmente disponibile localmente. In particolare l'interconnessione dei supercalcolatori e dei cluster disponibili presso i diversi centri realizza una struttura globale che consente l'esecuzione delle applicazioni candidate alla risoluzione di complessi problemi ``computationally intensive'' e ``data intensive''. Il calcolo su Grid, d'altra parte, impone la realizzazione di nuove applicazioni distribuite (o modifiche sostanziali alle applicazioni parallele tradizionali), di strumenti di sviluppo adeguati e la disponibilità di nuovi sistemi per la gestione dell'esecuzione delle applicazioni stesse. Fondamentalmente il modello computazionale utilizzato per la programmazione su Grid ਠil tradizionale modello a scambio di messaggi. In particolare le applicazioni parallele multi-sito consistono di pi๠componenti (subjob) eseguiti in parallelo su uno o pi๠processori di uno o pi๠cluster o supercalcolatori presso differenti siti. Tali applicazioni possono cosଠaccedere efficacemente ad un numero di risorse computazionali molto pi๠ampio di quello a disposizione utilizzando un qualsiasi supercalcolatore o cluster singolo. Un'opportuna distribuzione dei subjob tra le risorse disponibili consente a queste applicazioni di beneficiare in termini di prestazioni di questa potenza computazionale aggregata nonostante l'overhead addizionale introdotto dalle comunicazioni (tra i subjob) che utilizzano le reti pi๠lente (per esempio WAN). In questo lavoro ਠstata realizzata un'implementazione parallela multi-sito dell'algoritmo del Gradiente Coniugato a Blocchi (BCG) (utilizzato come testbed di applicazioni parallele multi-sito) ed ਠstato progettato e realizzato un sistema (denominato MPI jobs management system) per la gestione dell'esecuzione di applicazioni parallele (secondo le specifiche MPI) multi-sito sui cluster distribuiti di una Grid. L'algoritmo del BCG rispetto all'algoritmo standard del CG presenta caratteristiche che lo rendono pi๠consono ad un'elaborazione in ambiente Grid. La relativa implementazione parallela multi-sito fa uso di due livelli di parallelismo: il primo riflette la decomposizione in task dell'algoritmo a blocchi (grana grossa), il secondo ਠrealizzato suddividendo i task computazionalmente pi๠onerosi tra processi paralleli (grana fine). L'MPI jobs management system consente di sottomettere le applicazioni parallele multi-sito ad un sistema Grid, sollevando l'utente dall'individuazione e acquisizione simultanea delle risorse necessarie alla loro esecuzione. Esso consente di schedulare i subjob paralleli, eseguirli sui calcolatori pi๠appropriati, tenendo conto sia dei requisiti e preferenze dei subjob, sia delle caratteristiche delle risorse, e gestirne la sincronizzazione. Requisiti e preferenze dovranno riflettere le esigenze dei diversi subjob paralleli in termini di complessità computazionale e complessità delle comunicazioni, in modo da ottimizzare il mapping con le risorse disponibili. Infine, l'utilizzo della libreria MGF (MPI Globus Forwarder) consente di eseguire in modo trasparente ed efficiente le applicazioni multi-sito realizzate secondo le specifiche MPI su pi๠calcolatori paralleli di una Grid, compresi i cluster a rete privata.| File | Dimensione | Formato | |
|---|---|---|---|
|
tes_gregorettii.pdf
accesso solo da BNCF e BNCR
Tipologia:
Altro materiale allegato
Licenza:
Tutti i diritti riservati
Dimensione
688.23 kB
Formato
Adobe PDF
|
688.23 kB | Adobe PDF |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14242/336723
URN:NBN:IT:BNCF-336723