关于超算你需要知道的基本事实 原作者 袁岚峰

风云之声提升思维层次

解读科学,洞察本质

戳穿忽悠,粉碎谣言

导读

美国重回超算第一,终结中国五年连续冠军的新闻又一次刷屏了。在被鱼龙混杂的标题党弄迷糊之前,或许您应该先看看袁岚峰老师的这篇超算科普文。

文章从中美超算实力比较出发,再逐一解答常见问题——中国超算用的都是外国芯片,所以一钱不值吗?超算到底有什么实际应用?和量子计算机有什么关系?

回到标题,如何看待美国重回超算第一?基本的回答是:这是一个良性竞争。中国也正在发展下一代的超算,可能在不久之后又会重回第一。让我们拭目以待!

2018年6月8日,美国能源部橡树岭国家实验室宣布,造出了目前世界上最快的超级计算机,叫做“顶点”(Summit),它的浮点运算速度峰值可达每秒20亿亿次。

                超级计算机“顶点”由一排排电冰箱大小的黑色模块单元构成,总重340吨。图片来源:纽约时报

学术界有一个著名的超算500强排行榜,叫做TOP500,自从1993年6月以来,每半年发布一次。目前的TOP500榜单是2017年11月公布的,其中排第一的是中国的“神威太湖之光”,它的浮点运算速度峰值是每秒12.5亿亿次。

神威太湖之光

第二名是中国的“天河二号”,浮点运算速度峰值是每秒5.5亿亿次。天河二号曾经在2013年6月至2015年10月的六期榜单中占据首席,直到2016年6月让位给神威太湖之光,此后一直保持亚军到现在。

天河二号

目前的第三是瑞士的“代恩特峰”(Piz Diant),第四是日本的“晓光”(Gyoukou)。由于超算的规模越来越大,能耗越来越高,冷却和散热成了重要的问题,所以TOP500组织设计了一个新的榜单GREEN500,以每瓦特功率对应的计算能力来排行,作为对TOP500榜单的一个补充。代恩特峰和晓光在这个方面表现不错,分别列在GREEN500的第十位和第四位。

你也许会问:TOP500排第三的代恩特峰到了GREEN500排第十,这叫表现不错?回答是:TOP500的计算能力跨度很大,差一位计算能力就可以差几倍,而GREEN500的单位功率算力指标跨度却很小,几乎全都集中在一个狭窄的区间里。所以GREEN500排在前面的大都是比较小的超算,因为它们设计的时候就特别注重这个指标。例如排第一的是日本的Shoubu system B,它在TOP500上只排在第259位。在这个意义上,代恩特峰排第十确实已经很不错了,GREEN500也确实只能作为TOP500的一个补充。

2017年11月的GREEN500榜单

目前TOP500的第五是美国的“泰坦”(Titan),这是美国排名最高的超算。泰坦曾经在2012年11月的TOP500榜单中夺冠,但半年后就输给了天河二号。也就是说,自从2013年以来,中国超算已经占据TOP500的第一名长达5年了。所以美国对于顶点的发布很兴奋,这是美国超算时隔5年之后首次重返第一。

2017年11月的TOP500榜单

目前在TOP500的500台超算中,按照国家来划分,最多的是中国,202台。其次是美国,143台。第三是日本,35台。然后是德国第四,20台,法国第五,18台,英国第六,15台。基本上,你认为是科技强国的那些国家,就是超算的强国,这两个集合是高度重叠的。这也可以反映出超算的重要性,它相当于科技界的一种基础设施。

其实自从TOP500开始发布的1993年以来,美国曾经不止一次地失去速度最快的桂冠,但始终保持着上榜数最多的地位。在这个意义上,你可以说美国一直保持着最强的整体实力,或者用篮球的语言说,板凳的深度最深。在此前一期2017年6月的榜单中,是美国169台,中国160台,当时已经十分接近了。到了2017年11月,两者的顺序终于翻转,中国第一次在上榜数目上登顶,美国第一次失去这个第一。现在可以说,是中国具有最强的整体实力、板凳深度。

以上是一个大致的背景。我们应该如何看待这些新闻呢?

最最基本的一点值得向公众科普的是,超算是非常有技术含量的。

