Due to a bug in Wordpress, my Cisco blog entry did not get published properly on April 1, 2014 (I was on vacation/disconnected last week; it was supposed to auto-publish in my absence). :-(
Here's what it was supposed to be...
Cisco is proud to bring another project from its “skunkworks” department to the foreground: the MPI over Everything Project (MPIoE).
In short: the goal of MPIoE is to proliferate the use of Message Passing Interface (MPI) in the Internet of Everything (IoE).
The MPI API has been undeniably successful in the parallel processing and High Performance Computing (HPC) markets. MPI's success is rooted in the fact that it abstracts the underlying network away from the application programmer: scientists and engineers who aren't necessarily networking specialists can write extremely complex parallel applications, and rely on MPI to handle all the underlying "network stuff."
Network agnosticism will also be key for the IoE: application developers want to concentrate on their application, their algorithms, and their devices. They do not want to have to focus on mundane networking details.
In this light, Cisco has developed an MPIoE implementation (based on Open MPI) that provides a subset of the MPI API over several IoE-class networks:
- Bluetooth (including Bluetooth Smart, a.k.a. Bluetooth Low Energy)
- 802.11ah low power Wifi
Java and C MPI bindings are available, specifically targeted at embedded app development environments.
Currently supported MPI API functions are centered around portions of both point-to-point and Remote Memory Access (RMA) "one-sided" functionality. Other portions of the MPI API, such as parallel I/O and collective operations, are not applicable to embedded device environments.
One key innovative technology developed as part of the MPIoE effort is the Far Reaching Internet Datagram Efficiency (FRIDGE) framing protocol. The FRIDGE protocol is used in all of the above transport types, enabling interoperability between different network types.
For example, an app on a Bluetooth device can use MPI to communicate with an app running on Zigbee hardware. This cross-networking capability will enable communication between diverse and newly-emerging IoE-class technologies.
- Detect when you pick up your phone in the morning (via the phone's accelerometer) and send a message to have the coffee pot start brewing. This allows the coffee to be ready when you wake up -- not necessarily at a specific time.
- Health tracking devices can be used for presence notifications, and can interact with home automation: enable/disable security systems, turn on/off lights, lock/unlock doors, etc.
- Washing machines, dryers, and dishwashers can blink lights and/or alert wearable devices upon cycle completion.
The list is endless.
We're truly excited to see what innovations developers create.