漆锋滨 | “神威•太湖之光”超级计算机系统

2017 年 10 月 21 日 中国计算机学会 漆锋滨

点击上方中国计算机学会轻松订阅!

来源:《中国计算机学会通讯》2017年第10期《专题》


引 言

科学计算、理论研究和科学实验,一直被认为是研究世界的三大技术手段。

随着计算技术的发展,科学计算对超级计算机能力的要求越来越高。因为高性能计算是解决我国经济建设、科技进步、国家安全等一系列重大问题不可替代的重要手段。

在过去的15年里,我国通过部署多种国家级科技项目和资助计划,来推动我国高性能计算能力的提升,也成功研制多台超级计算机,逐步形成了具有一定规模的国家级高性能计算服务环境,支撑了一批重大领域应用。国家863计划支持的“神威”、“天河”、“曙光” 等超级计算机现已进入了世界领先行列。

“神威·太湖之光”超级计算机系统是由国家并行计算机工程技术研究中心于2015年12月研制完成的。它是世界上第一台峰值运行速度超过十亿亿次(125PFlops)的超大规模并行处理计算机,也是我国第一台全部采用国产处理器构建的、排名世界第一的超级计算机。2016年6月公开发布后,神威·太湖之光在国际上立即引起强烈反响,并连续三次获得TOP500排名冠军。基于神威·太湖之光整机系统的“千万核可扩展全球大气动力学全隐式模拟”应用获2016年度戈登·贝尔奖,实现中国高性能计算应用的重大突破。

系统组成和体系结构

神威·太湖之光系统采用基于高密度弹性超节点和高流量复合网络架构,面向多目标优化的高效能体系结构,并采用了高密度组装、高效率直流供电、全机水冷等关键技术,配备精确的资源调度管理、丰富的并行编程语言和开发环境。系统由高速计算系统、辅助计算系统、高速计算互连网络、辅助计算互连网络、高速计算存储系统、辅助计算存储系统和相应的软件系统等组成,总体结构如图1所示。其中,计算资源由高速计算系统和辅助计算系统提供,存储资源由高速计算存储系统和辅助计算存储系统提供。高速计算系统和辅助计算系统通过云管理环境进行统一管理,为用户提供统一的系统视图。

图1 “神威·太湖之光”系统总体架构图


神威·太湖之光的各个系统都具有相当高的技术指标:高速计算系统峰值运算速度125.436PFlops,内存总容量1024TB,访存总带宽4473.16TB/s,高速互连网络对分带宽70TB/s,I/O聚合带宽341GB/s。
实测Linpack持续运算速度93.015PFlops,Linpack效率74.153%,系统功耗15.371MW,性能功耗比6051.131MFlops/W;辅助计算系统峰值运算速度1.085PFlops,内存总容量154.5TB;磁盘总容量20PB。

“申威26010”异构众核处理器

神威·太湖之光系统的计算性能离不开所采用的“申威26010”异构众核处理器。该处理器由上海高性能集成电路设计中心自主研制,采用片上计算阵列集群和分布式共享存储相结合的异构众核体系结构,使用64位自主申威指令集。全芯片集成了4个运算核组共260个运算核心,核组间支持Cache一致性。每个核组包含1个运算控制核心(主核)和1个运算核心阵列(从核阵列),运算核心阵列由64个运算核心(从核)、阵列控制器、二级指令Cache构成,4个核组的物理空间统一编址,运算控制核心和运算核心均可以访问芯片上的所有主存空间。芯片标准工作频率1.5GHz,峰值运算速度达3.168TFlops。处理器集成4路128位DDR3存储控制器、8通道PCIe3.0、千兆以太网接口和JTAG接口。其架构如图2所示。

图2 “申威26010”异构众核处理器架构图

高速计算系统

神威·太湖之光高速计算系统采用紧耦合超节点架构,由40960块申威26010异构众核处理器和20480块计算板节点组成,每块计算节点板包含两颗申威26010异构众核处理器,通过计算插件板、计算超节点和计算机仓等模式进行系统扩展,构成了125.436PFlops的高速计算系统,其体系结构扩展如图3所示。

图3 高速计算系统体系结构扩展示意图

高速计算互连网络

高速计算互连网络负责把高速计算系统所有计算节点和存储节点连接为一个有机的整体,互连网络采用多层级胖树交叉的混合拓扑网络结构,实现全机计算节点和存储服务节点的高带宽、低延迟通信,有效支持计算密集、通信密集和I/O密集等多种类型课题的运行。其拓扑连接如图4所示。

