【翻译转载】概览中国的百亿亿次超级计算机_风闻
guan_15835260112264-2021-11-21 10:02
本人机翻润色,转自www.nextplatform.com,原作者Timothy Prickett Morgan 侵删
美国和中国之间的贸易战不仅仅是一场自上而下的政治和经济战争,也是一场技术战争。而且可以说,2016年6月亮相的神威·太湖之光超级计算机,主要采用本土技术,而不是美国制造的芯片,是这个崛起大国和现有大国之间不可避免的冲突的最新阶段的爆发点之一。
美国政客对向中国出售技术感到矛盾,而中国政客对依赖技术感到不情愿。因此,中国有投入大量资金,通过同时设计几个处理器和加速器,几个互连系统,以及主要基于其自身技术的千万亿级和现在的百亿亿级系统来对冲其赌注和减轻其风险。
中国政府在相当长的一段时间内对其高性能计算工作的上层采取了三合一的方法,我们在2016年7月报道了与百亿亿级系统开发有关的情况。正如美国和欧洲的情况一样,最大的高性能计算中心倾向于选择不同的架构和互连,以便在一种技术被推迟的情况下,所有中心都不会受到影响。而在2019年5月,中国政府采取了三管齐下的方式,让国防科技大学(NUDT)、国家并行计算机工程技术研究中心(NRCPC)和服务器制造商曙光公司(原曙光公司)相互竞争,提出了三种依靠完全独特组件的不同的级联设计。
这三台机器中的一台的结构细节刚刚浮出水面,即神威的超大规模计算机,它是安装在无锡国家超级计算中心的神威太湖之光系统的后续产品,是中国各地十几个此类中心之一。太湖之光系统在2016年6月的国际超级计算会议上大张旗鼓地亮相,代表了中国早期令人印象深刻的混合计算努力,该机器主要专注于传统的HPC模拟和建模工作负载,但也能够进行数据分析和一些机器学习工作的规模。这台尚未命名的神威百亿亿超级计算机是太湖之光系统的后继,前者从2016年6月到2018年11月,它被评为世界上最快的超级计算机,今天仍然排名第四。
在审查了神威太湖之光和神威百亿亿次系统的规格后,有一件事对我们来说是非常清楚的。申威架构从一开始就被设计为推入百亿亿次性能范围及以上,而且它在实现专用混合架构方面做得比我们迄今为止看到的其他方法要简洁得多。其他混合CPU-GPU或CPU-DSP设计--包括由国防科技大学为广州国家超级计算机中心设计的天河系列系统(天河二号、天河二号A和未来的天河三号超大规模机器)--其串行和并行部件耦合得不那么紧密。但是这些混合系统给了系统架构师一个机会,让他们可以随时调整这些组件的比例,这也是有价值的。这说明了一个工程原则,即你必须放弃一些东西才能得到其他东西。总是有一个折衷。或几十个。
申威系统的处理器已经锁定了这些比率,你没有什么办法来改变它。但每瓦特的性能和可扩展性看起来更好。因此,有了这个
【在三个不同的载体上加倍努力以达到百亿亿次的目标】
在进入神威百亿亿次系统之前,回顾一下太湖之光系统的架构及其自制的SW26010 RISC处理器可能是个好主意。
正如今天的许多CPU实际上相当于2000年左右在单个芯片上实现了4或8个节点的整个婴儿NUMA服务器一样,SW26010处理器类似于在单个芯片上实现了4个节点的婴儿混合超级计算机。太湖之光系统中的这些SW26010处理器在物理上是联结在一起的,在逻辑上跨越了一台机器,图像中的40,960个处理器有1,065万个内核,都是以连贯的方式连接在一起。
下面是由NRCPC设计和制造的SW26010处理器的内部。

