SETI@Home is a current (as of July 2000) project that illustrates the ideal use for multitasking. It also serves to illustrate how much CPU power is wasted every day, and how the Internet can be harnessed to provide huge amounts of computing power for application to certain tasks.
SETI@home is a scientific experiment begun in early 1999 that harnesses the power of hundreds of thousands of Internet-connected computers in the Search for Extraterrestrial Intelligence (SETI). Anyone with a computer that has access to the Internet can participate by running a program that downloads and analyzes radio telescope data. There is also a small but real possibility that your computer will detect the faint murmur of a civilization beyond Earth for which you could get credit as a co-discoverer.
The SETI@Home project was developed by scientists at the University of California at Berkeley. It is an attempt to locate radio emissions of intelligent beings that might be located on other planets.
The problem is that for two years, beginning in early 1999, they will be receiving data from the radio telescope at Arecibo, Puerto Rico. About 35 GB of data is generated each day. The processing needed to fully analyze this data amounts to over 36,000,000,000,000,000 calculations for the data of a single day. The Berkeley folks simply did not have the required computing power on hand nor the money to purchase it.
They came up with the idea of splitting the data into small packets that they call “work units” and sending them to computers on the Internet. Each computer could analyze one small packet of about 107 seconds worth of data at a time and then send the results back to UCB. Using thousands or even hundreds of thousands of computers at a time to analyze the data would actually create the largest virtual computer ever assembled to perform a single task.
The result of this is the software called SETI@Home. It runs on many different platforms including various flavors of Unix, Linux, OS/2 Warp, BEOS, Windows 95/98/NT, and Mac.
As I write this, there are 802,849 users participating in this project. Many, like me, use multiple computers so as to be able to process multiple work units simultaneously. At this time, over 25,000 years of CPU time has been donated to this project.
How it Works
The SETI@Home software is designed to run in the background, or as a screen saver. On Windows (all versions) systems it runs primarily as a screen saver but it can also run as a background process. On other platforms, including OS/2, it runs as a background process and only takes up those CPU cycles that are not being used by other tasks or processes.
The client software which runs on your computer contacts the server and is sent a work unit. The client software processes the data in the work unit and sends the result back to the server at Berkeley. Processing can take from a few hours to a three or four days per work unit, depending upon the speed of the client computer.
This is an outstanding use of the multitasking capabilities of many computers to achieve a result that would overwhelm a single computer, or for which a more powerful single computer cannot be made available due to resource constraints. By using the multitasking capabilities of operating systems like OS/2, this huge scientific task can be accomplished with little or no impact to the users on whose computers the program is run.
Note that on the Intel platform, the OS/2 Warp systems seem to have one of the best average times to complete each work unit.
For more specific information about the project and how it works, link to the Berkeley SETI@Home web site.