图4 高速计算互连网络拓扑连接示意图

计算超节点网络模块采用两级胖树全交叉的互连结构,实现256颗申威26010异构众核处理器之间的全连接通信,支持超过65536核心的高效并行计算。超节点网络模块之间通过中央交换网络模块实现互连,并同时直接连接到共享资源池网络模块。中央交换网络模块完成超节点网络模块之间的上层网络互连,根据对各种规模并行课题的分析,结合工程可实现性,对上层网络和下层网络互连的带宽进行合理配置。

存储系统

神威·太湖之光包括高速计算存储系统和辅助计算存储系统,总容量为20PB,系统管理员可根据用户和课题使用特点分配不同的存储资源。

语言环境

图5 神威·太湖之光计算机系统语言环境组成结构图

系统的语言环境由基础编程语言、并行编程语言和接口、用户使用环境、基础编程环境和工具等四部分组成,如图5所示。

神威·太湖之光计算机系统支持主流的基础编程语言,满足实际课题编译需求,支持MPI3.0、OpenMP3.1、Pthreads、OpenACC2.0等与国际接轨的并行编程标准,以及消息并行编程模型、共享并行编程模型和加速并行编程模型,能够满足科学与工程计算课题开发和移植的多样性需要。

OpenACC

得益于OpenACC语言对异构加速编程简洁的抽象和描述,OpenACC在神威·太湖之光计算机系统中得到了高效实现和广泛应用,已有气候气象、地质勘探、海洋船舶等诸多领域的应用课题使用OpenACC在神威·太湖之光上进行了移植和优化,效果较好。由于申威26010众核处理器与GPU、MIC等异构处理器存在部分体系结构上的差异,OpenACC在神威·太湖之光计算机系统上的实现和使用也略有不同,我们对OpenACC标准进行了适当的功能延伸和语法扩展。

图6 OpenACC循环数据拷贝控制示例

首先,延伸了parallel构件的copy子句的语义,用于实现主存到多个SPM的数据传输,并通过与loop构件和tile子句的配合使用,有效控制数据拷贝的大小,以充分利用容量有限的SPM空间。Fortran代码示例如图6所示。编译器自动分析数据访问方式与循环划分方式的映射关系,根据循环划分方式确定数据的划分方式,图中i循环以块大小为1的方式进行并行划分,j循环在tile子句的作用下,以块大小为2的方式进行串行划分,与之相对应的,A、B、C三个数组的划分方式也可以确定,以A为例,每轮计算所需要的A的数据量是(256, 2, 1),编译器会在SPM中为A、B、C三个数组分别申请(256, 2, 1)的缓冲,并自动生成对应的数据传输控制语句。

其次,扩充了两种优化的数据传输控制子句,分别是swap/swapin/swapout和pack/packin/packout,二者都是通过数据变换来提升数据传输效率的有效手段。Swap系列子句主要用来处理某些访问方式不连续的数组数据的拷贝,先将这些数组转置,然后通过连续的数据传输操作进行传输,以提高数据传输的效率,具体用法见图7。

图7 OpenACC swap子句示例

表1 申威26010与其他众核处理器的比较

主要技术突破

首次全部采用国产处理器

神威·太湖之光系统是基于国产处理器,采用自主研发的高效可扩展的十亿亿次量级体系结构构建的世界最高性能的超级计算机系统。系统设计并实现了高密度运算紧耦合弹性超节点结构,超节点内实现256个CPU无电缆全交叉互连,超节点间通过资源池热备份技术实现了全系统规模下的超节点弹性可扩展,支持大规模运算核心的高效并行运行,适应计算密集、通信密集和I/O密集课题运算需求。

为满足数万个节点规模下通信密集课题和I/O密集课题的不同性能要求,神威·太湖之光研制者提出了一种由超节点网络、共享资源网络和中央交换网络组成的高流量可扩展复合网络结构,实现了全机40960个运算节点和240个I/O节点的高带宽低延迟通信,最大通信步长仅7步,系统对分带宽70TB/s。

首次设计实现世界领先的众核处理器

申威26010异构众核处理器提出了片上计算阵列集群、分布式共享存储相结合的异构众核体系结构,提高了运算能力与数据共享效率;提出了定点浮点复用,逻辑操作重构技术,采用256位SIMD指令扩展和流水线融合等方法,实现了高效精简核心结构,提升了众核处理器能效比;采用寄存器级数据通信、多模式异步数据流传输和运算阵列快速同步等技术,提高了运算核心协同执行效率;采用片上数据全路径纠检错,基于CHIPKILL与重读的存储接口保护技术,片上热点噪声抑制与隔离的物理设计技术,提升了众核处理器芯片的基础可靠性;自主设计实现1.5GHz工作频率的申威26010众核处理器,浮点峰值性能3.168TFlops,能效比达到10GFlops/W。

