在isc 2015大会上发布的第45期全球超级计算机top500排名中,由中国国防科学技术大学(简称国防科大)研制,部署于中国广州超算中心的天河二号再次荣登榜首,连续第5次成为top500冠军。
但是,这次排名第一相比以往却让人心里很不踏实,因为4月9日,美国商务部以“违反”美国国家安全或外交政策利益的活动为由,拒绝英特尔公司向中国的国家超级计算广州中心出售至强芯片用于天河二号系统升级的申请。国家超级计算长沙中心、广州中心、天津中心和国防科技大学四家国家超算中心被列入出口管制名单。
美国的禁令阻止了天河二号的升级计划,虽然天河二号现在蝉联了第一,但是前景却让人生疑。天河未来还能保持世界第一吗?这得从头说起。
一、超级计算机的由来
其实,计算机最早就是从超级计算机开始的,无论是第一台机械计算机(英国巴贝奇爵士设计,未最终完成),还是第一台电子计算机eniac,都是做科学计算和军事用途用的。
计算机性能的扩展有两条道路,一条的不断改进制造工艺,提升芯片设计水平,把单个芯片设计的很强悍,提升性能。还有一条道路是尽可能用比较多的机器并行,用多个机器一起运算来提升性能。
早期,超级计算机都是昂贵的高级货,处理器是专门设计的,芯片组是配套的,甚至每根连接线都是定制的,成本极高。
而随着pc和网络的发展,人们发现追求强大的计算能力可以不那么昂贵。于是,人们开始尝试用大批量生产的pc或者工作站来攒超级计算机。
若干台pc或者工作站通过网络连接起来,把任务分给这些机器并行,然后返回,计算能力丝毫不弱于昂贵的专用超级计算机,于是传统的超级计算机开始没落。
这个时代出现了很多平民化的超级计算机,譬如用浩鑫htpc准系统凑起来的超级计算机,把一个学校的mac电脑凑起来的超级计算机等等,这些看似玩具的东西居然一度占据了top500超级计算机排行榜,甚至谷歌自己用的服务器也是用这种办法攒出来的。
而在这个过程中,人们发现,限制超级计算机能力居然是功耗,人们不能堆积太多的数量是因为功率和发热限制,性能功耗比甚至比性能本身更重要。
于是,ibm开发出蓝色基因,不追求单个核心的高性能,而是降低功耗,攒更多的数量来提升性能。但是因为单独开发这种处理器在批量和成本上无法与通用的pc处理器相比,并没有流行开。
二、从cpu到协处理器
索尼为了提升ps3游戏机的性能,联合ibm搞了cell处理器,这是异构计算的开始。因为在计算任务中,有些任务是简单的,不需要复杂的逻辑处理,只需要足够的计算单元暴力计算,这样处理器就可以设计成两部分,一个简单的运算核心,几个强大的简单计算单元,这就是cell的思路。
(ibm九核心cell刀片服务器)
因为这种计算编程难度太高,所以cell用在游戏机上并不成功,但是这个思路可以拿到电脑上,这就是我们熟悉gpu通用计算。
因为3d的需求,显卡有强大的计算能力,这种能力只用于3d游戏浪费了,于是在cell之后就有了gpu的通用计算,cpu处理复杂任务,gpu处理暴力计算,nvidia甚至搞出来cuda专门解决这个问题,而且在gpu的设计上就为通用计算做了优化。
单台计算机异构化,获得强大的计算能力,那么就可以把这些单台计算机联网,组成计算能力强大的异构超级计算机。
于是中国在2009年搞出来天河一号超级计算机,就是cpu和gpu异构组成的超级计算机,一度排名世界第一。百度搞人工智能的计算机也是这种异构的超级计算机。
(天河一号超级计算机)
如果以后超级计算机全部异构化,那么cpu提供的计算能力只占一小部分,这无疑代表了nvidia和amd要抢intel的饭碗,intel当然不能坐以待毙。
于是intel开始自己做异构用的芯片,这就是larrabee计划,其实gpu本来就是一个个小的计算核心,然后组合起来。而intel手里是有小核心的,这就是当年的奔腾一代处理器核心p54c。
intel把这款20年的老核心集成起来做成众核,做成协处理器,可以做3d显卡,也可以做超级计算机的协处理器。这个项目初期失败了。但是,intel在这个基础上发展出来了“众核架构”(mic)的xeon phi协处理器。并且获得了天河二号号(目前世界第一超级计算机)的选用。
而协处理器的能力取决于单个小核心的计算能力,p54c这个20年前的核心弱爆了。而silvermont作为intel反击移动市场的利器,性能功耗比非常出色。于是,intel把这个小核心攒起来做成众核的xeon phi,这就是knights landing,也就是目前被禁售的处理器。
三、天河的后着
面对美国的禁售,天河有几个选择,一个是通过其他途径购买,因为xeon phi作为intel上货架的产品,即使对中国全面禁售,世界这么大,中国通过转口贸易进口也毫无问题。这个办法是权宜之计,明显和美国政府对着干的渠道肯定会越来越少。
还有一个选择是放弃编程上的便利,转回到nvidia或者amd的产品,这个办法会增加编程的难度,而且nvidia和amd也受美国政府管,一旦发一个新禁令还是解决不了问题。
最难的道路是自力更生,自己研发协处理器,这个需要大量的资金和人才,自己从头做起要从硬件到软件,从设计到制造全包,成本极高而且能否成功很难说。
而天河恰恰走的就是第三条道路,天河二号系统主任设计师、国防科大教授卢宇彤在isc 2015大会上以英文做主题讲演,详细介绍了中国主要的超算应用在天河二号上的实践,我们在讲演中惊异的看到了“china accelerator”。
“china accelerator”就是国防科大给出的方案,这个通用dsp(gpdsp)被命名为matrix2000。
matrix2000设计规格为16核设计,可达到2.4t的浮点性能,虽然还比不上knight landing的3t,但对于白手起家的中国来说,已经相当不易,而且功耗比现有的xeon phi少了100w。
matrix2000采用了标量与向量单元 超长指令字(vliw)的架构。这个东西和现在intel的移动核心堆砌不同,完全是追求性能的架构,而不考虑兼容性问题。
其实,intel当年曾经搞过vliw的安腾,但是因为兼容性问题失败了,没有兼容性的性能卖不出去。而国防科技大不需要把这个芯片商用化,也就不用考虑卖不出去的问题。
但是全新架构代价巨大,国防科技大要针对全新的matrix2000准备的软件堆栈,包括gpdps驱动程序、操作系统、编译器、数学库等,工作量非常巨大。但是一旦成功,这个gpdsp就可以自我发展,打造出来真正的中国超级计算机。
在cpu方面,中国也留有后手,其实单纯比较性能,中国已经有了顶级的cpu。
中国早在1999年就买到 compaq公司的alpha处理器的授权。alpha处理器一款技术成功,商业失败的处理器,其性能远超越同时代的x86处理器,但是商业上却失败,其研发人员后来去了intel和amd,amd公司的k7所使用的ev6总线技术,intel的超线程技术,都是alpha处理器的遗产。
中国买下alpha的授权以后,逐渐发展出来了神威系列。2012年9月16日安装在山东省的国家超级计算济南中心就是使用神威1600处理器。
在技术指标上,16核心的神威1600在1.1ghz的时候,双精度浮点运算能力是140.8g,i7 980xe 6核心在3.2ghz,双精度浮点是107.55g。i7的功耗是130w,神威1600的功耗是70w。神威在性能功耗比上已经超越了当时的intel。
这就是说,美国继续加强禁售,禁止出售intel的至强cpu,那么中国完全可以用神威系列cpu加上国防科技大的matrix2000打造出完全自主的超级计算机。
虽然编程上麻烦一些,通用性上差一些,但是用于国防上,专业用途毫无问题。
美国禁售,最后反而可能逼迫出中国芯片的爆发,用毛主席的话说,应该给美国国务院发一枚一吨重的勋章。
四、工艺软肋也在弥补
在设计上,中国已经可以向顶峰攀登,但是在制造上,中国芯片行业还不行,intel的10nm已经在路上,中芯国际的28nm才量产。
(中芯国际的28nm)
不过,近期在中芯国际,华为,高通与比利时的一家研究机构合作,已经开始了16nm工艺的探索,中国的芯片制造工艺距离世界先进水平也越来越近。
看看三星和台积电,这两年距离intel的距离就近了很多,无非是智能手机火爆,pc停滞,需求拉动技术进步而已。
而中国制造需要大量芯片,可以形成良好的商业循环,进一步提升工艺与设计能力,几个轮次下来,追上甚至赶超美国并不是天方夜谭。
美国的禁售对于中国来说可能是坏事,但是站在历史的角度往前看,美国商务部在试图阻碍中国超算技术的同时给自己挖了一个大坑。可以说,正是在美国的禁售下,中国才不得不加快自主研发的脚步,将自身掌握的技术投入实用,形成商业化循环,不断进步。以中国当下庞大的体量和需求,中国芯片行业的进步速度很有可能超过美国,最终替代美国成为芯片行业的霸主。
专题