2018年10月,Arm推出专为5G网络和下一代云端到边缘基础设施创立的全新基础设施级IP—Neoverse,这被业界视作是“Arm服务器生态第三波浪潮”的标志性事件。从那之后,短短的一年半时间内,华为基于鲲鹏920的泰山(TaiShan)服务器、飞腾FT-1500A/FT-2000/FT-2000+ CPU产品、Marvell ThunderX3处理器、亚马逊(AWS)Graviton2处理器、Ampere Altra处理器、法国芯片初创企业SiPearl用于百亿亿级超级计算机原型机的代号为“Rhea”的处理器芯片等,如“雨后春笋”般相继面世。
“滚雪球”效应
服务器是一个跟生态密切相关的业务。Marvell半导体公司副总裁及服务器处理器部总经理Gopal Hegde认为,Arm服务器生态日益繁荣的原因,是最终用户发现Arm加速应用的时机已经成熟,才会有越来越多的人投入。“生态层面其实是一种‘滚雪球’效应,滚到一定地步就会自己越滚越大。”他说。
以Marvell ThunderX2为例,自从2018年推出以来,在超算(HPC)、云端(CLOUD)和边缘计算(EDGE)三大市场的部署进度不断加速,得到了诸多OEM厂商和平台、IHV硬件厂商、操作系统和固件、中间件、应用和工具的支持,目前生态系统覆盖已超过100家合作伙伴企业。例如微软正为Azure部署基于ThunderX2的量产级服务器,也公开表态未来可能有40%-50%的量迁移到Arm平台上;ThunderX2系列服务器处理器已实现对NVIDIA GPU的支持,将进一步满足HPC 和游戏应用的需求;超算领域,隶属于美国能源部的劳伦斯·利弗莫尔(Lawrence Livermore)、桑迪亚(Sandia)和橡树岭(Oak Ridge)国家实验室,英国莱斯特大学(University of Leicester)等都采用了ThunderX2处理器。
Gopal Hegde认为,尽管超算、云端计算和边缘计算三大市场有各自不同的需求和侧重点,但其实还有很多事情是贯通的。一个典型案例就是浮点运算,以前浮点运算更多应用在超算领域,但随着AI和机器学习的出现,云端对浮点运算的要求也非常高。而且超算在包括架构在内的很多领域是领先于云端的,很多理念在超算应用中实现之后,过一段时间才会选择性的推到云上。
而在Marvell半导体公司服务器处理器部产品营销高级总监周立新看来,如今数据中心已从对单线程性能的关注转向对机架级别性能的关注,其中性能功耗比、性能成本比和TCO(总拥有成本)是部署考虑的三大关键因素。因此,数据中心开始采用专为特定工作负载而定制的服务器。
从应用场景看,当前的数据中心除了继续强调单线程性能外,同样强调并行处理能力,由于部署规模日益庞大,成本、功耗成为与性能并重的考虑因素,这也是市场上青睐Arm这样低功耗、低成本设计处理器的原因;从架构层面来看,之前传统的软件有很多都是由第三方提供的,比如Oracle提供数据库,但很多客户没有源代码。但随着GPU、异构计算架构的不断涌现,一些超大规模数据中心的工作负载和应用不但开始提供有源代码,还允许改变源代码和程序来加速创新能力,这也给ARM服务器的引入带来了方便,可以更轻松应对兼容性问题。
英特尔和AMD也给了Arm机会。按照Gopal Hegde的说法,英特尔领先的晶圆制造能力是其能长期称霸服务器芯片市场的原因,但最近几年,他们在制造工艺上落后了。Arm服务器芯片厂商的主要合作伙伴台积电则高歌猛进,在拉开与Intel差距的同时,给了Arm服务器新的机会;AMD虽然凭借EPYC架构重返服务器市场,ROME系列也受到了客户的高度认可,但其架构在延迟、带宽和功耗等方面存在弊端。
但Gopal Hegde不认为Arm服务器会与x86展开全面竞争,目前来看,生态成熟且成长迅速的超算和云端领域会是Marvell发力的方向,企业级市场不会有进入的想法。
上新了,ThunderX
2014年,Cavium(后被Marvell以60亿美元的价格收购)推出了基于Arm架构设计的服务器芯片ThunderX,这是全球首款至强E5级别的 Arm 服务器芯片,也是当时业界唯一的能支持双路架构的Arm服务器芯片,产品拥有最多高达48个的定制Armv8内核和最多472位DDR3/4内存控制器等优势,对存储、网络和安全等进行了特定的优化。
此后,Marvell为自己的ThunderX系列制定了每2年升级一代的策略,承诺每次都可以实现2倍甚至更高的性能提升。2018年7月,新一代Arm服务器芯片ThunderX2正式量产,采用16nm工艺打造的芯片集成了32个ARMv8.1乱序执行核心,每个芯片拥有四个线程。在内存方面,支持最多8条DDR4,频率高达2667MHz,也支持高达56条的PCIe 3.0通道扩展。
相比上一代ThunderX2,最新推出的ThunderX3处理器采用台积电(TSMC)7P制程工艺制造,拥有高达96个核, 4线程/核心,每个插槽的总计算能力达到384线程。内存接口支持8通道DDR4-3200,每个通道可搭载2个DIMM。IO扩展提供了64个PCIe Gen 4.0通道,搭载16个控制器。该处理器支持单节点和双节点配置。在浮点运算方面,ThunderX3的每个核心搭载四个128 位SIMD (Neon)单元。该设备完全符合SBSA/SBBR,并提供了企业级的RAS和虚拟化功能。
得益于中微架构的改进,ThunderX3 IPC的整体性能较ThunderX2提高25%。结合处理器频率和DDR频率的提升,单线程总体性能较上一代提高了60%以上。在单颗处理器层面,相较于 ThunderX2,ThunderX3的整数运算性能提升3倍以上,浮点运算性能提升5倍以上。
目前,ThunderX3在设计中尚未采用chiplet的设计方式,周立新对此解释说,公司会根据市场的发展需求提升芯片的规格,ThunderX3每个内核的尺寸比AMD的约小30%左右,性能、功耗、内存带宽和内存延迟等方面的表现也令人满意。但未来随着工艺和架构的不断演进,再小的内核迟早也会遇到物理瓶颈,那时可能就会考虑Chiplet方案。
ThunderX3 的目标市场仍然是云计算和HPC高性能运算市场中的特定工作负载(如大数据、数据库、流媒体、Web 层、弹性搜索和云存储)。考虑到其本质上是高度并行,周立新认为,单核支持4个超线程,不仅能够带来显著的性能提高,更重要的是,无论是x86架构还是其它Arm处理器,目前都没有实现,ThunderX3在这方面实现了“数量级的差异”。
至于四线程与单线程相比,究竟能带来哪些优势?他认为可以从以下三方面来看:一是SPECCPU,这是最标准的衡量服务器的指标;二是MySQL数据库;三是Web搜索。根据测算,四线程比单线程有显著的性能提升,特别是MySQL,可以提高80%的性能。
Gopal Hegde特别强调了Thunder X3对Arm终端上原生Arm应用程序的支持。他指出,现在厂商开始逐渐把游戏和应用放到服务器上,考虑到现在的终端基本都是一样基于Arm芯片设计的,那就意味着X86在相关的支持上会有先天的缺陷,而这正是Arm服务器芯片所擅长的。