Folding@home是一个研究蛋白质折叠,误折,聚合及由此引起的相关疾病的分布式计算工程。蛋白质是一个生物体系的网络基础,它们是一个个
纳米级计算机。在蛋白质实现它的生物功能之前,它们会把自己装配起来,或者说是折叠;折叠过程对人类而言仍是未解之谜。当蛋白质没有正确折叠(误折)无疑会产生严重的后果,包括许多知名的疾病,比方
阿兹海默症(Alzheimer's),
疯牛病(Mad Cow, BSE),
帕金森氏症(Parkinson's)等。该工程使用联网式的计算方式和大量的分布式计算能力来模拟蛋白质折叠的过程,并指引对由折叠引起的疾病的一系列研究。
基本介绍
癌症亨廷顿病成骨不全症Folding@home 科学
蛋白质是由形成的长链。蛋白质是生物生存的基本条件。作为酶,他们是所有生物化学反应的驱动力。作为结构的基本成分,它们是我们的骨骼、肌肉、头发、皮肤和血管的主要组成部分。作为抗体,它们可以识别入侵物体,使
免疫系统工作从而清除这些物体。因此,科学家对人类的基因组进行排序——生物圈蛋白质蓝图——但我们怎样可以了解这些蛋白质做了些什么?它们又是怎么运作的?
关系到人的染色体项目
蛋白质在生物学中充当如此重要的(原文为根本性)角色,科学家开始对人类的基因组开始排序。基因组实际上是一张跟蛋白质有关的“蓝图”——基因组包含遗传密码(DNA Code),这些密码决定着氨基酸串成蛋白质长链的顺序。
折叠原因
但是,仅仅了解基因组序列并不能使我们充分了解蛋白质的工作,更无法了解它是如何工作的。为了发挥它的功能作用(比方作为酶和抗体),他们必须具有非常特定的形状,亦称“折叠(Fold)”。蛋白质犹如一台令人惊奇的机器: 在他们进行工作之前,他们自己组装自己。 这种自我装配被称为“折叠(Folding)”。
我们项目的目标之一是模仿
蛋白质折叠,从而了解蛋白质是如何那么迅速可靠地折叠的,并了解如何使用这些蛋白质的属性来制造
高分子聚合物。
如果蛋白质没有正确地折叠将发生什么?比方阿兹海默氏症(Alzheimer's)、囊肿纤维化(Cystic fibrosis)、
疯牛病(Mad Cow,BSE),一种遗传的肺气肿,甚至许多癌症的起因都是蛋白质的非正常折叠。
当蛋白质非正常折叠,可能凝聚起来(“集合体”)。这些凝聚物可能经常聚集在脑子里,这就是现在通常认为导致阿兹海默氏症和
疯牛病的病因。
除生物医学的应用之外,了解蛋白质的折叠同时也将教会我们应该如何设计我们自己的、像蛋白质大小的“
纳米仪器”进行相似的工作。当然,在
纳米仪器可能执行任何任务前,他们也必须进行组装。
蛋白质折叠
最令人惊讶的不仅是蛋白质本身能够自我组装—— 折叠,而且是它们自我组装的速度是如此之快:一些蛋白质能够在百万分之一秒之内完成自我折叠。虽然这个时间在人的时间表中是非常快的,但是用计算机进行模拟,这个时间就显得相当长了。实际上,计算机模拟1纳秒(1/1,000,000,000秒)需要花费大约一天的时间。不幸的是,蛋白质折叠是以数十毫秒(10000纳秒)作为时间表的。这样,这将需要10000台计算机花费数天的时间来模仿折叠。——例如,这将需要30台计算机花费数年的时间。这样等一个结果出来需要的时间太多。
一种解答: 分布动力学
要解决
蛋白质折叠的问题,我们需要冲破微秒障碍。我们的小组开发了一种新的模仿蛋白质折叠的方式——一种“将工作单元分解成多个部分,使用多台处理器来模拟”的办法来冲破毫秒障碍。因而,有1000个处理器,我们就能冲破微秒障碍从而帮助了解蛋白质是如何折叠的奥秘。
我们到目前为止做了什么?我们将做什么?
Folding@home 1.0是成功的。在从2000年10月到2001年10月的一年内,我们已经使用了我们实验性检验的方法折叠了一些小且快速被折叠的蛋白质。我们正在进一步开发我们的方法,并推广到模仿折叠一些更加复杂、更加有趣的蛋白质和“蛋白质正常折叠与非正常折叠”的问题。您能从我们的结果页上了解更多。
运作方式
Folding@home并不依靠强大的超级电脑进行计算,反而主要的贡献者是成千上万的个人电脑。每部参与的电脑都安装了一个在背景执行的客户端程序,在系统不忙碌的时候调用
中央处理器执行模拟工作。现时世界上绝大部分的个人电脑,在一般的情况下都很少用尽本身的计算能力。
Folding@home就是使用这些本来都浪费了的运算力量。
Folding@Home的客户端会定时连接设于史丹佛大学的服务器去取得“工作单元”(work units),即一种存有实验资料的数据包,根据实验资料进行计算。每个工作
单元计算完成后,再传回服务器。
分析软件
Folding@home的用户端利用了经修改的TINKER、
GROMACS、AMBER及CPMD这四款
分子模拟程式进行运算,并会在许可的情况下作出优化,以把运算速度加快。这四款模拟程式也被修改成多个不同版本,供多款作业平台使用,每款程式的变体会以编号“Core xx”作分类。
现役内核
Gromacs(Core 78)
仅提供予所有单处理器平台使用。
DGromacs(Core 79)
Gromacs的双倍精准版本,仅使用SSE2。
仅提供予所有单处理器平台使用。
DGromacsB (Core 7b)
名义上是DGromacs的更新版本,实际上是基于SMP/GPU版本的源码的全新内核。两者均在使用中。
Gromacs的双倍精准版本,仅使用SSE2。
仅提供予所有单处理器平台使用。
DGromacsC (Core 7c)
Gromacs的双倍精准版本,仅使用SSE2。
仅提供予单处理器的Windows及Linux平台使用。
GBGromacs(Core 7a)
Gromacs SREM(Core 80)
GroSimT(Core 81)
Gromacs 33(Core a0)
Gro-SMP(Core a1)
GroCVS(Core a2)
GroGPU2(Core 11及Core 13)
Gro-PS3(没有编号,但也称为SCEARD内核)
AMBER
PMD (Core 82)
已停用内核
TINKER
Tinker core(Core 65)
现已停止使用,并由速度更快的同类内核GBGromacs (Core 7a)所替代。
未优化
仅提供予所有单处理器平台使用。
GroGPU(Core 10)
CPMD
QMD (Core 96)
界面版本
Folding@home Console version是Folding@home的
命令行界面版本接口版本,由史丹佛大学化学系的潘德小组(Pande Group)主持,于2000年10月1日正式启动,可精确地模拟
蛋白质折叠和错误折叠的过程,以便能更好地了解多种疾病的起因和发展,Folding@home目前是世界上最大的分布式计算计划。
平台支援
图形处理器
要快速运算蛋白质的摺叠效应,得需以高浮点运算能力的处理器进行,GPU具备强大浮点运算性能的优势,Folding@home方面也着手开发供GPU使用的程式,把作业交给GPU运算。2006年10月2日,Folding@home公开发行供Windows系统使用的GPU测试版本,测试期间收到由450颗ATI X1900 GPU提供的31 TFLOPS运算性能,每颗显核平均运算运力为一颗传统CPU的70多倍。至2008年4月10日,第二代Windows GPU公开测试版推出,新版本支援ATI/AMD HD2xxx及HD3xxx系列,不用再透过DirectX接口与
显示核心沟通,并支援多GPU核心。供NⅥDIA GPU使用的版本则利用CUDA技术,就可以使到GPU可以进行蛋白质摺叠运算。NⅥDIA官方表示,只需全球0.1%支援CUDA的显卡进行运算,效能就可以达到7PFLOPS,远超超级电脑的计算水平[6]。现时已推出供启用CUDA的NⅥDIA GPU使用的公开测试版本。
Station 3
索尼已加入Folding@home计划,从PS3的1.6版本固件开始,支援该项目科学运算。由于PS3使用了Cell处理器,能提供强大的运算性能。当PS3闲置时,就会启动运算程式,计算蛋白质的折叠效应,利用结果去研究各种疑难杂症。当CELL处理器运算时,NⅥDIA的RSX显核就会提供立体的蛋白质折叠实时图形展示。该图形展示效果不错,支援1080p输出,还有HDR效果。用家可利用手柄来控制观赏角度。
PS3曾经为Folding@home提供最多的运算能力,随着供
NⅥDIA GPU使用的软件推出,NⅥDIA GPU取代了PS3,成为了Folding@home的主力。截至2008年9月初,参与的
PS3游戏机为该计划提供1,200多TFLOPS的运算能力,占总数近35%。
多核处理器
随着更多不同款式的多核处理器陆续推出,支援多核心的软件也越来越多,Pande Group也于Folding@home加入支援
对称多处理机(SMP),希望借此增强软件的运算能力。透过利用MPI,软件可同时使用多个内核进行运算。
支援SMP的Folding@home于2006年11月13日推出供x86-64 Linux及x86 Mac OS X执行的beta测试版本,现时也已推出供Win32使用的试版本,而供32位Linux执行的版本则仍在开发中。
能源消耗
一台PlayStation 3游戏机的标称功率为380W,由于Folding@Home是设计供CPU使用,因此会造成主机功耗达100%。但根据史丹福方面有关PS3主机的常见问题,指出每台主机“在执行该程式时,其估计功率约为200W左右[7]”。截至2008年5月底,共有51,000多台PS3主机为该计划提供1,400多TFlops的运算能力,每台PS3平均提供近30,000MFlops,以史丹福的每台主机200W输出(使用90nm制程的处理器)估计,每瓦输出提供150多MFlops[8]。随着PS3的Cell处理器改用更微细的65nm及45nm制程,处理器的功耗会进一步下降,其每瓦输出提供的运算的能力也会提高