Supalov HPC

ThinkPad P50: MPICH vs OpenMPI

Apr 27, 2016

MPICH vs OpenMPI: shmem latency geomean over 5 runs each

Well, now that Ronnie O’Sullivan is out, and half the excitement of the snooker world championship gone with him, it’s time to get back to business.

It was easy to get fresh Ubuntu 16.04 LTS installed to the SSD warmed up by Debian 8.4 that shipped early April. With that done, the other SSD still under Windows 10, and the HDD recut to hold my precious data rather than the easily restorable OS, it was time to run some MPI benchmarks at last.

Instead of taking one of the well known programs (like NetPIPE, https://software.intel.com/en-us/articles/intel-mpi-benchmarks, or SkaMPI) I decided to write my very own, simple and relatively transparent PingPong program that does exactly what I want and in the way I consider correct. I am still polishing it a bit, so its prime time is coming.

The results obtained so far on short messages over shared memory using stable MPICH 3.2 and OpenMPI 1.10.2 were a little baffling at first, see the graph above (geomean over 5 runs each): MPICH lost to OpenMPI below 512 bytes! This is really interesting. OpenMPI has come of age and done something I would not consider possible a few years ago. Good job!

However, this is not the end of the story, by far:

MPICH vs OpenMPI: shmem latency best of 5 runs

What the hell happened here? In this graph (best run for either package) MPICH entered overdrive above 128 bytes and went along a completely different asymptote while OpenMPI basically stayed put. What could cause this effect? I will tell you next time, sure, but until then, let me know what you think.

(to be continued)

Tags: High Performance Computing, Laptops, MPI