Let's face it; supercomputers are by no means cheap and accessible to all. This isn't much of an issue for the average user as there are rare instances in which they would need hundreds of CPU's or terabytes of RAM (perhaps those who would like to play GTA4 on their PC), but for a research institution that needs to process and calculate extreme amounts of data, this becomes an issue.
This is where distributed computing offers a solution. Consider the following:
The 'Centralized Server' is comparable to a boss, or 'slave-master'. The Job of the Centralized Server is three-fold: First, it sends you a 'work-unit'. A 'work-unit' is a set of calculations for your CPU to complete. Secondly, once the 'User System' is completed it sends the results of said calculations back to the Centralized Server. Lastly, the 'Centralized Server' keeps track of how many units you've done and as is the case with most projects awards you 'points', which you may use to check your status amongst all users working for the project. You may also become part of a team and work together with peers, (not sharing work units but rather, sharing a 'team' page which displays the points of all within the team and having a team be ranked amongst others with the data completed from the users within).
To give another example, let's assume there exists an old man. He is very weak, and not powerful enough to complete his tasks. A group of young, robust and strong people arrive at his door and offers to help him out. The group of young people then, in their spare time, assist him with what needs to be done and they report back to him. In this circumstance, the outcome is a happy old man. With distributed computing, the outcome can range anywhere from interesting astrophysical results, the discovering of extra-terrestrial life, or even cures for diseases!
Getting involved requires that you decide to which projects you will contribute. Listed below are some of the many operations and their intentions:
Folding@home: A project that processes the folding of proteins in an attempt to understand protein folding itself, misfolding and diseases related to protein folding. They have recently focused their efforts into studying proteins relevant to Alzheimer's and Hunntington's disease.
SETI@home: The Search for Extra Terrestrial Intelligence is a project that seeks to discover life in outer space. It utilizes radio telescopes to listen for radio signals from space. They also have a branch known as Astropulse, where SETI@home searches for narrowband signals (AM/FM for example), Astropulse listens for broader-band signals. It can be thought of as the sequel (but not replacement) to SETI@home.
LHC@home: The LHC@home project is a project which assists in the improvement of the Large Hadron Collider, a CERN large particle accelerator. It should be noted that this project does not process data received from the LHC, but only potential LHC improvements.
A complete list of distributed computer projects may be found here.
Well that's great and all, but now what?
Assuming you've now realized which project you would like to support, the next step is of course setting up your computer to do so! A simple tool has been created by those at Berkeley known as BOINC (Berkely Open Infrastructure for Network Computing). While not all projects are compatible with it, a great number are (a list of supported BOINC projects may be found here). The software acts as a control panel for your supported projects and simplifies the distributed computing process.
The initial BOINC screen shows to which projects you currently belong:
The Tasks screen shows which work unit you are currently processing, with how much CPU time you've spent on each unit:
While with BOINC, your settings are set online you can specify your preferences for individual computers through their options tab. You can see here how you can limit the application to only run when your computer is idle, or even at specific times.
To download BOINC or for more information/documentation, visit their website.
For the projects which BOINC does not natively support, there will be a project-specific application that should function in great similarity to BOINC. Folding@home, for example, is not supported by BOINC, but they have an application which functions much in the same way. If you are one who leaves their computer on overnight or while away, why not make use of your otherwise wasted processing power and contribute it towards a volunteer computing project?