前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >天河二号深度解密,你值得拥有

天河二号深度解密,你值得拥有

作者头像
用户1621951
发布2019-10-18 15:16:15
3.6K0
发布2019-10-18 15:16:15
举报
文章被收录于专栏:数据魔术师

相信很多人都听说过中国的天河二号,也知道这个庞然大物曾经连续六年登顶超级计算机排行榜,但是大多数人的认知,可能就停留在天河二号的外壳上,也就是大家经常看到的这样一张图。

但是对于一些求知欲比较强的小伙伴来说,肯定是不满足于此。

为什么天河二号能够实现如此大的运算性能?

它里面的构造跟普通的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---

文案 && 编辑:邹海枫

审稿人 && 排版:陈俞丞

指导老师: 张子臻(中山大学数据科学与计算机学院)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-01-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据魔术师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档