0x1b - ESCAPE
HTML PDF Postscript
 OpenMPI goes IPv6 
IPv6 Geschrieben von Beat Rubischon (Link) am Freitag, 6. Februar 2009, 14:30
aus dem *grosse-nummern* dept.

Wer erzählt da, IPv6 habe im Clussterumfeld noch nichts verloren? Irrtum. Ein kleines aber feines Projekt hat den ersten Schritt getan.

OpenMPI ist ein aktives Projekt mit dem Ziel einer möglichst universellen und freien MPI Implementation. Als Backend sind mittlerweile TCP, SCTP (nur in der Entwicklerversion), Myrinet MX und GM, Quadrics ELAN und die diversesten Infiniband Implementationen inklusive dem freien OFED unterstützt. Für den Programmierer bietet OpenMPI eine komplette MPI2 Implementation - ohne den bei der Referenzimplementation MPICH2 benötigten mpd starten zu müssen.

Das neueste OpenMPI 1.3 soll IPv6 supporten. Also kurzerhand bauen und benutzen:
beat@max:~/imb$ mpirun -v -np 2 -machinefile machinefile ./IMB-MPI1 PingPong
...
#---------------------------------------------------
# Benchmarking PingPong 
# #processes = 2 
#---------------------------------------------------
       #bytes #repetitions      t[usec]   Mbytes/sec
            0         1000       728.06         0.00
            1         1000       736.10         0.00
            2         1000       716.03         0.00
            4         1000       735.74         0.01
            8         1000       795.36         0.01
           16         1000       872.63         0.02
           32         1000       756.53         0.04
           64         1000       827.69         0.07
          128         1000       955.61         0.13
          256         1000      1214.42         0.20
          512         1000      1795.91         0.27
         1024         1000      2656.47         0.37
         2048         1000      3818.55         0.51
         4096         1000      6272.73         0.62
         8192         1000      9253.11         0.84
        16384         1000     16675.76         0.94
        32768         1000     31729.96         0.98
        65536          640     68384.30         0.91
       131072          320    126870.33         0.99
       262144          160    249563.27         1.00
       524288           80    491984.29         1.02
      1048576           40    968248.96         1.03
      2097152           20   1915566.95         1.04
      4194304           10   3809785.01         1.05
OK, OK. Die Pingzeiten sind unter jeder Sau. Aber hey, das ist kein High Speed Interconnect mit < 1.2~µs Latency und > 3GBytes/s Throughput. Sondern ein homemade 100MBit Ethernet mit einem Cisco 836 dazwischen ;-)

.oO ( Ob Priska vielleicht doch recht hat, wenn sie jammert, das Netz sei zu langsam? *grübel* )

Aber viel interessanter - was geht über das Kabel?
max:~# tcpdump -i eth0 host 2001:8e0:1006:1:230:1bff:feb0:86f4
...
13:40:49.871193 IP6 max.0x1b.ch.40216 > tito.0x1b.ch.35787: P 90779:90805(26) ack 90761 win 1440 <nop,nop,timestamp 180253445 1802293704>
13:40:49.872370 IP6 tito.0x1b.ch.35787 > max.0x1b.ch.40216: P 90761:90787(26) ack 90805 win 179 <nop,nop,timestamp 1802293705 180253445>
13:40:49.872419 IP6 max.0x1b.ch.40216 > tito.0x1b.ch.35787: P 90805:90831(26) ack 90787 win 1440 <nop,nop,timestamp 180253445 1802293705>
13:40:49.873585 IP6 tito.0x1b.ch.35787 > max.0x1b.ch.40216: P 90787:90813(26) ack 90831 win 179 <nop,nop,timestamp 1802293707 180253445>
13:40:49.873634 IP6 max.0x1b.ch.40216 > tito.0x1b.ch.35787: P 90831:90857(26) ack 90813 win 1440 <nop,nop,timestamp 180253445 1802293707>
13:40:49.874807 IP6 tito.0x1b.ch.35787 > max.0x1b.ch.40216: P 90813:90839(26) ack 90857 win 179 <nop,nop,timestamp 1802293708 180253445>

Pures IPv6! *freu*

Permalink