在中国的超算占据首席的5年中,很多人对此不屑一顾。他们以为超算就是处理器堆出来的,有钱多买些处理器,计算能力就上去了。他们还以为中国的超算都是买的外国的处理器,因此计算能力再高也不值一提。我必须指出,这是双重的误解。

要澄清第一点误解,一句话就够了:现在TOP500排第一的神威太湖之光,用的芯片是中国自己生产的,不是从外国买的。如果你还想了解更多细节,那么就是神威太湖之光安装了40960个中国自主研发的“申威26010”众核处理器,该众核处理器采用64位自主申威指令系统。芯片叫做“申威”,申请的申,所以超算叫做“神威”,神奇的神,看明白这两者的关系了吧?

你也许会问:那么TOP500排第二的天河二号,用的是谁的芯片呢?回答是:天河二号用的是美国英特尔的芯片。

然后,这里就有一段故事了。天河二号连续四次夺冠后,2015年4月9日,美国商务部就拒绝了英特尔公司向中国的国家超级计算广州中心出售至强芯片用于天河二号系统升级的申请。中国的国家超级计算长沙中心、广州中心、天津中心和国防科技大学这四家国家超算中心,被美国列入了出口管制名单。所以你看,美国早就在大动作限制中国超算的发展了。与此同时,美国又宣布要建造3台超过天河二号3-6倍的超级计算机,这次公布登顶的顶点就在其中。这明显就是一方面要扼杀你,一方面自己要夺回第一。

但是因为中国在自主研发芯片,所以让美国的限制落了空。美国惊讶地看到中国横空出来一台神威太湖之光,用的全都是自主芯片,在冠军位置上又占据了两年。大家可以自行脑补美国政府的内心戏,我们在这里就不越俎代庖了。不但是神威太湖之光,以后中国的超算用的必然也都是自主芯片,因为中国在制定超算发展规划时,就已经这么明确规定了!

以上是第一点误解,这个很容易理解。要澄清第二点误解,就稍微复杂一点,需要了解超算的基本原理。

请问,超级计算机为什么算得那么快,能够比个人电脑快成千上万倍?是因为超算用了一个比个人电脑的芯片快成千上万倍的芯片吗?当然不是,世界上没有这样的芯片。

实际的办法是,超算用了很多个芯片,让它们同时执行任务,而单个芯片的性能跟个人电脑的芯片是差不多的。用科学术语来说,这叫做“并行计算”,这是高性能计算的基本思路。用日常生活来比喻,就是“三个臭皮匠,顶个诸葛亮”!有人指出,这里的“皮匠”其实不是处理毛皮的工匠,而应该是“裨将”,即主将身边的副将。无论如何,超算用的远不止是三个裨将,而是三千、三万以至更多个裨将。

下一个问题是,如果你用了n个芯片,你的计算速度就是单个芯片的n倍吗?你立刻就可以发现,不是。实际上,你要让多个芯片同时干事,就必须首先给它们划分好任务,这个任务划分是要消耗时间的。然后,当各个芯片开始计算之后,还不时地要和其他芯片交换数据,这个通信也是要消耗时间的。因此,计算速度的增长,总是低于芯片数的增长。超算的速度与单个芯片速度的比值,称为加速比。现在我们明白了,加速比总是低于芯片数的。

当芯片比较少的时候,加速比上升得比较快。随着芯片数的增加,加速比上升得越来越平缓。当芯片很多的时候,任务划分和数据通信会变成瓶颈因素,这些负担的增加会抵消芯片增加的好处,因此加速比会达到饱和,不再上升。由此可见,芯片并不是越多越好的,光靠堆芯片是堆不出超级计算机的。

典型的加速比曲线,横轴是处理器数目,纵轴是加速比

如果你在大的组织当中做过事,例如大企业、大的政府机构以至大的非政府组织,你就会有很多亲身体会,人浮于事、推诿扯皮之类的毛病,在越大的组织中越容易出现。所以,组织并不是越大越好的。超算也是同样的道理!

现在你可以理解,一台超算能够容纳下多少芯片,并不是取决于有多少钱能用来买芯片,而是取决于架构设计。只有你的系统架构改进了,才能让更多的芯片发挥作用,达到更高的计算能力。超算的芯片数增加,是一个结果,而不是原因。超算的技术含量,是表现在这里!不要以为只有芯片是核心技术,超算架构同样也是核心技术!

