Cisco Blogs


Cisco Blog > High Performance Computing Networking

MCAPI and MPI: take two

December 15, 2011 at 7:17 pm PST

My last blog post and MCAPI and MPI is worth some further explanation…

There were a number of good questions raised (both publicly in comments, and privately to me via email).

I ended up chatting with some MCAPI people from PolyCore Software: Sven Brehmer and Ted Gribb.  We had a very interesting discussion which I won’t try to replicate here.  Instead, we ended up recording an RCE-Cast today about MCAPI and MPI.  It’ll be released in a few weeks (Brock already had one teed up to be released this weekend).

The main idea is that Sven and Ted were not trying to say that MCAPI is faster/better than MPI.

MCAPI is squarely aimed at a different market than MPI — the embedded market.  Think: accelerators, DSPs, FPGAs, etc.  And although MCAPI can be used for larger things (e.g., multiple x86-type servers on a network), there’s already well-established high-quality tools for that (e.g., MPI).

So perhaps it might be interesting to explore the realm of MPI + MCAPI in some fashion.

There’s a bunch of different forms that (MPI + MCAPI) could take — which one(s) would be useful?  I cited a few forms in my prior blog post; we talked about a few more on the podcast.

But it’s hard to say without someone committing to doing some research, or a customer saying “I want this.”  Talk is cheap — execution requires resources.

Would this be something that you, gentle reader, would be interested in?  If so, let me know in the comments or drop me an email.

Tags: , , ,

MCAPI and MPI

December 9, 2011 at 11:15 am PST

From @softtalkblog, I was recently directed to an article about the Multicore Communication API (MCAPI) and MPI.  Interesting stuff.

The main sentiments expressed in the article seem quite reasonable:

  1. MCAPI plays better in the embedded space than MPI (that’s what MCAPI was designed for, after all).  Simply put: MPI is too feature-rich (read: big) for embedded environments, reflecting the different design goals of MCAPI vs. MPI.
  2. MCAPI + MPI might be a useful combination.  The article cites a few examples of using MCAPI to wrap MPI messages.  Indeed, I agree that MCAPI seems like it may be a useful transport in some environments.

One thing that puzzled me about the article, however, is that it states that MPI is terrible at moving messages around within a single server.

Huh.  That’s news to me…

Read More »

Tags: , , ,

Many Pairs of Eyes

December 1, 2011 at 7:00 am PST

Let me tell you a reason why open source and open communities are great: information sharing.

Let me explain…

I am Cisco’s representative to the Open MPI project, a middleware implementation of the Message Passing Interface (MPI) standard that facilitates big number crunching and parallel programming.  It’s a fairly large, complex code base: Ohloh says that there are 0ver 674,000 lines of code.  Open MPI is portable to a wide variety of platforms and network types.

However, supporting all the things that MPI is suppose to support and providing the same experience on every platform and network can be quite challenging.  For example, a user posted a problem to our mailing list the other day about a specific feature not working properly on OS X.

Read More »

Tags: , , , ,

SC’11 Roundup

November 18, 2011 at 3:53 pm PST

As usual, I’m exhausted — in a good way — at the end of an SC week.  Whew!

Thanks to all who came to see my demo (showing 5.17us NetPIPE MPI latency over Ethernet via Linux VFIO and Cisco’s “Palo” NIC — no, that’s not iWARP and it’s not IBoIP a.k.a. RoCE — see my prior post for a little more info), and thanks to all who came to the Open MPI BOF.  I counted about 100 people at the BOF.  The BOF slides are available, if you missed the actual event.

Brock and I did a [probably incredibly embarrassing] short video spot with Rich Brueckner at the end of the show (another in the RCE-Cast <--> InsightHPC crossover series).  The convention announcer guy was literally saying “The show is over; please leave” over the PA while we were recording.  Whenever Rich gets to posting the video, I think you’ll see why I usually stick to writing.  :-)

Read More »

Tags: ,

SC’11 Cisco booth demo: Open MPI over Linux VFIO

November 14, 2011 at 5:06 pm PST

Linux VFIO (Virtual Function IO) is an emerging technology that allows direct access to PCI devices from userspace.  Although primarily designed as a hypervisor-bypass technology for virtualization uses, it can also be used in an HPC context.

Think of it this way: hypervisor bypass is somewhat similar to operating system (OS) bypass.  And OS bypass is a characteristic sought in many HPC low-latency networks these days.

Drop by the Cisco SC’11 booth (#1317) where we’ll be showing a technology preview demo of Open MPI utilizing Linux VFIO over the Cisco “Palo” family of first-generation hardware virtualized NICs (specifically, the P81E PCI form factor).  VIFO + hardware virtualized NICs allow benefits such as:

  • Low HRT ping-pong latencies over Ethernet via direct access to L2 from userspace (4.88us)
  • Hardware steerage of inbound and outbound traffic to individual MPI processes

Let’s dive into these technologies a bit and explain how they benefit MPI.

Read More »

Tags: , , ,