Cisco Blogs


Cisco Blog > High Performance Computing Networking

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

July 17, 2013 at 5:00 am PST

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.

Read More »

Tags: , , , , ,

Open MPI and the MPI-3 MPI_T interface

July 13, 2013 at 5:00 am PST

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 MPI implementation data:

  1. Control variables: used to control the behavior of an MPI implementation
  2. Performance variables: provide access to internal MPI implementation performance metrics

Read More »

Tags: , , ,

Why MPI is Good for You (part 3)

June 24, 2013 at 1:05 pm PST

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 over an “unreliable” transport: raw Ethernet L2 frames. For latency reasons, it’s using the OpenFabrics verbs operating-system bypass API. These two facts mean that a) userspace is directly talking to the NIC hardware, and b) we don’t have a driver thread running down in the kernel that can service incoming frames regardless of what the MPI application is doing.

Read More »

Tags: , , , , ,

The History and Development of the MPI standard

June 21, 2013 at 10:39 am PST

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 the MPI standard.  They go into detail about how certain design decisions were made, and why.  Amusingly, I’m in a picture on slide 2.  :-)

Read More »

Tags: ,

MPI Quiz

June 6, 2013 at 4:39 pm PST

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);

Read More »

Tags: ,