为科学服务的志愿者计算机

来自中国分布式计算总站
BiscuiT讨论 | 贡献2010年8月3日 (二) 20:49的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

为科学服务的志愿计算机
——利用家用电脑,共同追求医学突破

作者:JEREMY SINGER-VINE

日期:2009年10月20日

本文由 Nyechen 翻译自 《华尔街日报》

下一个主要病症的治疗方法很有可能是在电脑上,而不是在实验室工作台上被发现。为什么这样说?因为科学家们正在征召普通民众志愿参与协助处理繁杂数据。

计算机科学的进步使得医学研究者可以使用自然环境的复杂数字模拟来测试诸如蛋白质折叠,基因交互效应和流行病传播等问题。这些模拟也愈来愈被广泛且频繁地应用,但是学术机构和其他研究设施里的计算机远远无法满足当下的数据处理需求。

为解决这一问题,科学家们开发了一个巨型网络,能将庞大的研究任务分散打包成任何一个闲置的家用电脑都能处理的小任务包。迄今为止,世界各地数以万计的人已志愿利用他们电脑的计算能力,协助加速了医学研究的进度。

这个网络的工作原理是这样的:志愿者下载一个应用程序到电脑上,通过这个程序可以连接到特定的网络,这个网络也包括了其他平民志愿者和科学研究者。网络会分配给每个电脑计算某项目的一小部分任务。只要电脑处于开启状态,一旦闲置下来程序就会自动运行计算任务。通常一个任务包需要数个小时计算,但由于项目和个人电脑运算能力的不同,任务包的计算耗时也会有所不同。当计算任务完成,程序会将其结果自动返回给网络服务器。

2003年,位于巴塞尔的瑞士热带研究所的传染病学研究者Nicolas Marie和他的同事开始模拟潜在疟疾疫苗会如何影响疾病盛行地区的人口数量。起初,他们使用研究所的数十台计算机,搭建了一个网络进行模拟运算。但当研究小组在2006年进入项目的第二阶段,加入更多变量、数据和复杂的交互效应到模型中后,很显然他们需要更强大的计算能力。

研究小组的评估结论是,新的模拟如果使用已有的网络来计算需要耗费数月甚至数年,而当地可用的计算设施不是需要长时间等待就是费用过于昂贵。作为替代方案,也考虑到项目的人道主义吸引力,他们打赌可以招募到志愿者来处理这些繁杂的数据。他们赌赢了。今天,将近35000名用户在电脑闲置时运行 malariacontrol.net 的计算任务,这使得研究小组能更快地完成模拟计算——远快于其他可能的方法。基于这个遍布美国、欧洲、南美、澳洲和其他地区的家用电脑计算网络,研究小组取得了一些发现,并已发表在世界领先的期刊中,如《寄生生物学》和《疟疾期刊》。

志愿计算这一概念始于1996年。当时一群研究者征召参与者来寻找更大的素数,事实证明这是一个不断打破世界纪录的项目。数年后,志愿者们群聚于 SETI@home 项目——一个分析射电望远镜采集的无线电信号,搜寻外星生命证据的项目。

在过去的5年里,生物医学研究者和志愿者们都逐渐理解志愿计算的可能性问题。James Whitus形容自己“只是一个普通的帮手”,他截止到2004年末都将他电脑的计算能力贡献给 SETI@home。然后,他听说了 World Community Grid,一个致力于为许多不同的医学和人道研究提供支持的非盈利性IBM项目。

“当你可以帮助科学研究时,为什么要寻找外星生物呢?” Whitus 先生说道,“帮助科学研究可是一件可以在这个星球上确实地作出一些改变的事情。”

现在28岁的 Lafayette 公司汽车检测员和他的未婚妻使用两台台式电脑和一台旧笔记本电脑来支持网格项目,后者专门从事网格项目计算。从癌症药物研究到改进发展中国家作物产量,这些都是网格项目的内容。

诸如此类的志愿计算项目通常基于一个开源的软件进行,这个软件全名为伯克利开放式网络计算平台,简称 BOINC。志愿者们从 boinc.berkeley.edu 上下载这个简洁的应用程序,注册他们想支持的项目,就可以开始计算了。(并不是所有的项目都有崇高目标。比如,有一个项目是研究最少初始数字的数独谜题。)

安全风险

