|
原载:赛迪网-中国计算机用户 作者:海岸 发表:2005.08.16
http://industry.ccidnet.com/art/35/20050816/312139_1.html
网格消化海量数据 SETI@home 寻找外星人
从SETI@home项目正式启动以来,已经有300万志愿者参加了这个项目,他们从指定的站点下载射电望远镜收集的信息的片断,用自己的计算机运行分析,总处理数据量达到了15T。这相当于使用一台PC机工作482023年,相当于使用超级计算机工作48年。
我们所处的太阳系仅仅是银河系4000亿颗恒星中的一颗,而银河系不过是总星系中数以亿计的星系中的一个。我们常常会想,在茫茫的宇宙中定然有很多很多的生命存在,而且其中会有和人类一样有着高智商的生物—外星人。
外星人可能试图接触我们
美国康奈尔大学的两位物理学家菲利普·莫里森和朱塞佩·科尼在他们发表在《自然》杂志上的一篇文章里,首次阐述了有关无线电信号可以在两个星球之间传播的问题。这直接引发了用射电望远镜探测宇宙间是否有其他文明存在的提议。
科学家们认为:如果“外星人”在试图与我们接触的时候,在“他们”的信号中加入一些有意义的信息,那么信号几乎可以肯定是脉冲信号。
在宇宙中,存在着很多电磁波,但是绝大多数自然界的电磁波是杂乱无章的,较有规律的脉冲很有可能是脉冲星或黑洞发出来的,另一个可能性就是外星人发出来的。因为脉冲星发出来的电磁波频率非常高,理论上黑洞发出来的脉冲过于短促而人类暂时无法探测到。所以,一系列的脉冲可以很容易地被分别出来,而且具有离散抵消机制的脉冲明显被认为是人造信号(自然的离散通常造成高频先到)。我们如果能找到这样的脉冲信号,几乎就能肯定外星人正在试图接触我们。
从地外信号中寻找蛛丝马迹
1960年8月8号,美国射电天文学家德雷克用一架26米的射电望远镜对附近的两颗星星进行了观察。这被认为是现代“地外文明搜寻计划”的首次尝试。自那以后,全世界涌现了60多家有关的机构。SETI(Search For Extraterres Trial Intelligence)研究所是这些机构中做得最出色的一个。
SETI研究所通过对阿莱伯克射电望远镜采集的信号进行分析,希望从中寻找外星人的蛛丝马迹。我们先来看一看SETI研究所是怎样分析这些信息的。
由于行星的自转,“外星人”的信号发生器和我们的射电望远镜都是在沿着各自行星的中心轴做圆形运动。这种运动的结果是天空对于射电望远镜来说是“漂移”的。通常,任何目标在“漂移”过射电望远镜的碟形天线的焦点中线(或者说目标束)时大约要12秒的时间。因此只有在12秒内产生并消失的信号才有可能被认为是地外信号。
要找到外星人信号,科学家要做的第一件事就是消除由于行星“漂移”所带来的多普勒效应(啁啾频率)。最好的方法是,在每一个啁啾频率上,对107秒的数据消除啁啾之后, 再将数据分成8块,每块13.375秒的数据块。每个13.375秒的数据块用0.07Hz的滤波器搜索,试图发现一些有意义的峰值信号(这意味着对每个啁啾频率上的每个数据块要进行约 131072次测试)。在这第一步的处理中,计算机要进行约2000亿次的运算。接下来,将滤波器的带宽加倍,重复进行测试,直到带宽加到1200 Hz,这样需要2750亿次的运算。
科学家们认为,外星人发出来的信号可能是连续的强脉冲或有间隔的规律脉冲。因此,接下来SETI研究所采用了两种方法对信号进行分析。
一种是用于搜索较强脉冲的三相脉冲法。三相脉冲法是在整个频谱的每个频段上,搜索那些超过特定门限的脉冲。对于超越门限的每一对脉冲信号,SETI程序再搜索其中间脉冲信号。
另一种是可以用来搜索较平均但较弱脉冲的快速折叠算法。快速折叠算法是通过将数据包分割成相同大小的块,然后将这些块相加。这样,如果块的大小正好是脉冲周期的倍数,那么脉冲信号就会因为叠加而增强,就会从背景噪声中显现出来。最困难的是,我们根本不知道脉冲的频率是多少,所以不得不尝试不同的频率。
据估计,计算机要完成大约2.4万亿到3.8万亿次浮点运算,才能完成一个工作单元(大约0.25M)。
网格计算消化海量数据
要想完成这样的运算,必须需要一台完全难以实现的超级计算机来完成这个工作。SETI研究所根本不可能建造或者购买这样的计算机,因此他们采取了另一种平衡的方法。那就是用比较小的计算机而花更多的时间来完成这个工作。但新的问题是,这样就会有许许多多的堆积如山的数据等待处理。那么,他们是否可以利用大量的这种小型计算机同时处理不同的数据呢?
伯克利(UC Berkeley)的SETI计划的成员注意到已经有成千上万的计算机是可以利用的。这些计算机中有很多通常是什么也不做,只是在运行屏幕保护,白白地浪费电。SETI研究所希望能够通过借用网上闲置的计算机来完成这个既有趣而又十分困难的任务。好在这些要被分析的数据可以很容易地被分解成很多小的数据包,这些小的数据包可以同时被处理,因为它们之间是相互独立的。因此,SETI@home网格也就产生了。
SETI@home网格的大致流程是这样的:
1.研究部门将需要巨大运算量的任务以程序和数据的形式提交给服务器。
2.服务器将数据和程序代码分成更小的部分,也称“子任务”。
3.PC机安装一种特殊的客户程序,它们能自动同服务器联络,自动下载和处理子任务。
4.子任务处理完后的结果被送回服务器。然后,客户程序下载新的子任务,继续处理。
5.一旦所有的子任务处理完毕,服务器就将各种结果汇总,生成最后的报告,并把最终结果提交。
虽然到目前为止尚未找到外星人,但是,SETI@home项目充分证明了网格计算的强大威力,同时也让我们感觉到网格计算其实离我们很近。
随着普通计算机运算能力的增强、天文望远镜的改进、网格技术的发展,SETI研究所的科学家们越来越乐观地相信,他们能够在不久的将来找到宇宙来的“人造”信号,以证明在浩瀚的宇宙中人类并不孤独。 |
|