近几年来,我们经常会听到智能医疗、自动驾驶、AI大战围棋高手等热点词汇或事件。对于这些词汇,大家能想象到的可能是一台医疗仪器,一辆汽车,也可能会以为和围棋高手对战的只是那台小小的电脑。但事实并非如此,在它们背后,有我们看不到的庞然大物:超级计算机。
计算机电脑,我们并不陌生,但超级计算机似乎离我们的生活很遥远,今天就跟大家聊一聊,我国首台千万亿次超级计算机“天河一号”背后的故事。
超级计算机是计算机中功能最强、运算速度最快、存储容量最大的一类计算机。经常被用于国家高科技领域和尖端技术研究,或者科学家通过对数值模拟来预测和解释以前无法实验的自然现象,肩负着运行大型计算的使命。
简单来说,超级计算机的基本构成其实和我们个人电脑的概念并没有太大的差异,但规格与性能则强大很多。例如,家用电脑一般只有一个CPU,每个CPU内一般只有2个到8个物理核心;而一台超级计算机则有成千上万颗CPU,每颗CPU内通常有几十个物理核心,于是超级计算机就成了这样一台由数百数千甚至更多的处理器组成的、能计算普通PC机和服务器不能完成的大型复杂课题的计算机。
超级计算机最大特点是在于它具有超强的计算和处理数据的能力,运算速度可达到每秒万亿次以上。
CPU,也叫中央处理器,是一块超大规模的集成电路。它的功能主要是解释计算机指令以及处理计算机软件中的数据,是一台计算机的运算核心和控制核心。我们可以把CPU理解成人类的大脑,发现了问题就相当于输入了数据,这时大脑就会根据问题进行处理,处理的速度取决于大脑,也就是CPU的性能,性能越强,收到处理结果的速度就越快。
2007年11月,美国研制出了世界第一台千万亿次超级计算机,峰值计算速度每秒1456万亿次。在2009年6月公布的世界超级计算机500强中,美国占据291席,欧洲占据145席,而且前10名全都是美国产品。与发达国家相比,我国不仅在计算能力上相差一个量级,装机数量上也有所差距。
在日新月异、竞争激烈的超级计算机研制领域,不进则退是十分现实而残酷的生存法则。因此,面对高性能计算领域的严峻挑战,中国国防科技大学计算机学院的科研人员再次吹响了研制“天河一号”的号角。
为了打造属于自己的超级计算机,天河团队坚持自主创新,潜心攻关,甚至在研制过程中还展开了一场极富创意的“主动出击战”。在当时,我国研讨制定的方案是:先研制两台百万次超级计算机,再研制一台千万亿次超级计算机的“两步走”计划。但天河团队经过深入地技术调研和反复地权衡利弊,决定从每秒10万亿次直接冲刺每秒1000万亿次,走别人没有走过的CPU加GPU技术路线,这一超常决策引起了人们的一片哗然。
要知道,以10倍速度逐步递增来研制超级计算机,已经成为了国际惯例。从每秒10万亿次直接向每秒1000万亿次跨越,大多数人都对这一决策能否成功持有怀疑的态度。
按常理来说,CPU是用来计算数据的,GPU是用来进行图形和视频处理的,如果把GPU用来计算,不仅会让编程很难,而且计算效率也很低。但GPU具有并行度高、功耗低、价格便宜等特点,如果能在用于科学计算上取得突破,将具有十分突出的优势。
为此,天河团队大力攻关,不断地进行可行性验证。那一段时间,晚上的研究室灯火通明,大家废寝忘食,想要攻克这一难题。2009年3月,天河团队把CPU和GPU组合起来,发现总性能竟然还不到600亿次,而一颗CPU就有近500亿次的性能。也就是说GPU虽然用于图像处理速度惊人,但让它与CPU放在一块用于科学计算,就变得非常懒惰,计算效能只有20%左右。
失败的滋味并不好受,但是他们并没有气馁,而是连续突击奋战四个月,先后改进优化了8万多次,创造了一个科学奇迹:那就是在国际上首创了CPU和GPU相结合的异构融合计算体系结构,把GPU计算效能提高到70%以上,达到了世界最高水平!
到了2009年10月29日,天河团队成功研制出了我国第一台千万亿次超级计算机“天河一号”。一年后,升级改进的“天河一号”在第36届国际超级计算机500强排行榜上取得了排名第一的好成绩。
作为当时世界上运算速度最快的超级计算机,持续速度可以达到每秒2570万亿次浮点运算、峰值速度为4700万亿次。如果换算成我们民用计算机的运算速度,“天河一号”运算1小时,相当于13亿人同时计算340年以上。
经过我国科研人员多年的努力,终于打破了美国在超级计算机领域长期一家独大的局面,这也标志着我国自主研制的超级计算机综合技术水平跨入世界领先行列。
但在我们欢呼庆祝的同时,需要知道我国的科研团队在奋起直追的路上,有多少个不眠之夜,又有多少次激流勇进。可以说,“天河一号”的成功,不仅来自于科研人员的辛苦钻研,还来自超强的胆魄以及超出常人的科研精神。
就拿通信光纤的铺设来说,当时“天河一号”需要进驻国家超算天津中心,因为是首期工程,所以时间紧、任务重。但在施工第一天,铺设工程就遇到了关键性问题,原来施工人员刚铺设几根通信光纤,就发现在40多摄氏度的高温下,水泥表面太过粗糙,光纤的绝缘胶皮很容易被磨出道道裂痕,个别地方甚至还露出线芯。如果这个问题不解决,轻者会导致信号中断、通信短路,严重时还可能造成系统紊乱,影响“天河一号”的运行。
由于项目时间紧张,施工人员来不及多想,便纷纷跳进闷热的沟槽,俯卧在粗糙的水泥地上,用身体铺就了一条“人肉地毯”,从而将15000根通信光纤毫发无损地铺设完毕。就这样,等到“天河一号”试机那天,才使得打开机器的一瞬,全部通信线路畅通无阻。
听完研制“天河一号”的艰辛过程,或许有人会有疑惑:科研团队不辞辛苦,投入大量的人力、物力、财力制造出来的“天河一号”到底有什么作用呢?
其实,“天河一号”超级计算机与我们老百姓的生活是密切相关的,它的应用可以简单通俗地概括为三个方面:即算天、算地、算人。
所谓的“算天”,就是借助超级计算机预测气候的变化,提供有关发生可能性低、但破坏性大的气象事件的预警,这样就可以减轻极端天气给人类带来的伤害。同样,对于天气情况的准确预报也需要具备迅速完成大量运算的能力,比如我国自行设计生产的“银河Ⅱ型”大型机就曾经被使用于天气预报领域;在2008年北京奥运会中,北京气象局也采用了超级计算机来为北京及周边地区提供精确到小时的天气预报。此外,超级计算机在航天领域同样展现了绝佳的性能。
“算地”,就是相当于给地球做“CT”。比如,超级计算机对地震的模拟,可以让我们更好地对地震进行预测;而且,超级计算机还能对石油勘探的数据进行处理,想把石油、天然气资源尽量多地开采出来,都需要利用高性能超级计算机对数据进行精确处理。目前,“天河一号”已经在石油勘探方面获得了成功的应用。
而“算人”则是指探索人类大脑的秘密、破解人类基因密码。如今,超级计算机的应用触角已经延伸到生命科学研究等领域。借助超级计算机强大的计算能力,人类研制新药的周期会大大缩短,还可以为疾病的治疗提供革命性的方法。目前,军事医学科学院已经在“天河一号”上进行了以胰岛素受体为靶点的糖尿病新型治疗药物的研发。
实际上,除了算天、算地、算人之外,超级计算机还可以为经济、科技、国防等领域存在的一系列复杂、大型的问题提供计算上的支持,解决普通计算机难以解决的“挑战性问题”。而这正是科研工作者投入大量精力、时间去研制超级计算机的根本原因。