最近 ARM 指令集相容处理器占据不少新闻版面,除了千呼万唤始出来、预定两年内完全取代英特尔处理器的 Apple Silicon,再来就是引起不少讨论、先后在 2019 年 11 月 Green500 和 2020 年 6 月 Top500 夺下榜首的日本理化学研究所超级电脑“富岳”(富士山的别称)的关键技术核心:Fujitsu A64FX 处理器。
整体来看,无论从哪个角度观察,这应该是目前最高阶的 ARM 指令集相容处理器了。
其实 Fujitsu 早在 2018 年夏天的处理器业界盛事 IEEE HotChips 30,就公开 A64FX 的技术细节(其中部分内容更在 4 月就先行披露),本质算是“电脑的语言”指令集架构从 SPARC-v9 转换成 ARM-v8.2-A 的 SPARC64fx 处理器(因衍生于高阶服务器专用的 SPARC64,也继承了诸多类似特色,如大型主机等级的资料可用性),采用台积电 7 奈米制程生产,主内存使用近来因高阶绘图芯片逐渐普及的 HBM2,和运算核心由台积电的 2.5D 封装 CoWos 技术包成一颗,毋需外部的内存颗粒。
讲更精确点,Fujitsu A64FX 是“针对超级电脑量身订做的 ARM 指令集系统单芯片”(System-on-Chip,SoC),其概念更可追溯于 2004 年 11 月,一举赶下雄踞“世界最强超级电脑王座”超过两年半(2002 年 3 月到 2004 年 11 月)地球模拟器(Earth Simulator)的 IBM BlueGene/L,体积仅有容纳 1,024 个运算节点和 8TB 主内存的 16 座机柜,反观地球模拟器动用 640 个运算节点,总共 5,120 颗 NEC SX-6 向量处理器和 10TB 主内存,多达 320 座运算机柜,彰显了追求建造速度的独到思维与异质功能融合的潜在威力。
后来劳伦斯利佛摩国家实验室(Lawrence Livermore National Laboratory,LLNL)的 BlueGene/L 持续扩充到 104 座机柜(478TeraFlops,峰值 596TeraFlops),2008 年 6 月被同样出自 IBM 的洛斯阿拉莫斯国家实验室(Los Alamos National Laboratory,LANL)的 Roadrunner 超越,稳占 Top500 首位长达 3 年半之久。后者是人类史上第一台效能达 1PetaFlops 的超级电脑。
那年刚好微处理器论坛(Microprocessor Forum)首次在台湾举办(新竹烟波大饭店),IBM 也在活动议程里,充分阐述 BlueGene/L 的技术细节与设计理念,笔者有幸坐在台下躬逢其盛,富岳和 Fujitsu A64FX 则让笔者回忆起历历在目的往事。
于“日用品”堆砌超级电脑以外的另类系统单芯片路线
“世界最快的超级电脑”不但是国家科技能力的重大象征,更是科技强权之间的国力较量,根据国家的 Top500 进榜数与总效能“圆饼图”,比重与趋势或多或少反映了国家的影响力。前述的富岳超级电脑,相关费用总计 1,300 亿日圆,其中 1,100 亿日圆由日本纳税人买单,日本-“宣扬国威”的强烈动机,不言可喻。
自从个人电脑与丛集运算环境(Cluster)普及后,超级电脑业界逐渐从特别客制化且量少价昂向量处理器、系统控制与内存芯片,朝向采用市售的“日用品”(Commodity)或系出同源的衍生产品(如 nVidia 的高阶运算用 GPU),除了降低购置与维护成本,亦可进一步提高超级电脑的可靠性与可用性。
也因此,Top500 清单早是满满一整排英特尔处理器与 nVidia 加速卡(与少少的 AMD 产品,以及根本没有未来的英特尔 Xeon Phi),偶见 IBM 的高阶 Power 处理器与 Fujitsu 的 SPARC64fx。
毕竟不计成本导入特制化零件与特殊半导体制程(甚至像 Cray-3 和 Fujitsu VPP500 还用到砷化镓这么独特的材料)的“高阶试作品”,自然远不如消费性市场随手可得的“成熟量产品”可靠。过于特殊的专属规格处理器,也限制了应用软件和开发平台的选择性,提高开发软件的时间与成本。反之,投奔“开放规格”,即可享受到更多样化的开源社群资源,并因更频繁的技术交流,而加速技术演进。
但超级电脑市场较量的重点,并不只限于账面效能和耗电,“研发时程”和“建造速度”也同样举足轻重。这也是 IBM BlueGene/L 在十多年前可在超级电脑领域独领风骚的秘密:延续现有 Power 处理器的研发成果,打造高度系统单芯片化的运算节点,实现更高的空间利用密度和更快的系统组装速度。Fujitsu A64FX 更承袭相同的思维,并借由台积电被众多客户千锤百炼后的成熟制程、研发资源丰富的 ARM 生态圈、拜显示芯片市场之所赐而便宜可靠的 HBM 内存,青出于蓝胜于蓝,相隔近 16 年,重现系统单芯片一次夺下 Top500 榜首的荣景。
大处着眼,小处着手
相信熟悉超级电脑的读者或许会想起,当时那台 IBM 与 Livermore 实验室合作的 BlueGene/L 测试机,并非彻底施工完毕的超级电脑(这让日本人颇不以为然),但在 Livermore 国家实验室,确实有部分应用程序跑在上头,并打败了地球模拟器保持的纪录。问题来了,为何 IBM 可以用这么快的速度(当时可是震惊世人),建好一台世上最快的超级电脑?
2004 年,BlueGene/L 可谓世界最大的嵌入式微处理器集合,揭示了“大处着眼,小处着手”观念,将系统单芯片的价值,从微型系统带到极大规模的超级电脑,技术核心为重新设计后的双核 PowerPC 440,具低耗电量和低发热量等特点。利用诸多今日我们耳熟能详的系统单芯片特色的 BlueGene/L,有以下特点:
- 超级省电:相同的运算量,这台 BlueGene/L 耗电量仅 NEC 地球模拟器的二十八分之一,自然也降低了发热量。
- 简单清楚的系统架构:BlueGene/L 不再有一大堆纠缠如“新竹米粉”的五颜六色线路和多如牛毛的网络总线控制器,易于安装与维护。
- 快速完成产品设计:利用现有研发成果,透过系统单芯片整合额外功能,不必重新设计每个元件,可迅速兜成产品。即使这算是“专属规格芯片”,但意义却和过去不惜血本的烧钱做法截然不同。
BlueGene/L 的架构相当单纯:
- 每颗时脉 700MHz 的处理器芯片,包含两个倍增浮点运算器的修改版 PowerPC440 核心与时脉 350MHz 的 4MB L3 快取内存(可设定为系统内存)。
- 两颗处理器芯片组成一张运算卡(Compute Card),上面附有 512MB 容量 DDR 内存,耗电量只有 20W。
- 16 片计算卡构成一片节点卡(Node Board),32 个处理器芯片(64 核心),提供 180GigaFlops 理论计算能力,8GB 内存。
- 32 片节点卡装在同一台机箱,提供 5.7TeraFlops 与 256GB 内存。
- 整个系统最大组态为 65,536 个节点卡(64 个机箱),当全部处理器都设定成计算模式时,有高达 360TFlops 的峰值运算量(2004 年底那台是 70.72TeraFlops)和 16TB 内存。
所谓的超级电脑,就是指具巨大平行运算量的系统(有别于追求顶级可靠性和极致软件相容性的商用大型主机),大多数平行处理程式,都必须在执行每个小单元,参考之前的单元计算结果,或是传送结果到其他执行单元,带来巨大的资料传输量。超级电脑的开发者几乎都将一半精力耗费在资料传输网络的设计。
BlueGene/L 系统组成极端干净,处理器芯片内建 5 种功能相异的网络控制器,让不同类型的工作分而治之,只需要板子上的连接点组成整个系统,你也看不到拉来拉去的排线和到处安插的总线网络控制器:
- 3D Torus 网络:每颗芯片有 6 个方向传送资料到整个系统,具流量监控、计算最佳传送路径的功能。
- Collective 网络:用来管理控制。
- 处理中断与系统问题的低延迟高速网络(Global Barriers and Interrupts)。
- 用来进行一般 I/O 和档案存取的 Gigabit 以太网路。
- 用来控制开机与设定的控制网络(Control Network)。
为何 IBM 要让 BlueGene/L 同时用 5 种网络架构?起因于 IBM 并未为了这台“速食”超级电脑设计专用操作系统,直接修改 Linux 来用,并 BlueGene/L 是每颗运算节点(一颗处理器)都是独立电脑的“Multicomputer”型态,单靠 3D Torus 网络不足以保证在最短时间内即时传送所有资料,特别是和计算无关的控制管理讯号,所以动用多种拓朴网络以保证面面俱到,是很正确的手段。
同场加映更夸张的设计:Sun 曾竞标美国国防部先进研究计划署(Defense Advance Research Projects Agency,DARPA)于 2002 年初开始的 High Productivity Computing System,日后更名为 PetaFLOPS 的超级电脑计划(略早于 NEC 发表地球模拟器),提出惊世骇俗的“Hero”计划,引进“Proximity Communication”研究成果,透过芯片彼此相邻的“超高速无线传输”(别怀疑),一举解决带宽延迟的瓶颈和系统组装的麻烦。很可惜这案子由 IBM 和 Cray 击败 Sun 共同得标,无缘让世人目睹这令人啧啧称奇的世界奇观。
虽然超级电脑的可靠性要求不如商业大型主机严谨,但看在巨大资料传输量的份上,假若自己的家用个人电脑可能一年内因一次讯号错误当机,套在超级电脑就可能变成一小时一次了。
也因此,IBM 在 BlueGene/L 引入许多除错技术,由小到大,从芯片(所有内存皆受到 ECC 保护以修正单位元错误)到系统(所有节点和网络都有自我错误监测,而最重要的 3D Torus 网络则动用超过 4 种数学除错方式以保障资料传输的正确性)。当然,低发热量的系统单芯片,也降低超级电脑因过热而不稳的可能性。
承继 IBM BlueGene/L 精神的 Fujitsu A64FX
这些年来,服务器大厂纷纷放弃开发自家处理器,改投向“开放系统”的怀抱,但 Fujitsu 仍持之以恒研发高阶处理器,如 GS 系列大型主机、Unix 服务器的 SPARC64、因 2011 年“京”(K-Computer)超级电脑专案诞生的 SPARC64fx。
让 SPARC64fx 转战 ARM 指令集的 A64FX,堪称三者集大成,也让 ARM 指令集相容处理器,一举登天,拥有商用大型主机(Mainframe)的高可靠度、高阶服务器的高效能,与超级电脑最需要的低能耗比,身为“后京”(Post-K)时代的日系超级电脑心脏,性能目标是达到 2011 年“京”的 100 倍。富岳抢下 Top500 榜首就是成果,且计划进度还比表订的 2021 年量产出货提前甚多。
A64FX 主要特性如下:
- 台积电 7 奈米 FinFET 制程,87.86 亿晶体管,台积电 CoWos 2.5D 封装包 4 颗 8GB 容量 HBM2 内存,兼顾缩减面积与提升内存带宽。
- 基本上是替换指令集的 SPARC64 XIfx,从核心微架构到基础结构皆大同小异,但系统内存改用包在一起的 32GB HBM2,却能大幅精简空间。
- 48 个计算核心和 4 个处理 I/O 作业的辅助核心,切成 4 块 CMG(Core Memory Group),每个 CMG 有 13 个核心(12 运算+1 辅助 I/O)、8MB L2 快取内存、8MB HBM2 内存。CMG 规划也与 SPARC64 XIfx 大同小异,仅核心数略有差异。
- SIMD 浮点运算“顺势”使用 ARM 官方制定的 SVE(Scalable Vector Extension)指令集,理论浮点运算性能达到 2.7TeraFlops,是前代 SPARC64 XIfx 的 2.5 倍,资料格式也支援人工智能需要的 FP16 与 INT16/8。
ARM 的 SVE 不仅“比英特尔 AVX-512 更富有向量电脑的传统风味”,也有个有趣的 MOVPRFX 指令,用来弥补 ARM 迈进 64 位元后,为了提供 32 个暂存器(需要 5 位元指定一个暂存器,4 个就是 20 位元)牺牲掉的 FMA4 四算子浮点乘积和(A×B+C=D)。一旦执行三算子的 FMA(A×B+C=C),会覆盖掉一个暂存器的原始内容。
MOVPRFX 指令可预先经由前置码(Prefix),“更名”运算目标暂存器,以保留其内容。而 A64FX 的内部执行单元则会将接连的 MOVPRFX 和 FMA3 两个指令合而为一,变相实作 FMA4,掩盖执行两个指令的额外延迟。
- 高可靠度则比照 SPARC64fx 办理,大型主机等级的资料可用性,让整颗芯片大部分都受到 ECC 单位元错误修正和 Parity 纠错机制保护。
- 多处理器总线采用演进于“京”超级电脑的第三代“Tofu”(豆腐),6D Mesh/Torus 结构。
- 和 BlueGene/L一样高度模组化设计,一个机柜框体(Rack)可置入 384 颗 A64FX,18432 个运算核心,单机柜理论效能超过 1PetaFlops。
- 富岳由 396 个机柜框体组成,152,064 颗 A64FX,Top500 测定性能为 415PetaFlops。
“热情拥抱现成资源”的弦外之音
Fujitsu 和理化学研究所在 2019 年 4 月 15 日签订制造出货安装合约,11 月富岳试作机拿下 Green500 第一名,12 月 2 日就开始出货 6 个机柜框体,全数 396 个在 2020 年 5 月 13 日全部搬入理化学研究所,速度真的很快,当年 IBM BlueGene/L 的“速食”风格,在 Fujitsu A64FX 也一览无遗。
况且,Fujitsu 还享用那时 IBM 还体验不到的“完整 IP 授权、最佳化电子辅助设计工具与相关函式库、专业晶圆代工”三位一体的成熟产业生态体系,大量引用“现成资源”加速产品研发与验证,降低成本,不限硬件,一并拥抱蓬勃发展中的 ARM 软件资源,在“沿用市售标准品”和“拚死硬干特规货”中取得平衡点。这是 Fujitsu 在高效能运算处理器的“语言”,放弃 SPARC 转向 ARM 背后最重要的弦外之音。
最后,顺带一提,如果台积电继续维持制程优势,英特尔真的还有机会追上来吗(官方预定 2021 年 7 奈米、2023 年 5 奈米、2025 年 3 奈米、2027 年 2 奈米、2029 年 1.4 奈米)?还是昔日傲视世界的半导体制造能力,将就此遭到毁灭性的打击?值得拭目以待。
延伸阅读:
- 别再说 ARM 处理器不够力,富岳超级电脑拿下 500 大超级电脑第一名
- 苹果股价再登历史高!Silicon 并非单纯的 ARM 处理器
- 台积电 300 人大军与 5 奈米制程助阵,让 Mac 可改拥 ARM 处理器
- 狼真的来了,苹果真的改用自研的 ARM 架构处理器⋯⋯然后呢?