最近,谷歌云发布ARM主机的消息传来,推出采用Ampere处理器的Tau T2A实例。至此,前几大公有云厂商都推出了ARM云主机。
按奈不住
谷歌云的ARM主机来了
谷歌八号员工,负责基础设施的副总裁Urs Hölzle曾断言,如果性价比能提升20%,那就能促成从x86向Power架构的转变,当然,也不一定非得是Power,别的架构也行。
正如你所担心的那样,首要解决的问题是,要怎么用ARM处理器呢?
不难想象的是,谷歌自己搭建搜索引擎、广告和视频流媒体平台的时候,倒是可以迁移到ARM处理器上,但谷歌云作为一家云服务厂商,要把现有应用从x86迁移到ARM架构上谈何容易,那要如何说服客户也用ARM主机呢?
业内也有了颇为成熟的探索。
亚马逊云科技的Graviton处理器ARM阵营的一面旗帜,它告诉所有人,ARM服务器真的可以。Graviton凭借高达40%的性价比优势圈粉无数,一方面亚马逊云科技自己的云服务在用,一方面直接卖给云服务用户,需要将应用迁移到ARM服务器上。
近两年,国内的公有云服务商UCloud、腾讯云、京东云陆续推出了基于Ampere的ARM云主机,阿里云也宣布了基于自研处理器的磐久服务器。国际市场上,甲骨文云(OCI)、微软Azure也推出了基于Ampere的ARM主机。
最近,谷歌云推出基于Ampere的ARM主机多少还是有点令人意外的,这是全球顶级云厂商中最后一家推出ARM主机的云厂商。
谷歌的T2A实例目前支持包括如RHEL(红帽企业版)、Suse Linux Enterprise Server、CentOS、Ubuntu和Rocky Linux各种常见的Linux发行版以及容器优化的操作系统。
此外,谷歌云自己的Kubernetes容器引擎——Google Kubernetes Engine也可以在T2A上运行,谷歌云托管的批处理服务和流媒体分析服务也可以在T2A上运行。
在实际的使用中,谷歌可能也会在内部使用,用在Borg和Omega这样的云上管理系统上,支撑着包括搜索引擎、广告、邮件以及其他工作负载。随着内部的工作负载一步步迁移到云上后,才会更多地面向外部提供服务。
虽然都感觉目前的ARM生态还比较孱弱,但其实,Ampere官网列出了135个常见的云原生应用,包括数据库、云原生软件和编程语言,这一数字还在增长当中,谷歌云表示,一些ISV合作伙伴在向T2A移植的时候,都比较顺利且轻松。
可能是眼看着Graviton3又来了,又眼看着微软、甲骨文、腾讯、阿里等云友商都搞ARM服务器了,谷歌也有点坐不住了,所以才有了这次发布。
性价比真香
有分析认为,多家云服务商都采用了Ampere一家的ARM芯片,所以,Ampere的成本优势可能会进一步放大,从而更容易为超大规模数据中心市场带来变化。
尽管谷歌在自家的智能手机上也有自研芯片,也有消息称谷歌正在研究适用于ChromeOS的ARM芯片,但消费级的芯片与服务器级别的芯片中间还是有很大差距的。
暂不确定谷歌未来会不会用上自研的ARM服务器芯片,像国内的阿里云一样两条腿走路,既有Ampere的第三方方案也有自研的方案。
目前,谷歌云的主机进化到了第二代,一代主要是英特尔平台的方案,二代开始分为两大类,一类是通用型,一类则有所侧重地优化型。
其中,优化型的实例包括计算优化型的C2、C2D,内存优化型的M2和机器学习加速优化的A2。
而通用负载中包括E和N2和N2D,E2根据性能选CPU平台,N2用的是英特尔至强,N2D用的是AMD霄龙处理器。
还有就是今天重点说的Tau实例了,Tau是一个希腊字符,表示的是黄金分割比,这个名字表达了谷歌想实现计算、内存和I/O之间的新平衡。通过对处理器进行特殊调整,使得在一些工作负载上能提供更好的性价比。
谷歌云在去年发布Tau系列实例时,强调通过使用AMD的米兰处理器,把核心数和时钟频率进行优化后,性价比能达到甚至超过某ARM云主机,所以,很多人以为短时间内谷歌不会考虑推出ARM主机。
Tau的第一个实例叫T2D,它基于AMD的“米兰”单路Epyc 7003处理器打造,T2A就是基于Ampere的CPU新推出的ARM实例。
Ampere在新闻稿里表示,在谷歌云中,T2A 虚拟机实例的性能比目前同代(二代)x86 虚拟机提升 31%,在性价比方面领先 65%。
NextPlatform统计了T2A和T2D的关键信息,如上图所示。
目前,谷歌的主机锁定了CPU核数和内存的比例为1:4,ARM主机最高配的是48vCPU和192GB内存,而亚马逊云科技采用Graviton3的C7g配比为1:2,可能未来的内存优化型实例会进一步提升内存配比。
从亚马逊云科技的Graviton到阿里的倚天710,再到Ampere的ARM处理器都不用超线程技术,都用单核输出单线程,好处是能让性能表现更稳定。
目前,采用Ampere方案的云厂商用的都是80核的Ampere Altra,而不是128核的Ampere Altra Max。
而且,各家云厂商都没有提供80核配置的SKU,微软Azure最多提供了64个核心,谷歌最多提供48核配置,这可能是考虑到良品率和成本问题才做出的选择。
余下的核数去干什么了呢?去年发布T2D的时候,AMD的Epyc 7003最多可提供64个核心,但在用户最多可用60个内核,还有4个内核用来运行KVM hypervisior以及存储和网络等功能。
这两年DPU比较火,按说微软Azure也有类似DPU的东西,谷歌云直接用了英特尔的IPU,按说不应该被拿去运行网络和存储部分了,剩下的核心可能切分给别的云主机了。
对内对标ARM方案
对外对标x86阵营
NextPlatform汇总对比了微软Azure、谷歌云和亚马逊云科技的三类计算平台(AMD、Intel和Ampere)的性能和价格情况,如下图所示:
上图中的红字都是根据现有的2017 SPEC Int Rate跑分数据估算出来的,主要是根据谷歌云和亚马逊云科技测的数据来估算的。通常,价格会随着vCPU个数的增长而线性增长。
仔细看看就会发现有意思的点,上图中Google Tau T2A实例和微软Azure D系列,在相同CPU和内存配置下,价格完全一样。
从上图可见,ARM服务器在整数性能方面的性价比非常高,大约比x86高40%到45%。
亚马逊云科技C7g配备的内存比别人少了一倍,但价格并没有比别人低多少,而整数性能与别人差别也不大。
另外,AMD 霄龙 7003能扩展到64核,而英特尔Ice Lake最多只能扩展到40核,AMD能用来构建更大的实例,在同样的服务器里创建更多小实例。
在云的超大规模中,核数多的优势体现的比较明显,这或许是Ampere 128核处理器的意义,AMD也机会推出96核的Genoa和128核的Bergamo。
还有一个需要注意的是,三个家云服务商的ARM服务器的价格咬合的比较紧,有可能是商量好的,也有可能这就是价格战。
结语
总之,如今数据中心,特别是超大规模数据中心市场的计算架构之战异常激烈。
一边是x86内战,英特尔被AMD挤压着市场份额;一边外敌ARM冲击着x86市场,众多云厂商和少数服务器厂商都站了ARM;旁边还有一群DPU的在摩拳擦掌,好不热闹。