用Ampere解释,到底什么是云原生处理器?

“云原生”一词很常见,一开始,最常见的词组是“云原生架构”,后来很多技术类别前面都加上了“云原生”一词,比如,云原生存储、云原生数据库、云原生网络……

“云原生”没有清晰的定义,但有非常明显的特征:它指诞生自公有云或者在公有云上发扬光大的一类技术和实践。

云原生处理器是这几年才有的叫法,最开始我误以为是跟容器云原生有关。其实,云原生处理器的概念是由Ampere首次提出,在2020年3月份发布全球第一款云原生处理器Ampere Altra时。  

后来听亚马逊云科技的人介绍Graviton,说这是云原生处理器,最近听Ampere的人介绍Ampere Altra,这才幡然醒悟,对云原生处理器的概念有了一点认识,也渐渐认可了这类Arm处理器更适合公有云的说法。

此前听亚马逊云科技的人介绍Graviton2,当时印象最深的除了相比x86有最高40%的性价比优势,就是Graviton的单物理核心提供单线程的独特设计,单个物理核有独享的缓存,避免了核心之间争抢缓存从而影响性能,使得性能和延迟表现会更稳定。

Ampere 80核的Ampere Alta和128核的Ampere Alta Max也能实现显著的降本增效。在基于Ampere Altra腾讯云SR1实例上,对NGINX、Redis、MySQL三种Web应用程序中的关键工作负载进行测试,所展现的性价比与基于x86架构的S6云实例对比有平均50%以上的提升(数据来源)。

除此之外,由于比64核的Graviton核数多,所以,Ampere更清楚地展示了多核心的优势,随工作负载的实例数量(即运行的线程数)增长性能也表现出了近乎线性的增长,主频可以达到3.0GHz以上,而x86在运行的实例数量(即运行的线程数)增长到一定程度后,再增加核数的提升则非常有限。

这是Ampere Computing产品市场总监孙开本在2022 OCP China上分享的一张图,测试运行的是Encoding编码工作负载,横坐标是并发的编码任务数,代表的是使用的线程数,纵坐标是性能数据。随着任务数的增加,性能增长的趋势有比较大的区别。

另外一张图展示的是Ampere Altra Max的性能可预测性,也可以说是性能的稳定性。

上图测试跑的是Redis工作负载,在运行Redis负载的同时,定期间隔性地插入其他工作负载,随着负载的加入和完成,观察主工作负载的性能变化。如图所示,Ampere Altra Max的上运行的Redis性能几乎没有变化,而x86的性能抖动则非常明显。

孙开本在演讲中表示,主要原因有两点,一个是单核单线程的设计,另一个得益于优秀的功耗控制。

SPEC测试:Ampere处理器实际功耗低于TDP,从而能使主频稳定

大致原理上,单核单线程的设计减少了核心之间的相互干扰,既有助于性能稳定,也有助于让性能随着核数的增长而增长。同时,在功耗控制方面的优势,Ampere 不仅能让所有运行的内核保持一致的最大主频,从而提升稳定性,而且还使得堆更多核心成为可能。

功耗是芯片设计的重要考量因素,Ampere处理器主频相对较低,波动范围也很小,方便控制功耗,为了性能稳定,甚至能保持在一定的主频保持不动,不用担心撞到功耗墙而降频造成性能抖动。

当然,x86也可以关掉超线程技术,把频率锁在较低的水平,以此来提供更稳定的性能表现。虽然此时x86的单核性能更强,但由于核数太少,整体性能表现还未可知,况且,这种做法无异于自废多年修炼来的武功,目前想这么用x86处理器的用户应该只能是少数。而且对于云服务提供商来说,关掉超线程就意味着同一平台可售卖的核数减半,经济效益将大打折扣,很不划算。

总之,单核提供单线程加上功耗优势,Ampere就有了更稳定的性能表现,更线性的性能增长表现,而这,正是公有云厂商所需要的:

一方面,公有云希望用创新技术来降本增效。

Ampere的核数优势使得云数据中心的计算密度大大提升,节省数据中心的空间成本。同时,能用单台设备能提供更多实例,服务于更多用户。最终,降本增效的成果最后也会让用户受益。目前,通过使用基于Ampere Altra的云实例(阿里云c6r),国内可观测解决方案提供商观测云也实现了40%的性价比提升。这点也可以参考AWS的Graviton。

另一方面,公有云希望给用户提供更好的使用体验。

很多用户担心“嘈杂邻居”问题影响性能表现,而Ampere方案的性能是能在所有时刻保持一个稳定的表现,让云服务商提供始终如一的稳定服务,避免性能抖动影响业务。

以上,就是我看到的云厂商为什么会选择Arm服务器的主要原因。

OCP China Day 2022活动主题就有“绿色”这一关键词,数据中心作为全球用电大户,在绿色低碳方面的工作也非常重要,Arm在低功耗方面的优势也有助于数据中心实现低碳目标,这也会是数据中心采用Arm服务器的一大推动因素。

虽然,x86架构在未来很长时间仍会是主流,但Arm服务器也将有越来越多的用户。如今,Arm的应用生态取得了许多进展。

一方面,AWS自研的Graviton 是Arm阵营的一面旗帜,让更多人关注到甚至开始用Arm服务器,而Ampere这种Arm芯片厂商可以无障碍共享Arm应用生态。

另一方面,Ampere的第三方处理器被Oracle、谷歌云、腾讯云、微软Azure、阿里云等各大公有云厂商所采用。这些头部厂商的带动不仅将加速生态的发展,也让Arm服务器CPU的市场份额出现快速的增长。根据研究公司Omdia的数据显示,今年第二季度全球服务器出货量为 340 万台,其中Arm架构达到了创纪录的 7.1%,份额同比增长了 48%。

此外,浪潮、超微、HPE、纬颖、技嘉等服务器厂商也都推出了服务器硬件,既服务于超大规模数据中心市场,也能服务于企业用户。

Ampere官网上列举了Ampere支持的六大类场景,包括:各种常见的机器学习框架,支持Arm的老本行(云手机、IoT、自动驾驶)、大数据分析工作负载、云原生应用负载、云存储和Web服务。

其中,云存储部分的相对较少,目前只显示了Ceph。而云原生应用负载部分则非常丰富,官网上列举了很多,在DockerHub上能看到4943个镜像,数量上大约是x86的三分之一,目之所及的各种常用镜像都有了。

今年五月份,Ampere公布了下一代处理器AmpereOne™的规划,将采用5nm制程工艺,支持PCIe 5.0和DDR5,将采用定制的内核,从而有更多灵活的设计空间。Ampere还表示,未来将保持每年一代产品的更新节奏。

前不久HPE发布的ProLiant RL300就是单路服务器,但在OCP China Day 2022活动现场,Ampere的展台上放置了两台服务器全都是双路服务器,双路至少可以提供160核。

左侧是浪潮NF5080R6,右侧是一台Mt.Jade

一台是浪潮采用Ampere处理器的双路服务器NF5080R6(“R”大概就是Arm的意思)。另一台则是开源的Mt.Jade服务器,它是由Ampere贡献给OCP的开源服务器,任何人都可以下载设计图纸进行制造和使用。

有专家表示,这是中国用户的采购习惯所致,未来可能会有所改观。