首页 >> 学科 >> 计算机科学 >> 文章

按语:这篇文章在我的电脑上躺了很久了,一直没有写完。近日松鼠会受分布式拒绝服务攻击(DDoS)下线数天,有感于类似的分布式技术能被不法分子利用作凶器,也能为科学家利用而探索万千世界,一鼓作气赶写完了这篇文章,希望能让大家看到分布式计算技术的善意一面。

在我打下这行字之时,我的电脑正在分析着无线电信号,尝试在其中找到一种特殊的模式。这些无线电信号可能来自数万光年外的星球,而我的电脑正在寻找的,是一种特殊的无线电波模式,它最可能来自一种特殊的天体系统:由两颗超高密度的天体——其中一颗是中子星或者黑洞——紧密围绕组成的双星系统。这种系统非常稀少,现今发现的不过几十。

不要被术语吓倒,其实我和你一样,对天体物理所知甚少。我所做的,只是简单地下载了一个叫BOINC的软件,加入了Einstein@home项目,让它利用我的电脑空闲时的资源,为科学而计算。

大众科学

长久以来,科学似乎一直给人的印象,是少数有天赋的科学家才能成就的伟大事业。从牛顿到爱因斯坦,从波义耳到凯库勒,科学一直以来都有着这种精英主义式的印象。才智似乎是参与科学不可或缺的要素。但在近代,随着计算机的发展,起码在实验科学中,数据逐渐变得重要起来。现在的技术条件越发进步,使得研究人员能获得大量的数据,而在以前这是不可想象的。例如密立根的油滴实验,当年需要研究人员肉眼盯着实验仪器手工记录油滴的运动状况,而现在,如果配备上适当的图像处理系统,研究人员只需简单敲敲键盘就能获得数据。

当数据丰盛起来之时,难题也随之而来:单凭人类的能力,无法处理越来越海量的数据。一个极端的例子是在日内瓦的大型强子对撞机(LHC),它每秒钟吞吐的数据量可达800MB,每秒的数据能填充一张CD还有余,一天下来大约有10万张CD-ROM,大概一万张DVD。这种“能压死人”级别的数据,如果没有计算机的强大计算能力的话,研究人员早已被数据淹没。

计算机在数据处理中的地位日渐强化,也意味着只要拥有计算机,一般人也可以参与到科学研究中。尽管没有实验仪器,对分析后数据的意义也不甚了解,但通过运行特定的数据处理程序,一般的科学爱好者也可以在科学研究中助研究人员一臂之力。就像我虽然不懂天体物理,但仍能搜寻新的天体,算是能一偿夙愿。另一方面,研究人员也需要对海量数据处理的能力。希望为科学出一份力的志愿者,需要计算能力的研究人员,两者干柴烈火一拍即合。

这种新的科研形式,就是志愿计算。

蓬勃发展

在1996年1月,George Woltman将他编写的Prime95程序发布到网上,并开始组织一场针对梅森素数的互联网大搜索,这个宏大的计划被命名为GIMPS(Great Internet Mersenne Prime Search)。当时,最强大的个人电脑CPU不过是奔腾Pro,奔腾II还要在一年半后才推出。在短短一年内,数以千计的数学奇客(Geek)参加了这个项目。也正是在这一年,一位参加者Joel Armengaud在他的电脑上发现了这个项目的第一个梅森素数:21398269-1,打破了当时最大质数的世界纪录。这也许是Woltman意料之中的,但也许在他意料之外的是,他的这个项目开创了志愿计算的新时代,也是普通人参加科学研究的新时代。

至今,志愿计算仍在蓬勃发展。从寻找梅森素数的GIMPS到寻找外星文明的SETI@home,从搜寻引力波的项目Einstein@home到计算蛋白质折叠的Rosetta@home,这些志愿计算项目在研究领域上形成了一个很宽的谱。直至现在,活跃的志愿计算项目数量已经过百,其中新项目多半使用了志愿计算平台BOINC。这个平台与SETI@home这个人气最高的志愿计算项目是由同一个小组开发的。这就不难理解为何小组的负责人,加州大学伯克利分校教授David Anderson,会被一些志愿者视为这个领域的偶像了。

同时,志愿者的数量和捐献的计算能力也在不断增长。仅在BOINC平台上,目前活跃捐献计算能力的志愿者大约有30万名,投入了大约50万台计算机,计算能力大约是5.8TFlops,计算能力相当于2台目前最强的超级计算机——天河1A超级计算机。虽然总量很大,但志愿计算利用的,实际上只是计算机的空闲资源。在技术不断发展的今天,一般家用电脑的性能已经远超人们的想象。一台电脑,如果只是上上网写写报告的话,用到的CPU资源不过20%,而剩下的80%相当于浪费了。志愿计算利用的,正是这80%的资源。

