Cos'e' MPICH-G2

Back to Contents

Previous : Introduzione    Next : Da MPICH a MPICH-G2   

 

Come gia' menzionato nell'Introduzione MPICH-G2 e' una implementazione completa dello standar MPI-1 realizzato estendendo  MPICH (Da MPICH a MPICH-G2), con lo scopo di ottenere un modello di programmazione a scambio di messaggi Grid-enabled.

La principale caratteristica di MPICH-G2 e' quella di riuscire a nascondere i problemi legati all'eterogeneita' delle risorse ed alla loro dislocazione in domini differenti, attraverso i servizi di GlobusToolkik. Le procedure di autenticazione, autorizzazione, creazione dei processi, controllo dei processi, comunicazione, redirezione dell'output, accesso remoto a file vengono tutte svolte in maniera trasparente all'utente. Questo permette di eseguire programmi MPI su computer situati in domini distanti attraverso gli stessi comandi che utilizzeremmo in un computer parallelo. Anche i programmi naturalmente non hanno bisogno di essere modificati, soluzioni di calcolo gia' a disposizione possono essere riusate in un contesto Grid.
La gestione del mascheramento della eterogeneita' delle risorse svolta da MPICH-G2 si divide in due aspetti principali:  1) l'allocazione di processi su computer remoti e la loro gestione (Process Management);  2) la comunicazione tra processi locati su macchine remote (Communication Management). 

MPICH-G2  mette anche a disposizione del programmatore varie funzionalitą per la gestione di della eterogeneitą a livello applicazioni, come, ad esempio, la possibilitą di usare i costrutti MPI_Comunicator per dividere i processi in una struttura gerarchica del sistema che rifletta la loro posizione nella rete di interconnessione, e permettere quindi alle applicazioni di scegliere il canale di comunicazione migliore(Topologia).

Altre interessanti funzionalità sono quelle offerte dai servizi del comando di GlobusToolkit globusrun sul quale è basata l'esecuzione dei programmi MPICH-G2. Infatti, come vedremo, uno dei possibili modi per lanciare un programma è quello di scrivere uno script RSL, dove è possibile inserire vari paramentri di configurazione dell'esecuzione, come il range di porte TCP da utilizzare, la dimensione del buffer TCT ed altre variabili di ambiente Globus. 

Passiamo ora ad uno studio più approfondito della struttura MPICH-G2.


Previous : Introduzione     Next : Da MPICH a MPICH-G2

Back to Contents