百万个人电脑投入破解科学难题

来自中国分布式计算总站
跳转至: 导航搜索

百万个人电脑投入破解科学难题

日期:2001 年 7 月 20 日 <资料来源:新浪科技>

美国宾夕法尼亚州波科诺山一家普通乡村旅店的地下室,日夜灯火通明,老板迈克·凯利的数台电脑不停运转着,沙沙作响。虽然表面没什么特别,但其实这些电脑正在处理一个现代医学中的重大难题。

凯利的 5 台电脑使用剩余的计算能力,分析着数亿个基因组成的庞大数据库,希望发现基因在艾滋病和癌症等疾病中所起的作用。一天下来,如果运气好的话,他可以掀起 8 至 9 个基因的面纱。如果按照这个速度计算,他可以在数亿年后完成整个解析过程。

不过不要紧张,因为凯利的同好遍天下,全球共有 1 万多台电脑加入了凯利所在的研究项目。这些电脑被因特网编织在一起,组成一个代用的超级计算机。仿佛浩浩荡荡的蚂蚁兵团啮食大象的尸体一样,这些电脑正在有条不紊地测试每一个潜在的基因。他们希望能够在大约两年时间内完成所有工作。

凯利的电脑是这项雄心勃勃的分布式计算计划的根的部分。所谓分布式计算是指把计算分布到多个机器上去进行。利用数千万台个人电脑同时运转所产生的力量来创造虚拟超级计算机,以攻克现代科学中的尖端计算难题。凯利说:“全球目前有相当于一百万台 Cray 超级计算机的计算能力处于闲置状态,把它们调动起来,就可以减轻计算能力紧张的压力。”

以往曾经有过分散的分布式计算项目,但并不红火。随着因特网的迅速传播和个人电脑计算能力日益增长,使这一领域内出现重大变化。科学工作者正在利用这一战略来与疾病作斗争,预测全球气候变化并预测股票市场内的变动。

瑞典放射科学家彼得·詹森设计出一种算法,模拟测量一种小型核废料储存罐周围数千万个点的伽玛射线辐射量。如果最终获得答案,技术人员就可以知道一个罐子的最多储存量。然而,詹森的算法需要数十亿次计算,这项计算如果在在一台电脑上完成,需要大约 5 万年完成。而在 2 万名志愿者的电脑上运行该项目 2 年之后,对罐子的数据计算已经基本完成。杰森说:“计算很简单,只是整个过程的计算量太大。”

分布式计算在某种程度上仍然是普通人很陌生的概念,因为目前参与的人仅有几百万,而访问因特网的用户则高达数亿人。但这种概念正在迅速横扫网络世界,并产生了一种特殊的的技术文化,这种文化把慈善、高科技和电脑游戏混合在一起。

参与者已经形成激烈竞争的计算小组,成为因特网上的团队运动。弗吉尼亚州阿灵顿的网络开发商亨利·斯坦波斯十分钟情分布式计算的,他收集了一批废弃电脑以提高他在分布式计算项目上的排名。斯坦波斯说:“你看到你的名字,然后你会说,我要把我的名字排在最上面。”斯坦波斯是计算股票市场波动性项目的志愿者,同时参与研究蛋白质如何从线型的氨基酸的形式转换成三维形状。

分布式计算的概念从网络计算的早期就已经出现。这一概念早在最早诞生在 20 世纪 70 年代的施乐公司帕洛阿尔托研究中心。那里的网络科学家们创造了一个名为“蠕虫”(worm)的程序,该程序在研究中心的 200 多台机器上漫游,目的是用来搜索可投入使用的闲置电脑。这一项目后来演变成一场灾难,蠕虫可以运行导致系统瘫痪的测试程序,当某一主机下辖的每一台电脑都瘫痪后,蠕虫程序又扩展到一个新的主机上,使它瘫痪。今天提起蠕虫,大多数人已经忘记了这其实是分布式计算的起源,而只记得它是一种破坏性极强、自我传播快的电脑病毒,类似于去年的“爱虫”病毒。

分布式计算的概念此后一段时间里进入冬眠期,到 90 年代中期因特网开始普及、数百万台电脑可以通过一个单一的网络相连接时,分布式计算的概念又开始复兴。科学家开始推出各种质数研究和解密工作,这些计算工作是专为这种方式而设计的,因为这些计算简单,但计算次数却大到难以想像。

最终将分布式计算带到大众面前的是一个名为 SETI@home 的狂想家项目。加州大学伯克利分校领导的工作支持搜索外星智能,让个人电脑用户研究来自波多黎各 Arecibo 天文台射电望远镜的数据,来搜索可能是来自于先进文明的不寻常信号。

尽管不少严肃的科学家怀疑这类项目是否能发现什么东西,但截取外星人通讯的前景那么引人着迷,在推出短短2年内就有300多万志愿者下载了 SETI@home 的数据计算屏保程序。

现在,各大领域内的研究学者们都陆续推出类似 SETI@home,但更具备使用目标的程序。斯坦福大学化学教授维杰·潘德正在领导 Genome@home 的项目,正是这个项目占据了凯利在波科诺山旅店的电脑。在 18000 名志愿者的帮助下,他同时还在运行一个相关项目,一毫微秒、一毫微秒地模拟蛋白质在形成三维形状时的行为。

