性能突破200PFLOPS!世界第一超级计算机Summit解析
- 来源:微型计算机 smarty:if $article.tag?>
- 关键字:超级计算机,Summit smarty:/if?>
- 发布时间:2018-09-29 11:19
超级计算机作为人类顶尖技术的最佳代表,在全球各个领域都起着举足轻重的作用,一套优秀的超算能够极大地提高科研效率甚至推动一个行业的发展进步。我国近年来在超级计算机领域频频发力,推出了诸如天河系列、“神威太湖之光”等多款超级计算机,甚至长期独占鳌头笑傲全球。从现实情况来看,除了我们国家,美国在超算领域的实力依旧不可小觑。在2018年的6月,美国能源部在橡树岭国家实验室正式宣布了全新的超级计算机—Summit。
2018年6月25日,TOP500组织发布了第51届全球超级计算机排行榜。在这个榜单中,来自于美国橡树岭国家实验室,受美国能源部资助的Summit暂居超级计算机榜首。
新一届超算争霸赛—Summit登顶
根据超算Top500排行的数据,Summit超级计算机的峰值浮点性能为187.7PFlops,Linpack浮点性能为122.3PFlops,功耗为8805.5kW。相比之下,我国的神威太湖之光的峰值浮点性能为125.4PFlops,Linpack浮点性能为93.0PFlops,功耗为15371kW。第三到第六名分别是美国的Sierra、中国天河2A(升级了全新的Matrix-2000处理器,移除了之前的Xeon Phi,性能提升至61.4PFLops Linpark)、日本的ABCI以及瑞士的Piz Daint。
除了TOP500排行榜外,在HPCG排行榜中,Summit仍然暂居第一名的位置,HPCG性能为2925.75TFlops/s。第二名到第五名分别是美国的Sierra、日本的K、美国的Trinity、瑞士的PizDaint。
根据新的排行榜和性能,Summit正在取代TITAN,成为全球最强大的超级计算机。值得注意的是,由于计算机制程和架构进步,新的Summit在功耗相比TITAN增加不多的情况下(从之前的9兆瓦提升至13兆瓦),性能提高至前代产品的10倍。需要注意的是,Summit的目标并不是单纯的性能提升,而是在实际应用中实现5~10倍的性能提升。另外,在Linpark和HPCG性能之外,由于Summit使用了目前深度学习领域最强的GV100芯片作为加速芯片,因此具有强大的深度学习计算能力,每秒可以进行30亿亿次混合精度计算(30 exaops),成为目前深度学习计算最强大的计算机。
近看Summit—节点、机架和整体
在了解了Summit的基本信息后,接下来本文将进一步分析组成Summit的硬件部分。
从硬件架构方面来看,Summit依旧采用的是异构方式,其主CPU来自于IBM Power 9,22核心,主频为3.07GHz,总计使用了103752颗,核心数量达到2282544个。GPU方面搭配了27648块英伟达Tesla V100计算卡,总内存为2736TB,操作系统为RHEL 7.4。从架构角度来看,Summit并没有在超算的底层技术上予以彻底革新,而是通过不断使用先进制程、扩大计算规模来获得更高的性能。
虽然扩大规模是提高超算效能的有效方式,但是为了将这样多的CPU、G PU和相关存储设备有效组合也是一件困难的事情。在这一点上,Summit采用了多级结构。最基本的结构被称为计算节点,众多的计算节点组成了计算机架,多个计算机架再组成Summit超算本身。
计算节点—
2CPU+6GPU
Summit采用的计算节点型号为Power System AC922,之前的研发代号为Witherspoon,后文我们将其简称为AC922,这是一种19英寸的2U机架式外壳。从内部布置来看,每个AC922内部有2个CPU插座,满足两颗Power 9处理器的需求。每颗处理器配备了3个G P U插槽,每个插槽使用一块GV100核心的计算卡。这样2颗处理器就可以搭配6颗GPU。内存方面,每颗处理器设计了8通道内存,每个内存插槽可以使用32GB DDR4 2666内存,这样总计可以给每个C P U可以带来256GB、107.7GB/s的内存容量和带宽。GPU方面,它没有使用了传统的PCIe插槽,而是采用了SXM2外形设计,每颗GPU配备16GB的HBM2内存,对每个CPU-GPU组而言,总计有48GB的HBM2显存和2.7TBps的带宽。
风生水起的NVLink 2.0
继续进一步深入AC922的话,其主要的技术难题在于CPU和GPU之间的连接。传统的英特尔体系中,CPU和GPU之间的连接采用的是PCIe总线,带宽稍显不足。但是在Summit上,由于IBM Power 9处理器的加入,因此可以使用更强大的NVLink来取代PCIe总线。本刊在之前的文章中也曾深入分析过NVLink的相关技术,在这里就不再赘述。
单颗Power9处理器有3组共6个NVLink通道,每组2个通道。由于Power 9处理器的NVLink版本是2.0,因此其单通道速度已经提升至25GT/s,2个通道可以在CPU和GPU之间实现双向100GB/s的带宽,此外,Power 9还额外提供了48个PCIe 4.0通道。
和CPU类似,GV100 GPU也有6个NVLink 2.0通道,同样也分为3组,其中一组连接C P U,另外2组连接其他两颗GPU。和CPU-GPU之间的链接一样,G PU与G PU之间的连接带宽也是100GB/s。
CPU之间的通讯—X总线登场
除了CPU和GPU、GPU之间的通讯外,由于每个AC922上拥有2个CPU插槽,因此CPU之间的通讯也很重要。Summit的每个节点上,CPU之间的通讯依靠的是IBM自家的X总线。X总线是一个4byte的16GT/s链路,可以提供64GB/s的双向带宽,能够基本满足两颗处理器之间通讯的需求。
另外在CPU的对外通讯方面,每一个节点拥有4组向外的PC Ie 4.0通道,包括两组x16(支持CAPI),一组x8(支持C API)和一组x4。其中2组x16通道分别来自于两颗CPU,x8通道可以从一颗C P U中配置,另一颗C P U可以配置x4通道。其他剩余的PCIe 4.0通道就用于各种I/O接口,包括PEX、USB、BMC和1Gbps网络等。
完整的节点性能情况
Summit的一个完整节点拥有2颗22核心的Power 9处理器,总计44颗物理核心。每颗Power 9处理器的物理核心支持同时执行2个矢量单精度运算。换句话说,每颗核心可以在每个周期执行16次单精度浮点运算。在3.07GHz时,每颗CPU核心的峰值性能可达49.12GFlops。一个节点的CPU双精度峰值性能略低于1.1TFlops,GPU的峰值性能大约是47TFlops。请注意,这里的数值和最终公开的数据存在一些差异,其主要原因是公开数据的性能只包含GPU部分,这也是大多数浮点密集型应用可以实现的最高性能。当然,如果包含CPU的话,Summit本身的峰值性能将超越220PFlops。
除了CPU和GPU外,每个节点都配备了1.6TB的NVMe SSD和一个MellanoxInfiniband EDR网络接口。
机架和系统
机架是由计算节点组成的并行计算单元,Summit的每个机架中安置了18个计算节点和Mellanox IB EDR交换器。每个节点都配备了双通道的Mellanox InfiniBand ConnectX5网卡,支持双向100G bps带宽。节点的网卡直接通过插槽连接至C P U,带宽为12.5GBx2—实际上每个节点的网络都是由2颗CPU分出的PCIe 4.0 x8通道合并而成,PCI-E 4.0 x8的带宽为16GB/s,合并后的网卡可以为每颗CPU提供12.5GB/s的网络直连带宽,这样做可以最大限度地降低瓶颈。
由于一个机架有18个计算节点,因此总计有9T B的D D R4内存和另外1.7TB的HBM2内存,总计内存容量高达10.7T B。一个机架的最大功率为59k W,峰值计算能力包括C P U的话是846TFlops,只计算GPU的话是775TFlops。
在机架之后就是整个Summit系统了。完整的Summit系统拥有256个机架,18个交换机架,40个存储机架和4个基础架构机架。完整的Summit系统拥有2.53PB的DDR4内存、475TB的HBM2内存和7.37PB的NVMe SSD存储空间。
目前业内报告的Summit系统性能依旧偏向保守,当然,最好性能并不是最有意义的,实际的负载性能最为重要。橡树岭国家实验室在初步测试Summit针对基因组数据的性能时,达到了1.88 exaops的混合精度性能,这个测试主要是用的是GV100的张量核心矩阵乘法,这也是迄今为止报告的最高性能。
迈向百亿亿次计算时代
从上文的介绍可以看出,Summit通过强大的CPU和GPU以及网络、系统等部分先进的技术综合和结构设计,成功登顶了全球第一超算的宝座,并且这可能不是Summi t的终点,Summit仅仅是美国能源部在探索百亿亿次超算道路上的一个中间站而已。目前的消息显示,橡树岭国家实验室正在准备一款名为Frontier的百亿亿次超算,其性能应该可以达到Summit的5~10倍。目前尚不清楚新的超算是在Summit上升级而来还是全部重新建立,但是无论如何,百亿亿次级别超算正在朝我们一步步走来,时间节点在2021年左右。
那么看完了美国的超算,我国自己的超算会怎么样呢?目前看起来,神威太湖之光和天河系列超算短期内都没有更新和建设的新计划,包括新的神威系列超算和人们猜测中的天河3号等。目前国内也在尽全力冲刺百亿亿次级别超算,但是在工艺和设计上还有不少瓶颈和困难尚未解决,百亿亿次级别超算依旧在不断的研发和构建过程中。在这种情况下,一些业内人士估计Summit可能在未来3~5个超算排行周期都暂居领先的态势,直到最新的百亿亿次超算正式登场。毕竟在超算争霸的战场上,没有谁是永远的赢家,只有不断问世、性能更强的超级计算机。所以在这个战场,没有最强,只有更强。
TIPS
超级计算机的性能衡量方法—Linpark和HPCG
在这两个榜单中,比较明显的差异来自于神威太湖之光和日本K、美国Trinity等超算,这些超算在TOP500中排名靠前,但是在HPGC排行中却差异较大,其原因和两种测试的算法要求有关。TOP500所使用的Linpack Benchmark是一个比较老的测试规范,它的最后一个版本发布于2008年,版本号是HPL 2.0。在测试中,Linpack更关注线性方程计算,所谓线性方程,是指未知数都是一次的方程,类似于a x+by+c z+……+d=0这样的类型。这种方程的本质在于方程两边乘以任何非零的数,整个方程的根是不受影响的,在笛卡尔坐标系中,线性方程以一条直线的方式呈现,这也是其名称的由来。
比较新一些的规范是HPCG,也就是TheHigh Performance Conjugate Gradients高度共轭梯度基准测试,其最新的相关论文在2015年11月发布。相比Linpack侧重于线性方程而言,H PCG的测试中包含的内容更多,包括稀疏矩阵向量乘法、SymGS(Symmetric Gauss-Seidel smoother,对称高斯-赛德尔平滑算法,用于稀疏三角形求解)、全球点计算(用于大型分布式计算测试)、矢量计算、多重网格预条件子计算等。HPCG多重、复杂的算法为超级计算机带来了更大的挑战。
实际上,之所以在Linpack之后还推出H PCG排行榜,是因为业内专家(包括TO P500的创始人之一田纳西大学的教授Jack Dongarra,同时也是HPCG测试算法的论文作者)认为Linpack测试在部分领域可能难以准确地衡量超算的性能。比如线性方程计算的测试数据很难用于衡量大量微分方程计算所需的性能,因此HPCG的出现恰好填补了这个空缺。
不过虽然HPCG比较新,但是这并不意味着Linkpack短期内会被取代。根据TOP500和H PCG的说明,虽然H PCG可以代表一大类应用程序的性能需求,甚至可以被认为是许多应用程序实现的性能基础,但也只是一部分而已,另一部分应用程序使用Linpark衡量依旧是有意义的,因此HPCG和HPL(Linpack)可以在一起衡量整个超算系统的性能。但是专业人士也指出,HPCG性能和HPL性能的差距越小,证明超算系统在不同算法的平衡性上就越出色,这也是体现各自系统架构实力的一个重要因素。在这个比较中,国产的神威太湖之光存在一定差距,其HPGC/HPL只有0.5%左右,相比Summit的2.4%差距非常大,应该是架构设计上存在一些差异。
英伟达、IBM和美国政府的合作
这次Summit超算主要的投资方是美国能源部,芯片和技术来源则是IBM和英伟达。从历史角度来看,英伟达、IBM、AMD、英特尔这样的业内巨头和美国政府的关系非常紧密,多次接受美国政府的补助,项目的目的和要求也是五花八门。在超算领域,美国能源部和美国国防部是两大“金主”,最起码根据有据可查的历史,以及明确的报道显示,美国国防部和能源部都先后为下一代超算注入重金,甚至提前数年就开始布局。
消息显示,2010年美国国防部联合了美国数家核心IT企业和大学,成立了一个名为“Echelon”的研发计划,其主要目的是在2018年实现ExaScale(百亿亿次)的超级计算机。这个项目的具体负责机关是美国国防部下属的国防尖端技术研究开发计划局,经费资助也来自于美国国防部拨款。这个计划最终的结果不得而知,但是催生了英伟达的Project Denver,并使得英伟达能够在2010年~2014年就开始针对更先进的计算核心和更高速的带宽体系进行研究。虽然这个项目最终没有任何其他的资料披露,但是可想而知,在充足的资金支持下,IT厂商对技术的探索和新领域的研究也会更为积极主动。
至于本次的Summit,最新的消息来自于2017年。当时美国能源部计划投资2.58亿美元来加强下一代超级计算机的研究,并圈中了包括AMD、Cray、惠与(惠普企业部门)、IBM、英伟达、英特尔等厂商,资助计划名为“百亿亿次超算计划”,英文是“Exascale Computing Project”,简称ECP。ECP计划的目标是开发至少两款百亿亿次超级计算机,并且在2021年前至少推出一款。一些未知来源的消息称,Summit实际上就是EC P计划的产物,未来还将会进一步升级、扩展成为真正的百亿亿次级别超算,毕竟现在的Summit,已经可以算作pre-exascale,从0.2到1,还需要更大的规模和更先进的工艺。
文/张平
