Folding@Home分布式计算模拟蛋白质折叠

当蛋白质产生时,他们经历了一个称为折叠的复杂过程,正所谓:因为蛋白质分子从氨基酸长链变换到一个复杂形状(它称做“折叠”)。最后形成的蛋白质确定了其关键的性质与功能。科学家编写软件模拟蛋白质折叠的过程,以了解它们如何工作,从而开发新药,治疗疾病等。

Folding@Home是由">斯坦福大学利用微机联网,形成超级电脑(分布式计算)来模拟蛋白质折叠. 其客户软件安装在PC机,它与中心服务器连接,收到“计算单元”. 客户端使用空闲CPU资源运算,然后把完成的“计算单元”上传到服务器。

当你不使用计算机时,Folding@Home是一个伟大的方式让你的电脑做有益的工作,客户端运行在低优先级,当你使用计算机工作时,你根本感觉不到它在运行。注意“使用计算机”指做繁重运算。一般而言,凡是浏览网页和文字处理CPU使用率都非常少,所以,即使这些任务运行时,Folding@Home运行时计算机也几乎是100%的使用率。它有助于在任何时候离开你的电脑,但没有必要,因为程序可以任何时间在你的电脑上运行。

安装

以下脚本将从Folding@Home网站上下载到最新的客户端,然后安装到opt/foldingathome,或是/或$HOME。它将要求你设置客户端(默认即可),然后为每一个CPU拷贝配置。

attachment:fah_install-20060421.tar.gz

我们无法提供Folding@Home的.deb包 ,因为用户必须到Stanford's(斯坦福)的网页下载.这是为了确保研究的完整性(也许可能得到一个.deb包;毕竟,Macromedia Flash就是这样加载的。关键在于可执行文件是在斯坦福下载的。)

安装,下载tar包

tar zxvf fah_install-version.tar.gz

提取到 fah_install/. Then 然后

cd fah_install
less README

阅读文档。最后,

sudo ./folding_install.sh install

安装客户端

你也可以安装到$HOME,这样你就不需要root账户登陆。显然,在这种情况下你就不用前缀sudo命令。如果你安装到了你的$HOME你需要创建一个cron jop来使客户端自动启动。如果你安装到系统文件夹,客户端将随着计算机的启动而启动。

你可以使用reconfigure脚本重新配置客户端,在opt/foldingathome。你也可以用命令行选项控制客户端。

本本系统

因为客户端在低优先级运行,所以客户端软件不会导致CPU频率上升。也就是说,即使CPU达到100%使用率,也不会导致CPU频率上升,这样风扇低速又安静。如果不是这样的话,就应重新配置该频率调节器。

当使用电池时,可配置ACPI(高级电源管理)来停止客户端的工作,然后在使用交流电时又开始工作。

操作如下

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

小技巧

在相关目录简单的创建两个脚本。

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

这是假定客户端已安装到整个系统,这意味着你可以编辑/etc中的文件。

Folding@Home是很安全的。史丹福开发团队长期确保它的安全性,无论是研究的完整性还是提供计算机者的安全。无论如何,越安全越好嘛。Gentoo的开发者为Folding@Home编写了一个新用户foldingathome,目的是只运行这个客户端软件。现在这个安装程序提供相同的功能。它为账户关闭的用户创建一个新用户,当init脚本以root用户运行时,它则以普通用户的方式运行客户端,所以客户端软件永远不会以root用户运行。

这是给那些有超线程技术的CPU的,你大概知道,一个SMP核看上去有两个处理器。现在清楚了,如果你运行两个客户端,你将能比只运行一个做更多工作(大概能多10%-30%)。然而,结果往往是做更多有益的成果比较慢。原因是每个工作单位只是一个进程的多个模拟,未来步骤总要依靠前面的。所以你越快的完成工作,模拟进程也就越快。长话短说,一个客户端对应一个“物理”CPU,而不是“逻辑”CPU。安装程序将自动辨认你系统中CPU数目。看这里:post 在Folding@Home的论坛中。

时间: 2024-09-07 09:26:14

Folding@Home分布式计算模拟蛋白质折叠的相关文章

云计算的未来畅想(二)

01本文摘要 ------ 人类未来最大的矛盾,是日益增长的数据处理与有限算力之间的矛盾,云计算的本质不就是计算资源与存储资源,如果最终用户那里也有可以使用的计算资源或者存储资源,为什么不能利用起来呢? 02作者简介 ------ 拖雷  袋鼠云CEO 国内最早一批Oracle ACE Director,前阿里巴巴研究员,先后担任嗨淘.无线事业部.数据事业部资深总监,生活服务事业部总经理,以及阿里云事业群总裁助理.2015年离职后,做了半年独立天使投资人,2015年底创办袋鼠云. 03正文 --