申威芯片有用于串行工作的胖核心和用于并行工作的瘦矢量核心网格,正是在这个意义上,它就像一台婴儿混合超级计算机。这些胖子和瘦子核心的组合被称为核心组,或称CG。在SW26010处理器中,有一个胖核心,称为管理处理元件(MPE),它直接连接到一个由64个计算处理元件(CPE)组成的8×8网格,通过网状网络连接。MPE和CPE核心都是基于一个不知名的64位核心,有趣的是两者都支持256位宽的矢量单元。
MPE具有乱序执行功能,支持超标量处理,就像大多数RISC处理器多年来所做的那样。它可以在用户或系统模式下运行,有32KB的L1数据缓存和256KB的L2缓存;CPE内核只在用户模式下运行,除了有256位矢量外,它们还有16KB的L1缓存和64KB的 “草稿纸内存”,据推测,所有CPE内核之间的缓存是不一致的。这些核心都以1.45 GHz的速度运行,这与我们现在看到的GPU核心的运行速度相同。
每个核心组都有一个共享的内存空间和自己的内存控制器,在这种情况下,它是一个DDR3内存控制器。SW26010处理器有四个这样的核心组,通过芯片上的高速网络连接在一起;它看起来像一个环形互连,就像我们在许多SoC和过去的一些单片CPU中看到的那样,但论文中说它是一个 “片上环形网络”。这就是四个MPE和256个CPE,共260个内核。因此,我们认为,申威处理器的名称是:260个核心加上第一代等于2601,再加一个零为五位数,也许是为了在芯片制造上可能的子版本。
每个核心组都有一个系统互连(SI),将处理器与整个太湖之光集群的管理网络挂钩,同时还有一个协议处理单元(PPU),图中没有显示,它可能是实现PCI-Express 3. 0总线出去的网络接口,更具体地说,我们知道这些接口以某种方式到达一组8个56Gb/sec FDR InfiniBand主机总线适配器,如下图所示,在太湖之光超级节点上,每个主板上有8个SW26010处理器(4个在上面,4个在板子的下面)。像这样。

我们还注意到,每个内存控制器有九个DDR3 DIMM挂在上面,所以在系统板的内存上有一些冗余数据保护。每个处理器可以访问32GB的内存(每个核心组8GB),这并不是一个很大的内存,但是在40,960个节点上,加起来就是1.25PB,这绝对是一个很大的内存。
SW26010处理器的准混合型多核架构是神威超级计算机设计的秘诀,这也是为什么它可以进行相当适度的调整而仍然达到百亿亿级性能的原因之一。我们将让《中国科学报》上由高建刚(音)领导的论文作者来谈这个问题,因为这很重要。
“基于HPC应用通常是可分离的和有规律的,SW多核处理器的性能通过整合大量的简化计算核心得到了极大的提高。更复杂的通用核心也是处理程序的串行部分和满足超级计算中心应用的多样性的必要组成部分。与 “CPU+加速器 “的方法不同,SW多核处理器将不同类型的内核异质地整合在一个芯片中。在异构架构中,少数强大的管理处理元件(MPEs)负责发现指令级的并行性并管理芯片,而大量的计算处理元件(CPEs)旨在处理线程级的并行性,这大大提高了芯片的性能。这种多核处理器的异构性可以同时提供通用CPU的灵活性和加速器的高性能,有效提高计算密度。值得注意的是,采用了统一的指令集,便于软件系统的设计和兼容”。
因此,如果你要建造神威太湖之光超级计算机,你将如何把它从125 千万亿次每秒峰值双精度性能扩展到至少1 百亿亿次?有很多方法可以做到这一点,但根据本文,NRCPC采取了一些明显的方法,部分原因是芯片工艺制造的缩减,而这些缩减无疑是由中芯国际集成电路制造有限公司提供的,该公司是中国的大型本土代工厂,正试图通过其芯片代工厂与台湾半导体制造公司、三星电子和英特尔并驾齐驱。中芯国际的14纳米FinFET工艺是在2019年批量生产的,所以SW26010使用的是更老的工艺,而中芯国际的新N+1工艺据说相当于三星的8纳米工艺,比台积电的10纳米工艺更好。这种N+1工艺用在可能在今年投产的芯片上有点年轻。因此,假设SW26010是用28纳米工艺制造的,我们认为未来的信申威超大规模处理器--我们称之为SW52020,原因一会儿就会很明显--将有能力将处理器芯片尺寸缩小不少,保持时钟不变或更低,并大幅提升芯片上的计算单元。通过使用14纳米,NRCPC可以期望通过8纳米或更小的制程--以尝试在未来的机器上推进到10百亿亿次。
深入研究神威百亿亿次机器的架构,NRCPC所做的第一件事是将未来处理器上的核心组数量增加一倍,从SW26010的四个增加到我们称之为SW52020的八个。这样做的效果是将两倍的计算元素塞进同一个构件,在相同的时钟速度下,设备与设备之间的峰值性能提升了2倍。因此,从260个内核到520个内核,只是为了说明问题。
NRCPC所做的第二件事是将MPE和CPE内核中的矢量引擎从256位扩展到512位。而结合计算元素的翻倍,SW52020的性能现在更宽了。此外,矢量单元不仅支持32位单精度和64位双精度浮点运算,而且现在还支持16位半精度浮点,这对某些HPC和许多AI工作负载来说是非常有用的。
无论如何,在相同的1.45GHz时钟速度下,计算元素的翻倍将性能提升到约6.12兆位,NRCPC很可能会保持这个速度,而矢量宽度的翻倍将峰值性能再次提升到12.24兆位--文件中正式说 “超过12兆位--每块芯片。因此,如果神威太湖之光系统在40,960个节点(在40个由160个超级节点组成的机柜中,每个节点有256个SW26010处理器)上能够达到125.4 千万亿次的性能,那么只要加入新的处理器就能使系统达到501.4 千万亿次每秒的峰值性能。
这只是通往百亿亿规模的一半,除非你想四舍五入,四舍五入就是百亿亿—我们不想这样做,NRCPC也不想这样做。因此,在这一点上只有一个选择,那就是扩大网络,为系统增加更多的节点。而这正是NRCPC正在做的神威百亿亿次系统。论文中说该机器将有超过80,000个节点,但我们的计算表明,如果我们所说的SW52020的时钟速度保持在1.45GHz不变,它将需要81,920个节点来完成工作。这将使你达到神话般的神奇的1.028 百亿亿次每秒峰值性能,未来的神威机器可以合法地被称为HPC和AI的百亿亿次级系统。
下面是神威百亿亿次系统的方框图。

