next up previous contents
Next: Comunicazione Ethernet Raw Up: Comunicazioni nel Cluster Previous: Programa di test   Indice

Misure con MPICH e LAM

Per analizzare l'andamento della banda passante ne é stato misurato il valore con diverse dimensioni del pacchetto di dati scambiato. Un semplice modello per interpretare le misure puó essere dato dalla seguente funzione:

\begin{displaymath}
bw(n) = \frac{n}{a + b \times n}
\end{displaymath}

dove n é la grandezza del pacchetto spedito in byte, a si misura in secondi e b si misura in $ [ sec \cdot byte^{-1} ] $.

Il coefficiente a rappresenta il tempo di statup di comunicazione, ovvero la latenza, mentre il coefficente b rappresenta il rate che il canale di comunicazione puó raggingere: 1/b é il valore della banda passante asintotica misurata in byte/secondi. Andremo ora a vedere i risultati ottenuti dalle misure.

La prima misurazione effettuata é stata con la comunicazione di tipo ping. I valori ottenuti usando il pacchetto LAM sono riportati nella tabella [*].

Tabella: Valori del test con LAM in modo monodirezionale.
Traff. (byte) Banda (byte/sec.) Traff. (byte) Banda (byte/sec.)
2 806 K 11576 106 M
4 1.55 M 12559 109 M
6 2.34 M 13626 106 M
8 3.18 M 14784 106 M
13 5.01 M 16040 109 M
16 6.18 M 17403 109 M
18 6.52 M 18882 107 M
22 8.16 M 20486 108 M
32 11.9 M 22227 105 M
37 13.3 M 33340 108 M
41 14.9 M 50010 108 M
62 22.2 M 75015 82.3 M
64 22.9 M 112522 89.1 M
94 32.4 M 168783 94.9 M
105 35.6 M 253174 99.2 M
128 41.2 M 379761 103 M
178 72.3 M 569641 104 M
216 86.3 M 854461 104 M
256 94.5 M 1281691 106 M
302 103 M 1922536 107 M
496 104 M 2883804 107 M
512 104 M 4325706 105 M
1024 94.1 M 6488559 106 M
1140 91.4 M 9732838 107 M
2622 111 M 14599257 108 M
6030 110 M 21898885 109 M
6542 103 M 32848327 105 M
7098 109 M 49272490 108 M
7701 106 M 73908735 107 M
8355 107 M 110863102 107 M
9065 110 M 166294653 107 M
9835 108 M 249441979 107 M
10670 110 M 268435456 107 M


Usando i valori riportati nella tabella [*] é stato realizzato il grafico in figura [*]. I coefficenti della funzione calcolati sono:

\begin{displaymath}
a = 1.16 \times 10^{-3} sec. , b = 9.10 \times 10^{-6} sec. \cdot byte^{-1}
\end{displaymath}

da cui si ha una stima della banda di comunicazione asintotica di
$ 1/b = 108 Mbyte/sec $.

Figura: Grafico della banda in funzione del traffico con comunicazione monodirezionale usando LAM.
\includegraphics[width=10cm]{Images/lamping.eps}
Utilizzando invece il pacchetto MPICH, i valori ricavati sono riportati nella tabella [*].

Tabella: Valori del test con MPICH in modo monodirezionale.
Traff. (byte) Banda (byte/sec.) Traff. (byte) Banda (byte/sec.)
2 5.11 K 11576 53.5 M
4 12.4 K 12559 51.4 M
6 73.2 K 13626 54.3 M
8 119 K 14784 52.5 M
13 636 K 16040 52.1 M
16 789 K 17403 54.4 M
18 432 K 18882 55.4 M
22 900 K 20486 56.2 M
32 1.67 M 22227 55.5 M
37 1.91 M 33340 55.2 M
41 2.17 M 50010 543.3 M
62 3.03 M 75015 55.5 M
64 2.29 M 112522 56.2 M
94 4.59 M 168783 50.7 M
105 5.06 M 253174 50.1 M
128 6.00 M 379761 50.5 M
178 7.98 M 569641 52.0 M
216 8.38 M 854461 51.9 M
256 9.45 M 1281691 51.8 M
302 10.6 M 1922536 52.3 M
496 21.0 M 2883804 51.9 M
512 23.9 M 4325706 52.6 M
1024 41.3 M 6488559 52.6 M
1140 43.5 M 9732838 52.5 M
2622 48.0 M 14599257 51.9 M
6030 48.0 M 21898885 52.8 M
6542 49.1 M 32848327 53.0 M
7098 50.4 M 49272490 53.3 M
7701 51.1 M 73908735 52.8 M
8355 50.2 M 110863102 52.3 M
9065 50.2 M 166294653 52.8 M
9835 52.4 M 249441979 53.1 M
10670 51.1 M 268435456 52.9 M


Come per i dati ricavati con LAM, é stato creato un grafico delle misurazione con MPICH mostrato in figura [*]. I coefficenti calcolati sono:

\begin{displaymath}
a = 1.19 \times 10^{-2} sec. , b = 1.80 \times 10^{-5} sec. \cdot byte^{-1}
\end{displaymath}

da cui si ha una stima della banda di comunicazione asintotica di
$ 1/b = 54.3 Mbyte/sec $ .

Figura: Grafico della banda in funzione del traffico con monodirezionale usando MPICH'.
\includegraphics[width=10cm]{Images/mpichping.eps}

Successivamente sono state misurate le performances con la comunicazione di tipo ping-pong. Nella tabella [*] sono riportati i valori ricavati dalle misurazioni usando LAM.

