天河一号:中国“大脑”有望夺取世界第一

2010-9-08 10:31 来源: 中国科学院
收藏到BLOG

  如果在电影里,在这一排排指示灯不断闪烁的黑色柜子里,多半会存着什么重要的机密文件,但现在,这里正储存着也许是世界上最快的“大脑”。

  根据理论数据,它的运算速度可以达到每秒一千万亿次,还有科学家据此推算:全国13亿人连续计算88年的数据,交给这个“超级大脑”,只需要1秒钟。

  “超级大脑”其实是一台被命名为“天河一号”的超级计算机。在国家超级计算天津中心的大楼里,它们被装入100多个用光纤相连的机柜,存放在一间近千平方米的大房间里,不断发出风扇旋转的轰鸣声。这是中国第一台也是目前唯一一台千万亿次级别的计算机,它的诞生,也使中国成为继美国之后,第二个有自主研制如此规模超级计算机的国家。

  “与‘银河’系列计算机的定位不同,‘天河’系列的超级计算机主要针对民用市场。”国家超级计算天津中心副主任朱小谦说。他同时介绍,在今年年底正式投入使用之后,这个“超级大脑”可以帮助我们作出更精准的天气预报、设计更安全的汽车,或者研发更有效的药物,从而直接影响每一个普通人的生活。

  这台国产自主的超级电脑“很有可能摘取世界第一的桂冠”

  在普通人看来,要提升计算机的计算能力,似乎只要把很多个中央处理器(CPU)“绑”起来就行了。就好像要比10个人的小组工作快10倍,只要找100个人来就可以了一样。但在计算机的研发中,这一过程却复杂得多。为了把计算机的运算速度从“每秒一百万亿次”增加到“每秒一千万亿次”,中国科学家花了3年的时间。

  “影响计算机性能的因素有很多,除了CPU本身的性能,它们之间的通信状况也很重要。”朱小谦说。

  在现实生活中,当我们把一份任务分给100个人去做的时候,除了前期把工作细分,最后把个人的工作汇总,中间还要让这100个人进行适当的沟通和配合,否则就会产生严重的内耗,降低工作效率。

  研发超级计算机的并行工作原理也是如此。不同的计算子任务之间应当不断交流计算的进度,在需要的时候交换计算结果并且相互配合。这些工作无法完成,电脑就会产生大量的“额外开销”,消耗大量的电力,也完全实现不了自己应有的运算能力。

  当超级计算机的研制提高到“千万亿次”的级别,计算规模越来越大,CPU的数量越来越多的时候,如何提高元件间的相互通信能力就成了学术界讨论的热点。与过去的超级计算机中单纯使用CPU不同,一些学者提出,可以将普通计算机中用于图形处理的图形处理器(GPU)应用在超级计算机中,成为计算过程中的“加速模块”。

  “CPU与GPU的结合可以让相同计算能力的计算机的体积更小,消耗的能量也更低。”朱小谦说。

  不过,在很长一段时间里,这两种处理器共同工作的模式一直停留在理论研究的阶段。美国已有的千万亿次计算机仍然保留了单纯使用CPU的方式,但“天河一号”的研发人员却第一次将学术界讨论的“概念机”变成了现实。

  在“天河一号”一排排高大的机柜里,一共装有6144个CPU和5120个GPU,这就是它惊人运算速度的原因。有媒体描述说,“天河一号”一天的计算量,当前主流的双核处理器微机要算160多年。

  朱小谦并不认同这样简单的比喻。“天河一号不能直接和一台微型电脑相比。”朱小谦说,“单个CPU并不能体现出它的速度,它的功能是整体协作的结果。”

  他解释说,同样一台超级计算机,在用于天气预报的计算时可能速度特别快,但用于航空领域的计算时效果就没那么好。计算机的速度与程序的算法直接相关,因此,很难笼统地对它的速度进行直接评价。

  不过在国际上,人们还是找到了衡量超级计算机的标准。通过运行一个世界通行的“基准测试程序包”,人们就能获得计算机的速度评价,甚至还有人每年以此为标准对超级计算机进行“世界500强”排名。

  这个由德国人在1993年创立的排行榜每半年发布一次。在2009年11月发布的第34季超级计算机500强的排名中,一个月前刚研制成功的“天河一号”在全球排名第五,亚洲排名第一。这是中国计算机首次在这一榜单中进入前5名。

  在2009年研发完成之后,国家超级计算中心的工作人员又对“天河一号”的性能进行了优化更新,其中CPU更是换成了国产自主研制的“飞腾”芯片,“性能更加强大”。

  对于今年11月的新一轮“500强”排名,朱小谦非常保守地表示,“‘天河一号’很可能会有更好的名次。”而另一些超级电脑工业的科学家和工程师则提出,当今中国制造的超级电脑“很有可能摘取世界第一的桂冠”。

  中国正迅速成为高性能电脑领域的“玩家”

  在超级计算机领域,美国的领先优势非常明显:在2009年的电脑“世界500强”排名中,282台来自美国。

  不过,从2009年开始,来自中国的超级计算机已经逐渐崭露头角,除了“天河一号”,在2010年上半年的排名中,同样来自中国的“曙光星云”超级计算机排到了第二名。

  “这肯定有一定的鼓舞作用。”牛津超级计算中心的主任乔·洛克利博士在接受采访时评价说,“中国正迅速成为高性能电脑领域的‘玩家’,这将意味着真正的工业兴起。”

  事实上,在许多工业研究领域,超级计算机都发挥着越来越重要的作用。在石油勘探的过程中,对地下构造的计算、分析有助于精确寻找油藏的位置,而在飞机研发领域,超级计算机能够模拟大量的试验,从而制定出最好的设计方案。

  洛克利表示,虽然中国超级计算机研究的起步比较晚,但这刚好提供了一个“很高的起点”:不需要浪费资源去解决一些发展初期所要面对的瓶颈和难题。美国早在1990年就提出了制造千万亿次级巨型计算机,但直到2009年,这一目标才得以实现。几个月之后,中国的计算机就达到了同样的目标。

  朱小谦从1998年就投身超级计算机应用研究工作,对国产超级计算机的每次技术进步如数家珍。虽然这些变革在普通公众看来,不过是一块块同样陌生的芯片。而从外观上来看,国内的超级计算机“组装密度越来越高,体积也越来越大,计算能力更是直线增长”。

  在今年的排名中,已经有24台国产超级计算机排入了“世界500强”的名单。除了人们熟悉的“银河”、“神威”等用于军事开发的计算机,“曙光”、“联想”、“浪潮”等民用计算机也在普通人的生活中发挥着重要作用。

  不过,这一领域日新月异的高速发展并没有给研究人员什么时间用来欣喜。事实上,就在“天河一号”排名世界第五之后,在2010年上半年的第35季电脑“世界500强”排名中,这一名次就跌落到了第七位。

  “全世界计算机的发展非常快,一年的时间就可能什么都变了。”朱小谦说,“真正重要的还是把它们推广应用,产生实际的效益。”

  就像爱因斯坦的大脑推动了科学的进步一样,这个也许是世界上最快的“大脑”,也能让我们的生活变得更加美好。

  “天河”系列超级计算机的名字,取自国防科技大学“银河”系列计算机与天津市滨海新区的合作。2009年9月,“天河一号”在研发完成后被运到天津,在正式投入使用之前,超级计算中心先将一个运算能力为1/10的小系统向公众开放。

  现在,已经有天津市生物医药联合研究院、南开大学等研发单位利用小系统进行药物研发,天津的动漫产业综合示范园也在此进行一些动画的制作。

  “‘天河’一号为用户的设计研发提供了一个高性能的运算平台。”朱小谦说。

  他介绍说,在使用“天河一号”的系统时,工作人员先帮用户把程序移植到业务主机上来,随后通过调试让程序更符合机器的特点,运行得更加高效、经济。

  “天河一号”的使用也并不局限在天津地区。事实上,它还提供了24小时的网络远程应用服务。人们可以在得到超级计算中心的授权之后,从自己的电脑通过互联网连接到“天河一号”,上传自己的程序,下载运算数据,从而“使有兴趣的大、中学生也可以进行课题研究”。

  不过,朱小谦也表示,对于“天河一号”这样的千万亿次级超级计算机,由于CPU之间的相互协调需要大量能耗,普通的程序未必能体现出它的“强大能力”:“要充分发挥它的优势,所需要的计算量一定要具有相当规模,否则就是‘大炮打蚊子’了。”

  现在,这台中国最快的计算机正立在天津滨海新区的产业园区里。国家超级计算天津中心的工作人员正马不停蹄地对它进行调试。除了通过测试程序来判断机器的状态是否稳定,元器件故障也是工作人员的重点排查对象。

  对于只拥有一个CPU的普通电脑而言,发生故障的概率很低,但在 6000多个CPU 和5000多个GPU 聚集在一起之后,发生故障的概率就高得惊人了。“天河一号”的监控管理系统能够及时提示发生故障的节点,并且将CPU上运行的任务迁移出来,而工作人员也同样需要及时将坏掉的CPU进行维修、替换。

  “我们计划在第四季度让它投入正式运行。”朱小谦说。

  尽管调试还没有完成,工作人员已经期待着这台中国最快的计算机在更多的领域一展身手:它可以在药物研发中对所有可能的分子组合进行高速测试,从而筛选出十几种甚至几十种药物进行实验;它可以用高速的计算分析气流、云层数据,从而作出7天甚至更长的精确天气预报;它能够对股票期货的投资进行详细模拟计算,甚至可以将行动建议精确到“几分几秒出手”;它也可以反复模拟安全碰撞试验,减小设计误差,提高汽车的质量和安全性能……

  或许,就像爱因斯坦的大脑推动了科学的进步一样,这个也许是世界上最快的“大脑”,也能让我们的生活变得更加美好。

2009年10月29日,国防科技大学成功研制出的峰值性能为每秒1206万亿次的“天河一号”超级计算机在湖南长沙亮相。我国成为继美国之后世界上第二个能够研制千万亿次超级计算机的国家。超级计算机又称高性能计算机、巨型计算机,是世界公认的高新技术制高点和21世纪最重要的科学领域之一。

这是科研人员在对“天河一号”超级计算机进行系统性能测试。

这是“天河一号”千万亿次超级计算机系统。