For a number of years I have been thinking that it is a waste to have computers turned on at home with nothing for them to do. Of course, they do work at getting email, virus check, and backup tasks when no one is there. However, for the most part, the CPU cycles are wasted on idle cycles. Even when a computer is being used, the horsepower is rarely fully utilized. It does not take much power to handle writing a blog for example. Most of the time the CPU stays at 0 percent. Unlike most other engines, the difference between being idle and going full throttle is not dramatic.
So, what can the poor CPU do?
There are a number of projects on the Internet that are looking for CPU cycle “donors”. If a user downloads some software and agrees to the conditions, the user can help with a pursuit that requires heaps of computing power. There are projects for helping SETI find alien signals, cracking encryption keys, and even attempts to find gravitational waves. Recently, I was made aware of Folding@Home at Stanford from the Coding Horror blog. It is hard to come away from the Folding@Home web site without thinking that something should be done.
Here’s a clip from the home page:
Our goal: to understand protein folding, misfolding, and related diseases
What is protein folding and how is folding linked to disease? Proteins are biology’s workhorses — its “nanomachines.” Before proteins can carry out these important functions, they assemble themselves, or “fold.” The process of protein folding, while critical and fundamental to virtually all of biology, in many ways remains a mystery.
Moreover, when proteins do not fold correctly (i.e. “misfold”), there can be serious consequences, including many well known diseases, such as Alzheimer’s, Mad Cow (BSE), CJD, ALS, Huntington’s, Parkinson’s disease, and many Cancers and cancer-related syndromes.
You can help by simply running a piece of software. Folding@Home is a distributed computing project — people from through out the world download and run software to band together to make one of the largest supercomputers in the world. Every computer makes the project closer to our goals.
Folding@Home uses novel computational methods coupled to distributed computing, to simulate problems thousands to millions of times more challenging than previously achieved.
This is the kind of cause that makes sense. Finding alien signals, detecting gravity waves, and even cracking cryptos does not seem as valuable as potentially finding the reason for very relevant diseases. All that needs to happen is a user installs a program from Folding@Home and then lets it run when no one is around (usually by setting it as a screen saver). There have already been some points of progress and forty five papers have been written by the team that has created this project. It is being run from Stanford and has been going since 2000. The reason why it appeared recently in the Coding Horror blog was that a PlayStation 3 client has been created and the PlayStation 3 machines are contributing a massive amount of power to the distributed computing platform. It appears that graphic processors are much better suited to folding than the typical general CPU. There is a good summary of Folding@Home at Wikipedia.
Currently the only form of payment is recognition. This can come from being mentioned on the web site in ordered list with other contributors. The last time I checked there were almost 200,000 computers running on the grid. Some of these systems are running in groups which allows for a better chance of making it higher in the list. It is easy to see that competition between groups would help to contribute more CPU cycles. I can also imagine whole labs being hijacked for the sake of getting better numbers. This makes it both a good thing and potentially a bad thing based on the actions of the team players involved.
The need is there. Computers have the capacity but not the purpose. The cause is also there. Biological research (the purpose) needs a massive amount of computing power. When you pair the two together, not only are you potentially solving the current research questions but you are also giving a higher purpose to the computer systems. The by-product of this is that the distributed computing platform grows and evolves based on the importance of the problems that it meets. As the problems become more difficult, the minds of the programmers and the systems themselves begin the task of creating a emergent system that can solve problems beyond the mind of any person. It has already happened in the past few years but it is going to get strong and more obvious as the years roll past. Eventually this kind of problem solving will be seen as intelligent but not before a great deal of debate.
Brother (or sister) can you spare some cycles?
You’ll feel better, I swear. It does not cost much either. Even better the computer does all the work. How easy is that?