超级计算机发展现状及趋势分析
2020-03-13方粮
方 粮
(国防科技大学 高性能计算国家重点实验室,湖南 长沙 410073)
0 引言
“超级计算机(Super Computer)”指的是计算机中功能最强、运算速度最快、存储容量最大的一类计算机。这类计算机的内存可能达到TB级,外存会达到几千TB的量级,它一般应用在高科技领域和尖端技术研究,如气象、军事、金融、能源等。在信息化社会的今天,一个国家超级计算机的算力和所拥有的超级计算机数量,从一个侧面反映了一个国家在信息化社会中的技术实力,是一个国家科技发展水平和综合国力的重要标志。
中国在1983年就研制出第一台超级计算机“银河一号”,成为继美国、日本之后第三个能独立设计和研制超级计算机的国家;之后,中国的超级计算机突破了一系列关键核心技术,也多次夺得TOP500全球第一超级计算机的名号。在即将到来的人工智能和大数据时代,超级计算机的应用将会更加广泛,同时也在向着更高性能、更快互联、更高可靠性等方向发展。
1 TOP500情况分析
国际TOP500组织是一个为高性能计算机提供统计和排名的组织,主要针对高性能计算机制造商、用户以及潜在用户。TOP500组织从1993年开始对高性能计算机用Linpack(Linearsystem Package)程序进行基准测试,选择前500个最优质系统进行算力列表排序并在TOP500网站上进行公布。TOP500组织每年两次会发布全球已经安装的超级计算机榜单,该榜单以计算性能来排序,排序标准就是超级计算机的运算速度。以往的TOP500榜单一向是由美国的超级计算机所占据,特别是前十名,一般都是美国的,他们不仅单台超级计算机的计算能力强,而且拥有的超级计算机数量最多。但是从“天河一号”超级计算机开始,这一情况逐渐发生了改变。
2009年,中国国防科技大学研制的“天河一号”超级计算机以每秒2570万亿次的运算速度,登顶全球第一。此后,“天河二号”和“神威·太湖之光”也相继夺得了TOP500全球第一超级计算机TOP1的名号。2013年的11月和2016年的6月,再加上2014年和2015年每年两次,“天河二号”一共连续六次获得TOP1的称号。
当“天河二号”超越美国的超级计算机时,美国政府下令禁止英特尔出口超级计算机所使用的至强芯片。因为我们的“天河二号”是基于英特尔的至强芯片做的,当“天河二号”得到TOP1的称号后,当时在任的美国总统奥巴马几次在国情咨文里提到感觉科技受到了威胁,所以对我们实行了禁运。(2015年4月9日,美国商务部发布了一份公告,决定拒绝英特尔公司向中国的国家超级计算广州中心出售至强芯片用于“天河二号”系统升级的申请;国家超级计算长沙中心、广州中心、天津中心和国防科技大学四家国家超算中心被列入出口管制名单,理由是“危害美国国家安全和外交利益”)2016年以后,“神威·太湖之光”使用了自主研发的“申威26010”众核处理器,连续4次夺得全球第一超级计算机称号。这个“众核”的“核”数比“多核”还要多,一个CPU里面有260个核,相当于现在的1个CPU里面集成了原来的260个CPU,有260个处理器。
2020年6月,也就是最新的一届即第55届超级计算机排行榜,排第一位的是日本的Fugaku(富岳)超级计算机。日本以往的超级计算机也得过几次世界第一,如2002年被称为“地球模拟器”的超级计算机以及2001年的超级计算机“京”。Fugaku(富岳)超级计算机有288288个处理器,每个处理器里面有48个核,由富士通的48核A64FX提供支持,是基于ARM的核,共有7299072个核心;峰值速度为513855TFlop/s。
所谓的浮点计算峰值=处理器个数×处理器主频,是一个理论值;而Linpack(HPL)则是浮点性能的综合实际测试值,也是TOP500超级计算机排名的依据。Fugaku(富岳)超级计算机的Linpack(HPL)为415.5 petaflops,是目前排名第二的美国Summit系统的2.8倍。Fugaku(富岳)超级计算机以最高性能运行、处理单精度运算或进一步降低精度的运算时,系统的性能超过1000 petaflops(1 exaflops)。新系统安装在日本神户的理研计算科学中心(RCCS)。排名第二的是美国的Summit,也是上一届TOP500排名第一的超级计算机,其制造商为IBM,共有2414592个核心数,峰值速度为200795TFlop/s,Linpack(HPL)为148.6petaflops。排名第三的也是美国的Sierra,制造商为IBM,中文意思是“锯齿状的山脉”,它的外观看起来也像一个连续的山体;其包含1572480个核心数,峰值速度为125712TFlop/s,Linpack(HPL)为94.6 petaflops。排名第四的是“神威·太湖之光”,由我国的国家并行计算机工程技术研究中心制造,其包含10649600个核心数,峰值速度为125436TFlop/s,Linpack(HPL)为93petaflops。排名第五的是我们的“天河二号”,由国防科技大学制造,其包含4981760个核心数,峰值速度为100679TFlop/s,Linpack(HPL)为61.4petaflops。以上是2020年最新的超级计算机TOP500排行前五名的情况。
在2019年11月的第54届TOP500超算榜前十名中,美国的Summit和Sierra位居前2名,它们都是由IBM制造的,其采用了Power 9的CPU。Power 9是低功耗和嵌入式应用比较多的处理器,以前很少用在超级计算机上;加速GPU采用NVIDIA Volta GV100。Summit的Linpack(HPL)为148.6petaflops,安装在美国橡树岭国家实验室(ORNL),该实验室是美国能源部所属最大的科学和能源研究实验室。位于劳伦斯利弗莫尔国家实验室(LLNL)的Sierra超级计算机位居第二,其Linpack(HPL)为94.6petaflops。2019年11月TOP500前5名的情况如表1所示,Rmax是Linpack(HPL)浮点性能的综合实际测试值,Rpeak是浮点计算峰值,即处理器个数×处理器主频。“神威·太湖之光”和“天河二号”分别排到了第三名和第四名,其余三个都是美国的。
表1 2019年11月TOP500排名前5的超级计算机Table 1 Top 5 supercomputers in the TOP500 in November 2019
2018年11月TOP500前五名的排名如表2所示。其中位居第一的也是美国的超级计算机Summit,它的制造商为IBM,核心数有2397824个;峰值速度为200795TFlop/s,由IBM和美国能源部橡树岭国家实验室(ORNL)研制,Summit要比“神威·太湖之光”快60%,比同在橡树岭实验室的Sierra快50%。
表2 2018年11月TOP500排名前5的超级计算机Table 2 Top 5 supercomputers in the TOP500 in November 2018
2017年11月TOP500前五名的情况如表3所示。截止到2017年,“神威·太湖之光”和“天河二号”连续四次分列全球冠、亚军。其中第五名是美国的Titan,在历史上美国一直都是排在前列,排在前三之后也是很少有的事情。
表3 2017年11月TOP500排名前5的超级计算机Table 3 Top 5 supercomputers in the TOP500 in November 2017
2016年11月TOP500排名前五名的情况如表4所示。截止到2016年,由国防科技大学研制的“天河二号”超级计算机已在TOP500榜单上连续称雄。在该年的最新榜单中,“天河二号”仍以每秒33.86千万亿次的浮点运算速度排名第二。
表4 2016年11月TOP500排名前5的超级计算机Table 4 Top 5 supercomputers in the TOP500 in November 2016
2015年11月TOP500排名前五名的情况如表5所示。2015年,“天河二号”第六次获得TOP500冠军,Linpack(HPL)为33.83petaflops,使用了Intel Xeon的12核处理器及Xeon Phi 31S1P加速卡,总计拥有312万个核心,整机功率17808kW。当年,“神威·太湖之光”还没有推出,排名第二、第三以及第五的都是美国的超级计算机,排名第四的是日本的K computer,中文译名为“金”。
表5 2015年11月TOP500排名前5的超级计算机Table 5 Top 5 supercomputers in the TOP500 in November 2015
2 “天河二号”超级计算机关键技术
“天河二号”用的都是商业芯片,能够夺得TOP500第一名是因为在研制过程突破了一系列核心关键技术,包括:
第一,自主设计实现了创新性的异构多态体系结构。即CPU+GPU的体系结构,2019年“天河二号”使用该体系结构之后,TOP500超级计算机里面的多台系统都运用了这种模式。
第二,设计实现了先进的微异构计算阵列,提升了“天河二号”应用软件的兼容性、适用性和易用性。“天河二号”这样的大系统,在使用上较为麻烦,而采用微异构计算阵列,在兼容性、实用性以及易用性方面都有了较大提升。
第三,设计实现了光电混合的自主定制高速互连网络,可高效均衡扩展到十亿亿次系统互连。大系统运算过程中互相之间传输数据量较大,而且速度要求也比较高,因而互联网络是一个非常核心的技术。国防科技大学在这个领域经过几十年的深入积累,可以扩展到十亿亿次系统互联和达到较高速度,已经成为“天河二号”的核心技术之一。
第四,自主设计实现了层次式加速存储架构,支持全系统存储容量和I/O性能的高效均衡可扩展。系统大了以后,对数据存储要求也会提高,不但要求数据容量大,而且速度也要比较快,“天河二号”采用了多层次的层次式加速存储架构,可以很好满足系统要求。
第五,自主设计实现了新型并行编程模型OpenMC和多领域并行编程框架,提高了并行应用软件的易编程性和运行效率。“天河二号”这样的大系统在运算时对编程有很高要求,专用编程模型和框架才能使系统性能得以很好发挥,运行效率也得以很好体现。
第六,支持十亿亿次系统的容错设计与故障管理:采用多层次容错设计,实现了一体化故障管理,提高了系统的可用性。系统较大的时候,出错的概率也会比较大,比如一个大型运算任务,运行一段时间后,如一个星期,发现某一个节点出错了,如果没有相应的容错机制,一般需要终止该项作业和进行重新计算,这样会导致时间浪费。而容错设计相当于是在一个节点出问题之后,将该节点任务终止,然后将该节点对应的作业任务分配到其他节点,使该项作业能得以继续运行,通过降级使用节省运行时间。
第七,采用综合化的能耗控制技术,提高了节能降耗水平,其能效比进入了国际先进行列。超级计算机每年的耗电量可高达几亿千瓦时,能耗非常大。目前,TOP500里面还有一个Green500能效比的榜单,就是将运算速度和能耗之比,即每瓦性能比作为排序依据。在能耗水平上,“天河二号”与国际先进水平也较为接近。
第八,设计实现了基于背板前后对插、水平盲插的高密度高精度组装结构,使计算密度进入国际领先行列。与“天河一号”相同占地面积情况下,“天河三号”性能提高了一个数量级以上。由于系统较为庞大,一个超级计算机系统通常需要一个篮球场大小的场地来放置机柜,如果组装密度不够高,会导致场地不够用和无法放置。“天河二号”在结构设计上实现了基于背板前后对插、水平盲插的高密度高精度组装结构,巧妙地解决了这个问题。与此前排名世界第一的美国“泰坦”系统相比,占地面积是它的85%,性能却是它的两倍。
3 超级计算机的应用领域
作为国家重大科研基础设施,超级计算机是真正意义上的“大国重器”,常用于国家高科技领域和尖端技术研究,同时也为日常经济、科技、国防等领域一系列复杂、大型问题的解决提供了强大算力支撑。如地球环境和宇宙环境模拟、平安城市建设、生物医学、中微子探测等。
3.1 模拟地球环境
借助于E级超算(E级超算是指每秒可进行百亿亿次数学运算的超级计算机),人们可以更加顺利地模拟现在地球环境的变化,比如详细的大气环流、海洋洋流情况,不但可以让天气预报更加准确,也可以更加准确模拟出全球的气候“微变化”以及其所带来的深度影响。超级计算机也可对较长时间,如半个月后某一局部区域的天气状况进行较为准确地预报,如台风、暴雨等,进而实现对重要大型活动的保障。
3.2 模拟宇宙环境
每一颗航天器在发射之前都需要经过严格的环境测试,因此需要对其将要面临的太空环境进行模拟。而使用E级超算可以轻松实现。通过模拟,未来或许不需要太多的深空探索,便可以知道深空环境的状况。这对航天器研制来说,可大大缩短时间。还比如我们要登陆火星,需要知道火星上气候怎么样,某时刻火星上的温度、湿度怎么样以及火星探测器到达既定轨道后,如何降落到火星表面。这些都可以通过超级计算机进行模拟计算,进而实现精确发射和精准控制。
3.3 平安城市建设
借助于超级计算机,我们可以进行智能监控场景下的大规模并行化视频分析。如通过平安城市系统的摄像头,动态采集图像,跟踪某一个人的行动轨迹,并通过人工智能对其人脸和姿态进行识别。因为在监控摄像头里可能看到的是目标人物的背影或侧脸,这种情况下需对人脸和背影进行对比识别,即自动把多个摄像头采集到的数据通过大规模高速实时计算以后,分析出目标的行动轨迹,比如是从哪个出口到了哪个出口、从机场出来以后坐了什么车、到了什么位置下车、进了哪个小区或者进了哪个单元。因此,超级计算机可以通过对采集视频的大规模高速实时计算实现对目标行动轨迹的适时跟踪,为平安城市和平安中国建设提供保障。
3.4 生物医学模拟分析
如在重症治疗方面,现在都是由医生给出治疗方案,而借助E级超算可以直接对医生的方案进行模拟,并根据病人的情况纠正方案的不足之处,甚至直接提出问题解决方案。如通过药物之间的关系,对药物的治疗作用和效果进行模拟,即分子生物学模拟,或者通过基因分析,对最佳用药或治疗方案进行预测。
3.5 中微子探测
暗物质是宇宙的主要物质构成,中微子与暗物质的凝聚效应导致暗物质结构的质量函数的改变,最终导致星系的特性发生变化,这为宇宙学观测开辟了一条独立测量中微子质量的道路。大规模宇宙学数值模拟依赖具有强大计算和存储能力的超级计算机。2015年,由北大与北师大组成的科研团队利用“天河二号”超级计算机完成了3万亿粒子数的N体数值模拟,揭示了宇宙大爆炸1600万年之后至今约137亿年的暗物质和中微子的演化进程。该N体数值模拟于2015年初在“天河二号”上完成,其模拟粒子数超过美国Mira超级计算机所进行的模拟,创造了新的世界纪录,并首次发现了中微子在宇宙结构中的凝聚效应,开辟了一条独立测量中微子质量的道路。该项研究成果发表在6月5日出版的《自然·天文学》上。而对于一般的计算机来说,由于计算量和数据量非常之大,很难完成这样大规模的模拟。
4 超级计算机的发展趋势
历经几十年的发展,超级计算机在多个领域中发挥了重要支撑作用,也成为尖端科技突破的重要“发动机”。超级计算机未来的发展趋势是:更高性能、更快互联、更高可靠性、更高效的编程环境以及更高的能效。
4.1 更高性能
从现在超级计算应用和科学技术发展的需求来看,我们需要更快、算力更强的高性能超级计算机。从性能要求上来说,超级计算机未来的发展趋势是多态体系结构、更多CPU核、更快的工作主频以及更快的存储系统。
(1)多态体系结构
现在我们采用CPU+GPU的体系结构;还有学者提到存算融合体系,目前还不成熟,所以还没被应用到超级计算机上。但是像乘加运算这种运算方式,加速效果还是较为明显的。
(2)更多的CPU核
一个CPU里面原来是双核、四核,现在已经做到了几十核甚至几百核,理论上来说CPU核多了,其速度会快,但怎样发挥多个核的作用,目前还是很大的问题。
(3)更快的工作主频
像英特尔做了几十年的CPU,但主频到3G左右就很难再提高,因为MOS电路物理限制原因,提高主频是一个非常困难的事情。后摩尔时代,相信也会有更多新的探索来解决这个问题。
(4)更快的存储系统
存储和计算密不可分,超算需要存储器存储中间结果,也需要存储器存储最终结果,以及存储和读取供计算用的原始数据。因此在体系结构、多层次、存储芯片上也需要更多的深入研究,推进超算技术的发展。
存储芯片包括动态随机存取存储器DRAM(Dynamic Random Access Memory)、静态随机存取存储器SRAM(Static RandomAccess Memory)、闪存FLASH、相变存储器PRAM(Phase Change Random Access Memory)、阻变存储器RRAM(Resistive Random Access Memory)、磁阻随机存储器MRAM(Magnetoresistive Random Access Memory)。DRAM和SRAM是现在电脑里一般都在用的存储器;FLASH是U盘和SSD里面用的闪存,但其可承受的写入次数有限制;新型存储器PRAM、RRAM和MRAM这几种在研究和产业化上都很活跃,从原理上来说,PRAM和MRAM的机理和可仿真性都很清楚,RRAM还在探索中。RRAM我个人觉得它的机理不是很清楚,工作的稳定性和可靠性还有待提高;它的单元结构是1T1R,即一个电阻和一个晶体管,结构简单,速度也比较快,功耗也很低,有些优势。它根据施加在金属氧化物上的电压的不同,使材料的电阻在高阻态和低阻态间发生相应变化,但电阻是怎么改变的,机理上还不是特别清楚。对此,我们也做了很多研究,我们用的金属氧化物是较为普通和常见的二氧化钛,电极用金或者铂,通过多次的曲线测量来研究氧空位机制与金属导电细丝机制的氧化物薄膜的阻变特性,综合来看RRAM的机理还不是特别清晰,在可靠性和稳定性方面还有待提升。
MRAM的机理比较清楚,速度也很快,而且几乎没有寿命限制。目前MRAM经历了STT-MRAM(Spin Transfer Torque MRAM)、pSTT-MRAM(perpendicular Spin-transfer Torque MRAM),在研究工作上已经到了第四代的SOT-MRAM(Spin-Orbit Torque MRAM)。第一代的MRAM是通过大电流产生磁场进行数据写入,容量也比较小。第二代MRAM基于自旋转移矩效应进行数据写入,基于自旋转移矩技术的存储器STT-MRAM给MRAM技术带来了大的发展。到了第三代MRAM,利用垂直磁化取向的介质的自旋转移力矩磁性随机存储器pSTT-MRAM,通过介质磁化方向的垂直排列,具有更小的位元面积,在容量方面具有一些优势。利用自旋轨道转矩(Spin Orbit Torque,SOT)效应来翻转磁性隧道结MTJ(Magnetic Tunnel Junction)中自由层的磁矩,这就是第4代MRAM,即SOT-MRAM。研究发现,自旋轨道的转移比较明显,所以它在自由层的翻转方面具有优势,日本东北大学国际综合电子技术研发中心主任远藤哲郎和电气通信研究所大野教授已经宣布开发出可实际运用的SOT样片,并且成功演示了SOT-MRAM单元的操作。
综合来说,MRAM具有较好应用前景,且其读写速度已进入SRAM档次,虽然比高速的SRAM稍慢一些,但将来改进以后将会取代计算机的内存和实现大容量的计算存储缓冲。MRAM目前的定位还是在计算存储器,因为目前从容量上来说,FLASH的容量可以做到1T以上,MRAM目前市场产品虽然可以达到256Mb,但与DRAM和FLASH相比还有较大差距需要追赶。因此,MRAM通过技术更新换代,提高容量、性能和可靠性,降低功耗也是一个艰巨的任务。
4.2 更快互联
光的传输速度比较快、干扰小且在光缆进行传播时噪声也较小。通过光电转化,数据可以从一个计算节点到另一个计算节点;同时计算节点和存储节点之间也需要更快的互联。因此,光电混合的高速互联技术是未来发展趋势。
4.3 更高可靠性
第一,故障诊断、定位和隔离。比如某节点坏掉之后,可以通过互联把该节点切掉,其他节点继续正常运算。
第二,智能容错和优雅地降级(GRACEFULLY DEGRADE)。比如原来使用128个节点进行计算,计算1个月之后发现有1个节点或2个节点坏掉了,可以把这一半的节点切掉,剩下的一半节点即64个节点继续运算和完成任务。这样可能会慢一点,但任务还能继续。在实际应用中,像石油勘探,通过地震采集到的数据量非常大,可能是一卡车录音带需要通过超算进行分析,计算1个月后发现某1个节点坏了,在传统的做法下就需要重新进行分析,这样就浪费了1个月时间。而通过智能容错技术,优雅地降级以后,切掉部分节点,剩余节点继续计算,即使原来只需要1天时间出结果而现在需要1个星期,也比白白计算1个月要好很多。
第三,任务高效迁移。与智能容错和优雅地降级密切相关,就是任务高效迁移技术。即出错任务的节点能退回到某一个固定点,然后将其迁移到另一个节点上继续计算。
4.4 更高效的编程环境
大型计算机系统在运行时,对编程也有很高的要求。如在我国研制大飞机C909时,需要对机壳进行空气动力学仿真模拟,以减少风阻和振动,同时提高平衡性。还如高速行驶汽车的空气动力学模拟以使风阻最小,还如汽车发生碰撞后其形状会如何变化以及怎样保障人身安全,这些都可以通过超级计算机进行仿真,为飞机和汽车的设计制造提供依据。而这些模拟都需要仿真软件和OPENFORM等框架,提供数据之后可以自动生成代码进行仿真计算,形成易用和好用的编程环境、用户友好的编程框架。
4.5 更高的能效
能效即为FLOPS/WATT,国际上GREEN500就是按照能效进行排名的。“天河二号”的功率是18MW,运行起来相当于一个小城镇的用电量,而我国秦山核电站第一期工程的装机容量是26~28MW,可见能耗之大。因此更高的能效也是未来一个重要的发展趋势。