例如,天河二号取得突破,最关键的技术之一就是中国自制的TH Express-2主干拓扑结构网络连接,这是世界领先的。天河二号使用光电混合传输技术,以13个大型路由器通过576个连接端口以光电传输介质与各个运算节点互联,单个控制器的数据吞吐量2.56 Tbps,终端网络接口使用名为NIC的控制器,以PCI-E 2.0接口链接,数据传送速率为6.36 GB/s。

因此,无论是哪个国家,能在TOP500上名列前茅,都是非常有技术含量的。现在你明白那些认为中国的超算不值一提的人,是犯了多少错误了吧?无知导致胡言乱语,人傻就要多读书。

在澄清了这个最基本的误解之后,还有一个常见的问题:超算有什么用?

不要笑,虽然在稍微有点见识的人看来这确实是个可笑的问题。许多人问这个问题,并不是因为他们有证据认为超算没用,而是因为他们“感觉”中国的就是没用的。这是一种条件反射,并不是理性思考。

虽然如此,我们还是可以给出一个正经的回答。超算的用途非常广泛,因为现在有太多的领域可以用计算来模拟了。例如空气动力学,这对飞机和汽车的设计都是非常基本的,相当于吹一个数值的风洞。又如气象预测,你想知道飓风的移动轨迹吗?超算告诉你。又如宇宙的演化,你想知道银河系是怎么变成现在这个样子,以后会变成什么样吗?超算告诉你。我的专业领域叫做理论与计算化学,这个学科的主要内容就是用计算来预测分子的结构、材料的性质,那么超算的用处就更是一目了然了!

有人也许会问:有什么必要非要算得那么快?算得慢点有什么不可以?

不要笑,虽然这听起来也是个很可笑的问题,但我们还是可以给出一个正经的回答。有许多问题,我们是希望能实时预测的。例如化工的过程,原料在反应器里如何扩散,如何反应,这是大家十分关心的问题。假如你算得比实际的过程快,那么你就可以预先操纵。但假如你算得不如实际过程快,那么你的计算就毫无用处,你还不如老老实实跟着原料走呢,你也就无法操纵了。因此,计算快慢的区别并不一定是80分和90分的区别,而可能是0和1的区别,以至于生与死的区别。前中科院副院长李静海院士多次强调过,计算能力就是一个国家的核心能力之一。实际上,计算能力永远没有足够的时候,人们永远都有更高的需求。

在超算业界,有一个最高级的奖项叫做戈登·贝尔奖(Gordon Bell Prize),是授予最杰出的高性能计算应用的,每年颁发一次。理所当然地,获得戈登·贝尔奖的应用,一般都是在最快的超算上运行的。2016年和2017年,中国连续两次获得这个戈登·贝尔奖,获奖的应用分别叫做“千万核可扩展大气动力学全隐式模拟”和“非线性地震模拟”,它们用的都是神威太湖之光。如果你对这两个名字感到云里雾里,那么只要我跟你说,后面那个就是对唐山大地震的高精度模拟,你就明白这个研究有多重要了吧?

清华大学地球系统科学系副教授付昊桓等共同领导的团队完成的“非线性地震模拟”获得2017年戈登·贝尔奖

经常有些白痴认为,中国的超算排第一,只是面子工程,没有用处。还经常有些白痴认为,中国的超算排第一,是因为超算的性能已经够用了,其他国家没有动力发展更快的。现在你可以明白,这些观点是多么愚蠢了吧!

当然,中国的超算仍然有需要改进的地方。超算的使用者会注意到一个问题,就是中国的超算应用普及工作还有待加强。虽然我们上榜TOP500的超算数量已经成了全世界最多的,但中国的超算毕竟发展的时间还比较短,许多相关部门和人士还没有及时跟上这个潮流。例如不同超算的应用界面不一样,就会让许多初学者感觉很头疼,然后就不愿意用超算了。

如果中国在冲击超算性能高峰的同时,各个地区也能够统筹计算资源,共享系统和硬件,作业全域调配,改善超算的易用性,那么应用效果就会好得多。事实上,如果学生们能亲身体会到国家的计算能力在提升,“太湖之光”、“西湖之光”、“鄱阳湖之光”等等就在身边,那么这本身就是一种很好的宣传。国家应该有一揽子计划,推动超算的普及。研发更快的超算只是这个计划的一个环节,后面还有许多工作要做。

