本文作者阿里云技术专家蜚廉, 最初创作于 2018 年 4 月 2 日
什么是超级计算机
上图为超算界 2012 年世界冠军 "泰坦"(Titan), 它有一万多个兄弟, 每个兄弟都是当时最强的 CPU, 再配上 GPU, 高速网络等高精尖武器, 运算速度达到 20+ PFLOPS."泰坦" 占地面积与标准篮球场相当, 消耗的电力足以供应一个小型城镇; 普通电脑放在背包里带走, 超级计算机要专门建一栋楼来放置.
"超级计算 (Supercomputing)" 这一名词在 1929 年《纽约世界报》关于 "IBM 为哥伦比亚大学建造大型报表机(tabulator) 的报道" 中首次出现. 超级计算机是一种由数百, 数千甚至更多的处理器 (机) 组成的, 能计算普通 PC 机和服务器不能完成的大型, 复杂课题的计算机.
超级计算机是计算机中功能最强, 运算速度最快, 存储容量最大的一类计算机; 多用于国家高科技领域和尖端技术研究, 对国家安全, 经济和社会发展具有举足轻重的意义; 也是国家科技发展水平和综合国力的重要标志.
超算简史
1960 年代前
60 年代及之前, 可以看成是超级计算机的蛮荒时代, 有 IBM,DEC,GE 等众多玩家.
其中 IBM 的各种牛, 各种首创, 不一一细表. 我认为对广大程序员影响最大的还是 FORTRAN 的发明, 它是影响了计算机历史, 影响了编程语言的发展, 并且如今仍在科学计算领域仍然被广泛使用. 刚毕业时, 我还在物探局编写, 优化了大量 FORTRAN 模块.
还有一个不得不提的是 CDC (Control Data Corporation)公司, 它不仅有非常产品优秀(如上图的 CDC 6600); 而且其拥友一位杰出工程师 Seymour Cray.Seymour Cray 在 CDC 工作多年并设计了一系列当时最快的计算机, 直到他离开后创立了自己的公司, 开创了超级计算机的一代枭雄──Cray.
1970 - 1980 年代
Seymour Cray 创立自己的公司──Cray Research. 凭着他的新设计, Cray Research 一度主导了当时的整个超级计算机市场.
上图为 Seymour Cray 和他的 Cray-1,Cray-1 成功使用向量处理器(vector processor), 性能是同期其它产品的几倍.
Cray-2 首台 4 路向量处理器, 成为当时峰值最高的超级计算机.
巅峰之后, 其后 Cray 公司急速下滑; 经历了破产, 被收购等一系列变故, 命运多舛, 但仍然顽强的坚持着; 直至今日, Cray 依然是超级计算机领域的巨头之一.
向量处理器 (vector processor), 是一种实现了直接操作一维数组(向量) 指令集的中央处理器 (CPU). 向量处理器可以在特定工作环境中极大地提升性能, 尤其是在数值模拟或者相似领域. 向量处理器最早出现于 20 世纪 70 年代早期, 并在 70 年代到 90 年代期间成为超级计算机设计的主导方向, 尤其是在多个 Cray 平台. 现在, 绝大多数商业化的 CPU 实现都能够提供某种形式的向量处理的指令, 用来处理多个(向量化的) 数据集, 也就是所谓的 SIMD(单一指令, 多重数据); 如常见的 SSE, MMX 和 AVX 等.
1990 年代
90 年代, 是 MPP(Massive Parallel Processing)大爆发的时代, 处理器个数由原来的个位数爆炸增长到几千个.
MPP 属于 IT 巨头的定制机, 每个节点使用定制 CPU, 运行 OS 微内核, 使用单独开发的专有网络连接. 具有代表性产品有: Intel ASCI Red,IBM SP2,Cray/SGI Origin 2000.
MPP 架构与现在的集群 (Cluster) 已经非常相似了, 最大的差异点是其组件大多是单独定制开发. MPP 架构主导超算领域, 同时催生了另外一项沿用至今的技术 -- 消息传递接口(Message Passing Interface, 缩写 MPI).MPI 是一个并行计算的应用程序接口(API), 常用于 MPP, 集群系统等分布式内存环境程序设计. MPI 的特点是高性能, 大规模性和可移植性; 直至今天仍为高性能计算的最主要模型. 之前, 本人围绕这个计算机领域的 90 后, 前后工作了 N 年.
走进新世纪
进入新世纪后, 集群 (Cluster) 得到蓬勃的发展. 集群的节点是一台完整的商业服务器, 运行通用操作系统(感谢 Linux, 感谢 GNU!), 互连网络使用商业标准的 IB 和以太网设备连接, 存储为 SAN,NAS 和并行文件系统.
原有的 MPP 超级计算机的单独定制门槛被打破,"堆机器" 成了新玩法. 国内厂家在这一时期开始崭露头角, 如联想的深腾系统, 曙光公司的曙光 5000A 等等.
之后, 国防科技大学异军突起; 其设计的 "天河一号" 是我国首台千万亿次超级计算机.
"天河一号" 从 2008 年开始研制, 按两期工程实施:
一期系统(TH-1): 于 2009 年 9 月研制成功; 装有 3072 颗 Intel 的 Xeon E5540 2.53GHz 四核处理器和 3072 颗 Xeon E5450 3.0GHz 四核处理器, 共有 24,576 个处理器核心. 天河一号还装备 2560 块 AMD 的 Radeon HD 4870 X2 显示卡, 共有 5,120 个图形处理器用于图形处理器通用编程. 该超级计算机系统部署于, 设立在天津滨海新区的国家超级计算天津中心作为业务主机.
二期系统 (TH-1A): 于 2010 年 8 月在国家超级计算天津中心升级完成; 配备了 14,336 颗 Xeon X5670 处理器, 7,168 块基于 NVIDIA 的 Tesla M2050 计算卡, 2,048 颗国防科技大学研制的飞腾处理器以及 5PB 存储设备. 升级后的 TH-1A 比 TH-1 理论峰值性能提高了 3.89 倍, 实测性能提高了 4.45 倍. 2010 年 11 月 14 日, 国际 TOP500 组织在网站上公布了最新全球超级计算机前 500 强排行榜, 我国首台千万亿次超级计算机系统 "天河一号"(TH-1A) 排名全球第一.
"天河一号" 是我国首台采用异构加速卡架构设计的超级计算机, 其中第一期系统 (TH-1) 使用了 Intel CPU + AMD GPU 卡, 第二期系统(TH-1A),GPU 卡改为生态更成熟 NVIDIA Tesla M2050. 本人参与并见证了, 东方物探石油勘探地震资料处理应用在天河 - 1A 上运行, 是当时最早期的, 可支持 NVIDIA GPU 的超大规模并行应用. 鉴于其巨大意义, 当时有一篇著名的文章《超级计算机天河一号应用水平进入世界先进行列》.
继 "天河一号" 后, 由国防科学技术大学研制的超级计算机系统 "天河二号", 于 2013 年 6 月起至 2016 年 6 月之前(六连冠), 再次成为世界上最快的超级计算机.
2016 年 6 月 20 日, 由国家并行计算机工程技术研究中心研制, 安装在国家超级计算无锡中心的超级计算机 "神威. 太湖之光" 超级计算机, 超越同为中国建造的 "天河二号", 成为世界上最快的超级计算机. 至此以来, 中国长期 (2013 年 6 月至今) 占领 TOP500 首位, 成为了超算领域的迅速崛起的一颗耀眼新星.
超算的武功排行榜
TOP500 项目是针对全球已知最强大的电脑系统做出排名与详细介绍. 此项目始于 1993 年, 每年出版两次最新的超级计算机排名列表. 每年的第一次排名公布总是在六月份的国际超级计算机会议 (ISC) 上, 而第二次排名公布则是在十一月份的超级计算会议 (SC) 上.
最近一期(2017 年 11 月)TOP500 前十名排名:
其中中国 2 台(前两名), 日本 3 台, 美国 4 台, 欧洲 1 台. 从榜单可以反映出两个特点: 1, 中国独占榜单头两位; 2, 美国第一次丢失了前四位; 大名鼎鼎的 Titan 先后被瑞士的 Piz Daint 和日本的 Gyoukou 超越, 落到第五的位置.
美国在高性能计算领域具有传统优势, 是决不会让这种情况继续(IBM,Intel,Cray 也不会, 都是拿大单的机会啊). 为应对日益激烈的竞争压力, 在学术大咖, 商界领袖的共同游说下, 美国能源部首先站里出来; 在 2014 年启动的超算计划 CORAL, 投入 5.25 亿美元, 要帮助美国在超算领域夺回领头羊地位.
大洋彼岸的应对
CORAL 是个什么项目呢? 我们看看它的全称就明白了, 这是个大块头.
CORAL = Collaboration of Oak Ridge, Argonne, and Lawrence Livermore
Oak Ridge,Argonne 和 Lawrence Livermore, 他们代表美国能源部下属的三个国家实验室: 橡树岭国家实验室 (Oak Ridge National Laboratory, 缩写为 ORNL), 阿贡国家实验室(Argonne National Laboratory, 缩写为 ANL) 和劳伦斯利佛摩国家实验室(Lawrence Livermore National Laboratory, 缩写为 LLNL).
这三个, 应该是大家最熟悉的美国国家实验室了. 橡树岭国家实验室和阿贡国家实验室都是源于大名鼎鼎的曼哈顿计划的一部分, 之后分离出来成立的最早的大型美国国家实验室. 劳伦斯利佛摩国家实验室 (LLNL) 名气稍差一点, 但提到它的大表哥洛斯阿拉莫斯国家实验室, 同为曼哈顿计划的一部分, 知名度绝对高. 这哥俩同为美国能源部所属, 是美国两个为了 X 武设计而建立的部门. 江湖传闻 LLNL 是为了制衡洛斯阿拉莫斯国家实验室一家独大而专门建立.
Collaboration
解释完后面三个单词 "Oak Ridge, Argonne, and Lawrence Livermore", 我们再解释一下 "Collaboration" 代表着什么.
Collaboration 的具体内容是三个国家实验室共同招标建造四台超级计算机, 供各自科研使用. 不差钱的标书发出来后, 厂家纷纷响应. 但建超算是技术活, 不是谁都干得了的, 结果不出意外; 计算机巨头组团拿下了订单.
朋友圈一: IBM + NVIDIA + Mellanox, 负责建造两台, 合同金额 3.25 亿美元.
朋友圈二: Intel + Cray, 负责建造另外两台, 合同金额 2 亿美元.
第一台: Summit
放置在橡树岭国家实验室, 替代上文提到, 现 TOP500 排名第五位的 Titan 超级计算机(Cray 造, AMD Opteron + NVIDIA Tesla K20X); 朋友圈一合作, 采用: IBM Power9 + NVIDIA GPU + Mellanox IB 方案, 由 IBM 建造, 计划 2018 年底交付.
Summit 理论峰值 150-300 PFLOPS, 高于现在第一名的 "神威. 太湖之光" 的 125PFLOPS, 预计会在 18 年底重新夺回 TOP500 第一名的宝座; 不过还需要一个前提,"At that point, absent another surprise from China".
第二台: Sierra
放置在劳伦斯利佛摩国家实验室(LLNL), 替代原有的 Sequoia 超级计算机(IBM Blue Gene Q);Sierra 就是缩小版的 Summit, 架构, 技术完全一致, 规模, 配置部分缩水, 同由 IBM 建造, 计划 2018 年交付.
第三台与第四台: Theta & Aurora
这两台都放置在阿贡国家实验室, 朋友圈二拿下. Intel 为主承包商, Cray 负责集成和建造; Theta 采用 Intel Xeon Phi KNL + Aries Interconnect, 在 2016 年底已交付, 理论峰值 9.6 PFLOPS(实测 5.88 PFLOPS), 最新一期 TOP500 排名 18;Aurora 为大号的 Theta, 同样采用 Intel Xeon Phi 技术, 设计峰值 180 PFLOPS; 由于 Intel 取消最近一代 Xeon Phi 产品, 机器无法交付; 该项目改为 2021 年, 搭建美国首台 E FLOPS(1000 PFLOPS)超级计算机. 由于 Intel Xeon Phi 在交付上的风险, 同时建两台超级计算机的好事, 最终没有落到 Argonne 的身上.
下表为 CORAL 项目实际建造的 3 台超级计算机的硬件参数:
朋友圈一: IBM + NVIDIA + Mellanox
Summit & Sierra 的体系结构可以看到: CPU + GPU 的异构架构已经完全被超算领域认可.
RDMA(Remote Direct Memory Access)以其 Zero-copy,bypass-kernel,Network Offload 的特性, 是超级计算机高速网络的最佳选择之一. 其中最常见的实现有三种: RDMA over Converged Ethernet (RoCE), InfiniBand 和 iWARP. 其中 InfiniBand 在带宽, 时延方面高于其他两种方式, 在用户定制超算领域占有率最高. RoCE 是构建在以太网 (UPD 协议) 之上的 RDMA 实现, 拥有更广泛的软硬件基础和成本优势, 在数据中心及云上具有广泛的应用场景. 带宽上, 100Gb 已经成为行业主流, 超算已经向更高速度冲击. 小号的 Sierra 虽然采用 EDR(100 Gb)技术, 但使用双网卡技术将最大带宽提升到 200 Gb;Summit 还没有交付, 个人猜测直接采用 200Gb HDR 的可能性更高.
在处理器领域, IBM 在与 Intel 的竞争中落了下风, 但其以开放的态度, 主动示好业内各领域领先企业, 希望在超算, AI 领域夺回 10-20% 的市场份额. 如为了支持 NVIDIA GPU, 及更好的开源软件生态, Power9 成为第一代原生支持小端的 IBM 处理器. 同时, Power9 服务器中首先应用 OpenCAPI, 不但支持连接 NVIDIA GPU (NVLink), 也支持 Google ASIC,Xilinx FPGA.
CAPI(Coherent Accelerator Processor Interface, 统一加速器处理器接口)及其演进版本 OpenCAPI(开放式高性能总线标准)集齐计算机领域多家巨头: IBM,Google,AMD,NVIDIA,Micron,Mellanox 等, 以开放的姿态得到了业内广泛的支持. OpenCAPI 标准总线最大的特点就是性能强劲, 每个通道的数据都可达 25Gbps, 远远超过 PCIe 3.0 的 8Gbps, 而且也支持多通道绑定.
朋友圈二: Intel + Cray
Intel 在服务器 CPU 领域, 处于完全领导地位, 无论在性能, 生态各方面远超对手; 但超算领域加速卡方面, 面对 NVIDIA GPU 的强势, Intel 推出了 Xeon Phi 产品, 想凭借支持原生 x86 架构, 借力生态优势, 再下一城. 最近一期(2017 年 11 月)TOP500 排行榜中, 采用 Intel Xeon Phi 的超算总共有 29 台, 战绩中规中矩. 同期 NVIDIA GPU 为 87 台; 其余 300 多台为纯 CPU 无加速卡, 还有极个别采用自研加速卡, 如 "神威. 太湖之光".
随着 AI 的崛起, GPU 加速卡技术得到更快速的发展, Intel 虽说取得了一些成绩, 但势头上仍被 NVIDIA 压制, 调整取消了最近一代 Xeon Phi 产品, 聚集力量研制新产品, 希望在 AI 方面取得新的突破.
在高速网络方面, Intel 也是握有多张好牌; Intel 在以太网领域积累深厚, 有著名的 82599 网卡, 同时也是 RDMA over TCP (iWARP)技术主要推动者; 2012 年, Intel 收购 QLogic InfiniBand 业务, 基于这一技术又推出了 Omni-Path Architecture(OPA), 继续对 Mellanox 发起挑战, 并已斩获了部分超算客户. 同年, Intel 还收购 Cray 旗下超级计算机互联技术团队, 这个团队创造了两项互联技术, 分别为 Aries 和 Gemini.
在这个 Intel 主导的朋友圈里, 凭借其超强硬件技术及广泛的业务线, 在 CPU, 加速卡及高速网络全面 PK 三大计算巨头, 实力令人仰慕.
我的思考
我国虽然多次占据了 TOP500 的头两位, 但不能简单认为超算建设水平已领先其他国家, 特别是美国. 造成这种局面的一个主要原因是两国在建设超级计算机思路的不同:
美国是根据计算需求设计系统, 需要多少计算能力就把超级计算机计算能力设计成多少; 如上文提到的 CORAL 项目, 由三大国家实验室主导建设, 超算放置地和最终的用户都是各自国家实验室.
中国是通过立项建设, 证明我们有能力, 有财力建设世界第一的超级计算机也成为了项目的一大目标. 建成后, 建设方主要负责超算系统的运维, 计算资源部分用以支撑国家重大项目, 同时也向社会租售计算资源.
在超算建设方面, 中国从技术实力上跟欧洲, 日本都在一个水平线上, 不超前, 也不落后. 美国还是一骑绝尘, 特别在各个关键部件方面, 大规模并行应用软件方面.
在并行软件方面, 我们的差距远比硬件大, 无论是科研领域, 还是工业领域. 软件水平的制约, 各大超算中心大多存在单个并行作业规模较小, 硬件资源闲置率较高. 并且, 各个中心均隶属于大学, 研究院, 市场竞争意识淡漠, 服务意识不强. 这种现状, 也给了重视客户体验, 服务质量高的云平台们在超算领域的更多机会.
CPU + GPU + RDMA 的架构, 在系统效率, 可扩展性上展现出较大优势; 并伴随着 GPU 生态完善, AI 崛起等有利条件的推动, 正在成为企事业单位自建超算平台的主要选择之一. 云上超算平台紧跟趋势, 借助阿里云弹性裸金属服务器 (神龙)CPU/GPU + RoCE(RDMA over Converged Ethernet) 的技术优势, 迅速推出超级计算集群 (Super Computing Cluster, 缩写为 SCC) 产品(https://www.aliyun.com/product/scc ), 开拓传统超算客户上云业务.
后记
本文介绍了超算硬件的简史及新一代的趋势, 在软件方面 Linux 基金开源的超算项目 - OpenHPC 位于行业主导地位. OpenHPC 致力于为高性能计算构建一个开源框架, 适应现在工业和学术研究的需求, 创建一个稳定的 HPC 测试环境, 为 HPC 环境创建一个开源框架, 降低成本, 开发一个全能的 HPC 软件栈适应各种应用, 构建一个配置框架, 开发者和用户可以灵活的选择 HPC 中他们需要的部分.
对应, 我们推出了弹性高性能计算 (E-HPC,https://www.aliyun.com/product/ehpc ) 产品, 为客户以快捷的方式在阿里云上搭建超算平台, 并完全兼容 OpenHPC 软件栈; 同时, 我们还可以为客户提供应用特征分析工具, 提供针对特定应用的云上实例选型推荐, 性能优化服务.
如对阿里云超算平台感兴趣, 欢迎阅读:
阿里云超算揭秘: 虚拟机的心脏, 物理机的肌肉
黑科技揭秘: 如何通过阿里云超算, 使得汽车仿真效率提升 25%
异构计算与高性能计算, 是打开未来的两把钥匙
本文参考链接
- https://en.wikipedia.org/wiki/Supercomputer
- https://en.wikipedia.org/wiki/Seymour_Cray
- http://www.nscc-tj.gov.cn/claculation.php
- http://www.nscc-gz.cn/
- https://computation.llnl.gov/partnerships/commencing-work-coral
- https://www.top500.org/news/ornl-begins-construction-of-summit-supercomputer/
- https://www.olcf.ornl.gov/olcf-resources/compute-systems/summit/
- https://hpc.llnl.gov/hardware/platforms/sierra
- https://www.alcf.anl.gov/theta
- https://www.top500.org/news/retooled-aurora-supercomputer-will-be-americas-first-exascale-system/
- http://www.datacenterdynamics.com/content-tracks/servers-storage/aurora-to-become-americas-first-exascale-hpc-system-coming-2021/99035.fullarticle
- http://openhpc.community/
来源: https://yq.aliyun.com/articles/742105