聚沙成塔,对于研究人员来说,志愿计算项目就像一台便宜的超级计算机。如果研究课题能吸引大众兴趣的话,只要建立一个项目并做适当的宣传,研究人员就可以获得相当充足的计算资源。当然,这些运算能力并不是凭空得来的。谁能抓住志愿者那慷慨的心,谁就抓住了巨大的计算能力。项目的流行程度其实也就反映了该领域的流行程度。目前来说,最热门的是SETI@home,这反映了人们对地外文明的关注,其次就是物理类、生物医药类和环境气候类。

硕果累累

虽然只有15年的历史,但不少领域得益于志愿计算,作出了不少成果。基于不同志愿计算项目的结果发表的论文数以百计,而且还在不断增长中,其中不乏高素质的研究成果。

例如Einstein@home,本来是用于处理引力波探测器LIGO和GEO 600的信号,尝试找到广义相对论所预言的“引力波”——时空的波动。大约在2008年,他们开始了一个新的子项目:搜寻短周期脉冲双星。脉冲双星(Binary Radio Pulsar,简称BRP)指的是两颗高密度星体——至少其中一颗是脉冲星——相互绕转组成的双星系统。这种双星系统会引起不小的时空弯曲,理论上来说也会发射引力波,可能成为以后探测的重点观察对象。此前多年的努力也只发现了8个BRP,但仅仅经过两年,这个子项目就找到了两个新的BRP。这也属于一种歪打正着。

另一个更现实的项目——Climate Prediction.Net——进程则稳定得多。这个项目旨在通过计算机模拟来研究各种不同要素对气候的影响。他们先后研究了洋流、硫化合物对气候稳态的影响,然后又对增加的二氧化碳浓度如何逐步演变气候进行了研究,而研究结果很多发表在重要的期刊上,比如说Nature。由于掌握了巨大的计算能力,这个项目的计算结果使研究人员对全球气候的变化有了更深的了解。在全球变暖的背景下,这些结果看来是相当重要的。

其实很多研究团队,如果有足够的计算能力的话,也能做出不俗的工作。但由于经费的问题,他们常常不能如愿。如果只需要下载一个软件自动运行就能帮助这些研究人员,那么何乐而不为呢?

------------------------------

