What is distributed computing
Distributed computing (DC) is a branch of computational science that tries to solve large problems by giving small parts of the problem to many computers to solve and then combining the solutions for the parts into a solution for the complete problem.
The unused processor-power
The combined processing power of all the computers in the world is astonishing. The vast majority of these computers never utilize anything but a small fraction of their computational power. The rest of the processing power remains unused and under ordinary circumstances goes to waste as so-called idle cycles.
Surfing the Web, checking e-mail, using Word and Excel does not exert much pressure on a modern processor that can operate at many hundreds of million instructions per second. Most of the time, the processor sits idle, waiting for something to do. It doesn't actually do anything, but performs a special operation that - well does nothing. This cycle is called an idle cycle.
There are a number of individuals or groups in the fields of science, mathematics, cryptography, and other fields who require massive amounts of computing power in order to solve certain problems. In many instances, the cost of the high-end computers that would be required in order to solve these problems is far too high for these researchers, or for very rich companies or even governments. There are instances where the total required computing power to solve a problem is so high that it is not realistically obtainable at all. Many of these problems have important implications for fields such as medicine, mathematics and other scientific areas of exploration and could benefit humanity in general if solved.
Distributed computing projects have been designed to use the computers of hundreds of thousands of volunteers all over the world, via the Internet, to look for extra-terrestrial radio signals, to look for Mersenne primes so large that they have more than ten million digits, to find more effective drugs to fight the AIDS virus and many other things. These projects are so large, and require so much computing power to solve, that they would be impossible for any one person, computer or even a large corporation to solve in a lifetime.
This is where distributed computing comes into the picture. Using the unused computing power of a large number of computers some of these problems can actually be solved within a reasonable amount of time. Distributed computing is a branch of computer science that deals with ways one can solve these large computational problems.
How it works
Large computing tasks are first broken into much smaller tasks (often called work units or WUs), which are then sent over the Internet to lots of smaller computers for processing. These smaller work units are then processed utilizing only the unused computing cycles or idle cycles.
When a computation unit is completely processed, the result is then uploaded to a central server which has the responsibility of storing the results and doing any post-processing if necessary.
The computational units are designed so that the amount of data that needs to be downloaded and uploaded is kept small in order to avoid overburdening the user's Internet capabilities.
The central server sorts and arranges the data received in such a way that the processed data points combine in order to effectively function as if all the entire problem was processed in one extremely powerful computer.
The whole process turns an individual's computer effectively into a small part of a giant supercomputer whose different parts are connected through the Internet. This technique allows researchers inexpensive access to massive computing power that would not otherwise be obtainable. By joining one of these distributed computing projects, you can play an important role in solving one of these computational problems.
Also, some projects offer prizes or the opportunity to get a footnote in history.