FoldingAtHome

Differences between revisions 13 and 15 (spanning 2 versions)
Revision 13 as of 2006-02-20 21:51:50
Size: 4777
Editor: 63-230-106-150
Comment: added laptop section
Revision 15 as of 2006-02-25 20:59:27
Size: 4972
Editor: 63-230-106-150
Comment: added ubuntu forums howto link, new version of install/init scripts
Deletions are marked like this. Additions are marked like this.
Line 29: Line 29:
You can also install to your $HOME, in case you do not have root access to the computer. Clearly, you would not have to prefix the command with sudo in this case. You can also install to your $HOME, in case you do not have root access to the computer. Clearly, you would not have to prefix the command with sudo in this case.  If you install to your $HOME, a cron job will be created to start the client automatically.
Line 31: Line 31:
attachment:fah_install-20060219.tar.gz attachment:fah_install-20060225.tar.gz
Line 64: Line 64:
 * [http://www.ubuntuforums.org/showthread.php?t=101817 Ubuntu Forms HowTo, Based off of this page]

Overview

When proteins are created, they undergo a complex process known as folding, so-called because the protein molecule transforms from a long chain of amino acids to a complex shape (it "folds up"). The final shape of the protein is absolutely critical to determining its properties and function. Scientists have created software to simulate the folding process to better understand how proteins work, which in turn makes it possible to develope new drugs, cure diseases, etc.

Folding@Home is a project from Stanford University that uses millions of networked PCs to form a supercomputer for protein folding simulations. The client software is loaded on a PC, it contacts the central servers, and receives "work units". The client then runs on spare CPU time, and uploads finished work units to the server.

Folding@Home is a great way to make your computer do useful work even when you're not using it. Since it runs at a very low priority, you should never realize it's running when you're using the computer to do your work. Note that "using the computer" refers to doing heavy computations. Generally, tasks like web browsing and word processing involve very little CPU usage, so the Folding@Home client will be running at near 100% even when doing those kinds of tasks. It helps to leave you computer on at all times, but is not necessary, as the project will benefit from virtually any time that the client runs on your computer.

Installation

The following script will download the latest client from the Folding@Home website, and install it to opt/foldingathome, either in / or $HOME. It will ask you to set up the client (the defaults are usually sufficient), and copy that configuration for every CPU in your machine.

It is not possible to provide a .deb package for Folding@Home, because the client must be downloaded from Stanford's website. This is to ensure the integrity of the research.

To install, download the tarball and do

tar zxvf fah_install-version.tar.gz

This should extract the archive to a folder called folding/. Then

cd folding
less README

to read the documentation. Finally,

sudo ./folding_install.sh install

to install the client.

You can also install to your $HOME, in case you do not have root access to the computer. Clearly, you would not have to prefix the command with sudo in this case. If you install to your $HOME, a cron job will be created to start the client automatically.

attachment:fah_install-20060225.tar.gz

Laptop Systems

Because the client runs at low priority, the client should not cause the CPU governor to kick up the frequency. In other words, even though the client runs at 100% CPU usage, it should not cause the CPU frequency to go up, which keeps the fan slow and quiet. If this is not the case, then the frequency governor should be reconfigured.

One can configure ACPI (the power regulation subsystem) to stop the client when the system goes on battery power, and to start it again when the power cord is plugged back in. Edit /etc/acpi/power.sh. Inside the if [ $? = 0 ] && [ x$1 != xstop ]; then block, add

    # stop folding at home
    if [[ -x /etc/init.d/foldingathome ]] ; then 
        /etc/init.d/foldingathome stop
    fi

and inside the else block, add

    if [[ -x /etc/init.d/foldingathome ]] ; then 
        /etc/init.d/foldingathome start
    fi

This assumes that the client has been installed for the entire system, which it should be if you are able to edit files in /etc in the first place!

Future Plans

Folding@Home is secure. The Stanford team has gone to great lengths to ensure security, both for the integrity of their research and the safety of donors' computers. However, the more secure the better. The Gentoo ebuild for Folding@Home creates a new user foldingathome whose sole purpose is to run the client. I will add this feature in the future.

Team Ubuntu

A competitive folding@home team called Team Ubuntu has formed to represent the Ubuntu community and organize to have fun while doing some good. The team number is 45104. To join the team, simply enter 45104 when the setup dialog requests a team number. Those wishing to get optimal performance from their folding box should review the Hackaday blog entry on competitive folding linked below.

FoldingAtHome (last edited 2008-08-06 17:00:30 by localhost)