搭载Power11的IBM服务器,性能新巅峰,全球最强
如果你负责构建一个大型数据中心,或者需要运行极为复杂且资源密集型的应用程序,那么一台性能卓越的服务器就成了关键所在。想象一下,你需要一台服务器,它能够轻松应对数十TB内存的存储需求,同时还要配备数十个PCI-Express外设插槽,以便连接各种外部设备。不仅如此,它还得支持数千个直接连接的存储设备,并且所有这些设备的数据都要能够高效地被数百个核心处理,而这些核心还需要具备大带宽来处理庞大的内存占用。满足这些严苛要求的服务器选择其实并不多,这也凸显了高性能服务器市场的独特性和重要性。
IBM一直以来都在服务器领域占据着重要地位,其基于RISC处理器Power系列的Power Systems服务器业务就是一个典型代表。这些服务器所支持的操作系统十分多样,包括IBM自主研发的Unix变体、历史悠久的专有操作系统IBM i(前身为OS/400)以及广受欢迎的Linux操作系统。大型机业务为IBM带来了可观的利润,而且那些依赖大型NUMA机器来支持大规模事务数据库管理系统及相关应用的客户,对IBM的这些服务器有着绝对的依赖。这种相互依存的关系,使得IBM有足够的动力和资源持续投入资金研发Power处理器,以不断提升服务器的性能和竞争力。
就在上周,IBM推出了备受瞩目的Power11处理器,这一举措无疑为服务器市场注入了新的活力。从7月25日开始,Power11处理器将全面应用于入门级、中端和企业级服务器中,为不同规模和需求的企业提供强大的计算支持。
从技术演进的角度来看,Power11芯片与2021年9月首次亮相的Power10芯片有着紧密的联系,甚至可以说是在Power10基础上的深度优化版本。Power10芯片的研发过程可谓是一波三折,其芯片代工合作伙伴格芯(GlobalFoundries)在制造工艺上遭遇了诸多难题。原本计划采用的10纳米和7纳米制造工艺先后被取消,这一变故不仅影响了Power10的研发进度,也让英特尔在相同工艺转型上遭遇了重大挫折。而AMD则抓住了这个机会,凭借兼容的Epyc服务器芯片在市场上迅速崛起,超越了英特尔的至强(Xeon)X86服务器芯片,市场份额持续增长。
在这样的大背景下,IBM与格芯的合作也面临着巨大挑战。2014年10月,格芯接管了IBM微电子业务,并承担了当时IBM正在研发的14纳米工艺的产品化工作。然而,由格芯采用14纳米工艺蚀刻的Power9芯片上市时间比原计划晚了约一年,IBM直到2018年才全面提高其产量。首款Power9芯片在2017年底推出后,被应用于橡树岭国家实验室的“顶点”(Summit)超级计算机和劳伦斯利弗莫尔国家实验室的“塞拉”(Sierra)超级计算机,并通过NVLink互连与英伟达“伏特”(Volta)V100 GPU加速器共享内存,展现出了强大的计算能力。原本IBM还计划推出Power9’(这里的“’”表示“升级版”,通常指工艺缩小,在Power处理器系列中常意味着插槽中芯片数量翻倍),但这一计划最终未能实现。不过,Power8’作为测试平台,成功实现了将Power8芯片与NVLink端口紧密耦合到英伟达“帕斯卡”(Pascal)P100 GPU加速器,为后续的技术发展积累了宝贵经验。
回到Power10的研发,最初的计划是采用10纳米工艺和新的Power微架构,将核心数量比Power9翻倍。这意味着将有每核心8线程(IBM称之为SMT8)的24个核心或每核心4线程(IBM称之为SMT4)的48个核心。这款芯片原定于2020年推出,具备更快的OpenCAPI和NVLink直接I/O及内存共享端口,能够为数据处理和传输提供更高的效率。随后的Power11原计划在几年后推出,预计采用7纳米工艺,且核心中肯定会配备更宽的向量处理引擎,以进一步提升计算性能。
但在研发过程中,情况发生了变化。格芯告知IBM,由于10纳米工艺延误,将直接跳过10纳米采用7纳米工艺。于是,IBM开始重新设计Power10芯片。在7纳米节点,根据IBM公布的路线图,将通过格芯的7纳米工艺推出两种变体的Power10芯片,一种是60个SMT4核心,另一种是30个SMT8核心,无论哪种变体,总线程数均为240。然而,2018年8月,格芯放弃了其双重策略,即同时采用标准浸没式光刻技术和更昂贵的极紫外(EUV)技术来创建7纳米工艺,这使得IBM在为其Power和System z大型机CPU寻找代工厂时陷入困境。
面对这一困境,IBM果断转而求助三星。三星在芯片制造领域实力雄厚,不仅生产自己的智能手机芯片,还非常希望在7纳米及更小节点上为大型计算引擎创建高性能工艺。对于三星来说,IBM是学习这一工艺的理想初始客户,因为IBM在芯片开发和制造方面拥有数十年的专业经验。双方的合作一拍即合,也为Power11的研发带来了新的转机。
作为与三星合作的一部分,IBM开始对Power指令集和架构进行全面革新。在Power设计中已有的整数核心和浮点向量基础上,添加了矩阵数学单元。这一革新举措原本计划在Power11这一代实现,但由于之前提到的制造问题导致Power10和Power11的研发进度受到影响。不过,新冠疫情在一定程度上为IBM提供了缓冲时间,使其能够精心打造Power10芯片。从这个意义上说,交付的Power10芯片实际上已经具备了原本可能成为Power11芯片的许多特性。因此,从抽象的角度来看,Power10实际上就是Power11的雏形,而Power11则是在此基础上的进一步升级和完善,可称之为Power11+。
从芯片规格来看,交付的Power10和Power11芯片均拥有16个核心和相同的180亿个晶体管,但在核心的使用方式和时钟频率上存在一些区别。Power10芯片同样拥有128MB的L3缓存,分两组蚀刻在芯片上,每组SMT8核心周围有2MB的L2缓存。而Power11芯片则实现了重大突破,其所有16个核心均可激活以运行操作系统。相比之下,Power10由于采用三星最初的7纳米工艺,在制造过程中至少有一个核心是残次品,因此最多只能使用15个核心。从Power10的SKU来看,残次品数量似乎相当多,这种情况在英特尔和AMD的X86服务器处理器中也较为常见,这也是SKU堆栈如何缩减到少量核心的原因。
针对不同规模和需求的应用场景,IBM为采用一到两个插槽的所谓“横向扩展”系统推出了多种配置的Power11芯片。这些芯片拥有4个、8个、10个、12个或15个可用核心,并采用单芯片模块(SCM)和双芯片模块(DCM)进行配置。在DCM中,频率范围从2.4GHz到4.15GHz,在SCM中,频率范围从3GHz到4.2GHz。此外,还有一种特殊的DCM变体,插槽中的第二个芯片的所有核心均被停用(无论是故意为之还是由于良品率低),但该芯片的所有I/O功能均可用。这种被IBM称之为入门级SCM(eSCM)的芯片,在一个芯片上有4个或10个活跃核心,第二个芯片上没有活跃核心,但I/O能力是预期的两倍,能够满足一些特定应用场景的需求。
在我们研究相关技术文档时,发现了一些令人困惑的数据。有表格显示Power11芯片拥有300亿个晶体管,时钟频率范围从3.8GHz到4.4GHz,芯片尺寸为654平方毫米,而Power10的芯片尺寸为602平方毫米,时钟频率范围从3.75GHz到4.15GHz。我们不清楚这些表格中更高的晶体管数量和芯片面积从何而来,并已联系IBM寻求澄清。据我们目前所掌握的信息,Power10和Power11芯片的芯片尺寸和晶体管数量应该是相同的,只是在可用的晶体管数量上可能因制造工艺和设计优化而有所变化。
接下来,我们看看搭载Power11芯片的服务器在实际应用中的表现。以强大的Power E1180服务器为例,这款机器与2021年推出的Power E1080在整体架构上几乎相同,但在一些关键部件上进行了升级。其中,最明显的区别在于内存配置。Power E1180默认配备DDR5内存,而在Power E1080一代的后期,DDR5内存是升级选项,该代最初配备的是DDR4内存。对于那些购买了E1080并花费巨资购买DDR4内存的客户来说,IBM提供了一个极具吸引力的升级方案。这些客户可以将其处理器升级到Power11,同时保留机箱中的DDR4内存,这样在牺牲一些性能规格的同时节省了一大笔费用。IBM能够实现这一升级方案,得益于其独特的内存接口技术。通过OpenCAPI内存接口(OMI),IBM实现了与内存的差分接口,DDR4或DDR5协议是在内存芯片上实现的,而不是在Power10或Power11芯片上的控制器上实现的。这种设计不仅提高了内存的兼容性和灵活性,还为服务器的发展提供了一种新的思路,值得业界借鉴。
为了更直观地了解Power11芯片的内部结构和工作原理,我们来看一下它的外观和引出的通道。Power11芯片的样子与Power10芯片十分相似,如果你对Power10芯片有一定的了解,那么对Power11芯片也会感到熟悉。以下是展示从Power11 SCM模块顶部引出的通道的框图,它与Power10 SCM相同,只是在封装上做了一些调整以提高能效。这些调整虽然看似微小,但却能够在一定程度上提升服务器的整体性能和稳定性。
从I/O性能方面来看,Power11芯片从SCM模块顶部引出72条I/O通道,这些通道支持单个节点内CPU插槽之间的X总线互连以及多个节点之间的A总线NUMA链路。目前,虽然尚不清楚Power11中X总线链路的精确运行速度,但我们根据行业趋势和技术发展推测,其运行速度可能是50Gb/秒;而A总线链路的运行速度我们已经确定是32Gb/秒。这些高速的I/O通道为服务器内部的数据传输提供了强大的支持,使得服务器能够更高效地处理各种复杂任务。
在计算性能方面,每个节点配备四个插槽,单个共享内存系统中配备四个节点的情况下,Power E1180最多可提供256个运行频率为4.4GHz的核心,主内存容量最高可达64TB。然而,考虑到内存成本的因素,实际使用中的大型Power E1180机器的内存配置可能会有所不同。即使是运行SAP HANA内存数据库及其应用这样对内存要求极高的场景,我们预计实际使用中的机器最高内存容量也将达到16TB,偶尔可能会达到32TB。毕竟,内存成本是一个不可忽视的因素,除非有真正的商业需求,否则企业在内存投入上会相对谨慎。
为了更好地评估Power E1180服务器在市场上的竞争力,我们将其与AMD和英特尔的同类产品进行对比。AMD的NUMA集群系统在核心数量和线程处理能力方面表现出色,其系统最多配备两个CPU,采用普通版“都灵”(Turin)Epyc 9005(配备Zen 5核心)时,拥有128个核心和256个线程,运行频率为2.7GHz;采用“都灵”Zen 5c变体(通过将芯片上使用的L3缓存大小减半使核心数量翻倍)时,同样拥有128个核心和256个线程,但运行频率为2.25GHz。这款配备全速6.4GHz DDR5内存的机器可以提供1.5TB/秒的内存带宽。采用我们认为因价格因素而成为实际上限的64GB DDR5 DIMM,这款机器将拥有3TB内存。
英特尔的“Granite Rapids”至强6处理器也有其独特优势。采用该处理器的8路服务器每个插槽最多配备86个核心,整个NUMA机器最多配备688个核心,但这些核心的运行频率仅为2GHz。这款配备64GB DDR5 DIMM(运行频率为6.4GHz)的英特尔至强6系统将提供8TB内存容量和机器中所有内存控制器的5.5TB带宽。
与AMD和英特尔的产品相比,IBM的Power E1180服务器在内存和I/O与计算能力的平衡方面表现出色。IBM采用了独特的设计策略,通过降低DDR5内存的速度,并在Power11芯片上配备16个内存控制器,以降低内存运行温度并提高可靠性。这样一来,16路Power11服务器能够实现12.8TB/秒的内存带宽,并使用64GB差分DIMM在16个插槽上实现16TB内存(IBM提供32GB、64GB、128GB和256GB D-DIMM供用户选择)。这种设计既保证了服务器的高性能,又兼顾了稳定性和可靠性,能够满足企业对大型服务器的严格要求。
多年来,IBM一直在积极探索内存、I/O和加速器之间的融合与优化。早在2018年8月,我们就展示了IBM使用Power9处理器可以实现的一些有趣选项。在Power服务器中,企业可以根据自身需求灵活调整核心数量、内存容量和带宽。如果需要相对较低的计算能力,但对内存带宽要求较高,可以购买处理器模块中残次核心较多的产品,从而在降低成本的同时满足内存带宽需求。同时,企业可以根据DIMM的容量增加系统的内存容量,带宽则是固定的,可以通过填满内存插槽来增加带宽,或者不填满内存插槽来减少带宽。
然而,如果企业需要相对于内存容量或内存带宽增加更多的计算能力,那么增加核心数量就面临一定困难。为了解决这一问题,我们建议IBM创建一种称为扩展DCM(xDCM)的模块,将系统上的一些OMI内存端口和OpenCAPI端口转换为X总线和A总线NUMA链路。通过这种方式,可以通过增加Power E1180节点上的四路NUMA配置或通过在机箱中添加更多NUMA节点来提高高端Power11机器的可扩展性。我们认为后一种方法可能更有效,能够为企业提供更强大的计算能力和更灵活的配置选项。
为了更全面地了解Power系列服务器的发展历程和性能提升,我们来看一下基于Power9、Power10和Power11处理器的最后三代高端Power Systems机器的性能对比,以及理论上的Power E1185和Power E1185X可能达到的性能。通过这些对比数据,我们可以清晰地看到Power系列服务器在核心数量、内存容量、计算性能等方面的不断进步和提升。
虽然我们目前还不清楚创建扩展DCM(xDCM)模块的成本有多高,但增加更多核心无疑会为IBM的服务器带来诸多优势。更多的核心意味着IBM可以在机箱中添加更多虚拟机,从而帮助企业将更多的工作负载整合到一台大型服务器上。