【国产化】盘点国产服务器和处理器架构
CPU作为服务器的运算和控制核心,其指令集架构有CISC和RISC两种。从性能角度来说,CISC与RISC并无绝对的孰优孰劣之分。目前看来,CISC与RISC已逐步走向融合,两方处理器互相借鉴互相优化。目前X86架构CPU占整体服务器市场约 96%,处于绝对领先的地位。
以ARM为代表的国产架构服务器有望异军突起。ARM早期专注低功耗领域,在移动端处于领先位置,生态体系十分完善,但在服务器等计算市场,多年来推进缓慢。随着多核异构计算时代和场景多样化计算时代到来,带来对计算架构多样性的需求,考虑中国市场政府、金融、能源等行业端生态逐步完善以及华为鲲鹏的入局,以ARM为代表的国产架构服务器有望获得一席之地。而ARM公司本身也推出了Neoverse新架构,以期大幅提升性能,增强在服务器领域的竞争力。
国产架构服务器群雄逐鹿。目前,国产CPU包括鲲鹏、飞腾、海光、龙芯、兆芯、宏芯、申威等。在党政军领域,龙芯、飞腾、兆芯等目前占据主流,华为鲲鹏未来有望在商用市场占据主导,海光凭借其出色的单核性能和X86完善生态也有望获得一定市场份额。
一、服务器行业发展简史
1.1 服务器:一种为客户机提供服务的高性能计算机
服务器是指网络环境中的高性能计算机,包括应用程序服务器、文档服务器、邮件服务器、Web服务器及代理服务器等。整个互联网的结构几乎都基于客户机-服务器模型。客户机-服务器模型的本质是客户机请求、服务器响应,即服务器的功能是为客户机提供数据服务。服务器由处理器(CPU)、内存、磁盘、网卡、监视器、电源、机箱等组成,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面的要求比普通的个人电脑高。
服务器的最大特点就是其强大的运算能力,即使是一部简单的服务器系统,通常也至少要有两颗处理器以构成对称多处理架构,使其能在短时间内完成大量工作,并为大量用户提供服务。
服务器常见的外型有四种:塔式服务器(Tower Server)、机架服务器(Rack Server)、刀片服务器(Blade Server)、机柜式服务器。其中机柜是指为服务器正常工作提供相适应的环境和安全防护的安装箱,通过机柜可以保证服务器设备稳定可靠地工作。
服务器行业已经发展了近60年。服务器的发展最早可以追溯到1964年,IBM引入System/360。System/360是由5种功能越来越强大的计算机所组成的系列,这些计算机运行同一操作系统并能够使用相同的44个外围设备。
1.2 CPU:服务器的运算和控制核心
中央处理器(Central Processing Unit,简称CPU)是服务器的核心构成之一,其功能主要是解释计算机指令以及处理服务器中的数据。CPU的主要运作原理是执行储存“程序”里的一系列指令。程序以一系列数字的形式存储在存储器中。
指令集架构(Instruction Set Architecture),又称指令集或指令集体系,是计算机体系结构中与程序设计有关的部分,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部I/O。指令集架构包含一系列的opcode即操作码(机器语言),以及由特定处理器执行的基本命令。简单地来说,指令集一般被整合在操作系统内核最底层的硬件抽象层中,属于计算机中硬件与软件的接口,它向操作系统定义了CPU的基本功能。
CPU按指令集的架构区分,分为CISC(Complex Instruction Set Computing,复杂指令集)型和RISC(Reduced Instruction Set Computing,精简指令集)型两类。
CISC的设计者希望通过直接在硬件中构建复杂的指令从而使编程更方便、程序运行速度更快,其架构中每个指令可执行若干低端操作,诸如从存储器读取、存储、和计算操作,全部集于单一指令之中;与之相反,RISC架构中只包含使用频率高的少量简单指令,并提供一些必要的指令以支持操作系统和高级语言。
CISC阵营以Intel、AMD的X86架构为代表,而RISC阵营则包括ARM、MIPS、Power PC等架构;
从硬件角度来讲,CISC处理的是不等长指令集,而RISC执行的是等长精简指令集,在并行处理方面RISC明显优于CISC。由于RISC执行的是精简指令集,相比CISC在硬件层面需要更少的晶体管,所以它的硬件制造工艺更简单且成本更低廉。RISC型CPU与CISC的CPU在软件和硬件上都不兼容,这是由指令集的特性而决定的。
从性能角度来说,CISC与RISC并无绝对的孰优孰劣之分。但在发展过程中,CISC阵营的Intel和AMD在提升芯片性能上做出了持续的努力,芯片的功耗被放在了性能后的第二位;而RISC本身出现时间较CISC晚十年左右(ARM诞生于1985年,X86诞生于1978年),ARM、MIPS在创始初期缺乏与Intel产品对抗的实力,专注于以低功耗为前提的高性能芯片。RISC阵营的Power PC架构最初是为个人计算机产品而设计,但其出现时已是1992年,此时Intel旗下的80386和80486占据了大部分PC市场。
次年,Intel赫赫有名的奔腾系列发布并助力Intel占领了绝大部分PC市场,这是第五代基于CISC的X86架构微处理器,Intel将其命名为“Pentium”。在整个1990年代中期,PowerPC处理器均达到或超过了最快的x86 CPU的基准测试成绩。
但由于PowerPC面向Windows、OS 2和Sun的客户都存在应用软件极度缺乏的问题,所以最终并未在PC市场溅起水花。但其后Apple因为PowerPC处理器的更高性能,在Macintosh个人电脑系列使用了PowerPC处理器。
2005年,出于发热量和能源消耗有关的考虑,Apple宣布不再在其Apple Macintosh计算机中使用PowerPC处理器,转而支持Intel生产的处理器。此后PowerPC开始往超高性能服务器方向发展。
CISC与RISC已逐步走向融合,两方处理器互相借鉴互相优化。例如,Intel公司的Pentium Pro种内含三个能够把x86指令转换成118位定长的RISC风格微操作的译码器。
1.3 X86一统天下数十年
X86泛指一系列英特尔公司用于开发处理器的指令集架构。该系列较早期的处理器名称是以数字来表示80X86,包括Intel 8086、80186、80286、80386以及80486。由于以“86”作为结尾,因此其架构被称为“X86”。
X86在计算市场取胜的原因主要有以下四点:
Intel与AMD竞争不断,造就高性能X86。Intel具有很强的研发实力,芯片性能一直处于行业领先。在20世纪70年代至21世纪初,厂商最看重的因素之一即为处理器的性能,而RISC本身出现时间较CISC晚十年左右,ARM、MIPS在创始初期缺乏与Intel产品对抗的实力,改以专注于以低功耗为前提的高性能芯片。
同时Intel X86也很早开始借鉴RISC架构优势,不断技术革新,比如“Pentium”奔腾处理器就采用了超标量架构,即有一个处理简单和通用指令的管线。Intel最新产品十代酷睿桌面版Comet Lake-S系列处理器及400系芯片组中,最低配置的酷睿i3-10100四核处理器已经达到3.6GHz基础频率,4.3GHz睿频,全核4.1GHz。从单机性能上来讲,Intel目前依旧处于强势地位。
Wintel联盟建立四十余年,X86软件生态完善。1981年,由于个人计算机市场不受IBM看重,IBM选取8088做个人计算机业务的CPU,并将操作系统外包给微软,Wintel联盟就此开始征程。
在Wintel建立之初,微软并没有打算唯一地只支持Intel,早期,微软操作系统有两条业务线,一条专用支持X86架构,另一条则支持考虑了操作系统的可移植性,可支持RISC架构的计算机。但由于RISC处理器在PC端的份额远不及X86,微软又取消了对部分RISC架构的支持。后来,X86成为了个人电脑的标准平台,也成为了历来市场上最成功的CPU架构。
专注芯片架构研发,不碰设备生态。就Intel来讲,不与设备生产商、软件开发者或者系统开发者成为利益竞争关系是一个十分重要的致胜因素。IBM和SUM大包大揽生产多种服务器设备,但其它设备生产商可能会基于不支持竞争对手的角度不愿意选择PowerPC和SPARC架构,而选择X86架构。
从成本、性能、生态三方面来讲,X86都是早期数据中心的最优选。从成本和性能角度来讲,X86相比大型机与小型机,在RAS(Reliability, Availability, Serviceability)有所欠缺,但具有生态系统开放、兼容性高、价格便宜的优势。且由于分布式系统成熟,X86服务器集群的性能并无较大差距。大型机和小型机价格昂贵、体系封闭,一般只在部分要求零宕机的领域使用(如银行业、电信业等)。
从生态的角度来讲,由于X86在市场上占有率高,相比其它架构而言,X86有着独一无二的软件和硬件生态优势,故目前全球的数据中心大部分都是采用Intel的X86架构服务器芯片,X86生态系统也愈发强大。
根据DRAMeXchange调查显示,服务器用CPU中,X86架构CPU占整体服务器市场约 96%。
二、以ARM为代表的CISC架构服务器有望异军突起
2.1 ARM公司:全球领先的半导体设计与软件公司
ARM架构,从1983年开始由艾康电脑公司设计开发,最早为其命名为Acorn精简指令集机器(Acorn RISC Machine)。1980年代晚期,苹果电脑开始与艾康电脑合作开发新版的ARM核心,为了更好地支持这一重要项目,艾康电脑将设计团队组成了一间名为安谋国际科技(Advanced RISC Machines Ltd.)的新公司,基于此原因人们也常常将ARM称作高级精简指令集机器(Advanced RISC Machine)。但在2016年,安谋国际科技被日本软银集团以3.3万亿日元(约合311亿美元)收购,此后,ARM公司退出股市。
不同于Intel自主完成架构、芯片设计和芯片制造,也不同于无工厂模式(Fabless)的AMD、NVIDIA自己完成架构和芯片设计而将芯片制造工作交给代工厂完成,ARM公司本身并不靠自有的设计来制造或出售CPU,而是通过提供各种授权条款来获得收益。
ARM公司一般有三种授权方式:指令集授权、内核授权和使用权授权。
指令集授权是ARM公司提供的最大限度的授权,其产品形式为ARM v系列(即ARM架构)。被授权方可以对ARM公司的指令集进行扩展或缩减,从而得到其自己的指令集架构。苹果公司就取得了这种授权。例如,iphone 11/ 11 pro/ 11 pro Max等机型上搭载的Apple A13芯片,其微架构就是基于ARMv8.3-A指令集架构自主研发。此外,华为、长城、高通、三星等公司也取得了ARM的指令集授权。
内核授权的产品主要是指ARM公司提供的一系列微架构,目前主要是ARM cortex系列。被授权方可以在内核基础上对缓存、I/O等设计进行修改。这是ARM公司提供的最广泛的授权方式。ARM是广为人知最昂贵的CPU内核之一。取得这种授权的公司包括高通、三星、华为、德州仪器(TI)、博通、飞思卡尔、富士通以及Calxeda等等。
使用权授权的产品则是指ARM已经设计好的CPU/GPU。被授权人可以使用ARM设计好的CPU/GPU。在这一种授权中,被授权人可自由发挥的空间非常小。
2.2 ARM架构已被广泛应用到各个领域
ARM公司的商业发展极其迅速,主要有以下几点原因:
发展早期避开Intel锋芒,专注低功耗领域。ARM公司发展之初也在个人计算机领域做出了努力,但后来发现其产品与Intel的新品无法竞争之后,迅速转换路径投入了以低功耗为前提的高性能芯片的研发。早期清晰的发展路线也为ARM之后抓住智能手机爆发机遇做好了铺垫。
授权策略正确,内核授权价格低,厂商间竞争激烈。1991年ARM公司就开始了授权模式。MIPS的定价策略是内核授权很贵,而架构授权很便宜,且对指令集扩展不受限制;而ARM的定价策略是架构授权非常昂贵而内核授权很便宜,且厂商需要修改设计需要继续付大量的费用。
从实践结果来看,ARM的授权策略优于MIPS。MIPS便宜的架构授权吸引了一批有能力通过指令集开发CPU的厂商,但由于允许厂商自行修改指令集,导致生态碎片化且互相不兼容,也极大影响了开发者和使用者的热情;而ARM的授权模式对无能力通过指令集开发CPU的厂商十分友好,这些厂商能通过购买内核授权来快速推出CPU产品,甚至有研发能力的公司也愿意使用现成的ARM内核来集成CPU,从而大幅度降低产品开发成本和缩短开发周期。ARM的商业模式也使得进入厂商多,激烈的竞争使得ARM产品价格不断下降,生态日趋完善。
完善的生态体系。ARM完善的硬软件生态使得设备厂商、开发者和使用者都充满信心。
ARM架构的应用领域已十分广泛。据2011年ARM的客户报告统计,79亿ARM处理器出货量,占有95%的智能手机、90%的硬盘驱动器、40%的数字电视和机上盒、15%的微控制器、和20%的移动电脑。十年来,ARM市场格局变化不大。截止到2017年,已经生产的ARM架构的处理器超过1000亿个,是应用最广泛的指令集架构,也是产量最大的指令集架构。
由于ARM在成本、功耗和散热上的优势,它对于便携式电池供电的设备(包括智能手机、便携式计算机和平板电脑以及其他嵌入式系统)来说十分理想。同时对于消耗大量电力的超级计算机与云计算数据中心,ARM也是一种节能的优秀解决方案。目前,ARM处理器可以在很多消费性电子产品上看到,从便携式设备(PDA、移动电话、多媒体播放器、掌上型电子游戏和计算机)到电脑外设(硬盘、桌面型路由器),甚至在导弹的弹载计算机等军用设施中都有它的存在。在此之外,还有一些基于ARM设计的衍生产品,包括Marvell的XScale架构和德州仪器的OMAP系列。
2016年,日本富士通宣布了研发接替“京”的“Post-K”超级计算机。“Post-K”超级计算机采用富士通与ARM公司共同开发的ARM处理器A64FX。富士通称,他们目标是“创造出世界上最高性能的超级计算机”,“其应用执行性能是京超级计算机的100倍”。如果此应用执行速度实现,那么Post-K超算将进入百亿亿次级别(exascale),1 exaflops表示每秒10^18次浮点运算。
2.3 ARM在服务器领域的尝试
从2008年开始,ARM公司开始酝酿进军ARM服务器芯片市场的计划。此后,AMD、三星、AWS、高通、Calxeda以及Marvell等多个公司相继开发了ARM架构服务器芯片。但除AWS以外,其余公司的ARM服务器芯片均未在市场上有持续表现。
AWS推出基于ARM架构的云计算服务。AWS在2018年正式对外发布了基于ARM架构的云服务器芯片Graviton及基于该芯片提供的EC2 A1虚拟服务器和云服务,并表示此芯片对部分工作负载能耗可降低45%。在2019年12月的AWS re:Invent 会议上,亚马逊公布了新一代的ARM 服务器芯片 Graviton2。据介绍,AWS Graviton 2 处理器的速度比较前一代芯片提升了7倍,浮点性能提升了2倍,性能表现强悍。
AMD、三星、高通、Calxeda以及Marvell等公司在ARM服务器芯片上的尝试均未获得成功。
从AWS和Marvell的实践观察,在云计算领域ARM架构芯片低功耗低成本的优势不可小觑。但AMD、三星、高通、Calxeda以及Marvell五个公司在ARM服务器芯片领域均未获得成功,我们认为主要有以下两方面原因:
ARM在服务器领域的生态并不成熟,Wintel联盟牢牢垄断计算产业生态,各类厂商更倾向于X86架构,故ARM服务器在市场推广方面存在较大阻力。
ARM服务器芯片是一个需要持续投入的产业。如高通、三星可能出于对当时情况的判断,认为ARM服务器暂时不具备良好的市场前景,故放弃了此业务。
X86服务器相较于ARM服务器而言,具有性能强的优势,但同时也具有功耗大、成本高的劣势。因此,ARM已经明确了其针对数据中心的Neoverse架构迭代升级策略,每一代性能提升都在30%以上,远超X86 CPU每一代性能提升的幅度,ARM与X86之间性能上的差距将不断缩小。
近几年,ARM性能提升的同时,其生态也得到了较大的扩展:2018年11月开始,Windows已经开始支持64位ARM应用开发和提交,这将十分有利于ARM生态的构建。
2019年6月在德国法兰克福国际超算大会上,NVIDIA宣布支持Arm CPU,以构建具有极高能效水平的百万兆级AI超级计算机。NVIDIA创始人兼首席执行官黄仁勋表示:NVIDIA CUDA加速的计算和Arm的高能效CPU架构的相结合,将助力HPC社区实现大幅提升,以达到百万兆级。