Topologia 

Back to   Contents

Previous : Process Management  Next : Communications Management  Up to : Cos'è MPICH-G2

 

Una volta che i processi sono stati avviati, MPICH-G2 usa le informazioni contenute nello script RSL per creare una struttura multilivello dei processi basata sulla topologia della rete di interconnessone. Vediamo adesso un esempio di questa struttura basato sul sistema di prova da noi utilizzato. Per maggiori  dettagli si rimanda ai relativi paragrafi ( Il nostro Sistema     Cluster Parma2      Centro di Calcolo).

Schema del sistema di prova :

   

 

Esempio di script RSL utilizzato : 

+
( &(resourceManagerContact="cluster.unipr.it")
   (count=2)
   (label="subjob 0")
   (environment=(GLOBUS_DUROC_SUBJOB_INDEX 0)
                (LD_LIBRARY_PATH /usr/local/GlobusToolkit2.2/lib/)
                (GLOBUS_HOSTANAME cluster.unipr.it))
   (directory="/home/cattani/")
   (executable="/home/cattani/report_colors")
)
( &(resourceManagerContact="pp4.ce.unipr.it")
   (count=2)
   (label="subjob 1")
   (environment=(GLOBUS_DUROC_SUBJOB_INDEX 1)
                (LD_LIBRARY_PATH /opt/GlobusToolkit2.2/lib/)
                (GLOBUS_LAN_ID 0))
   (directory="/home/Ildico/cattani/globus/cluster/colors")
   (executable="/home/Ildico/cattani/globus/cluster/colors/report_colors")
)
( &(resourceManagerContact="pp2.ce.unipr.it")
   (count=2)
   (label="subjob 2")
   (environment=(GLOBUS_DUROC_SUBJOB_INDEX 2)
                (LD_LIBRARY_PATH /opt/GlobusToolkit2.2/lib/)
                (GLOBUS_LAN_ID 0))
   (directory="/home/Ildico/cattani/globus/cluster/colors")
   (executable="/home/Ildico/cattani/globus/cluster/colors/report_colors")

 

Struttura utilizzata da MPICH-G2 per gestire la topologia utilizzando colori  e profondità

Rank

0

1 2 3 4 5
Depth 3 3 3 3 3 3


         
                   Wide Area

 Colors        Local Area

                    Systen Area

                         vMPI

0 0 0 0 0 0
0 0 1 1 1 1
0 0 1 1 2 2
- - - - - -

con i processi allocati secondo questa tabella :

Hosts Rank
cluster.unipr.it 0 e 1
pp4.ce.unipr.it 2 e 3
pp2.se.unipr.it 4 e 5

 

Quello che accade è che ad ogni processo del comunicatore MPI_Comm_world viene assegnato un livello di profondità. Processi che possono comunicate tra loro solamente attraverso il protocollo TCP/IP avranno una profondità 3 (distinguendo tra wide-area, local-area e TCP intramacchina). Processi che possono utilizzate un vendor-MPI avranno profondità 4. Come si più vedere dalle tabelle nessuno dei nostra sistemi era dotato di una versione MPI propria. Una volta assegnati ai vari processi i livelli di profondità MPICH-G2 associa un colore per ogni livello di comunicazione. Due processi hanno lo stesso colore, ad un certo livello di comunicazione, se possono comunicare attraverso quel particolare livello. 

Nel nostro caso si può vedere come tutti i processi siano in grado di comunicare tra loro attraverso la stessa wide area network, ma a livello locale si dividono tra i due cluster. A livello System Area  il cluster del Centro di Calcolo viene visto come un sistema unico, quindi tutti i suoi processi sono allo stesso livello.  Mentre il cluster Parma2 è diviso tra tutte le macchine, che sono viste come sistemi separati. 

Questa informazioni sono usate per scegliere la migliore implementazione delle funzioni di trasmissione.

Una possibile applicazione di queste informazioni a livello programmazione è quella di utilizzare costrutti MPI_Comm per dividire i processi in base al comune canale di comunicazione. Questo potrebbe permettere, in fase di sviluppo, di minimizzare le comunicazioni tra livelli differenti.

 

Nota.

La tabella dei colori e profondità è stata ottenuta automaticamente eseguendo il programma report_colors, il cui sorgente è disponibile nella pagina http://www3.niu.edu/mpi/ 


Previous : Process Management   Next : Communication Management   Up to : Cos'è MPICH-G2

Back to Contents