I’m beginning to suspect my computer does more good for the world the less I use it. During the day, I pound away at my keyboard—writing prose, sending e-mail, surfing through my usual routine of Web sites. But at night, as I sleep soundly in the other room, my computer works steadily in the darkness, trying to find a cure for smallpox.
Illustration by Leo Espinosa
My PC is moonlighting in what technologists call a distributed-computing project. Historically, when researchers confronted a problem that required huge amounts of processing power to solve, they purchased the fastest computer they could afford and set it off in search of a solution. If they had cash to burn, they’d buy an array of supercomputers and instruct them to work in tandem on the problem. But a little more than a decade ago, computer scientists began exploring a more tantalizing scenario: A million ordinary PCs collaborating on a problem can outthink even the most expensive supercomputer.
Of course, buying and housing a million ordinary PCs is prohibitively expensive. The idea of distributed computing is to borrow processing power at no cost. Even the busiest home or office computer usually spends several hours a day doing nothing, and most everyday digital tasks—sending e-mail or surfing the Web—only tap a fraction of the processing power of today’s machines. Almost every second of every day home computers are wasting processing cycles that could be crucial to solving someone else’s problem. Thanks to distributed computing, those cycles need not go to waste anymore. As with your old winter jacket or unused furniture, you can now donate your computer’s spare time to a worthy cause.
For a distributed-computing project to work, you first need a problem that can be broken up into many computational pieces, each of which can be dispatched to a separate machine for processing in parallel. The most widely celebrated use of the technology is the SETI@home project, which analyzes radio signals from the Arecibo telescope in search of signs of extraterrestrial life. In the SETI project, each participating computer downloads data recorded from a small patch of the sky and analyzes it for unusual patterns that might distinguish intelligent life from the normal background noise of the universe.
If your pet causes are more down-to-earth, however, you need not donate your spare cycles to the search for aliens. Since the launch of SETI@home, various other computing projects have emerged, ranging from the search for molecular keys to pick the locks of deadly diseases to collaborative art projects that digitally mimic the process of natural selection.
Signing up for a distributed-computing project is simple. You download a small application, which looks superficially like a run-of-the-mill screen saver. Then you instruct the program how long to wait after you’ve stopped working before the screen saver launches and triggers a request to a central computer for something to work on. Depending on the speed of your computer and how much time it spends moonlighting, the micropuzzle might take minutes or weeks to solve. From the central computer’s point of view, this variability isn’t a problem; during that time, thousands or millions of other machines will be working on related micropuzzles.
As long as you’ve installed the program correctly, by nightfall you’ll be saving more than just your screen. Without lifting a finger, you may actually be helping to save the world. The smallpox research project that my computer participates in is hosted by a for-profit company named United Devices that sells its grid-computing expertise to businesses. But the company also runs a number of charitable projects in collaboration with universities and government agencies at a site called grid.org. So far 2.5 million computers have been enlisted for an omnibus effort to discover promising drug formulations for the treatment of cancer, anthrax, and smallpox.
Ed Hubbard, the president and founder of United Devices, says the smallpox research has been the most fruitful to date. “Imagine a square hole. That’s the surface site on the smallpox virus that we’d like to dock a small molecule into,” Hubbard explains. “Because if you do, you’ll stop it from reproducing. That’d be a great oral drug, because right now the only cure for smallpox is surviving it, unless you catch it in the incubation period when there are no symptoms.” The problem with docking that molecule is the number of interactions that go into making a perfect fit. Each compound being studied has a complex three-dimensional structure that interacts in unique ways with the target protein in the smallpox virus. “At a minimum we’re screening about 350 million interactions,” Hubbard says. “So it’s a huge number.”
With 2.5 million computers tackling various aspects of the problem in their sleep, huge numbers have a way of shrinking. Thus far, the smallpox grid has generated “44 really interesting leads—small molecules that could potentially be turned into a drug,” says Hubbard. The project’s partners are now setting out to synthesize these molecules and test their efficacy in the real world.
Distributed computing also has an aesthetic side. Consider the Electric Sheep project, dreamed up by San Francisco artist and programmer Scott Draves. The program has a “hall of mirrors” quality to it. It’s a screen saver that generates new screen savers: incandescent fractal animations that twirl on the computer screen with a pulsing intensity. Draves wrote the original code for the graphics, which he called a fractal flame algorithm, more than a decade ago. It was capable of generating mesmerizing animations, but there was a catch. He needed a farm of high-end computers and a few months to do the rendering just to generate a single 10-second sequence.
Draves’s software code was eventually incorporated into a popular video-editing program called After Effects. One day in 1999 he received in the mail a videotape that showcased a series of fractal flames that someone had rendered on top-of-the-line machines. “I was really impressed with it,” Draves says. “It was beautiful. One night, I was watching it with my friend, and I thought, ‘Wow, I wish I could do this on my own, but I only have this stinky little PC.’ It would take months to render it, let alone design it. SETI@home had just been announced, and the distributed-computing idea was in the air. So I thought, ‘Let’s apply that idea to rendering fractal flames.’”
Draves added a Darwinian twist. Not only would individuals contribute the unused processing cycles of their personal computers to rendering the animations, they’d also vote on the aesthetic merits of individual animations. Draves called these animations sheep in homage to the classic Philip K. Dick novel Do Androids Dream of Electric Sheep? which became the basis for the movie Blade Runner. Sheep that receive a disproportionate number of positive votes pass on some of their visual characteristics to the next generation of sheep, while unpopular sequences have their traits die off. The result is a dual positive-feedback loop. As more would-be artists participate in the project, the rendering time decreases and the animations become increasingly visually pleasing.
The difference between the first-generation sheep and the latest incarnations is a vivid lesson in the power of evolution. The initial runs look like snowflakes or crystals: elegant but frozen in their architecture. The latest runs look like an intoxicating blend of coral reef and fireworks display. They look alive.
Draves even sells high-resolution DVDs of his most accomplished sheep. In a strange way, you can think of what he does as the digital-age equivalent of farming: He takes a precious unused resource (sunlight, processor cycles), collaborates with a group of willing partners (plants growing fruit, computer users voting on attractive sheep), and persuades people to pay for the goods that he harvests.
Spend some time with those electric sheep and smallpox molecules and you get a fascinating glimpse of the future of charity. In years to come, we’ll still send our checks off to the Nature Conservancy and the Salvation Army, but our most important contributions may come in the form of our unused processor cycles.
Think of all the good your computer will be able to do while you kick back and relax. Supporting experimental art or medical research is just the beginning. Eventually you’ll have a broader palette of causes to choose from, such as projects analyzing the effects of global warming or modeling solutions for the problem of third-world debt. The sci-fi shelves are amply stocked with books about machines ganging up to destroy humanity. But an alternative future is emerging in which computers join together to keep the humans alive. Of course, if a distributed-computing network stumbles across the cure for cancer, the question will inevitably arise: Can you split a Nobel Prize 2.5 million ways?
The grid.org distributed-computing network delivers more than 100 teraflops of processing power, making it more than twice as powerful as the world’s fastest supercomputer, Japan’s $380 million Earth Simulator.