Historically there have been two basic ways to bring greater computer power to bear on a task. One is to build more powerful single computers (see supercomputer). The other is to link one or more computers or processors together and tightly coordinate them to process the data (see grid com-puting). Both of these approaches require great expertise and considerable expense.
However, there is another quite interesting ad hoc approach to cooperative processing that first appeared with the SETI@Home project launched in 1999. The basic idea is to take advantage of the fact that millions of computer users are already connected via the Internet. The typical PC has many processing cycles to spare—idle time when the user is doing nothing and the operating system is doing very little.
A program like SETI@Home is designed to be down-loaded to volunteer users. The program can run only when no other applications are being used (one way to ensure this is to make the program a screen saver), or it can run continuously but only use cycles not being requested by another program.
The data to be analyzed (signals from space in this case) is broken up into chunks or “work units” that are parceled out to the volunteers. When a given unit has been analyzed by the program on the user’s machine, the results are sent back to the central server and a new work unit is sent.
Although no evidence of extraterrestrial intelligence had been found as of mid-2008, SETI@Home’s more than 5 million participants have contributed more than 2 million years of CPU time, and can process at the collective rate of 256 TeraFLOPS (trillion floating point operations per sec-ond), comparable with the fastest single supercomputers.
There are currently a number of other cooperative dis-tributed computing projects underway. Many of them are part of the Berkeley Open Infrastructure for Network Com-puting (BOINC), which includes SETI@Home, Proteins@ home (protein folding), and the World Community Grid (humanitarian projects).
Ad hoc cooperative processing is not suitable for all types of projects. There must be a way to break the data into batches that can be separately processed. The project is also dependent on the number of volunteers and their degree of commitment.
Cooperative processing can be seen as part of a spec-trum of emerging ways in which the line between produc-ers and consumers of data is being blurred. Other examples include media-sharing services such as Gnutella (see file-sharing and p2p networks). Cooperative programs can also be used to gather information about software use and bugs from thousands of users to allow for faster debugging and optimization.
People can do more than passively share their com-puter’s processors—they can add their own brains to the effort. Some of the most effective spam filters (see spam) use the “collective intelligence” of users by having them identify and mark spam messages, which can then be used by the software as a template for automatically rejecting similar messages. Another interesting applica-tion by the Carnegie Mellon Human Computation pro-gram uses a computer game where a pair of randomly selected volunteers assigns keywords to an image. For the players, the object of the game is to come up with matching keywords, thereby scoring points. However, the real work that is being accomplished is that thousands of previously uncategorized images are receiving appropri-ate keywords to enable them to be retrieved. In effect, the system is taking advantage of an image-recognition device that is far more capable than any computer algo-rithm—the human brain! (One might call this synergistic human–computer processing.)
However, there is another quite interesting ad hoc approach to cooperative processing that first appeared with the SETI@Home project launched in 1999. The basic idea is to take advantage of the fact that millions of computer users are already connected via the Internet. The typical PC has many processing cycles to spare—idle time when the user is doing nothing and the operating system is doing very little.
A program like SETI@Home is designed to be down-loaded to volunteer users. The program can run only when no other applications are being used (one way to ensure this is to make the program a screen saver), or it can run continuously but only use cycles not being requested by another program.
The data to be analyzed (signals from space in this case) is broken up into chunks or “work units” that are parceled out to the volunteers. When a given unit has been analyzed by the program on the user’s machine, the results are sent back to the central server and a new work unit is sent.
Although no evidence of extraterrestrial intelligence had been found as of mid-2008, SETI@Home’s more than 5 million participants have contributed more than 2 million years of CPU time, and can process at the collective rate of 256 TeraFLOPS (trillion floating point operations per sec-ond), comparable with the fastest single supercomputers.
There are currently a number of other cooperative dis-tributed computing projects underway. Many of them are part of the Berkeley Open Infrastructure for Network Com-puting (BOINC), which includes SETI@Home, Proteins@ home (protein folding), and the World Community Grid (humanitarian projects).
Ad hoc cooperative processing is not suitable for all types of projects. There must be a way to break the data into batches that can be separately processed. The project is also dependent on the number of volunteers and their degree of commitment.
Cooperative processing can be seen as part of a spec-trum of emerging ways in which the line between produc-ers and consumers of data is being blurred. Other examples include media-sharing services such as Gnutella (see file-sharing and p2p networks). Cooperative programs can also be used to gather information about software use and bugs from thousands of users to allow for faster debugging and optimization.
People can do more than passively share their com-puter’s processors—they can add their own brains to the effort. Some of the most effective spam filters (see spam) use the “collective intelligence” of users by having them identify and mark spam messages, which can then be used by the software as a template for automatically rejecting similar messages. Another interesting applica-tion by the Carnegie Mellon Human Computation pro-gram uses a computer game where a pair of randomly selected volunteers assigns keywords to an image. For the players, the object of the game is to come up with matching keywords, thereby scoring points. However, the real work that is being accomplished is that thousands of previously uncategorized images are receiving appropri-ate keywords to enable them to be retrieved. In effect, the system is taking advantage of an image-recognition device that is far more capable than any computer algo-rithm—the human brain! (One might call this synergistic human–computer processing.)
No comments:
Post a Comment