下面一个问题,终于是一个相当有技术含量的问题,不像前面有些问题那样是白痴级别的了。这个问题是:超算和量子计算机是什么关系?推而广之,有许多人问:美国的量子计算机是不是已经要取代超算了?还有许多人问:超算是不是已经无所谓了,中国应该在量子计算机上弯道超车?

对此的基本回答是:超算和量子计算机完全是两回事。当然,它们都很重要,都很值得关注,不过有两个基本的区别。

第一,超算是一个现实的技术,已经用了很多年,而量子计算机还在实验室演示阶段,离实用还很远。虽然各国都在努力发展,但量子计算机什么时候能够达到实用的程度,还完全无法预测。甚至连这件事能不能做到,都无法定论,大家只是走着瞧而已,因为量子计算机的潜力太大了,哪个国家都不敢放弃。

这第一点区别是很容易理解的,而第二点区别就不是那么容易了,需要很多背景知识。第二点是,许多媒体常常把量子计算机描绘成无所不能,因为它干什么都特别快,——但这是错误的!

实际情况是,量子计算机并不是对于所有问题都特别快,而是只对于某些特定的问题比传统的计算机快。这是因为对这些问题,可以设计出快得多的量子算法,这些算法只能在量子计算机上实现,在传统计算机上不能用。而对于大多数问题,目前并没有巧妙的量子算法可用,量子计算机也就没有优势可言了。也就是说,量子计算机的优势,是依赖于问题的,并不是干什么都灵,所谓“一力降十会”。

量子计算机擅长的问题虽然还不是很多,但在其中就有一些是非常重要的。例如因数分解,也就是说把21分解成3乘以7这样。因数分解的困难性,是目前最常用的密码体系RSA的基础,因此这是个非常重要的问题。如果量子计算机能够实用了,那么我们就可以迅速分解长达几千位的数字,RSA密码体系就会迅速被破解,这会造成重大的影响。想想看,如果你的移动支付信息轻易就被破解了,社会会变成什么样!

由于篇幅所限,在这里我们不能详细地解释量子计算机的原理。我写过许多相关的科普文章,有兴趣的同学们可以去参考,例如搜索《你完全可以理解量子信息》,这是我写的一篇对量子信息的全面科普,你读完以后就可以对这个领域获得比较充分的了解。

就关于超算的问题而言,量子计算机当然是非常重要的,有颠覆世界的潜力,但发展量子计算机跟发展超算并没有矛盾。我们现在是两条腿走路,对超算是作为一个现实的技术来发展,对量子计算机是作为一个前瞻性的研究来发展。

最后一个问题是,在了解了这么多之后,我们应该如何看待美国重回超算第一,中国的五年冠军告一段落呢?

基本的回答是:这是一个良性竞争。既然超算是一个这么有技术含量、又这么有用的技术,那么无论哪个国家取得进步,对全人类来说都是好事,都是值得肯定的。大家你追我赶,共同把人类的能力边界推向前进,这是一个非常积极的景象。

事实上,美国这次夺冠,对于业内人士来说丝毫不意外,因为这些研究项目都是公开的,几年以前大家就都知道了。中国也正在发展下一代的超算,如果顺利的话,可能在不久之后又会重回第一的位置,并且把超算速度从现在的每秒十亿亿次提高到百亿亿次的量级。不久是多久?可能是半年。

在2018年5月的第二届世界智能大会上,国家超算天津中心展示了“天河三号”原型机,这款超级计算机的性能达到了百亿亿次。天河三号全部采用自主技术,处理器是自主的飞腾芯片,通信是自主的天河高速互联通信,操作系统是自主的麒麟操作系统。“天河三号”原型机将会在2018年6月部署到天津超算中心,年底的时候会正式投入使用。让我们拭目以待!

更多袁岚峰的文章:

【科学家专访】中科大袁岚峰:做科普是我的幸运 | 科学传播人

纪念霍金:人是一根会思想的芦苇 | 袁岚峰

石墨烯超导和21岁博士生:对科学的宣传要高调,对个人的宣传要低调 | 袁岚峰

量子计算机强在哪里?不是因为能存下全世界的信息 | 袁岚峰

量子计算远没到可收割的时候 | 袁岚峰

你完全可以理解量子信息(16.2-完) | 袁岚峰

全部专栏