一个有如此多电脑的开放式网络可能是一个安全风险,而 BOINC 的确也有安全风险。但是,在2004年创建了 BOINC 的伯克利科学家 David Anderson 博士说他当时已经考虑了两个关键的预防措施。第一个措施是使用数字签名系统,这样骇客就不能劫持已经存在的项目网络。第二个措施是将所有 BOINC 活动和主机的其他活动隔离开,即“沙盒化”,这样即使有漏洞或者恶意代码溜进了项目数据中,也能最小化引起的损害。

然而志愿者们仍需在加入前更多的了解项目情况,Anderson 博士如是建议。一些网站,包括 BOINC 的官网,都有信息版或论坛供志愿者讨论项目。据 Anderson 博士介绍,即使历经5年,有超过3亿个任务包完成于志愿者的电脑上,“安全事件发生数量为零”。

当然也有志愿者因全时段开机运行而导致的高能源费用问题。根据 BOINC 社区编辑网页的一项估计(从 BOINC 主页搜索“热量和能源因素”),如果按照典型的美国能源价格计算,运行BOINC比起让电脑开启但闲置要每月多花费大约3美元,比起全程关闭电脑要每月多花费约8.8美元。这项估计也指出,在欧洲这个价格大概要高200%。

尽管没有精心设计的界面和许多高端程序配备的技术支持,BOINC 的下载、设置和运行和其他软件一样简单。老电脑的用户可能会遇到一些挫折,一名记者试用时就遇到了问题。一些项目拒绝向这台2004年中端配置的笔记本电脑发送任务,认为其计算能力不足。而它接收到的任务耗费了18个闲置小时才完成运算。(各项目的系统配置需求往往在项目网页上有说明。)在新笔记本电脑上更新项目后,任务包在以前会卡住的地方运行顺畅,而每个任务包只需要约4小时就能完成运算。

boincstats.com 的数据显示,个人电脑和因特网速度的进步在过去的两年中使得志愿计算总能力增长了3倍。现在从近200万用户拥有的400万台电脑中,使用 BOINC 的近60个项目总共利用了约2500点/每秒的浮点计算能力,这是世界上最强大的计算机计算能力的两倍。其中大约20个项目和医学研究有关,有超过30万志愿者为此做出贡献。这里包括了 World Community Grid。

任何科学家只要能搭建一个服务器,就能成为BOINC网络的一员。大多数情况下,研究者必须支付发送、收集和分析志愿者数据的服务器费用。但是那些费用比起使用低端超级计算机每年要耗费的约100万美元来说只是很小的一笔钱。(IBM 的 World Community Grid 对于研究者是免费的,但项目必须经由外部咨询委员会批准。)

BOINC 最支持的生物医学项目是 Rosetta@home,这个项目的目的是模拟蛋白质折叠,进而研究许多疾病的全新治疗方法。蛋白质看起来是旋转、缠绕、混乱且一团糟的,但是组成蛋白质的氨基酸序列却精确的决定了蛋白质的结构和它的生物学功能。这些蛋白质是如何按照每个氨基酸排列而成的是一个庞大且复杂的问题,这一问题正由参与 Rosetta@home 项目的8万台志愿计算机帮助解决,它们测试各种排列,寻找本质上最稳定的蛋白质结构。

自然界中并不存在

项目的结果能让华盛顿大学 David Baker 博士主持的 Rosetta 实验室得以设计出自然界中并不存在的蛋白质。某些新的蛋白质,通过连接和覆盖一些危害人体细胞的病原部分,能够使诸如流感病毒之类的病毒失效。Baker博士的实验室今年就试图针对 H1N1 流感设计新蛋白质。这个项目近几年的最大突破是创造催化剂,这些催化剂能选择性地加快化学反应并规范几乎所有生物进程,Baker博士这样说道。比如说,现在正在研究的一种催化剂是能切割雌性蚊子基因的酶,这样就能在不使用有毒化学品的情况下防止疟疾传播。

研究者说,使用 BOINC 计算网络的科学研究已经显现出一些希望,但还没有突破性进展。Rosetta@home 的成果已经发表于《科学》和《自然》期刊。但是 Baker 博士说,“我们还未能做到的是创造能治愈疾病的酶。”

同样的,与 World Community Grid 合作的项目已经在高端期刊中发表了许多研究成果。但是和这些项目紧密共事的IBM工程师 Joseph Jasinski 说道,“我们发现治疗艾滋病的新药了吗?没有。可我们发现了一些很棒的候选药物。”