Many Hands Make Light Work

By Miles Evanston 1-29-2007
During the latter half of the twentieth century, the computer has gone from a tool used almost exclusively by the scientific community to one implemented in scores of ways in our day to day lives. Today, the world of research makes use of computers more than ever before and still provides the greatest challenges to their capabilities. This is despite the enormous growth in performance that computers have undergone in recent decades. Over the years, the new approaches adopted by scientists to computerized research and the complexity of the problems undertaken have both continued to take even specially built ‘super’ computers to task.

At the same time the ‘personal’ computer has become an everyday device in homes and businesses around the globe. These systems too have become increasingly more powerful. So much so that it is rather uncommon for a personal computer’s Central Processing Unit, the primary device used to make calculations in a system, to operate at one hundred percent of its ability. Most of the demands that we, as private users, make on our systems are really rather nominal compared to those made in the scientific arena.

In addition, with the development of various communication technologies, our personal computers are more and more frequently interconnected in order that they might share information with other systems. In fact, those systems in homes or businesses equipped with a broadband connection to the internet are in a state of nearly constant interchange with other computer systems and are able to transmit very large amounts data between each other with relative ease.

It was with these two situations in mind that the idea of distributed computing was born. An idea that is both simple in form and powerful in its results. This article is not meant to be a work detailing the history behind the idea and its evolution but rather a technical piece regarding the current state of the idea, how it is put into practice in the modern world and what the end user (You.) should know before deciding if becoming involved is the right decision for them.

As such, I will describe the process that is distributed computing in only basic terms. Imagine for a moment that you were working on a jigsaw puzzle. You may indeed be able to complete the puzzle alone though it will take some time. However, if you had three friends assisting you with your puzzle, one of you working on each corner of the whole, you could complete it in a much shorter period. This is a simple analogy for the way that distributed computing works. A large mass of data is broken into smaller sections and each section is assigned to a different system to sort through. In this way the data can be processed much faster than would be possible using a single system to do the work.

The puzzle analogy also describes well the manner in which the data is dealt with. Our puzzle is an amusement we enjoy while we are idle and the other demands of life are not drawing us away from it. Modern distributed computing programs only process the data given to them during moments when the CPU of a system is not performing some other job requested by its user. It is in this way that a personal computer can assist with a larger scale project without exhibiting any noticeable loss in performance.
If we take into account only a small fraction of the number of personal computer systems operating today and combine it with the ability to transfer data readily and process that data unobtrusively we can realize a network with computational capability beyond the reach of any one ‘super’ computer by a factor of thousands to one. Even now, distributed computing programs are being used for projects as humanitarian as protein folding research in the medical sciences field to as futuristic as the search for extraterrestrial intelligence.

Now that you, the reader, have a firm grasp of what distributed computing is and what it can be used for, you may be interested in becoming a part of the process. But before you make the leap into joining such a program, let’s take a moment to discuss the issues you should be aware of.

The first and foremost of these is choosing a project to become involved in. Be certain that the organization you are signing on with and the work you are assisting with are legitimate. The computational power created by a distributed computing network is considerable and could be used by an unsavory organization to generate a profit by leasing the use of that network to private interests without your knowledge. This is evidenced by the number of virus/spyware infections that have been seen of late whose soul purpose is to ‘hijack’ the host system in order to make use of its resources to perform a larger task.

Once you find a group you may be interested in joining, do a little research about them before you take the plunge. The web site http://distributedcomputing.info/ would be good place to start.

Secondly, for those users who habitually leave their systems powered up twenty-four hours a day or may choose to do so to further the work done for their chosen project, keep in mind the physical wear and tear that can result. The few constantly moving parts in a personal computer, namely the cooling system and hard drive, are critical components to its operation. Additionally, the air flow created by the cooling system can deposit dust and other debris inside the chassis over time, building up static electricity and possible discharge to sensitive components. A failed cooling system can lead to damage to the CPU, motherboard or other devices and prove to be a costly repair. Worse yet, a failed hard drive can result in the loss of important and possibly irreplaceable user data. Regular maintenance check-ups of your personal computer by a qualified technician can often detect immanent hardware failure before it happens and act as the proverbial ‘ounce of prevention’ via procedures such as internal cleaning. Also be certain that any important data has been properly backed up. (Editors Note: properly backing up your system is critical, if you have not developed a good backup procedure, please contact us, or another professional, for help to get one started.)

Lastly, and especially for those users with high-speed always-on internet connections whose systems are constantly in operation, remember that your risk of a security breach is dramatically increased. Be sure that your operating system, antivirus software and anti-spy measures are up to date and properly configured to defend you. Again, regular maintenance check-ups of your personal computer by a qualified technician can assure that you are properly protected from unwanted intruders.

With a little more knowledge than you had a few minutes ago you should be well prepared for a foray into the distributed computing realm, should you chose to make one. And with some attention to the above noted issues you can do so with peace of mind for your own work and the work you may be helping with.