首次实现世界领先的低功耗设计与控制体系

神威·太湖之光系统采用系统级低功耗设计思想,进行器件、部件、系统等全方位低功耗设计,在国产CPU、运算系统、网络系统、供电与冷却、高密度组装等多层次进行低功耗基础支撑设计。在此基础上,建立细粒度功耗实施检测系统、系统状态感知系统,节点级自主低功耗设计、外部任务驱动的多层次低功耗控制系统,建立层次协同的系统级功耗控制管理体系,在不影响系统性能和使用模式的前提下,有效降低了系统运行能耗,提升了整机系统性能功耗比,实现高效绿色计算。

首次实现面向千万量级核心的高并发度软件系统

神威·太湖之光系统采用多层多粒度并行作业控制和异构环境下的多策略资源调度技术,有效支撑了千万量级核心的高效管理;采用异构存储资源的融合和动态调整技术,提高了存储资源访问性能;采用异构融合的高效基础编译支撑框架、多级自适应数据布局方法、数据驱动的多模式访存优化等编译优化技术,提高了程序运行性能;采用面向消息模型的运行时感知与程序异常诊断技术,降低了大规模调试的系统开销。

系统提出基于众核阵列直接通信的数据重用方法,提升了访存和通信密集型课题的众核适应性;提出基于半自动循环变换级变量拆分的众核并行方法,解决了部分应用代码量巨大、热点不集中的众核并行难题;提出复杂计算区域非规则类矩形静态负载平衡算法和多粒度动态任务评估映射算法,解决了一批科学研究重大挑战应用课题全机协同高效解算的难题。

首次入围并获得国际高性能应用最高奖

戈登·贝尔奖由美国计算机学会(ACM)和美国电气与电子工程师协会(IEEE)联合颁发,旨在表彰研究人员利用并行计算实现科学突破所取得的成就。该奖项始于1987年,被誉为“超级计算领域的诺贝尔奖”。基于神威·太湖之光在大气、海洋和材料领域的三个应用入围2016年的戈登·贝尔奖。这是中国团队近30年来首次入围,占据了全部入围团队的半壁江山。2016年11月,“千万核可扩展全球大气动力学全隐式模拟”应用最终获奖,实现了戈登·贝尔奖零的突破。

中科院软件所、清华大学、北京师范大学的联合研发团队,借助神威·太湖之光超级计算机,设计和开发了新的高可扩展非静力大气动力全隐求解器,可有效开展全球公里级大气动力过程模拟,与当前国际主流的大气动力模式广泛采用的显式或半隐式求解方法相比,该方法模拟步长可提升两个数量级。本研究也是国际上第一个可扩展至千万核规模的偏微分方程求解器,与2015年获得戈登·贝尔奖的工作相比,计算效率提升10倍以上。

国家海洋局第一海洋研究所与清华大学合作,基于我国自主知识产权的MASNUM海浪模式,在国际上首次开展了全球1公里分辨率的海浪模式研究。他们使用神威·太湖之光系统计算资源,计算效率超过36%,性能与国际同类应用相比提高30余倍。

中科院计算机网络信息中心通过大规模并行算法和实现技术的创新,实现了40%峰值性能的千万核规模相场模拟,远高于普通软件约5%的水平,与2015年入围戈登·贝尔奖的工作相比,性能提升32倍。基于神威·太湖之光,模拟体系规模比之前提高两个量级,达到1011量级。

系统应用情况

神威·太湖之光系统自投入使用以来,已为上百家用户、数百项大型复杂应用课题的计算提供了服务,涉及气候、航空航天、海洋环境、生物医药、船舶工程等19个领域,其中整机应用14个(千万核),半机以上规模应用12个,百万核以上应用20多个。

从大部分应用可以看出,当前的实际复杂应用系统向着多时空尺度、强非线性耦合和三维真实构型的方向发展,包含大量多尺度多模型的计算问题,存在多粒度、多维度、多层次的并行性,面临着全系统、全物理过程、真三维、自然尺度的计算模拟,对计算机的能力要求更高。

