从“飞天+CIPU”演进,看阿里云为什么要选择软硬件双自研
2008 年,阿里巴巴提出“去 IOE”,次年,阿里云成立。往后十年,风云变幻,但在云计算领域,阿里云始终卯足了劲,未曾停歇。十年种种,我们在早前的专访《十年,阿里云重构“计算”》里均有详解。
这一次,在 2022 阿里云飞天技术峰会召开之际,我们带着问题再次与阿里云核心成员聊了聊「新一代云计算体系架构」。希望能够更深入地了解阿里云“飞天 +CIPU”的技术体系演进、产业价值,以及未来发展路径,也希望借此能给到行业新启发。
今年 6 月,阿里云发布了以飞天和 CIPU 为核心的新一代云计算体系架构, 用 CIPU 替代 CPU 成为云时代 IDC 的处理核心,在行业内引发大量关注,很多人对阿里云变内核的技术演进历程颇感兴趣。在阿里巴巴集团研究员、阿里云智能 CIPU& 神龙计算总经理蒋林泉看来,变内核的根本原因是为了应对不断变化的客户需求,团队一步步地解决原来解决不了的问题,最终推动整套云计算内核进化到了现在的样子。
蒋林泉将“飞天 +CIPU”的技术演进历程分为四个阶段。
第一阶段:2011 年,阿里云开始尝试用集团已经成熟的分布式架构,结合虚拟化技术开启了敏捷交付的云计算模式,正式对外大规模开服商业化。
第二阶段:2015 年,随着客户提出更多的需求,包括规模弹性、计算存储能不能分别扩容、高可用和高可靠是不是能做得更好等问题,阿里云开始了“池化架构”的变革。有了池化架构之后,真正的云上大规模弹性得以实现,从这时起,包括云原生数据库、云原生大数据、云原生容器服务、中间件等开始陆续在云上诞生。这个阶段,总体还是通过纯软件定义的方式来解决所有云时代大规模服务弹性问题。
第三阶段:2016 年,受限于 CPU 通用架构(即冯·诺依曼架构),阿里云团队发现软件层面的优化已经逼近极限,没有更多空间了。“既然它原理上搞不定,但是我们的用户不停地给我们提需求,那我们就走专用硬件这条路”,蒋林泉说道。2017 年,神龙架构诞生,开始通过专用芯片来解决虚拟化开销问题,阿里云也真正走上了软硬件融合之路。
第四阶段:先从神龙开始,然后通过洛神解决网络性能瓶颈问题,最后盘古实现对存储资源的云化加速,三大计算核心组件到这一阶段全面实现加速。2022 年,“飞天 +CIPU”架构进化初成,阿里云定义其为为云而生的全新计算体系架构。
“飞天 +CIPU”架构给阿里云整个体系带来的革命性变化,蒋林泉总结为三点。
第一是飞天四大组件全面硬件加速,大幅降低了资源消耗和浪费、提升了客户体验;第二,在全面实现硬件加速的前提下,还引入了原来获得门槛比较高的能力,即弹性 RDMA 能力,通过 CIPU 跟洛神合作,提供云上普惠的高性能网络加速能力;第三,阿里云数据中心里的硬件、服务器、存储网络,整个体系都发生变化,全都围绕 CIPU 为中心来运作,可以通过“飞天 +CIPU”统一纳管,解决掉通用服务器和异构服务器带宽需求差异大的问题。
不难看出,“飞天 +CIPU”架构是阿里云在软硬件融合之路上的一次重要进化。但是无论是操作系统、软件生态亦或是芯片研发,都需要持续且大量投入。双自研所带来的挑战绝非 1+1 的算术增长,阿里云为何偏偏走上软硬件双自研这条路?
蒋林泉给我们推演了阿里云双自研之路,按他的话说,只有这一条路可走。
随着应用规模越来越大,阿里云得到越来越多的客户反馈。
对于获取客户反馈,蒋林泉认为:“你看今天我们那么多 leader 都会跟客户做闭门会,一个是客户规模大能给到我们足够多的反馈,第二个是我们要对客户真实痛点形成深度的认知,必须得主动去了解。”
获取的客户反馈多了,就得想办法去梳理、去解决,到这儿其实回到了前面提到的“软件优化终有尽”的问题。当然最开始团队也会尝试先跟硬件厂商沟通,看能否从硬件厂商的维度解决问题。
但过程中团队发现,通用硬件厂商与软件厂商之间的认知鸿沟难以逾越。
相比于硬件厂商,更贴近客户的是软件厂商。随着阿里云的客户规模越来越大、对客户需求的理解越来越深之后,团队发现通用硬件厂商无法满足客户提出的差异化体验和服务的需求。哪怕能勉强解决,但是时间上也会严重滞后,而这对于客户而言是很难接受的。
蒋林泉举例道:“我们曾经跟厂商去协作一个 bug,你要跟他讲清楚,他会说我没法重现,因为云是一个非常复杂的体系架构,一个客户过来有可能是一个小概率事件,所以厂商没法重现。我只好想办法让他到我们园区,我找个测试环境你来看一看,一来一回两个月过去了。后来我们发现这个问题是普遍存在的,因为通用硬件的普适性和垂直化深度理解之间天然有个 gap,你很难说跨一个公司给另外一个通用硬件公司提出一些只有你才能看到的需求并很快解决掉。”
既然沟通无果,那便“软硬兼修”。
“我一直觉这些问题只要你的规模足够大,你服务的客户足够多,你最终一定都会遇到这些问题。因为我们规模走在前面,有可能我们先看到别人看不到的风景,所以我们先走到这一步。如果别人没看到这个风景,不一定觉得该这样做,但是对我们来讲最终一定是这样一个路径”,蒋林泉称。
从整个过程来看,对阿里云而言,软硬兼修是客户需求倒逼的结果。尽管如此,做了这个选择就意味着必须面对随之而来的重重困难。
第一难在于生态的构建。
“最难的一件事情在于生态,你说 Windows 难不难,它也是机缘巧合才做成这个市场,MacOS 也是很艰难才杀出一条血路”,蒋林泉说道。
这里的生态,其实是从软件逆推到硬件的。用户先熟悉、适应了操作系统、软件生态后,进而才会了解你的硬件,其中软件是稀缺的,因为这一层决定用户体验和用户心智。而硬件是可以替换的,只要跟软件足够磨合且不影响用户的操作体验就行。比如, MacOS 最开始使用的是 Power 芯片,后来改成英特尔,最近两年又换成了自研的 M 系列芯片,对用户而言体验也越来越好。但是普通消费者真正感知的从来都不是芯片,而是芯片与软件磨合之后所带来的使用层面的体验。
如果没有阿里云飞天操作系统前期大量的客户积累,很可能就不会有阿里云自研硬件的诞生。
第二难在于技术团队的组建与磨合。
蒋林泉表示:“技术栈这么深,要攒齐这个团队是很大的门槛。还不只是说我自己的团队,毕竟我们在云操作系统那么大的团队,云操作系统包括 IDC、服务器研发、网络研发,我们看起来是一个 CIPU,它本质上是以 CIPU 为中心的云数据中心软硬件体系架构。”
前文我们提到软硬件双自研的难度并非简单的 1+1,除了各自的研发难度之外,还会遇到联合开发时的各种问题。过去因为是联合硬件厂商做优化,没办法过分追求时效性,但是当软硬件双自研之后,又该如何在用软件定义灵活度的同时确保硬件加速跟上?软硬件之间的高频迭代和交互是阿里云不得不面对的又一大问题,而这个难点对于技术、团队配合的要求只会更高。
第三难在于对趋势的把握和认知。
“我们看到了别人没有看到的风景,所以我知道做这件事情很有用,但是很多人其实不知道这个事情是不是有用。对于云的深刻理解,我们认为这也是另外一个门槛。”蒋林泉表示。
这里的认知,在蒋林泉看来其实是由规模决定的。正是由于客户规模的激增、需求的暴涨,从而带来了一系列的新问题,而当传统的方式并不能解决它们之时,创新就成了必然选择。越是深刻理解客户,就越能感受到不足,从而下定决心去做难而正确的事情。只有主动先去了解趋势,了解客户的感受,了解他们站在哪个趋势上面,才能看到甚至是预见问题,从而把握先机。
第四难在于对客户需求的归纳总结。
对于这一点,蒋林泉强调道:“云的体量太大了,我们见过太多的客户、太多的场景,真正要把这些场景全部分类汇总并提炼出一个个抽象的、通用的解法是很难的一件事情。不能说看见问题解决问题,是你必须要在纷纷扰扰的信息里,在这么大规模的数据里面去抽象到客户权重。”
伴随着大规模数据计算场景的日渐增多,对于客户反馈的抽象、提炼只会更难,除此之外,还要算清 ROI,看清楚技术复杂程度等等。对于客户反馈问题的归纳总结是一个渐进的过程,也是一个继承式发展的过程,这是一个难点,但同样也成为了当下阿里云的竞争壁垒之一。
尽管困难重重,但阿里云还是选择了软硬件双自研这条路。从当前的结果来看,阿里云选对了,业内目前大规模做到软硬件双自研的只有两家,阿里云便是其中之一。
艰难险阻,终成壁垒。
对于 CIPU,官方定义是阿里云自主研发的云基础设施处理器,在数据中心内部替代 CPU 成为云计算体系架构的中心,是为飞天云操作系统设计的专用处理器。
通俗来讲,在“飞天 +CIPU”的架构里,CIPU 是云的中轴,也可以理解为一台物理服务器。CIPU 向下云化管理数据中心硬件,并对计算、存储和网络资源进行加速,向上接入飞天云操作系统,将全球 200 多万台服务器变成一台超级计算机,为客户提供更高性能、更低价格、更可靠的云计算服务。无论是 CPU 还是 GPU,只要插上 CIPU 就会马上被飞天纳管,客户就可以调度使用这些云算力。
自发布以来,外界经常拿 CIPU 和英特尔的 IPU、英伟达的 DPU 这些硬件做对比。对此,蒋林泉表示:“我们认为 IPU 的定义跟我们更相似,‘I’ 代表 Infrastructure,在英特尔的文档里也有提到与云厂商合作的一些历程,所以在我们看来 Infrastructure Processing Unit 是一个比较准确的描述,我们自己云计算底座是 IaaS,IaaS 其实就是 Infrastructure as a Service。云操作系统就是把原来 IDC 里面的硬件转化为服务,所以这一层本身就是用于转化,也就是 Infrastructure as a Service 的一个核心含义;差异点在于 Cloud,虽然我们都是聚焦于基础设施,但是路径不同,我们是从云的角度重新定义架构。”
目前,“飞天 +CIPU”已经在很多地方部署。在这一次的阿里云飞天技术峰会上,阿里巴巴集团研究员、阿里云智能弹性计算产品线总经理张献涛提到了多个应用实例,比如基于倚天 710 的实例 g8m,在搭配上 CIPU 后,实现了视频直播编解码场景性能提升 80%、Nginx 应用性能提升 200%、AI 推理场景性能提升 40%、Flink 场景性能提升 50%;还比如 i4 系列本盘实例,大数据分析场景有了 CIPU 的加持,搭配 NVMe SSD,获得了计算、存储、网络性能的全面提升,性价比提升 27%,Hadoop PI(π)速度提升 23%,大数据 TPC-DS 性能提升 28%,内存比提升 100% 等。
蒋林泉表示,很多客户正在使用新的实例,目前反馈还不错,后面会加快进行规模化部署。
对于客户而言,想要进行云服务升级也很容易,蒋林泉表示:“客户可以根据需求,选择进行一键迁移,一般来讲要做一次重启,我们叫重启编排、重启升级。你先选好,从这个东西升级到这个云算力规格,点完之后你可以选择在业务低峰的时候重启,就可以换成新的算力了。标称值上会告诉他指标发生了变化,所以我们更多是通过一种服务化、产品化的方式,用客户能看到的、感受到的指标,包括他自己亲自上来去运行一下应用,去做这个事情。因为背后的体系是黑盒,对于客户来讲,只是看到的应用跑得越来越快,看到这个指标越来越高。”
当然,目前的“飞天 +CIPU”并非终极状态,它还会不断向前迭代。谈及对于“飞天 +CIPU”的未来展望时,蒋林泉提到了三个方向:
“第一,只要客户需求不停地变化,产品与服务的迭代就不会停歇。我们这 13 年就没停过,不停地在迭代,所以我认为这个是不会停的。因为客户不停地告诉我们哪个地方可以做得更好,他又刚好在飞天操作系统上面,这是确定性的东西。
“第二,我们原则上依然是在解决如何让客户无感地去获得普惠化性能提升的问题。无论是所有基础网络和存储设备的性能提升,还是 eRDMA 让高性能计算提升,后面有可能会扩展到一些垂直类对数据加速需求比较高的场景,前提也是因为它的规模不停扩大,使得我们垂直场景在规模化领域视角具备经济的可能性。
“第三,后续随着带宽越来越大,计算密度也越来越大,如何解决高密场景下爆炸半径的问题是我们要重点解决的问题。客户把生命托付给我们,我们一方面希望做到性能提升,另一方面稳定性也要比原来好一个数量级,这是我们后面一个非常大的目标。”
客户驱动?技术驱动?使命驱动?亦或是时代驱动?阿里云从软件自研到硬件自研最终到软硬一体,既有客户、技术、使命的力量,也离不开时代的力量。云计算的大风将会持续多久,又将会给世界带来怎样的变化,我们暂时难以定论,但对于所有的云厂商而言,既然已立风口,就该一往无前。
微信扫码关注该文公众号作者