相信很多人都听说过中国的天河二号,也知道这个庞然大物曾经连续六年登顶超级计算机排行榜,但是大多数人的认知,可能就停留在天河二号的外壳上,也就是大家经常看到的这样一张图。
但是对于一些求知欲比较强的小伙伴来说,肯定是不满足于此。
为什么天河二号能够实现如此大的运算性能?
它里面的构造跟普通的PC机有什么不一样?
我们用很多个PC机可以堆砌出这样的效果吗?
那么今天,我们就来从微观到宏观,了解一下天河二号里面的构造。
01.概述
天河二号,是由中国国防科大(NUDT)开发的一套计算机系统,现如今在国家超级计算广州中心之中,由中山大学数据科学与计算机学院代为管理。
在2017年第三届国际高性能计算论坛中,广州超算中心团队发表了一个对天河二号系统的升级设想。在该设想中,计算节点的至强融核协处理器(Intel Xeon Phi Knights Corner, KNC)将替换成自主研发的迈创2000(Matrix-2000),对网络连接进行优化,对内存进行扩展,对机柜的规模进行扩增。这些设想都已经在2017年11月完成。
以下的部分主要针对升级之后的TianHe-2A系统。
02.迈创2000协处理器
首先介绍迈创2000协处理器。
原天河二号系统上,每个计算节点配有3个Intel KNC协处理器,而设想替换掉Intel KNC协处理器的这款迈创2000协处理器,是一款中国拥有自主产权的协处理器,由国防科技大学研发。
每一个迈创2000拥有128个计算核心,计算频率为1.2GHz,理论峰值性能为2.4576Tflop/s,峰值功率为240w,大小为66mm×66mm。
迈创2000(以下简称MT2000),有8个DDR4内存通道和一个x16 PCIE 3.0终端接口。计算核心使用的是精简指令集(RISC),每个计算核心在一个计算周期能够进行16次双精度的运算,总的运算性能为128*16*1.2G = 2.4576Tflop/s。整个MT2000共配备有内存64GB。
MT2000的128个计算核心分为4个超级节点,每个超级节点包含32个计算核心,每个超级节点之间通过可扩展片上网络(scalable on-chip communication network)进行通信。
在超级节点中,节点被分为4*2个簇,每个簇有4个核、一个目录控制模块(DCU),簇与簇之间通过路由器进行连接。每个路由器有4个128位物理信道用来保持缓存一致性,分别是
1) request
2)response
3)snoop
4)acknowledge
超级节点之间的通信通过快速传输连接端口(Fast Interconnect Transport, FIT)完成。每个超级节点都有三个FIT,分别跟另外三个超级节点相连。每个FIT拥有25.6GB/s的双向传输速率,往返延迟不超过20ns,采取CRC(Cyclic redundancy check)进行可靠数据传输,并采取DMA(Direct memory access)技术提高带宽利用率达93.8%。
03.计算刀片
接下来我们介绍计算刀片。天河二号的节点是以两两为一组的形式集结在一个刀片上的,一个刀片上拥有数个处理器和协处理器,共同组成计算节点。
在旧版的天河二号上,一个计算节点的组成为2个Intel Ivy Bridge CPUs和3个Intel Xeon Phi KNC Accelerator。在新的天河二号系统TianHe-2A上,KNC协处理器被替换成了自产的MT2000,每个计算节点上拥有2个Intel Ivy Bridge CPUs和2个MT2000。
每个Intel Ivy Bridge CPU拥有12个计算核心,32GB内存,每个计算核心能在每个时钟周期完成8次Flop/s,因此单个CPU峰值性能为12*8*2.2 G=211.2G Flop/s。
每个MT2000的峰值性能为2.4576TGFlop/s,每个CPU峰值性能为0.2112TGFlop/s,每个节点有2个MT2000和2个Ivy Bridge CPU,因此单节点峰值性能为5.3376T Flop/s。
一个计算节点内部的结构如上图所示。两个CPU之间通过两个QPI(Intel Quick Path Interconnects)进行连接,每个CPU都拥有8个DIMM(dual in-line memory)插槽。CPU与MT2000通过16x PCIE 3.0进行连接。其中一个CPU通过PCH(Intel Platform Controller)芯片扩展I/O设备,并通过16X PCIE 3.0连接到一个自产的NIC(Network Interface Controller)。每个CPU配备32G内存,每个MT2000配备内存64GB,一个计算节点总计配备了2*(32 64) = 192GB内存。
04.互联网络
天河二号的内部计算节点的高速互连网络是自主研发的,通过两个面向应用的集成电路实现:NIC和NRC(Network router chip)。NIC和NRC都针对带宽、延迟、可靠性和稳定性进行了优化,使得链路速率高达14Gbps。
NIC实现了拥有自主产权的MP/BLT(Mini-Packet/Block Transfer),提供了高性能网络的接口,包含一个x16 PCIE 3.0接口,通过电缆和网络端口互相连接。每个网络端口都包含一个8通道的串并转换接口来提高传输速率。
NRC通过24个网络端口进行数据交换,每个网络端口都拥有一个包含8通道14Gbps的串并转换接口,双向的传输带宽达到了224Gbps,一个NRC的总吞吐量达到了5.37Tbps。
天河二号系统使用分层网络进行互联。
32个计算节点构成一个计算帧(compute frame),计算帧之中的节点通过一个32×32的交换板进行通信。
4个计算帧构成一个计算机架(compute rack),计算机架通过24个顶级的交换机进行通信,每个交换机有576个端口,计算机架与交换机通过有源光缆进行连接。
此外,TianHe-2A系统结合了带内管理(in-band)和带外管理(out-of-band)来提升远程访问服务(Remote Access Service, RAS)的性能。通过带内管理能够获取路由追踪,链路测试,故障报告和拓扑结构发现等功能,通过集成电路总线接口(IIC bus interface)能够获取芯片配置和状态查询功能。上述功能使天河系统实现了实时与历史信息溯源,故障定位、诊断与恢复。
05.系统布局
天河二号一共有168个机柜,其中有139个为计算机柜(compute cabinets),4个离子柜,24个通信柜,一个空柜。大致的布局如下图所示。
06.软件栈
天河二号要用上自主研发的MT2000,不仅仅要开发硬件,也需要开发能够在MT2000上运作的软件栈。
天河二号团队开发出了一套适用于MT2000的软件栈,底层的os是一个轻量级Linux-based操作系统,并在里面嵌入了协处理器驱动,通过PCIE连接为CPU提供设备资源管理和数据传输。该os通过一个精心设计的线程池来实现计算核心的高效管理,尽量提高任务的性能并降低损耗。
往上一层上是对称通信库,提供了处理器之间的对称数据传输,主要的函数接口包括:
1) Connection(在不同节点的处理器之间建立socket-like连接)
2) Messaging(交换短小、延迟敏感的信息,例如命令或者同步操作)
3) RMA操作(提供大量数据的单向传输,为带宽敏感任务提供了优化操作)
再往上一层是混合运算库,主要用来提供高层级API如OpenMP,OpenCL的运行时环境。提供包括设备管理,远程数据管理,任务卸载管理等混合计算API。
07.性能测试
高性能线性测试标准(High Performance LINPACK benchmark, HPL),是国际上最流行的用于测试高性能计算机系统浮点性能的 benchmark。在TianHe-2A的4096个节点上运行了该测试,结果如下图:
随着计算节点的增加,实际的性能 TFLOPS 逐渐攀升,但是利用率也逐渐下降,这是由于节点的增多导致通信同步的消耗增加,导致额外的损耗的产生。最后在4096个节点上产生了13.987Pflop/s的实际性能,而理论上4096个节点的峰值性能为21.86PFlop/s,因此性能利用率为63.98%。
08.总结
在2015年2月,美国贸易部禁止 Intel 向天河二号提供新的芯片,贸易部提出,这是出于对运作在天河二号的核研究的担忧。在此之前,天河二号的主要芯片都来自于 Intel 厂商。为了对 TianHe-2 系统进行升级,广州超算中心提出自主研发协处理器,并把 TianHe-2A 上的 Intel 处理器全都替换成自产的 MT2000。
在美国的禁令发布之后,国防科大只用了两年的时间,就自主研制了性能与Intel KNC协处理器相近的MT2000,并且开发出与与MT2000相适应的软件栈,实属不易。
在用国产加速器MT2000替换了Intel KNC加速器之后,天河系统的性能翻了一翻,理论峰值性能从原来的54.9Pflop/s升级到94.97Pflop/s。此外,此次升级,天河二号的网络结构也从原来的10Gbps升级到了14Gbps,延迟从1.57us降至1us,内存容量从1.4PB升级到了3.4PB,存储容量从12.4PB升级到了19PB,带宽翻倍到1TB/s,而功耗则从17.8MW降至16.9MW,能效较之前大幅提升。
我国的超级计算机发展速度不可谓不令人钦佩,近三十年,我国的超算水平已经居于全球领先水平,天河二号与神威·太湖之光等超级计算机先后称霸全球超级计算机排行榜。
但是实际上,我国的超算平台的利用率还是较低,虽然 2016 年和 2017 年,基于神威·太湖之光的超算应用“千万核可扩展大气动力学全隐式模拟器”和“非线性地震模拟” 蝉联 “戈登贝尔奖”,但我国超算应用发展还远远滞后于超算研制能力的发展,出现了软件跟不上硬件发展的现象。而且“重硬轻软”的思想导致经费投入比例严重失调,软件经费投入仅占项目总经费的20%到30%,相比美国的50%依然有较大差距。
因此中国在超级计算这条道路上,不仅仅需要在硬件上争取自主知识产权,也要努力在软件上开辟出一条属于中国的道路。利用中国超算平台建设一个完整的产业生态系统,仍是中国超算一个长远的任务。
---The End---
文案 && 编辑:邹海枫
审稿人 && 排版:陈俞丞
指导老师: 张子臻(中山大学数据科学与计算机学院)