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.
2006
it
File in questo prodotto:
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.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14242/336723
Il codice NBN di questa tesi è URN:NBN:IT:BNCF-336723