Cisco Blogs

Cisco Blog > High Performance Computing Networking

Process-to-process copy in Linux

More exciting news on the Linux kernel front (thanks for the heads-up, Brice!): our friends at Big Blue have contributed a patch and started good conversation on the LKML mailing list about process-to-process copying.  We still don’t have a good solution for being notified when registered memory is freed (my last post on this topic mentioned that the ummunotify patch had hit the -mm tree, but that eventually didn’t make it up to Linus’ tree), but hey — this is progress, too (albeit in a slightly different direction), so I’ll take it!

“Why do I care?” you say.

I’m glad you asked.  Let me explain…

Read More »

It’s all about the Fortran

I was reminded recently how much of today’s MPI applications are written in Fortran.  This is why we’re spending sooo much time on Fortran in the MPI-3 process (97 printed pages of Fortran material for the upcoming Stuttgart MPI Forum meeting — yowzers!).

Yes, Fortran.

(yes, I know this isn’t directly about high performance networking — but it is worth remembering that a huge number of people people use high performance networking via Fortran)

Before you laugh, remember that computer scientists/engineers don’t write the majority of the real-world codes that run on lots of today’s parallel computational resources.  Real scientists and engineers do.

Er, I mean: rocket scientists, chemists, physicists — these are the types of people who have enormous computational problems that require HPC environments to solve.  These are the people writing the codes that solve the “nature of the universe” kinds of problems.  And they write in Fortran.

Read More »

An app for that

Doug Eadline wrote a cluster rant recently entitled “A Cluster in your Pocket“, talking about the possibility of “What if your cell phone could bring you real time results from a supercomputer?”

We’ve actually idly chatted about such things in the Open MPI community for a while.  It would be tremendously fun to write an iPhone/Android app that could talk to an MPI implementation and/or application.  Perhaps a good starting point would be to have the MPI implementation talk to an iPhone/Android phone.


Read More »

Hot Interconnects conference roundup

Hot Interconnects sign on a Google bikeAs I mentioned in a few prior posts, I attended the Hot Interconnects conference last week, which happened to be hosted at the Googleplex.

Beautiful weather, interesting talks, and lively discussion are three good phrases to describe the conference. 

It’s always good to run into the same people you tend to see at these conferences and catch up on their latest work.  But it’s equally fun to talk to new people whom you’ve never met before.  Get a new perspective, hear a different way of looking at something, or even just listen to the youthful exuberance of the next generation of network researchers.

It’s all good stuff!

Read More »

Sockets vs. MPI

I briefly mentioned in a prior blog entry that I’m on a panel at the Hot Interconnects conference this Wednesday evening entitled, “Stuck with Sockets: Why is the network programming interface still from the 1980s?“.

The topic is an interesting one: sockets are, by far, the dominant user-level networking abstraction.  Countless millions (billions?) of lines of code exist that use various forms and features of the BSD sockets API (there are other sockets APIs, but let’s limit the discussion here to just the BSD API for the sake of brevity).  But networking hardware (and software!) has advanced significantly since the sockets API was introduced.  Several attempts have been made to advance the state of the art of the sockets API — to include replacing it with something else — but none have succeeded.  Why?  Is the inertia of existing sockets code too resistant to any change?

Read More »