Martin Cooper's Linux Blog

All things Linux …

Tag Archives: Folding@Home

Folding@Home on Debian Squeeze

New Year, New Operating System & a New Team

It’s been a while since I blogged about the Folding@Home Project so as I have moved to Debian Squeeze on my server I thought I’d document the install of the Folding@Home software and move my contributions from the Ubuntu Team to the Debian Team.

The Folding@Home Project can be found at http://folding.stanford.edu/ and their goal is

“to understand protein folding, misfolding, and related diseases. You can help scientists studying these diseases by simply running a piece of software. Folding@home is a distributed computing project — people from throughout the world download and run software to band together to make one of the largest supercomputers in the world. Every computer takes the project closer to our goals. Folding@home uses novel computational methods coupled to distributed computing, to simulate problems millions of times more challenging than previously achieved.”

So in other words, whilst you computer is switched on it’s unused capacity can be working away on problem solving for a common cause.

First you need to a name to use, start at http://folding.stanford.edu/English/Download#ntoc2 and enter the name you wish to use and as long as it’s not found in the search you are good to go just make sure you and note it down for later.

Then you need a passkey this is a unique key which binds your donations to your username just in case someone else decided to use the same name get one from http://folding.stanford.edu/English/FAQ-passkey and note it down for later.

So my sever is an AMD 64 duel core and I want to run 2 instances of the Folding@Home software 1 on each processor. I start by creating a folder in my home folder called Folding@Home, opening a Terminal I do;

$ mkdir Folding@Home

then moved into it and created 2 more core1 and core2

$ cd Folding@Home

$ mkdir core1 core2

I now downloaded the software from the site download page at http://folding.stanford.edu/English/Download downloading the software for 64 bit PC’s called FAH6.34-Linux64.tgz into my Downloads folder. I then moved into that folder with;

$ cd ~/Downloads

and extracted the fah6 file within the tar archive with

$ tar -xzvf FAH6.34-Linux64.tgz

the copy the fah6 file to both the core folders and making them executable with

$ cp fah6 ~/Folding@Home/core1
$ chmod +x ~/Folding@Home/core1/fah6

and

$ cp fah6 ~/Folding@Home/core2
$ chmod +x ~/Folding@Home/core2/fah6

Then we need to cd back to the core1 folder with.

$ cd ~/Folding@Home/core1

Then run the following;

$ ./fah6

[Note ./fah6 -config can be used later to reconfigure]

This then asks the following questions;

User name [Anonymous]? Type in your username, then press [Enter].

Team Number [0]? Type in the number 2019 for the Debian Team, then press [Enter].

Passkey []? Type your passkey here and, press [Enter].

Ask before fetching/sending work (no/yes) [no]? to make things automatic, leave at no and press [Enter].

Use proxy (yes/no) [no]? I’m not behind a proxy, so I left at no, and pressed [Enter].

Acceptable size of work assignment and work result packets (bigger units may have large memory demands) — ‘small’ is10MB (small/normal/big) [normal]? again I left at the default of normal, and pressed [Enter].

Change advanced options (yes/no) [no]? y
Core Priority (idle/low) [idle]?
Disable highly optimized assembly code (no/yes) [no]?
Interval, in minutes, between checkpoints (3-30) [15]?
Memory, in MB, to indicate (3966 available) [3966]?
Set -advmethods flag always, requesting new advanced
scientific cores and/or work units if available (no/yes) [no]?
Ignore any deadline information (mainly useful if
system clock frequently has errors) (no/yes) [no]?
Machine ID (1-16) [1]? 1 as this is running on core 1 I added a 1 when I do the same actions in the core2 folder I’ll add a 2 here
The following options require you to restart the client before they take effect
Disable CPU affinity lock (no/yes) [no]?
Additional client parameters []?
IP address to bind core to (for viewer) []?

The program then runs, updated, downloads the first batch of work and starts to process…..

The above config info is stored in the core1 folder and named client.cfg, you could just copy this to your core2 folder and open it and change the machineid=1 to 2 resave it then just start up the fah6 process with

$ ./fah6

and it would start processing or you can not complete the same action on the second core.

to stop the process I use;

$ killall fah6

to start I use

$ ./fah6 -verbosity 9
from within each folder

This bash script will run both in one terminal window.

#!/bin/sh
#### Folding@Home ####
## Core 1 ##
cd ~/Folding@Home/core1
./fah6 -verbosity 9 &
## Core 2 ##
cd ~/Folding@Home/core2
./fah6 -verbosity 9

You can check your progress by entering your username at http://fah-web.stanford.edu/cgi-bin/main.py?qtype=userstats the site updates daily.

Advertisements