Difference between revisions of "Folding@home"

From ArchWiki
Jump to: navigation, search
(Installation)
(Configuration: Make section more readable.)
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Category:Mathematics and science]]
 
[[Category:Mathematics and science]]
From the [https://aur.archlinux.org/packages.php?do_Details=1&ID=11852&O=0&L=&C=&K=folding&SB=&SO=&PP=&do_MyPackages=&do_Orphans=&SeB= AUR package page]: "''Folding@home is a distributed computing project which studies protein folding, misfolding, aggregation, and related diseases.''"
+
From the [https://aur.archlinux.org/packages.php?do_Details=1&ID=11852&O=0&L=&C=&K=folding&SB=&SO=&PP=&do_MyPackages=&do_Orphans=&SeB= AUR package page]: "''Folding@home is a distributed computing project which studies protein folding, misfolding, aggregation, and related diseases.''" For more information, see [http://folding.stanford.edu/].
 
+
Please see the [http://folding.stanford.edu/ Folding@home site] for a fuller description.
+
 
== Installation ==
 
== Installation ==
  
Install {{AUR|folding@home}} from the [[Arch User Repository]].
+
Install {{AUR|foldingathome}} from the [[Arch User Repository]].
  
 
== Configuration ==
 
== Configuration ==
 +
 +
Run {{ic|/opt/fah/FAHClient --configure}} as root to generate a configuration file at {{ic|/opt/fah/config.xml}}. (the Arch Linux team number is 45032) Alternately, you can write {{ic|opt/fah/config.xml}} by hand and use {{ic|/opt/fah/sample-config.xml}} as a reference. With a config file in place, you can start the daemon, check it's status, and make the daemon automatically start at boot time:
 +
 +
# systemctl start foldingathome
 +
$ systemctl status foldingathome
 +
# systemctl enable foldingathome
  
 
===The graphical way===
 
===The graphical way===
  
Simply run {{ic|./FAHClient --configure}} in {{ic|/opt/fah/}} to configure your client for the first time. Afterwards you can use a webbrowser or FAHControl on the same machine to set slots.
+
You can manage the daemon by opening a web browser and heading to http://localhost:7396/. Alternately, you can install {{AUR|fahclient}} and use the FAHControl program.
If you want to control it from a remote host, you have to remove the proxy line {{ic|<nowiki><proxy v=':8080'/></nowiki>}} and perhaps add an "allow" entry and password entry.  
+
<allow v='<ip of the host supposed to be controling the machine>'/>
+
<password v='password'/>
+
  
You can also allow a remote host to connect to the python web server.
+
The daemon can also be controlled remotely. Instructions for doing so are listed in {{ic|/opt/fah/sample-config.xml}}. Remember to open firewall ports if necessary.
Just add a line like this:
+
<web-allow v='ip of the remote host'/>
+
  
 
===The terminal way===
 
===The terminal way===
In order to edit the configuration, edit the file "client.xml" in {{ic|/opt/fah}} with the editor of your choice.
 
  
The most important settings here are:
+
To see the current progress of foldingathome, simply {{ic|tail /opt/fah/log.txt}}.
  
*username, username associated to the work-units you return (not related to the User variable in {{ic|/etc/systemd/system/foldingathome.service}}).
+
The behaviour of foldingathome can be customized by editing {{ic|/opt/fah/config.xml}}. Some options that can be specified:
<user v='your username'/>
+
*team, the team number you wish to contribute points to (earned for work units returned), you will of course want to fill in 45032, the arch-linux team number.
+
<team v='your team number'/>
+
*bigpackets, defines whether you will accept memory intensive work loads. If you have no problem with Folding@home using up more of your RAM, then set this to big. Other settings are normal and small.
+
*passkey to identify your machine. You can get one of these on the homepage. They are used to distinguish different users and/or clients.
+
{{note|A passkey is not actually needed. It is only used to preserve your other stats, if a client running under your own username is going nuts and is sending wrong results!}}
+
<passkey v='passkey'/>
+
  
*Slots for CPU or GPU
+
* bigpackets, defines whether you will accept memory intensive work loads. If you have no problem with Folding@home using up more of your RAM, then set this to big. Other settings are normal and small.
  <slot id='0' type='CPU'/>
+
* passkey, to uniquely identify you. Though not needed, it provides some measure of security. For details, see [http://folding.stanford.edu/English/FAQ-passkey]
 
+
<passkey v='passkey'/>
After editing that, run
+
* Slots for CPU or GPU
# systemctl start foldingathome
+
<slot id='0' type='CPU'/>
 
+
to start Folding@home up.
+
 
+
Assuming it all ran correctly, you will want to start it when the system boots:
+
# systemctl enable foldingathome
+
 
+
Folding@home is now installed and running.
+
  
 
== Multi-Core CPUs and Folding@home ==
 
== Multi-Core CPUs and Folding@home ==
 +
 +
As of version 7.x, multi-core CPUs no longer require any special configuration. If you are using version 6.x, read on.
  
 
=== A Quick Note On Hyperthreading ===
 
=== A Quick Note On Hyperthreading ===
 +
 
If you have a single-core hyperthreading CPU, you may be tempted to follow the multi-core instructions. It is highly recommenced that you '''''do not''''' do this as the Folding@home team prefers fewer results quickly, than more results slowly. There is also a time-limit on work-units, so if it runs slower, your work-units may not be returned in time, and so distributed to another user. If you have one core, run one folding process.
 
If you have a single-core hyperthreading CPU, you may be tempted to follow the multi-core instructions. It is highly recommenced that you '''''do not''''' do this as the Folding@home team prefers fewer results quickly, than more results slowly. There is also a time-limit on work-units, so if it runs slower, your work-units may not be returned in time, and so distributed to another user. If you have one core, run one folding process.
 +
 +
{{Accuracy|"Hyperthreading is usually enabled in the BIOS by default, and we recommend that it stays enabled, as the SMP cores can use it to process Work Units faster." [http://folding.stanford.edu/English/FAQ-SMP#ntoc6]}}
  
 
=== Multiple  Folding@home Installs ===
 
=== Multiple  Folding@home Installs ===
Line 57: Line 46:
  
 
== Monitoring Work-Unit Progress ==
 
== Monitoring Work-Unit Progress ==
 +
 
There are several ways of monitoring the progress of your FAH client/s, both on the command line and by GUI.  
 
There are several ways of monitoring the progress of your FAH client/s, both on the command line and by GUI.  
  
Line 95: Line 85:
 
*Folding@home Client in the [https://aur.archlinux.org/packages/foldingathome/ AUR]  
 
*Folding@home Client in the [https://aur.archlinux.org/packages/foldingathome/ AUR]  
 
*Folding@home  [http://folding.stanford.edu/English/FAQ-SMP SMP Client FAQ]
 
*Folding@home  [http://folding.stanford.edu/English/FAQ-SMP SMP Client FAQ]
*Arch Folding@home [http://vspx27.stanford.edu/cgi-bin/main.py?qtype=teampage&teamnum=45032 team page]
+
*Arch Folding@home [http://fah-web.stanford.edu/cgi-bin/main.py?qtype=teampage&teamnum=45032 team page]
 
*Extended Arch team statistics in [http://folding.extremeoverclocking.com/team_summary.php?s=&t=45032 extremeoverclocking.com]
 
*Extended Arch team statistics in [http://folding.extremeoverclocking.com/team_summary.php?s=&t=45032 extremeoverclocking.com]

Revision as of 13:11, 15 June 2013

From the AUR package page: "Folding@home is a distributed computing project which studies protein folding, misfolding, aggregation, and related diseases." For more information, see [1].

Installation

Install foldingathomeAUR from the Arch User Repository.

Configuration

Run /opt/fah/FAHClient --configure as root to generate a configuration file at /opt/fah/config.xml. (the Arch Linux team number is 45032) Alternately, you can write opt/fah/config.xml by hand and use /opt/fah/sample-config.xml as a reference. With a config file in place, you can start the daemon, check it's status, and make the daemon automatically start at boot time:

# systemctl start foldingathome
$ systemctl status foldingathome
# systemctl enable foldingathome

The graphical way

You can manage the daemon by opening a web browser and heading to http://localhost:7396/. Alternately, you can install fahclientAUR and use the FAHControl program.

The daemon can also be controlled remotely. Instructions for doing so are listed in /opt/fah/sample-config.xml. Remember to open firewall ports if necessary.

The terminal way

To see the current progress of foldingathome, simply tail /opt/fah/log.txt.

The behaviour of foldingathome can be customized by editing /opt/fah/config.xml. Some options that can be specified:

  • bigpackets, defines whether you will accept memory intensive work loads. If you have no problem with Folding@home using up more of your RAM, then set this to big. Other settings are normal and small.
  • passkey, to uniquely identify you. Though not needed, it provides some measure of security. For details, see [2]
<passkey v='passkey'/>
  • Slots for CPU or GPU
<slot id='0' type='CPU'/>

Multi-Core CPUs and Folding@home

As of version 7.x, multi-core CPUs no longer require any special configuration. If you are using version 6.x, read on.

A Quick Note On Hyperthreading

If you have a single-core hyperthreading CPU, you may be tempted to follow the multi-core instructions. It is highly recommenced that you do not do this as the Folding@home team prefers fewer results quickly, than more results slowly. There is also a time-limit on work-units, so if it runs slower, your work-units may not be returned in time, and so distributed to another user. If you have one core, run one folding process.

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: "Hyperthreading is usually enabled in the BIOS by default, and we recommend that it stays enabled, as the SMP cores can use it to process Work Units faster." [3] (Discuss in Talk:Folding@home#)

Multiple Folding@home Installs

Multiple installations of FAH on a single machine are useless, as in v7, you can use slots for every workload. The software is uniform now for gpu and cpu.

Monitoring Work-Unit Progress

There are several ways of monitoring the progress of your FAH client/s, both on the command line and by GUI.

The FAHControl software distributed by folding at home provides you with efficient means to control remote hosts. Just add another client with the corresponding button "Add" and enter the name, ip address, port and password (if you set one) and hit save. The software should now try to establish a connection to the remote host and show you the progress in a seperate client tab.

In AUR there is silent blades fahmon, which provides a GUI with the ability to watch multiple clients and get info on the work-unit itself. Fahmon has a dedicated site at http://www.fahmon.net/

On the CLI, you can add a command to your .bashrc , .zshrc or .whateverrc :

fahstat() {
	echo
	echo `date`
	echo
	cat /opt/fah/FAH_USER/unitinfo.txt   #(replacing FAH_USER first)
}

Or for multiple clients :

fahstat() {
        echo
        echo `date`
        echo
        echo "Core 1:";cat /opt/fah/FAH_USER/unitinfo.txt      #(replace FAH_USER first)
        echo
        echo "Core 2:";cat /opt/fah2/FAH_USER/unitinfo.txt     #(replace FAH_USER first)
}

Also, replacing cat with tail -n1 will give just the percentage of work unit complete.

On foldingathome-smp 6.43, the unitinfo.txt file is not placed inside the user folder. The correct directory would be /opt/fah-smp/unitinfo.txt.

External Resources