A View from Christopher Mims
Building a Cloud out of Smart Phones
Google’s MapReduce algorithm turns a bunch of cell phones into a self-contained cloud computing environment.
Turning an entire paradigm on its head, an international group of researchers has figured out how to implement cloud computing’s most widely-used algorithm, one that’s usually deployed in giant, hugely-powerful server farms, on a couple of dozen cell phones.
The entire point of cloud computing is that offloading processor-intensive tasks from a local client - a PC or a cell phone - gives our puny local computing resources the ability to leverage hundreds of remote servers tucked away in an anonymous data center to, for example, return search results scoured from every site on the internet in something less than a half a second.
So it might seem strange that so much effort would be devoted to creating Misco, a version of MapReduce that can be handled by a “server farm” comprised of 20-odd Nokia N95 smartphones. (MapReduce was invented by Google but is now used by Yahoo, IBM, Amazon, Facebook and even has an open-source implementation called Hadoop - in a nutshell, it’s what makes the blinding speed of the response time to your web browser’s requests possible.)
The point of this exercise is to create a system that allows the MapReduce magic of distributed processing of large amounts of data to happen closer to the data itself. By eliminating the need to first transmit the data over a relatively slow wireless network, it can, in some situations, be processed even faster than if it were first uploaded, in total, to a remote server. This, despite the fact that the remote server would be much faster than the processor on any one phone.
One of the challenges of implementing MapReduce on cell phones is that in a regular server farm, the failure rate is pretty low, and the latency of a signal transmitted between any one server (node) and another is also relatively low. Not so on cell phones. This means that, among other things, as the failure rate of any one “node” in the system increases (i.e., the phone is out of range, out of commission, etc.) the speed of the Misco processing network degrades exponentially.
Even so, Misco is a pretty neat hack. A hack in search of applications, granted, but this, the researchers claim, is only the beginning.