对志愿计算感兴趣或者有别的疑问的朋友,欢迎访问中国分布式计算总站(http://www.equn.com/),在站点维基上有丰富的资料介绍。

图片取自中国分布式计算总站与LHC官方网站,数据采自2011年4月3日。

0
为您推荐

59 Responses to “志愿计算:足不出户,窥探星辰”

  1. 生命收割者说道:

    呃……不知道怎么地想起了科学超电磁炮……
    以我大学嘀网啊……连不连得上都成问题……还不知道要不要翻墙……中国什么时候也稍微搞搞这个啊,咱们的人工作时太大压力,空闲时又太娱乐了……

  2. 许岑说道:

    志愿计算,翻译的怎么这么别扭

  3. firstrose说道:

    我正在跑seti,Einstein,Rosetta和milkway

  4. 二次元说道:

    开头真的把我迷糊住了,囧。电脑CPU100%毫无压力

  5. KSCN说道:

    只知道那个计算外星人的软件
    想起来大刘球闪里面搞得那个小程序……

  6. william H.Wei说道:

    跑BONIC的寻找外星生命项目好多年了,还算过清洁水项目,寻找儿童癌症药物等;折叠蛋白质那个也玩过,貌似那个人工折叠蛋白质的,不仅仅是计算机CPU的分布式计算了,还是人类大脑的分布式计算吧?

    • 方弦说道:

      人工协作的项目的话,其实本来是打算下一篇写的,如果到时还写得出来的话……

  7. yimingleon说道:

    提醒:Einstein@Home分析的数据来LIGO,探测是引力波,而非电磁波

    • 方弦说道:

      我文中提到的是Einstein@home的BRP子项目(以前叫ABP),的确是采集来自Arecibo的射电信号分析的,而这个子项目要寻找的是可能成为强引力波源的脉冲双星。当然,Einstein@home的主业还是LIGO和GEO 600的引力波探测数据分析。

      • yimingleon说道:

        我明白了。不过我觉得引力波作为一个公众不熟悉的概念,应该被强调,毕竟einstein@home的主要目的是寻找引力波。

  8. 拼音佳佳说道:

    老外太过注重程序正义,所以这类软件搞的登录验证一大套.我看还不如就是下载安装运行直接就起效,并且自动设置为开机自启动.至于志愿者自己想为什么项目服务,可以自己决定,但如果不作决定,则自动的由服务端进行管理,这样就不需要有任何的外语基础了.

  9. jamesr说道:

    最早听说SETI的时候还没有BOINC项目。话说还有一个病毒就是自动下载安装SETI的,也是有BOINC之前的事了。

  10. 猫屎一号说道:

    这种东西有利有敝,当志愿计算泛滥并且容易实现的时候,有多少人会用它做坏事呢?比如,密码破译、拒绝服务攻击等,软件编写者可以用科学研究的名义隐藏真实意图,并发布虚假消息骗取意愿者的计算机资源,而在短时间内达成目的并撤退。所以,在畅想美好的未来之前应该先防范可能遇到的问题。

    • 方弦说道:

      所以现在很多项目的源代码都是公开的,比如说BOINC平台的源代码,还有SETI@home、Einstein@home等计算程序的代码。这样用户可以自己编译运行这些程序,还可以检查其中是否有不正当的行为。

  11. [...] 本文在科学松鼠会发表,链接:https://songshuhui.net/archives/52446 [...]

  12. wolongly说道:

    找了好久终于找到了,谢谢

  13. Metaverse说道:

    单个神经元显然不能理解这些复杂的思想,但100亿个神经元构成的大脑却可以;1只蚂蚁的行为似乎杂乱无章,一个蚁群的行为却有高度的秩序性,分布计算也像这样的黑箱过程,哈哈。。。

  14. Metaverse说道:

    FT……原来可以用N卡来加速,可惜我的是A卡……

  15. 说道:

    我倒是想支持,可是看不懂項目= =

  16. asdf说道:

    松鼠会受分布式拒绝服务攻击?!
    额(⊙o⊙)…可以理解...宣传真理的确会得罪不少人。
    假如方舟子有个人网站,那肯定更惨。

    • 猫屎一号说道:

      我有说松鼠们吗?我说的是各种“聪明”人,说话这事一旦传开而又缺乏监管你觉得有多少人会看不到这中间的优势?还是只有科学家才看的到,小偷都瞎眼了?

  17. 北京青年说道:

    把全球所有的电脑都联合起来,是不是能达到人脑的效果?

  18. 柳逸安说道:

    话说~~
    这程序我已经使用了好几年
    参加的项目我都有点记不清了
    应该有研究蛋白质和基因的

  19. 118号元素说道:

    想问下那些屏保是真实数据,还是只是屏保。。。

  20. 小兔牙说道:

    不记得在大刘的哪篇文章上见过这东东

  21. 灯仔说道:

    请问哪位知道那个志愿计算的软件里面,我在添加了任务之后,然后想做,然后就弹出对话框说该文件没有程序与之关联执行该操作,请在控制面板的文件夹选项中创建关联,这是让我怎样做?好迷茫 啊,急求帮忙

  22. 荷蛋说道:

    我想知道一下每个项目都是研究什么的(英语差

  23. 大蔥说道:

    下了一个,关于气候的

  24. unijames说道:

    不仅pc机可以进行分布式计算。我的ps3游戏机也在进行蛋白质折叠的项目。

  25. penn说道:

    BOINC我已经算了一年了。

  26. 芷兰说道:

    唉,不是我反动哦,BOINC我曾下载过,也着实公益了一回。不过这软件让我到CPU温度飙升到了104摄氏度,心疼啊。于是就卸载了,不公益了。

    • 荷蛋说道:

      我CPU全部满载的情况下63-64度
      所以你机子散热有点问题吧

  27. 至人之心说道:

    大大的激发了我的潜质!

  28. 说道:

    应该多做点工作,首先是要做到多种语言,中国网民这么多,汉语版怎么都不能少。另外,不要过多加重志愿者机器的负担,使得参加者没有什么顾忌,这样参加的人反而多一些。或者做成负担量志愿者可调节的那种程序。中国人还是有很大的科学公益活动积极性的。

    • 方弦说道:

      现在最新版的BOINC客户端貌似在这方面还是做得不错的,虽然设置不一定很直接。可以到http://www.equn.com的论坛查找最新版的一个功能介绍。

  29. 123说道:

    我看科学松鼠会不如叫做科幻松鼠会。

  30. 哈哈哈说道:

    一榔头下去

  31. blovecob说道:

    一直在参与,Tibetan Antelope 团队,欢迎加入啊。

  32. comzyh说道:

    这个高耗能啊
    超级计算机比能耗多低啊

  33. AU说道:

    不得不说下, bonic把我笔记本电脑的显卡烧了=.=

  34. evolvemunger说道:

    准备加入

  35. Channing Wong说道:

    不支持Linux平台吗?

  36. baige说道:

    那是网格计算 我也参加了!呵呵!

  37. 荷蛋说道:

    支持

  38. 燃素君说道:

    应该是Milkyway吧=。=b,不过MW的A卡计算需要双精度,一般的卡跑不了...除此以外可以试试Moo!和PrimeGrid,前一个是密码学类的项目,后一个是找质数的,TeamChina里面有很多人都亲手找到了质数哦~~

  39. wrong?说道:

    确定只有5.8tflops?是pflops吧

Leave a Reply