网格技术 网络时代新型应用领域

网格计算即http://www.aliyun.com/zixun/aggregation/13452.html">分布式计算 什么是分布式计算?所谓分布式计算是一门计算机科学,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到最终的结果. 最近的分布式计算项目已经被用于使用世界各地成千上万位志愿者的计算机的闲置计算能力,通过因特网,您可以分析来自外太空的电讯号,寻找隐蔽的黑洞,并探索可能存在的外星智慧

走向主流的网格计算技术应该于服务器

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   分布式计算是利用互联网上的计算机的 CPU 的闲置处理能力来解决大型计算问题的一种计算科学.下面,我们看看它是怎么工作的: 首先, 要发现一个需要非常巨大的计算能力才能解决的问题.这类问题一般是跨学科的.极富挑战性的.人类急待解决的科研课题.其中较为著名的是: 1.解决较为复杂的数学问题,例如:GIMPS(寻找最大的梅森素数). 2.研究寻找最为安全的密码系统,

火爆金融圈的”区块链“在医疗领域的5大应用场景

区块链作为比特币领域的底层技术一直不为大众所熟知,直到<经济学人>2015年<The promise of the blockchain:The trust machine>这篇文章提出区块链技术将在各个层面上深远的影响人类社会后,区块链这个概念开始火了.国外关于区块链的投资从2014年开始,到2015年下半年投资额上升的非常迅速,国外各大金融机构.超过200家投资机构都开始涌入这个领域.   区块链最吸引人的地方是,作为一个去中心化.去信任的技术,其非常安全可靠.比特币运行到现在

分布式计算为网络安全带来什么

本文讲的是分布式计算为网络安全带来什么,[IT168 资讯]IT业界最新的一个流行语是"云计算",所谓云计算指的是可以选择定量计算能力的分布式计算资源.什么样的计算资源算是"可用"的,是随情况的不同而变化的.实际上,通常情况下大多数人讨论的云计算指的是"互联网云",在这里面,任何创建,管理和存储这个"云"的操作都是无法精确说明的.我们看到的只是分配到的资源使用的情况. 云计算,正在逐步成为受到严格控制的商业模式下的一个概念,云

阿里云发布异构计算产品家族,你可以在上面模拟核爆炸

本文讲的是阿里云发布异构计算产品家族,你可以在上面模拟核爆炸 数据.算力和算法,这是人工智能发展的三大要素. 近一年来,人工智能迎来了史上第三次热潮.移动互联网时代沉淀下来的大量数据和GPU近几年的快速发展,让学界和业界相信,这人工智能时代真的要来了. 由于人工智能模型训练对算力的要求,原有的通用型CPU架构无法满足,不少企业或科研机构在训练模型的时候会通过采用和主处理器(CPU)不同架构的加速器件(也就是所谓"异构"),如GPU.FPGA.ASIC等器件,提供高密度并行计算的运算能力

新浪微博模拟登录(Java)

     使用HttpClient模拟新浪微博登录,贴在这里做个备忘,也希望能帮助到有这方面需求的童鞋们,代码如下:        Java代码   package com.yida.spider4j.crawler.test.sina;      import java.io.UnsupportedEncodingException;   import java.math.BigInteger;   import java.net.URLEncoder;   import java.secur

Excel工作表中使用模拟运算表的方法

  Excel工作表中使用模拟运算表的方法          1.创建一个新的Excel工作表,并在工作表输入数据.在B9单元格中输入提成金额的计算公式"=$B$2*$B$3",如图1所示. 图1 创建工作表并输入公式 2.在B10:B23单元格区域中输入提成比率,然后选择用于创建模拟运算表的单元格B9:I23,在"数据"选项卡的"数据工具"组中单击"模拟分析"按钮,在打开的下拉列表中选择"模拟运算表"选项

控制-android 4.X如何模拟鼠标或者直接用代码调出鼠标光标

问题描述 android 4.X如何模拟鼠标或者直接用代码调出鼠标光标 最近在做android设备之间的远程控制,需要在一个android客户端(装了客户端软件)中控制另一android服务器端(装了服务器后台程序),在服务器调出android鼠标光标,请问怎么实现啊?求助.....大侠们.....