根据加州大学伯克利分校提出的对科学与工程计算应用的分类标准,我们对各应用分类如下:(1)稠密线性代数方程组,如Linpack、大规模流固耦合和流声耦合计算、潜艇收发分置全向声散射特性等;(2)稀疏线性代数方程组,如高超声速飞行器数值模拟、大型客机失速特性模拟等;(3)谱方法,如基于FFT的湍流直接数值模拟、BNU_ESM地球系统模式等;(4)多体问题,如分子动力学GROMACS、微孔道扩散过程MD模拟等;(5)结构网格,如飞行器数值模拟、可压缩边界层湍流直接数值模拟、地球系统模式、地震模拟等;(6)非结构网格,如高超声速飞行器数值模拟、污染排放模拟等;(7)MapReduce,如蒙特卡罗模拟期权定价、BLAST基因序列比对、托卡马克装置逃逸电子行为模拟等;(8)组合逻辑,如AES、MD5等;(9)图的遍历,如社交网络分析等;(10)动态规划,如精确基因序列比对分析等;(11)回溯和分支限界,如SAT代数攻击等;(12)图的模型,如深度神经网络、隐马尔可夫模型等;(13) 有限状态机,如网络协议分析等应用。以上 13 类应用全部在神威·太湖之光系统上完成大规模并行计算。

结 语

我国在超算领域已经取得了举世瞩目的成就,但是,应该清醒地认识到我们离超算强国还有相当大的距离:核心技术突破的面不够宽,自主的并行应用软件不够丰富,各层次超算人才的培养有待加强,超算中心的作用和职能有待进一步发挥等。新一代E级超级计算机预研已经启动,我们将与同行开展全方位合作,在国产处理器、体系结构、软件和应用方面做出更多更精彩的创新成果。   

致谢:

本文成稿得益于国家并行计算机工程技术研究中心刘鑫博士的大力帮助,在此表示衷心感谢。

参考文献请查看【阅读原文】。

作者:漆锋滨

CCF常务理事、CCF无锡分部主席。国家并行计算机工程技术研究中心研究员。曾获国家科技进步奖特等奖1次、一等奖3次。研究方向:计算机体系结构和系统软件

Qifb116@sina.com


登录查看更多
10

相关内容

High Performance Computing. For example, IBM's Blue Gene
FPGA加速系统开发工具设计:综述与实践
专知会员服务
65+阅读 · 2020年6月24日
华为发布《自动驾驶网络解决方案白皮书》
专知会员服务
125+阅读 · 2020年5月22日
新时期我国信息技术产业的发展
专知会员服务
69+阅读 · 2020年1月18日
阿里巴巴达摩院发布「2020十大科技趋势」
专知会员服务
106+阅读 · 2020年1月2日
2019中国硬科技发展白皮书 193页
专知会员服务
81+阅读 · 2019年12月13日
分布式智能计算系统前沿
中国计算机学会
19+阅读 · 2019年10月8日
CNCC技术论坛丨新型持久内存系统与安全
中国计算机学会
7+阅读 · 2019年9月15日
自动驾驶技术解读——自动驾驶汽车决策控制系统
智能交通技术
30+阅读 · 2019年7月7日
2018年边缘计算行业研究报告
行业研究报告
11+阅读 · 2019年4月15日
车路协同构建“通信+计算”新体系
智能交通技术
11+阅读 · 2019年3月26日
机器视觉技术的农业应用研究进展
科技导报
7+阅读 · 2018年7月24日
【智能驾驶】史上最全自动驾驶系统解析
产业智能官
23+阅读 · 2017年8月21日
Arxiv
3+阅读 · 2019年10月31日
Embedding Logical Queries on Knowledge Graphs
Arxiv
3+阅读 · 2019年2月19日
Arxiv
4+阅读 · 2018年4月30日
Arxiv
12+阅读 · 2018年1月12日
VIP会员
相关资讯
分布式智能计算系统前沿
中国计算机学会
19+阅读 · 2019年10月8日
CNCC技术论坛丨新型持久内存系统与安全
中国计算机学会
7+阅读 · 2019年9月15日
自动驾驶技术解读——自动驾驶汽车决策控制系统
智能交通技术
30+阅读 · 2019年7月7日
2018年边缘计算行业研究报告
行业研究报告
11+阅读 · 2019年4月15日
车路协同构建“通信+计算”新体系
智能交通技术
11+阅读 · 2019年3月26日
机器视觉技术的农业应用研究进展
科技导报
7+阅读 · 2018年7月24日
【智能驾驶】史上最全自动驾驶系统解析
产业智能官
23+阅读 · 2017年8月21日
相关论文
Top
微信扫码咨询专知VIP会员