Cisco Blogs


Cisco Blog > High Performance Computing Networking

MPI-3.0 has passed!

September 21, 2012 at 12:45 am PST

We’re here at the MPI Forum in Vienna where the Forum has just unanimously voted to accept the MPI-3.0 document.

Woo hoo!!

This document caps a 4-year effort that started in January of 2008.  MPI-3.0 clarifies many pending MPI-2.2 issues and adds some significant new user-level features to the standard:
Read More »

Tags: , ,

MPI_Ibarrier: Crazy?

September 15, 2012 at 4:32 am PST

Most people’s reactions to hearing about the new MPI-3 non-blocking “barrier” collective think: huh?

Why on earth would you have a non-blocking barrier?  The whole point of a barrier is to synchronize — how does it make sense not to block while waiting?

The key is re-phrasing that previous question: why would you block while waiting?

Read More »

Tags: , ,

Process Affinity in OMPI v1.7 (part 2)

September 11, 2012 at 5:00 am PST

In my last post, I described the Simple mode of Open MPI v1.7′s process affinity system.

The Simple mode is actually quite flexible, and we anticipate that it will meet most users’ needs. However, some users will need more flexibility. That’s what the Expert mode is for.

Before jumping in to the Expert mode, though, let me describe two more features of the revamped v1.7 affinity system.

Read More »

Tags: , , , , ,

Process Affinity in OMPI v1.7 (part 1)

September 7, 2012 at 11:32 am PST

In my last post, I mentioned that we just finished a complete revamp of the Open MPI process affinity system, and provided only a few details as to what we actually did.

I did link to a SVN commit message, but I’ll wager that few readers — if anyone — actually read it.  :-)

Much of what is in the Open MPI v1.6.x series is the same as what Ralph Castain described in a prior blog post.  I’ll describe below what we changed for the v1.7 series.

Read More »

Tags: , , , ,

Taking MPI Process Affinity to the Next Level

August 31, 2012 at 1:33 pm PST

Process affinity is a hot topic.  With commodity servers getting more and more complex internally (think: NUMA and NUNA), placing and binding individual MPI processes to specific processor, cache, and memory resources is becoming quite important in terms of delivered application performance.

MPI implementations have long offered options for laying out MPI processes across the resources allocated for the job.  Such options typically included round-robin schemes by core or by server node.  Additionally,  MPI processes can be bound to individual processor cores (and even sockets).

Today caps a long-standing effort between Josh Hursey, Terry Dontje, Ralph Castain, and myself (all developers in the Open MPI community) to revamp the processor affinity system in Open MPI.

The first implementation of the Location Aware Mapping Algorithm (LAMA) for process mapping, binding, and ordering has been committed to the Open MPI SVN trunk.  LAMA provides a whole new level of processor affinity control to the end user.

Read More »

Tags: , , , , , ,