- Introduction
Computer technology has revolutionized science. Scientists have developed accurate mathematical models of the physical universe, and computers programmed with these models can approximate reality at many levels of scale: an atomic nucleus, a protein molecule, the Earth’s biosphere, or the entire universe. Using these programs, we can predict the future, validate or disprove theories, and operate “virtual laboratories” that investigate chemical reactions without test tubes.
In general, greater computing power allows a closer approximation of reality. This has spurred the development of computers that are as fast as possible. One way to speed up a computation is to “parallelize” it - to divide it into pieces that can be worked on by separate processors at the same time. Most modern supercomputers work this way, using many processors in one box.
The economic forces that shape technology favor large scale. A company can spend more to develop a CPU chip if it’s going to sell a million of them. So the chips used in home computers (like the Intel Pentium and the Motorola PowerPC) have developed quickly; in fact, they have doubled in speed about every 18 months, a trend known as “Moore’s Law”.
In the 1990s two important things happened. First, because of Moore’s Law, PCs became very fast - as fast as supercomputers only a few years older. Second, the Internet expanded to the consumer market. Suddenly there were millions of fast computers, connected by a network. The idea of using these computers as a parallel supercomputer occurred to many people independently. Two projects of this type emerged in 1997: GIMPS, which searched for large prime numbers, and Distributed.net, which deciphers encrypted messages. These project attracted thousands of participants.
In 1999, a third project, SETI@home, was launched, with the goal of detecting radio signals emitted by intelligent civilizations outside Earth [1]. SETI@home acts as a “screensaver”, running only when the PC is idle, and providing a graphical view of the work being done. SETI@home’s appeal extended beyond hobbyists; it attracted millions of participants from all around the world. It inspired a number of other academic projects, as well as several companies that sought to commercialize the public computing paradigm.
2) The power of public computingPublic computing can provide more computing power than any supercomputer, cluster, or grid, and the disparity will grow over time. SETI@home currently runs on about 1 million computers. This provides a processing rate of 60 TeraFLOPS (trillion floating-point operations per second). In contrast, the largest conventional supercomputer, the IBM ASCI White, provides about 12 TeraFLOPs. SETI@home’s 1 million computers represents a tiny fraction of the approximately 150 million Internet-connected PCs worldwide. The latter number is projected to grow to 1 billion by 2015. Thus public computing has the potential to provide many PetaFLOPs of computing power.
Moore’s Law asserts that the speed of CPU chips doubles about every 18 months. The rate of progress is even faster for “graphics coprocessors”, the chips that handle 3D graphics in PCs and game consoles. Their doubling time is about 8 months, and current graphics chips have a raw floating-point arithmetic speed many times that of their host CPU. These graphics chips are becoming more programmable and flexible, and researchers are actively investigating their use for scientific computing. Because graphics chips are integrated in modern personal computers, this trend favors public computing over other paradigms.
Most computational tasks require storage (disk space) as well as computing. Here also, public resources can provide unprecedented capacity. Today, a typical PC provides about 80 Gigabytes of storage space, which in most cases is more than is used the PC owner. If 100 million computer users were each to provide 10 Gigabytes of storage, the total would be an Exabyte (10 to the 18th power) - greater than the capacity of any centralized storage system.
3) Social aspects of public computingPublic computing is effective only if many people participate. SETI@home has been very successful in this regard; we have attracted 4.6 million participants, of which about 600,000 remain active.
People learned about SETI@home through several mechanisms. The mass media have covered SETI@home, as have Internet news forums like Slashdot [2]. SETI@home’s screensaver graphics are a powerful promotional mechanism: in offices and school, where computers are seen by many people, a computer running SETI@home is a highly visible advertisement.
Who participates in SETI@home, and why? To study this question, we conducted an online poll to which about 130,000 participants have responded. Our web site allows users to create online “profiles” describing themselves; about 50,000 have done so. We created online message boards with many thousands of participants, and we have the anecdotal information of email communication with thousands of users.
Our poll indicates that 92% of SETI@home users are male, and that most of them are motivated primarily by their interest in the underlying science: they want to know if intelligent life exists outside earth. Another major motivational factor is public acknowledgement. SETI@home keeps track of the contribution of each user (i.e. the amount of computation performed) and provides numerous web-site “leader boards” where users are listed in order of their contribution. Users can also form “teams”, which have their own leader boards. The team mechanism turned out to be very effective for recruiting new participants.
Some SETI@home participants attempt to “cheat” - to get credit for computation not actually performed. Even more problematic are users who intentionally return incorrect results, essentially vandalizing the computation. These problems can be addressed by doing computation redundantly, and comparing the results.
SETI@home participants have contributed more than CPU time. Volunteers have translated the SETI@home web site into 30 languages, and have developed many kinds of add-on software and ancillary web sites. We believe that it is important to provide channels for this sort of contribution.
Various “communities” have formed around SETI@home. There is a single worldwide community, which interacts through the SETI@home web site. There are also national or language-specific communities, with their own web sites and message boards. The SETI@home user group in Germany has had conventions for several years. At least three couples have met and married through SETI@home communities.
4) Technical aspects of public computingConducting a public computing project requires adapting an application program to various platforms, implementing server systems and databases, keeping track of user accounts and credit, dealing with redundancy and error conditions, and others tasks too numerous to list here.
We are currently developing software called Berkeley Open Infrastructure for Network Computing (BOINC) that solves or helps solve most of these problems. BOINC makes it fairly easy and cheap to convert an existing application to a public computing project. BOINC projects are autonomous; each one maintains its own servers and databases, and does not depend on others. Participants can register with multiple projects, and can control how their resources are shared (for example, a user might devote 60% of his CPU time to studying global warming, and 40% to SETI).
Sir Ulli