Tabella: Valori del test con LAM in modo bidirezionale.
Traff. (byte) Banda (byte/sec.) Traff. (byte) Banda (byte/sec.)
2 3.66 K 7701 11.3 M
4 7.77 K 8355 10.8 M
6 10.8 K 9065 11.5 M
8 15.6 K 9835 13.2 M
13 23.5 K 10670 17.1 M
16 29.1 K 11576 12.6 M
18 34.9 K 12559 15.1 M
22 39.7 K 13626 15.6 M
32 62.4 K 14784 18.1 M
37 67.1 K 16040 15.7 M
41 74.1 K 17403 18.2 M
62 120 K 18882 18.3 M
64 121 K 20486 19.5 M
94 169 K 22227 21.2 M
105 189 K 33340 26.6 M
128 230 K 50010 20.1 M
178 316 K 75015 16.4 M
216 419 K 112522 18.1 M
256 452 K 168783 18.7 M
302 532 K 253174 19.5 M
496 968 K 379761 20.2 M
512 996 K 569641 20.7 M
1024 1.95 M 854461 21.7 M
1140 1.85 M 1281691 23.1 M
2622 3.90 M 1922536 23.9 M
6030 8.19 M 2883804 24.2 M
6542 11.5 M 4325706 24.3 M
7098 10.5 M 6488559 24.3 M


Il grafico che ne deriva é riportato in figura [*]. I coefficenti calcolati per la curva di fit sono:

\begin{displaymath}
a = 0.285 sec. , b = 4.30 \times 10^{-5} sec. \cdot byte^{-1}
\end{displaymath}

da cui si ha una stima della banda di comunicazione asintotica di
$ 1/b = 22.7 Mbyte/sec $.

Figura: Grafico della banda in funzione del traffico con comunicazione bidirezionale usando LAM.
\includegraphics[width=10cm]{Images/lampingpong.eps}
Nella tabella [*], invece, sono raccolti i valori usando il pacchetto MPICH.

Tabella: Valori del test con MPICH in modo bidirezionale.
Traff. (byte) Banda (Kbyte/sec.) Traff. (byte) Banda (Kbyte/sec.)
2 4.11 K 11576 12.8 M
4 7.3 7 K 12559 13.6 M
6 10.6 K 13626 14.3 M
8 15.6 K 14784 8.20 M
13 25.1 K 16040 8.40 M
16 28.6 K 17403 8.79 M
18 32.1 K 18882 8.69 M
22 42.9 K 20486 10.2 M
32 56.8 K 22227 10.6 M
37 65.6 K 33340 10.6 M
41 80.0 K 50010 10.6 M
62 109 K 75015 10.7 M
64 113 K 112522 11.0 M
94 183 K 168783 10.5 M
105 205 K 253174 10.7 M
128 249 K 379761 10.8 M
178 345 K 569641 11.8 M
216 377 K 854461 11.2 M
256 445 K 1281691 11.4 M
302 585 K 1922536 11.6 M
496 897 K 2883804 11.8 M
512 948 K 4325706 12.1 M
1024 1.51 M 6488559 12.3 M
1140 2.07 M 9732838 13.0 M
2622 4.12 M 14599257 13.4 M
6030 8.25 M 21898885 15.5 M
6542 8.38 M 32848327 14.5 M
7098 9.29 M 49272490 17.8 M
7701 11.7 M 73908735 17.8 M
8355 10.2 M 110863102 23.6 M
9065 10.5 M 166294653 20.1 M
9835 13.0 M 249441979 23.9 M
10670 13.6 M 268435456 23.5 M


Il calcolo della curva di fit ha dato come risultato per i coeficenti:

\begin{displaymath}
a = 0.30 sec. , b = 6.75 \times 10^{-5} sec. \cdot byte^{-1}
\end{displaymath}

da cui si ha una stima della banda di comunicazione asintotica
$ 1/b = 14.6 Mbyte/sec $.

Figura: Grafico della banda in funzione del traffico con comunicazione bidirezionale usando MPICH.
\includegraphics[width=10cm]{Images/mpichpingpong.eps}

Come si puó notare osservando i grafici [*] e [*], i due pacchetti LAM e MPICH danno perforamance diverse sia nel caso di comunicazione di tipo ping sia di comunicazione di tipo ping-pong. Nel caso della comunicazione di tipo ping il programma compilato ed eseguito con le librerie e utilities LAM riesce quasi a utilizzare il 100% della banda passante superati i 100 bytes di dimensione di pacchetto, mentre le MPICH sfruttano la banda di comunicazione al 60% e solo se le dimensione dei pacchetti é superiore a circa 1000 bytes.

Figura: Performance di LAM contro MPICH con comunicazione monodirezionale.
\includegraphics[width=10cm]{Images/lampingmpich.eps}

Le differenze di perfomances tra i due pacchetti si notano in maniera piú evidente anche nella comunicazione ping-pong. Le LAM riescono a utilizzare quasi il 30% della banda passante, mentre le MPICH ne utilizzano il 15%. La dimensione minima del pacchetto da trasferire per avere l'andamento asintotico della banda é per tutti e due i pacchetti piú elevato rispetto al caso del ping, di circa 10 Mbyte.

Figura: Performance di LAM contro MPICH con comunicazione bidirezionale.
\includegraphics[width=10cm]{Images/lampingpongmpich.eps}

Le differenze di performance riscontrate tra i due pacchetti MPI ci portano a chiederci quali reali performance di comunicazione potrebbe offrire l'hardware dei nodi del cluster nel caso che lo stack di livelli software di comunicazione venga ridotto al minimo. Nel prossimo capitolo vedremo come abbiamo realizzato le misure utilizzando strumenti di basso livello per comunicazione.


next up previous contents
Next: Comunicazione Ethernet Raw Up: Comunicazioni nel Cluster Previous: Programa di test   Indice
Mario Cavicchi 2004-07-22