Infiniband Ping Pong.

Intuitive to some, not to others.

If you want to ping across an Infiniband network, like we use ping to test other networks, you could use ibping. Pick a system to be the destination of the ping and then go find out it’s Port GUID and start a ibping server on it:

Set one system as the “server” thus:


autosup25:~ # ibstat
CA 'mthca0'
CA type: MT25204
Number of ports: 1
Firmware version: 1.2.0
Hardware version: a0
Node GUID: 0x00066a00980095d7
System image GUID: 0x00066a00980095d7
Port 1:
State: Active
Physical state: LinkUp
Rate: 10
Base lid: 3
LMC: 0
SM lid: 1
Capability mask: 0x02510a68
Port GUID:

autosup25:~ # ibping -v -S
ibwarn: [11498] ibping_serv: starting to serve...

So, the port guid on this machine is 0x00066a00980095d7. We’ll need that on the other end. So, now pick the server from which you want to start the ping – this feels backwards doesn’t it? – and do this:


autosup30:~ # ibping -G 0x00066a00a00095d7
Pong from autosup25.mi.fluent.com (Lid 3): time 0.157 ms
Pong from autosup25.mi.fluent.com (Lid 3): time 0.100 ms
Pong from autosup25.mi.fluent.com (Lid 3): time 0.091 ms
Pong from autosup25.mi.fluent.com (Lid 3): time 0.121 ms
Pong from autosup25.mi.fluent.com (Lid 3): time 0.090 ms
Pong from autosup25.mi.fluent.com (Lid 3): time 0.092 ms

--- autosup25.mi.fluent.com (Lid 3) ibping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5799 ms
rtt min/avg/max = 0.090/0.108/0.157 ms

Now, I just move from system to system pinging that server to make sure all my servers are able to talk over the Infiniband link. Vary this a bit and you could use it in Nagios or something to monitor the IB network in a compute cluster.

That’s it. All done. Except, don’t forget to go kill the ping server on your target.

Leave a Reply

You must be logged in to post a comment.