Short message latency and NUMA effects

2 min read

I’ve previously written a bunch about the effects of location, Location, LOCATION! on MPI applications. Here’s another subtle NUMA effect that a well-tuned MPI implementation can hide from you: intelligently distributing traffic between multiple network interfaces. Yeah, yeah, most MPI implementations have had so-called “multi-rail” support for a long time (i.e., using multiple network interfaces […]

How many network links do you have for MPI traffic?

2 min read

If you’re a bargain basement HPC user, you might well scoff at the idea of having more than one network interface for your MPI traffic. “I’ve got (insert your favorite high bandwidth network name here)! That’s plenty to serve all my cores! Why would I need more than that?” I can think of (at least) […]

Ultra low latency Ethernet (UCS “usNIC”): questions and answers

4 min read

I have previously written a few details about our upcoming ultra low latency solution for High Performance Computing (HPC).  Since my last blog post, a few of you sent me emails asking for more technical details about it. So let’s just put it all out there.

Open MPI and the MPI-3 MPI_T interface

3 min read

Open MPI recently revamped its entire run-time parameter system (a.k.a., “MCA parameter system”) as part of its implementation effort for the “MPI_T” interface from MPI-3. The MPI_T interface is a standardized interface designed for MPI tools, but can be used by regular MPI application programs, too. Specifically, MPI_T provides programatic access to two types of […]

Why MPI is Good for You (part 3)

2 min read

I’ve previously posted on “Why MPI is Good for You” (blog tag: why-mpi-is-good-for-you).  The short version is that it hides the typical application programmer from lots and lots of underlying network stuff; stuff that they really, really don’t want to be involved in. Here’s another case study… Cisco’s upcoming ultra-low latency MPI transport is implemented […]

The History and Development of the MPI standard

1 min read

Today’s guest posting comes from Jesper Larsson Träff; he’s Faculty of Informatics, Institute of Information Systems in the Research Group for Parallel Computing at the Vienna University of Technology (TU Wien). Have you ever wondered why MPI is designed the way that it is?  The slides below are from Jesper’s talk about the History and Development of […]

MPI Quiz

1 min read

A fun scenario was proposed in the MPI Forum today.  What do you think this code will do? MPI_Comm comm, save; MPI_Request req; MPI_Init(NULL, NULL); MPI_Comm_dup(MPI_COMM_WORLD, &comm); MPI_Comm_rank(comm, &rank); save = comm; MPI_Isend(smsg, 4194304, MPI_CHAR, rank, 123, comm, &req); MPI_Comm_free(&comm); MPI_Recv(rmsg, 4194304, MPI_CHAR, rank, 123, save, MPI_STATUS_IGNORE);

May 27, 2013


Cisco’s Philosophy on Open Source

1 min read

Last weekend, I was fortunate enough to be able to attend the Midwest Open Source Software Conference (MOSSCon 2013).  I met some fascinating people, listened to some great talks, and learned a bunch of new things. All in all, a win. I also presented a talk on two things: The general open source philosophy at […]

Speaking about Open MPI / FOSS at Midwest Open Source Convention this weekend

1 min read

I’ve been a bit remiss about posting recently; it’s conference-paper-writing season, folks — sorry. But I thought I’d mention that I’ll be speaking at the Midwest Open Source Software Convention (MOSSCon) this weekend. I’ll be talking about my work in Open MPI, Hardware Locality (hwloc), and other open source projects, as well as Cisco’s role […]