Mobicomp 2014: Roaming Computation Tribes?
By Howard Rheingold, Wed Mar 24 00:15:00 GMT 2004
Ten years from now, when billions of people carry devices more powerful than today's desktop computers, linked at speeds faster than today's broadband, will ad hoc nations of co-computerists band together to sell their computing cycles on a second-by-second, block-by-block basis - or give their aggregated computations to worthy causes? What if they don't just share computing power? What if they share perceptions, observations, thinking?
Although the practice of linking computers remotely through high-speed Internet connections goes back a few years, the real power of distributed computation was demonstrated more recently by the SETI@home project. The Search for Extraterrestrial Intelligence Project sucks down radio signals from outer space and applies pattern-matching algorithms to see if anybody in this galaxy or another is trying to say something. The job of searching through that much data is computationally intensive, and US taxpayers don't contribute our hard-earned dollars to look for little green men. However, more than two million volunteers have downloaded a screen-saver that goes to work whenever the volunteers' computers are idle. When a participating processor remains idle for long enough, the resident program wakes up, downloads a chunk of data from SETI@home's server, performs a computation, and sends the result to the mother-chip. Together, the volunteers have amassed something north of 20 teraflops - that's more than twenty trillion operations per second - of computation power.
If searching for intergalactic spam isn't sufficient to motivate you to download someone's software, run unknown programs on your own computer, and send the results to somebody else - an exercise that requires either trust or naivete in regard to security concerns - how would you feel about helping biomedical researchers understand the immune system or cancer cells? One of the keys to these all-too-practical puzzles turns out to be the way proteins fold themselves. Certain shapes unlock other shapes, like locks in keys, and make good or bad things possible. But there are so many possible ways for complex molecules to arrange themselves that "the protein folding problem" was computationally impractical - until volunteers plugged their PCs into "Folding at home."
Check out the directory of distributed computing projects at Aspenleaf, and you'll see FightAIDS@ home, evolution@home, and people confederating their computers to forecast the weather, crack encryption challenges and split the prize-money, optimize medical drug design, discover enormous prime numbers, create art together. Some companies have failed to make a business out of amassing and reselling distributed computing power, and other companies are still in the business. Scientifically and economically, voluntary distributed computation communities are still in their infancy - but they appear to be healthy and growing infants.
Taking distributed computation from the desktop to the pocket will be accelerated by Moore's Law - the 8086 processor that was the heart of the first IBM PC can now be manufactured on a speck one fifth of a millimeter square for less than ten cents.
The barrier to "SETI in your pocket" is power consumption. IBM's Jim Spohrer recently told me "batteries are the least Moore's Law component of the whole scheme." Bill Gates did predict at the recent CeBIT show that future mobile computing devices will generate power from motion (remember the self-winding watch?) And Marc Smith speculated to me that mobile supercomputer collectives might be powered by "MEMS-based microgeneration -- imagine an extremely small mechanical turbine that burns a small amount of butane, a few molecules at a time."
In regard to the kind of software required, there is some sign of progress. SETI@home instigator David Anderson is now working on BOINC (Berkeley Open Infrastructure for Network Computing) that will make it "easy for people to create SETI@home-type projects and make it easy for people to participate in several such projects. The BOINC client software is simple and generic (C++/POSIX) and in principle could run on a mobile device." He cautions that the server software can be far more complex and less portable. "Of more immediate interest are graphics coprocessor chips (GPUs), as are found in PCs and game units. GPUs have evolved much faster than CPUs. nVidia claims that their latest chip does 50 GigaFLOPs, as opposed to ~4 GigaFLOPs for a modern Pentium chip." You don't need a lot of battery power if you can run that many computations in that small an interval. Help cure cancer when you aren't blasting aliens in cybergameland?
To me, the most interesting possibilities combine networked devices with the amazingly low power consumption of human thought. NASA "clickworkers" download photographs of Martian terrain and count and classify the number of craters in a grid. Mindpixel enlists people to "help teach an artificially intelligent computer program to think more like a human by asking it questions." Distributed Proofreaders help proof electronic texts for Project Gutenberg. Combine social networks (you and your friends compete to contribute the most pages proofed or craters counted) with distributed computation techniques, and mobile devices, and you get something more productive to do than checking your email once again or playing a game while you are sitting on a train or waiting in line.
Speaking of trains, perhaps public transportation vehicles might offer reduction in fare to those commuters willing to contribute their CPU cycles enroute. Or think of the enterprises in buildings bordering busy intersections like Times Square or Shibuya Crossing. Could the device-carrying hordes who stream cross those streets contribute computations to render computer graphics or perform other tasks for the companies in adjacent offices? As long as they are able to sell their cycles for more than it costs in battery power, such ephemeral ad-hoc networks might become economically feasible.
Clearly, this exercise stretches the borders of what is possible today. Can any readers come up with scenarios, more or less likely, for the ways that billions of mobile computing devices could contribute their aggregated petaflops to future scientific or commercial efforts?