每天,一个志愿者的电脑可以计算大约 10 亿分之一秒的一个蛋白质的形成过程。如果 18000 台电脑都在运行的话,大约需要三个星期就可以获得一些有价值的结果,然后他们就可以开始研究另一组蛋白质。

位于 England 的 Oxfordshire 的 Rutherford Appleton 实验室的气象动态研究学家迈尔斯·阿艾则试图预测 2050 年的全球气候。今年夏天,阿艾向 17000多 名志愿者发放各种气候预测模型,每一个计算模型人至少需要在一台台式电脑上计算 200 天。分布式计算使阿伦可以模拟数千个方案,评估包括气温等 100 多个参数对全球气候的影响。在一台超级计算机上,他仅可以运行大约 12 个方案。

这些研究项目已经开始获得成果。约 95000 名志愿者组成的一个团体赢得了数项加密竞赛的大奖并且发现了新的质数。斯坦福大学的潘德教授已经根据正在进行的研究蛋白质的试验结果,在《科学》杂志上发表了两篇论文。在 La Jolla 的 Scripps 研究学会,一个名为 FightAIDS@home 的项目已经加快了对治疗艾滋病药物的检查速度。

但除了这些实际收益之外,在这个网上色情内容日增、诈骗和大量垃圾邮件堆积的时代,真正推动这项运动的是一种利他主义和科学研究的精神,以及重新回到纯净的早期因特网时代的渴望。

参与 Genome@home 项目的志愿者斯蒂夫·泰勒说:“癌症使我失去了双亲,我把参与这项计划看作是‘做自己的一点贡献’,来抵抗癌症和其它可怕的疾病。”

泰勒为该项目购置了 6 台电脑。他说:“我发现这样做比起把钱放在慈善机构的信封里、然后不知所终更有成就感。”

为了参加一个分布计算项目,普通的电脑用户志愿者需要下载一个小程序。这个程序将负责计算、与服务器通讯以发送用于处理的大量数据。这个程序的目的是利用电脑闲置时的资源,因此用户使用电脑时,这个程序就会降低运行速度,而在电脑闲置时就会加快。

一家成立 4 年的非盈利研究基金会 Distribted.net 专门致力于推动分布式计算。基金会负责人戴维·马克奈特说:“电脑闲置资源不能储存,没有充分利用的话就白白浪费了。如果能找到一个很好地使用这种资源的途径,将非常令人激动。我希望能够充分利用这些资源。”

但正如因特网逐渐从纯洁的象牙塔走向市场,商业利益已经走近分布式计算领域,并且因此推动了这一过程。

免费因特网服务供应商 Juno 网上服务公司最近提出一些苛刻条件,要求客户不能关闭电脑,这令其客户非常不满。这家公司希望借此向研究机构和其它公司出售处理能力,以获取利润。

许多新兴公司正在组织自己的分布式计算电脑网络,通过抽奖和提供现金回扣等措施吸引志愿者加入。弗吉尼亚州 Fairfax 的 Parabon 计算公司计划根据人们为网络贡献的计算能力,提供一定报酬。其首席执行官斯蒂夫·阿姆特朗估计,一台高端工作站一年可收入 500 美元。

但是对大多数志愿者而言,吸引他们的不是钱,而是最终的结果。数据库管理者米歇尔·霍特克对于他在 SETI@home 里的排名无法上升备感沮丧。这项排名是根据他们为该项目做了多少工作列出的。其实这种排名和与网上游戏排名相比并没有多大区别,但对于参与者而言,这种排名是一项非常重要的荣誉。霍特克最终决定退出 SETI@home 项目,而转而加入另外两项更新的项目,原因就是这两个项目提供更高的排名机会。他加入了 FightAIDS@home 的团队项目,并成功地进入了前 100 名;接着他又加入了英特尔公司和位于德克萨斯州奥斯丁的联合设备公司赞助的癌症研究项目,并迅速上升到第八位。霍特克说:“如果我发现了一些东西,就是发现了一些东西,但我更感兴趣的是获得更高的分值、更高的排名。”住在俄亥俄州的霍特克,一天到晚开着电脑,他的观点是:“如果我现在用不着它,还不如让它开着做些有用的事。”这场竞争已经有些白热化,一些项目明显是针锋相对。

文章开头提到的旅店老板凯利是 Overclockers Network Hellspawns 团队的一名成员。这个团队大约有 65 名成员,从技术专业人员到高校学生不等,最近超过了另外一个以 Star Trek 中的角色 Jean-Luc Picard 船长为名的团队,在斯坦福大学的基因合成项目中排名升为第三。

现在他们已经接近另外一个意大利团队,那个团队比他们多计算出 2000 多个基因。这大约需要 Overclockers 花费 5 天的时间来赶超他们。凯利说,他的团队正在拼命追赶,团体成员在办公室里争取有用的电脑计算时间,此外一些因特网网吧也被拉入这项工作。该团队的一位成员正在写一种 SETI@home 类型的屏保程序,来吸引更多的人支持。尽管意大利的团队保持领先,但凯利有信心赶上他们。这样的话就只剩下 Ars Technica Team Primordial Soup 团队,这支排名第一的团队比他们领先 12400 个基因。凯利明白,赶上他们的机会渺茫。凯利说:“他们就象庞然怪兽,有数万名成员,比我们多太多了。”