分布式计算
什么是分布式计算?
分布式计算是伴随着互联网技术而迅速发展起来的、专门针对复杂科学计算的新型计算技术。大量需要计算的工程数据被分割成小块,由服务器通过客户端发送给每一个参与者,参与者的电脑分析数据,完成后自动将运算结果上传至服务器,服务器将运算结果统一合并得出结论。分布式计算的要点在于利用互联网,把分散在世界各地成千上万志愿者计算机的闲置计算能力组织起来,形成一个超级巨大的“虚拟超级计算机”。
你想过一把科学发现的瘾吗?眼下你就有机会成为爱丁顿,验证爱因斯坦的广义相对论。幸运的是,你不必跑到日全食区域拍摄恒星位置的变化,只需要在个人电脑上运行一个叫做Einstein@home的程序即可。这个程序可以自动接收并计算激光干涉引力波观测站(LIGO)取得的海量数据。
其实,你不过是虚拟“爱丁顿”的1/n而已。在2005年3月初,这个n值超过了30000,并以每天1000人的速度增加,也就是说全世界有3万多人的电脑已经运行了Einstein@home。但这距离科学家期望的至少100万台电脑参与运算还相差甚远。好在今年是国际物理年,在纪念爱因斯坦“奇迹年”的热潮推动下,n值急速飙升应该不是奇迹。
SETI@home是Search for Extraterrestrial Intelligence at Home的缩写,为“在家里搜索地外文明”之意。该计划信奉的原则是,先进的外星文明只要进入无线电时代,就会像地球一样有电磁辐射从他们居住的星球泄漏出来。或者,为了试探宇宙中是否还有其他智慧生命,“外星人”很可能正在主动地发送信号。
位于加州伯克立大学的SETI@home项目组把阿雷西波(Arecibo)射电望远镜采集到的海量信息分成一个个小数据包,发送到互联网上。每台安装了SETI@home软件的电脑都可以自动下载这些数据,以运行屏幕保护或者后台程序的方式参与数据分析。目前共有226国家和地区、超过500万的个人和团体参加了这项浩大工程(在我写这句话时,是5413350个用户,详情可查看其"当前统计信息")。使用的CPU时间超过224万年,如此多电脑联合起来,已经超过了世界上任何一台超级计算机的处理能力。甚至,一千多台联入高速局域网的笔记本电脑在大学一角同时运行SETI@home,就有可能冲进全球超级计算机500强。
除了寻找外星人和引力波,还有更为脚踏实地的分布式计算项目。如分析计算蛋白质的内部结构和相关药物的Folding@home项目;研究艾滋病的生理原理和相关药物的FightAIDS@home;研究新药物的D2OL;帮助实验物理学家设计粒子加速器设计的DPAD项目……而Climte
Prediction(CPDN)项目力求模拟公元1800年以来的全球气象变化,并计算未来50年地球可能发生的气候变迁,以提早对付像电影《后天》里的灾难性天气。
所有这些项目都像SETI@home一样,要求参与者从项目网站上下载一个屏幕保护软件,以便在计算机空闲时接受并处理相关数据。但也有不少人在程序选项中选择“run all the time”(时刻运行),不惜以自己的电脑运行变慢为代价,他们为什么这么做?
促使网友参与分布式计算项目的驱动力来自对收到“外星人”讯号的渺茫期待,来自SETI@home总部用Email发来的电子“奖状”,来自对科学的好奇与信任……当然,还有网络“排名”的诱惑。
按照数据计算量的多少,SETI@home网站上有各种各样的排名:个人名次、国家名次、团体名次……前不久,SETI@home中国团队正在与土耳其队较劲。后者突然发力,以每天处理一万个数据包(相当于1000多台奔腾4级别电脑24小时的运算能力)的速度急进,威胁到“中国队”的全球排位。寻找外星人活动虽无国界之分,但“民族大义”在网上总是要讲的。一时间相关论坛上都是号召网友多多运行SETI@home,并到“中国团队”网站注册的帖子。目前中国大陆排名第22位,中国台湾地区排名第16位,海峡两岸两个团队的参与者加起来约有十万人,没有意大利的人多。从全世界范围看,最强大的是美国团队,有200万众,最弱的是利比里亚团队,只有27人。
与那些痴迷于自由软件的hacks一样,分布式计算爱好者也超出了物质范畴,完全凭乐趣、荣誉感和探索精神投身其中。
主要分布式计算项目一览:
1.Folding@home
一个研究蛋白质折叠,误解,聚合及由此引起的相关疾病的分布式计算工程。使用联网式的计算方式和大量的分布式计算能力来模拟蛋白质折叠的过程,并指引对由折叠引起的疾病的一系列研究。
2.FightAIDS@home
使用你的计算机研究艾滋病的生理原理和相关药物。
3.Drug Design Optimization Lab (a.k.a. D2OL)
药物设计优化实验室工作目标是寻找治疗Anthrax(炭疽), Smallpox(天花), Ebola(埃博拉)和
SARS(非典型性肺炎)及其它一些潜在的极具破坏性的传染病的药物。
4.United Devices Cancer Research
寻找抗癌药物和天花疫苗。
5.Find-a-Drug
帮助研发治疗疟疾、艾滋病和癌症的新药。
6.Human Proteome Folding
一个研究蛋白质折叠,误解,聚合及由此引起的相关疾病的分布式计算工程。它使用联网式的计算方式和大量的分布式计算能力来模拟蛋白质折叠的过程,并指引对由折叠引起的疾病的一系列研究。
7.Übero
关于生命科学,药物研发;财务建模和实时市场分析;勘探能力;密码术和数据安全;网络安全,监听技术;防卫恐怖活动和国家安全;气象和环境模拟;图形转换和压缩;分布游戏和MMPORGs的分布运算计划。
8.Predictor@home
通过分析和检测蛋白质的序列,来预测蛋白质的结构。项目主要是测试第六届CASP(Critical Assessment of Techniques for Protein Structure Prediction)大会上提出的蛋白质结构新算法的准确性。
9.SETI@home
一项旨在利用连入因特网的成千上万台计算机的闲置计算能力“搜寻地外文明(SETI)”的巨大工程。参加者可以用下载并运行屏幕保护程序的方式来让自己的计算机检测射电讯号。
10.ClimtePrediction
模拟百年以来全球气象变化,并计算未来地球气象,以对付未来可能遭遇的灾变性天气。
11.Evolution@home
使用模拟器“在那些濒临灭绝的物种在还没有灭绝前,帮助揭露出其潜在的遗传学原因,改进理解一些与染色体组的变异、腐坏有关的科学性认识,以尽快的找到对抗物种灭绝的方法。
12.Einstein@Home
2005年(世界物理年)开始的计划,目的是要找出脉冲星的重力波,验证爱因斯坦的相对论预测。
13.Muon1
使用你个人的PC的空闲时间来仿真和设计一台粒子加速器(这样做是为了将来能建造一台真正的离子加速器,建造完成后我们可以精确的测量中微子的质量,以便于探索新的物理学理论)。
14.LHC@home
帮助欧洲粒子研究所,设计新一代的粒子加速器。
15.Great Internet Mersenne Prime Search
你可能发现数学中最诱人的成果之一:一个新的梅森素数。我们已经找到了7个。加入这个充满乐趣的研究活动吧。你所需要的仅仅是一部个人计算机和运气。
16.Seventeen or Bust
寻找最小的Sierpinski(谢尔宾斯基)数。
17.RC5-72与OGR-25 安装说明
RC5-72代码破解与最优Golomb尺问题。
18.3x+1 Problem
下载一个仅仅只有15KB的程序利用您的电脑的闲置处理能力帮助数学家们寻找更多的3x+1组合。
点击这里查看更多分布式计算项目