The original idea was brilliant in its simplicity: why not harness the unused capacity of personal computers for some productive purpose? In a time when scientists often struggled – and were sometimes unable – to find sufficient computer time for their computationally intensive research, it seemed like a logical idea. Untold amounts of computing power lay dormant in millions of homes and offices around the world, ready to be used, if only one knew how to reach them. But until five years ago, no one did. Then came SETI@home. Launched in 1999, it quickly became a huge international success. Within a few months, millions of personal computers that had been launching flying toasters across dark screens in their spare time, were displaying the famous dynamic power-bar graphics of SETI@home. Not only did SETI@home users make possible the most sensitive search for extraterrestrial intelligence ever conducted, they also demonstrated the power and potential of distributed computing.
SETI@home became – by far – the largest and most powerful supercomputer ever assembled, accomplishing within months calculations that would normally take years or even decades. Scientists in other fields were quick to take note, and look for ways to make use of the enormous potential of distributed computing in their own research. The first to follow SETI@home’s lead were scientists working on specific research programs, who set up distributed computing programs tailored specifically for the project at hand. The most famous of these was folding@home, a Stanford University-based project investigating patterns of protein folding, which published its first scientific results in October of 2002.
The problem with such projects was that it was extremely difficult for research teams to set them up. Setting up a distributed computing program is a challenge even for professional computer scientists, and for scientists in other fields it is a truly daunting task. Reaching enough users who will run the program on their computers can be even harder. Most research programs that could potentially benefit from the approach wouldn’t even attempt to use their limited resources on such a venture. To address this problem, a new generation of distributed computing programs is now coming on-line.
BOINC – the Berkeley Open Infrastructure for Network Computing – provides a platform that any project can use. Scientists in any field can now sign up for BOINC and with only minor modifications immediately become part of an established and successful program of distributed computing. Not only are they freed of the need to set up this complex system themselves, they also gain access to the millions of users who are already processing data for other BOINC projects. Users who participate in BOINC can choose which projects they wish to run on their computers and how much processing time they devote to each.
Launched earlier this year by the same team that created SETI@home, BOINC has gotten off to a fast start. It already has five projects signed up, researching topics ranging from climate prediction to gravity waves and protein folding. Anchoring the BOINC family is the tried and true SETI@home, which is currently moving from its “classic” format to the new BOINC platform, bringing with it millions of devoted users.
BOINC now has company: Earlier this month IBM launched its own “World Community Grid,” which like BOINC is intended to provide and easy-to-use distributed computing platform for scientific projects. IBM’s “Grid” is powered by software developed by United Devices for their own distributed computing platform (www.grid.org), which focuses on research in the biological and medical sciences. As of now the World Community Grid has only one project – the Human Proteome Folding Project, conducted by the Institute for Systems Biology to help predict the shape of human proteins. But with IBM’s power and reach behind it, the Grid has the potential to expand quickly.
While both projects are intended to help researchers launch distributed computing projects, BOINC and the World Community Grid differ in some important ways. BOINC is an open source program, which means anyone can access its programming code and adapt it to their specific needs. The Grid code, on the other hand, is only accessible to IBM programmers and engineers. BOINC, furthermore, is not centrally controlled, and there is no one deciding which projects will or will not be included. In principle, any interested researcher can launch his or her own BOINC project. The Grid, by contrast, is controlled by IBM, which decides which projects to accept into its family and which to reject.
While the two programs differ in their approach, they share a common goal: to expand the reach of distributed computing, and make use of the untapped resources of personal computers in scientific research. As SETI@home has demonstrated, untold millions around the world are ready and eager to donate their computer time for the advancement of knowledge and the benefit of humankind. The story of distributed computing is only just beginning.