#### 前言
我们这一代程序员的成长过程几乎完全伴随着x86处理器的辉煌时期。从大家小时候耳熟能详的奔腾、速龙处理器,到工作后接触的至强、霄龙处理器,x86指令集一直完全统治着桌面和服务器计算生态。
直到手机和平板这些智能设备广泛流行后,一些行业先驱者提出了将搭载在移动设备上的 ARM 指令集芯片扩展到服务器和桌面平台的设想。几年前刚刚看到这样的想法时,大多数程序员和我一样都对此嗤之以鼻。毕竟行业早已深度绑定了 x86 ,强大的性能、成熟的软件生态让 ARM 的挑战看起来不值一提。没想到短短几年间,基于 ARM 指令集的服务器就如同雨后春笋般焕发出了勃勃生机。一些最抵触全新平台的同行,也开始在亚马逊云科技这样的平台上尝试使用基于 ARM 处理器的实例了。
亚马逊的 Graviton ,打开 ARM 世界的大门
亚马逊云科技在 2018 年发布的 Graviton 处理器并不是行业最早的ARM指令集服务器芯片。在那之前,已经有处理器厂商开发出了类似的产品,但是市场反响非常差,很多分析师甚至对 ARM 服务器的未来判了死刑。
但 Graviton 的发布给产业带来了新的希望。在之前,从业者想要接触ARM服务器平台是非常困难的,几乎没有任何渠道,连尝鲜都没处去,更不要说深度体验、解决生产需求了。第一代 Graviton 的性能表现并不突出,与同时代的至强、霄龙相比只能算是轻量级选手。但亚马逊云科技很快就推出了使用 Graviton 处理器的 [Amazon EC2 ](https://aws.amazon.com/cn/ec2/?trk=cndc-detail)实例,一下子把普通程序员和企业体验 ARM 的门槛缩减到了人人能接受的水平。
这就意味着感兴趣的程序员可以迅速上手,尝试使用 Graviton 处理器来跑一些实验性质的应用,甚至为它开发和优化程序了。其实在这时候,因为移动计算潮流的缘故已经有很多从业者对 ARM 编程有一定认识了,所以他们有兴趣也有能力去尝试服务器端的 ARM ,亚马逊云科技在合适的时间打开了一扇新世界的大门。
![image.png](https://dev-media.amazoncloud.cn/02c372392aa24009a3b6857216f94cf9_image.png "image.png")
之后亚马逊再接再厉,分别在 2019 年和 2021 年发布了 Graviton 的第二和第三代产品,并迅速发布了对应的计算实例。到了 Graviton3 ,人们也终于看到了 ARM 处理器是有能力在服务器领域全面挑战x86的霸主地位。
Graviton3 ,ARM 处理器渐入佳境
2021 年底发布,2022 年推出 EC2 实例的 Graviton3 是 ARM 服务器处理器中的佼佼者,代表了业界一流水平。它搭载了64个无超线程内核,内核架构是 Neoveerse-V1 ,主频 2.6Ghz 。该处理器搭配8通道 DDR5-4800 内存,内存带宽 300GB/s ,芯片拥有总计550亿晶体管。规模如此庞大的芯片采用了台积电的5nm工艺制造,因此典型功耗只有区区 100w ,甚至低于很多游戏本搭载的 CPU 。
Graviton3 还采用了业界前沿的 Chiplet 设计,芯片上放置了 4 个 DDP die 、2个 PCIe die 和一个 CPU die ,显著降低了制造成本。搭载 Graviton3 处理器的 Amazon C7g 服务器在一个 1u 机箱内搭载了三颗处理器,总共 192 核心,计算密度相比前代和典型的 x86 处理器来说大幅提升。
![image.png](https://dev-media.amazoncloud.cn/d1132051a7194282ab19f2f19a7e1f07_image.png "image.png")
在Phoronix的对比测试中,C7g实例与价格相近的Xeon、Epyc实例对比,单位成本的服点预算能力提升了3倍以上,优势非常明显。在其他测试中,C7g实例也能表现出20%-100%的性能优势。当然,在一些特定场景中它的表现还是不如x86对手,对于刚刚起步没多久的ARM生态来说这也很正常。
Graviton3 的意义在于,它让人们意识到了 ARM 服务器处理器可以在生产中取代传统的 x86 处理器,或者至少与 x86 处理器搭配使用。在一些软件生态比较好的场景,例如运行手机游戏的云服务器这样的场景中,ARM 服务器是非常合适的。现在,亚马逊云科技的用户可以方便地利用平台提供的完整技术栈,快速将自己的应用迁移到 C7g 实例上向用户提供稳定可靠的服务,迁移过程中的很多细节和复杂度都已经被亚马逊云科技隐藏起来了。
当越来越多的企业和开发者开始尝试亚马逊云科技提供的 ARM 处理器实例,越来越多的生产应用开始在 Graviton 处理器上运行,基于 ARM 指令集的服务器软件生态也就迎来了欣欣向荣的发展时期。
## 仅仅是为了取代而取代吗?
也有很多人质疑,就算ARM处理器已经发展到了匹敌 x86 竞争对手的程度,但企业花费很大力气迁移程序,最终到底会有什么样的收益呢?我们总不能单纯为了追新而做无用功吧?
其实从 Phoronix 的测试就可以看出,如今的 Graviton3 已经可以凭借自身的硬实力在很多场景压倒 x86 竞争对手了。究其原因,近年来 ARM CPU 内核技术发展迅速,在关键的能耗比、 IPC 、单位面积性能指标上对x86已经遥遥领先。与此同时,率先采用业界领先制造工艺也给 Graviton3 带来了很大优势。综合结果,Graviton3 能够带来更高的计算密度、更高的能耗比,同时采购成本相比利润高昂的 x86 处理器来说也更低。
![image.png](https://dev-media.amazoncloud.cn/84af02bd04f546ca9ed32703cd1a6724_image.png "image.png")
#### 总结
最近,我所在的企业已经开始尝试将部分业务转移到亚马逊云科技 C7g 实例上了。 CTO 也在一些会议上表明了未来逐渐向 ARM 平台迁移,x86 和 ARM 两条路线一起走的态度。就像 Graviton3 只是亚马逊云科技在 ARM 服务器处理器研发之路上的一个脚印一样,今天的软件行业已经开始了向 ARM 云计算生态全面进军的步伐。随着 Graviton3E 等新一代处理器的发布,2023 年我们会看到更多企业和开发者转向亚马逊云科技提供的 ARM 计算实例,享受高性能、低成本、高安全性等好处。
当然,这并不意味着 x86 一夜之间就会消亡。未来我们很可能看到x86与ARM共存,甚至加上 RISCV 一同在市场上竞争的局面。多种指令集生态可以满足更多样化的需求,而多种生态并存产生的不利影响和代价,亚马逊云科技将尽量为我们在背后处理。程序员并不需要为此有什么担忧,我们的未来只会变得更加美好。