What is Distributed Computing?
While the combined processing power of the world’s computers is absolutely enormous, the vast majority of these computers never utilize all of their computational potential. Modern personal computers only use a small portion of their processing power when the user is running basic office programs or browsing the internet. The rest of this potential power remains unused and under ordinary circumstances goes to waste.
There are also a large number of individuals or groups in the fields of science, mathematics, and cryptography 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 to be able to make such a purchase. There are other 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 and other sciences and, if solved, could benefit humanity in general. Distributed computing’s goal is to allow the unused computing powers of average individuals’ personal computers to help support various researchers’ worthy causes.
There are several steps that distributed computing projects use in order to bring such an occurrence to completion. The large computing tasks are first broken into much smaller tasks that can be processed individually. These smaller components of the program are then sent over the internet to computers that generally have already installed client software in order to automate such a process. These smaller units of the computational problem are then processed discretely, utilizing only the unused computing cycles of the host’s computer so that the individual using the computer is not affected by this operation. When the computation unit is completely processed, the unit is then uploaded to a central server where all the data is stored. These 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 then sorts and arranges the data received in such a way that the data points combine in order to effectively function as if the entire problem was processed in one extremely powerful computer. The whole process turns an individual’s computer into effectively 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 running one of these distributed computing projects, such as The Distributed Folding Project, you can play an important role in solving one of these computational problems.
Written by Aegion.
