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.
[email protected] 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.
[email protected]是由斯坦福大学利用微机联网,形成超级电脑（分布式计算）来模拟蛋白质折叠. 其客户软件安装在PC机,它与中心服务器连接,收到“计算单元”. 客户端使用空闲CPU资源运算，然后把完成的“计算单元”上传到服务器。
[email protected] 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 [email protected] 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.
当你不使用计算机时，[email protected]是一个伟大的方式让你的电脑做有益的工作，客户端运行在低优先级，当你使用计算机工作时，你根本感觉不到它在运行。注意“使用计算机”指做繁重运算。一般而言,凡是浏览网页和文字处理CPU使用率都非常少，所以，即使这些任务运行时，[email protected]运行时计算机也几乎是100％的使用率。它有助于在任何时候离开你的电脑，但没有必要，因为程序可以任何时间在你的电脑上运行。
The following script will download the latest client from the [email protected] website, and install it to
opt/foldingathome, either in
$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 [email protected], because the client must be downloaded from Stanford's website. This is to ensure the integrity of the research. (Maybe it is possible to have a .deb; after all, this is how Macromedia Flash works. The point is that the executable has to be downloaded from Stanford.)
我们无法提供[email protected]的.deb包 ，因为用户必须到Stanford's（斯坦福）的网页下载.这是为了确保研究的完整性（也许可能得到一个.deb包；毕竟，Macromedia Flash就是这样加载的。关键在于可执行文件是在斯坦福下载的。）
To install, download the tarball and do
tar zxvf fah_install-version.tar.gz
This should extract the archive to a directory called 提取到
fah_install/. Then 然后
cd fah_install 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. If you install to the system, the client will automatically start when your computer boots up.
You can reconfigure the client using the supplied
reconfigure script, which is placed in
opt/foldingathome. You can also give the client command line options. See the README for more details.
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.
Breezy and older
/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
Simply create two scripts in the relevant directories. 在相关目录简单的创建两个脚本。
sudo -i echo "/etc/init.d/foldingathome stop" > /etc/acpi/battery.d/fah echo "/etc/init.d/foldingathome start" > /etc/acpi/ac.d/fah exit
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!
[email protected] 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 [email protected] creates a new user foldingathome whose sole purpose is to run the client. Now this installer offers same. It creates a user whose account is disabled, and runs the client as this user when the init script is run as root, so the client is never run as root.
[email protected]是很安全的。史丹福开发团队长期确保它的安全性，无论是研究的完整性还是提供计算机者的安全。无论如何，越安全越好嘛。Gentoo的开发者为[email protected]编写了一个新用户foldingathome，目的是只运行这个客户端软件。现在这个安装程序提供相同的功能。它为账户关闭的用户创建一个新用户，当init脚本以root用户运行时，它则以普通用户的方式运行客户端，所以客户端软件永远不会以root用户运行。
For those with Hyper Threading CPUs, you probably know that an SMP kernel sees two processors. Then clearly, if you run two clients, you will get more work done than if you only run one (probably about 10-30% more). However, results that are done quickly are more useful than more results done slowly. The reason is that each work unit is a step in a giant simulation, with future steps depending on past ones. So the faster you get your work done, the faster the simulation can move along. Long story short, run one client for each physical CPU, not for each logical CPU. The installer should automatically count the number of CPUs in your system. See this post in the [email protected] forums.
这是给那些有超线程技术的CPU的，你大概知道，一个SMP核看上去有两个处理器。现在清楚了，如果你运行两个客户端，你将能比只运行一个做更多工作（大概能多10％－30％）。然而,结果往往是做更多有益的成果比较慢。原因是每个工作单位只是一个进程的多个模拟，未来步骤总要依靠前面的。所以你越快的完成工作，模拟进程也就越快。长话短说，一个客户端对应一个“物理”CPU，而不是“逻辑”CPU。安装程序将自动辨认你系统中CPU数目。看这里：post 在[email protected]的论坛中。
A competitive [email protected] team called Team Ubuntu (FoldingAtHomeTeamUbuntu, forum thread) 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.
- FoldingAtHomeTeamUbuntu - wiki page for the Ubuntu [email protected] Team
- [email protected] Distributed Computing
- Team Ubuntu
- HOW-TO: [email protected] competitively
- [email protected] Stats for Team Ubuntu
- Another Stats site
- Ubuntu Forms HowTo, Based off of this page
- Team Ubuntu Recruiting forum thread