走进生活的超级计算机
2009-02-25猛犸
猛 犸
1997年5月,一场国际象棋比赛结束后,国际象棋世界冠军加里·卡斯帕罗夫坐在房间角落里,用手遮住了脸。这次他的对手是一台IBM公司生产的超级计算机,叫做深蓝。这台高大沉默的机器,在六局的比赛中,以3.5:2.5的战绩战胜了这位世界上最优秀的国际象棋大师。
十多年过去了,现在的国际象棋大师已经不再尝试挑战计算机。在强大的计算能力和近乎无穷无尽的存储能力面前,象棋大师们的艰苦训练和超人直觉并不能帮助他们取得胜利。
即使目前世界上最强大的计算机也没有直觉,不会联想,更不会因为别人对它的看法而心绪不宁。它不能理解三岁孩子都能够理解的话语,一只猫都比它更会察言观色。但是这些沉默的机器擅长的事情是人类绝不可能完成的:它们能够每秒钟计算几十万亿、数百万亿次,能够储存天文数字般的数据。它们工作在我们看不见的地方,却和我们的生活密切相关。
离不开的超级计算机
国际超级计算大会(ISC)每年都会发布两次世界上运算速度最快的计算机名单,叫做Top500榜单。对于像证券交易这样实时性要求高的系统,必须要求高速处理能力——证券市场瞬息万变,0.01s的时滞可能导致收益的巨大变化。目前全球证券市场每天成交额在4000亿美元以上,平均每秒就有超过1800万美元的资金换了主人。这种实时性要求高、计算量巨大的计算工作,除了超级计算机以外,没有其他合适人选。Top500榜单上位于中国的超级计算机有一些也在从事资金管理方面的工作,社保机构、保险公司、大型银行等机构都在使用超级计算机。
航空公司也很早就开始采用计算机来帮助提升效率。1953年,美国航空公司和IBM合作开发了一套机票预订系统,到了今天,几乎所有的旅游代理商都可以访问由这套预订系统发展而来的全球预订系统,帮助旅行者安排旅程。现在地球上平均每天有8万次飞机起降,每天有900万人在1万m的高空飞行。全球预订系统同样使用超级计算机来管理它庞大的数据库,昼夜不间断地处理全球各地的各种旅行预订交易。
在天气预报领域,超级计算机也有用武之地。当前的中短期天气预报主要依靠动力学预报方法,这种方法利用计算机求解描述大气运动的动力学方程组来预测未来的天气。我们知道,大气运动遵循一定的物理法则,而这些法则可以由一组微分方程来表示。人们可以对这些微分方程求近似解,从而得到大气有某种初始状态开始的所有可能的后续变化。但是这种计算要求几个条件初始状态必须准确,天气预报模型要符合实际情况,以及具备迅速完成大量运算的能力。最后一个条件,就要超级计算机帮助满足了。
除了以上的几个简单例子之外,超级计算机在军工、国防、医药和工业方面也都有广泛应用。我们用超级计算机给人类基因重新筛选排序,绘制出人类基因30亿个碱基对的图谱,从而从分子级别上了解人类自身;我们用超级计算机帮助设计飞机和汽车,让它们具备更好的性能;我们用超级计算机分析地层构造,从而探明地下的矿藏;我们用超级计算机处理电信业务,把全球的人们紧密连接在一起。超级计算机已经成为了我们生活不可分割的一部分。超级计算机是如何工作的
要提高运算速度,无非是两条路。一是提高单个处理器的运算速度:二是让多个处理器协同并行工作——我们现在的“双核”、“四核”CPU使用的就是这种策略。
超级计算机在数十年的发展中,走过了向量机、并行处理机两个阶段,现在广泛采用的是集群架构。我们可以把集群看成是由高速网线连接起来的一个小型高速计算机网络,实际上采用的是以数量取胜的战略:把工作分配给更多的CPU来完成,从而提高效率。例如,“走鹃”采用了6500个AMD“皓龙”双核CPU来管理文件和处理输入输出,使用了12万个Power XCell8i芯片来进行密集型的科学计算——后者以前是被设计使用在索尼的游戏主机PlayStation3上的。整个“走鹃”所使用的所有元件都可以在市场上买到。
但是,能买到所有的元件并不意味着任何人都可以在自己家里造出一台“走鹃”。对于超级计算机来说,软件的重要性甚至超过硬件。只有通过合适的软件,把计算任务以最优的方式分配、及时监测和替换坏掉的处理器,才可能获得良好的性能。换句话说,超级计算机需要能够自己管理自己,把自己调整到工作的最佳状态。超级计算机和我们的未来生活
曾经有人说,今天的超级计算机就是明天的家用电脑。然而,除非人们能够找到大幅减小计算机体积和能耗的方法,或者设计出完全不同于现有计算机结构的新型计算机(例如量子计算机),否则超级计算机也只能是政府、大型企业或者研究机构才能用得起的设备。不过,随着超级计算机的广泛应用,也许我们将来可以在家使用超级计算机的运算能力。
升阳微系统公司的创始人斯科特·麦克尼利在20年前曾经发表过的“网络就是计算机”的著名论断,现在正在逐渐成为现实。随着互联网的发展,出现了大量的网络应用程序,它们正在替代那些需要安装在个人电脑上的软件。Google、微软、Adobe等软件业巨头也正在向这方面努力,试图让用户可以通过网络来使用那些过去只能安装在个人电脑上的软件。也许在不久的将来,我们就可以通过互联网使用那些超级计算机的运算能力,来完成那些在我们的个人电脑上不能完成的计算任务;也许再过几年,我们就可以使用简单的客户端——可能简单到只有输入和输出设备就够了——来调动不知身在何处的超级计算机帮助我们工作。人们孜孜以求的目标终将实现,人们可以在任何地方使用任何设备来完成任何工作,无论是想发送电子邮件还是视频点播,无论是查看一幅地图还是编写一段程序。人们和计算机之间的关系将会越来越紧密,计算能力会像自来水或者电力一样司空见惯。
无论如何,超级计算机是我们这个时代最伟大的发明之一,它正在带领人类在以过去无法想象的速度向前飞驰,劲头十足。无法抵挡。