在这张图片中很难看出来,但看起来一个超级节点仍将有256个SW处理器。我们将单独钻研这个未来的神威百亿亿次系统的网络,并对此进行研究。
我们想知道的是,每个人都想知道的是,相对于神威太湖之光机器,神威百亿亿次系统的预期性能将是什么,而论文的作者在这方面提供了一些指导。

太湖之光系统的峰值理论性能为125.4 千万亿次每秒,在15.37兆瓦的功率范围内,运行高性能Linpack(HPL)基准时,可计算93千万亿次每秒。这相当于74.2%的计算效率。预计在Linpack测试中,神威的超大规模机器将提供约700 千万亿次每秒的性能,而峰值机器为1 百亿亿次每秒,或约70%。网络更大,而且有一些固有的延迟,我们将在另一篇后续文章中讨论,但它也有更多的带宽(8倍),处理器有更多的内存带宽(6.8倍),足以弥补处理器性能的4倍增长和网络的2倍规模,以覆盖节点数的翻倍。净效果是,正如你在上表中看到的,NRCPC预计Linpack的性能从太湖之光转移到百亿亿次系统中会有7.5倍的增长,但是在超级计算机碾压式的高性能共轭梯度(HPCG)基准上,有效性能将从480 万亿次每秒的有效性能上升至少6.3倍,超过3 千万亿次每秒的有效性能。
正如你在上表中所看到的,性能范围从使用快速傅里叶变换的光谱方法基准的低2倍(好吧,2倍的规模和每步稍快的性能)。在上表中的许多测试中,应用程序的预期性能提升在7.5倍和7.7倍之间,这对于原始的8倍性能提升来说还不错。有趣的是,MapReduce的规模将扩大8倍,但只能提供大约100 千万亿次每秒的性能。我们对一个与MapReduce挂钩的浮点性能指标感到好奇,为什么它似乎只用了神威百亿亿次系统或之前的太湖之光系统的十分之一。
接下来,我们将讨论Sunway exascale系统的内存、存储和网络。(本文完)通过www.DeepL.com/Translator(免费版)翻译