加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 云计算 > 正文

阿里云新一代云计算体系架构 CIPU 到底是啥?

发布时间:2022-10-13 01:00:23 所属栏目:云计算 来源:转载
导读: 本文希望通过对 CIPU 的深入技术解读,回答读者普遍关心的问题:CIPU 到底是什么?CIPU 主要解决哪些问题?CIPU从何而来,未来又将往何处去?
写在前面
近日,阿里云智能总裁张建锋在 2022

本文希望通过对 CIPU 的深入技术解读,回答读者普遍关心的问题:CIPU 到底是什么?CIPU 主要解决哪些问题?CIPU从何而来,未来又将往何处去?

写在前面

近日,阿里云智能总裁张建锋在 2022 阿里云峰会发布了云基础设施处理器 CIPU(Cloud Infrastructure Processing Unit),称它将替代 CPU 成为云计算的管控和加速中心。在这个全新的体系架构下,CIPU 向下对数据中心的计算、存储、网络资源快速云化并进行硬件加速,向上接入飞天云操作系统,将全球数百万台服务器构建为一台超级计算机。

众所周知,传统 IT 时代,微软 Windows+Intel 联盟取代了 IBM PC 的霸主地位;移动计算时代,谷歌 Android/苹果 iOS+ARM 共同主导了移动终端的技术架构;那么云计算时代,阿里云飞天操作系统+CIPU 组合能发挥什么样的价值?

云计算现状

2006 年云计算鼻祖 AWS 先后发布 S3 和 EC2,2010 年有 BAT 对云计算是否“新瓶装旧酒”的争论。时至今日,Gartner 2021 全球 IaaS 收入已达 900 亿美元,市面上依然存在一些伪云计算概念,例如转售 IDC 硬件、转售 CDN 等。我们有必要先看清楚,什么才是我们需要的云计算?

作为和水、电一样的公共资源和社会基础设施,云的核心特征是“弹性”和“多租 ”。

何谓弹性?

弹性,从广义上讲,是让 IT 能力轻松跟上用户的业务发展;从狭义上讲,则带给用户无与伦比的灵活性。

先来看广义弹性的价值,简单讲就是充裕的供给能力,“无限索取”。IT 计算力已经成为很多业务的支撑性能力。当业务迅猛发展时,如果计算力跟不上,那么业务必然会受到严重的制约。

但是计算力的建设并不是一蹴而就的,从地、电、水到机房建造,从数据中心网络铺设到 Internet 接入,从服务器选型、定制、采购到部署、上线和运维,从单机房、多机房到跨地域甚至跨大洲,然后是安全、稳定性、容灾、备份……最后是最难的,优秀人才的招聘、培训和保有,这些无一不是耗时、耗力、耗财的事项,谈何容易。而弹性计算的出现,让计算力的获取变得简单而从容。

下图展示了一个公有云用户随着业务的极速扩张所购买的计算力的增长曲线,短短 15 个月,计算力需求从零爆发式增长到了数百万核。弹性计算充裕的计算力供给,让用户业务的发展如虎添翼。

何谓多租?

逻辑清晰的读者可能已经隐约感觉到“弹性”和“多租”并非严格的正交和并列关系,那么为什么笔者特意把“多租”上升到“弹性”并列的高度来进行讨论?

严格来说,多租是实现极致弹性和极致社会 IT 资源效率的必要条件之一。不可否认,私有云确实在一定程度上解决了企业 IT 资源灵活高效使用的问题,但是私有云和公有云在“多租”这个核心业务特性差异,导致二者之间的天壤之别。

准确完成对云计算的“弹性”和“多租”业务特性的定义,则可以进一步讨论技术实现层面。如何实现“弹性”和“多租 ”功能?我们可以在极致安全、极致稳定、极致性能、极致成本四个维度讨论云计算技术实现层面的演进。

IaaS 的阿克琉斯之踵

众所周知,IaaS 是计算、存储、网络等三大件的 IT 资源公共服务化;PaaS 主要指数据库、大数据、AI 等数据管理平台服务化以及 K8s 云原生和中间件;SaaS 则是以微软 Office 365、Salesforce 等为代表的软件服务化。传统意义上,云计算主要是指 IaaS 云服务,PaaS 和 SaaS 则是 IaaS 云平台之上的云原生产品和服务;同时由于本文主题 CIPU 主要位于 IaaS 层,因此 PaaS 和 SaaS 对 CIPU 的需求不会在本文重点展开。为了实现 IaaS 计算、存储、网络等 IT 资源灵活按需供给,其核心特点是资源池化、服务多租、弹性供给以及管理运维自动化等,其背后的核心技术则是虚拟化技术。我们简要回顾一下虚拟化技术和公有云服务的历史:

2003 年,XenSource 在 SOSP 发表《Xen and the Art of Virtualization》,拉开 x86 平台虚拟化技术的大幕。

2006 年,AWS 发布 EC2 和 S3,拉开了公有云服务的大幕。EC2 的核心正是基于Xen虚拟化技术。

可以看出,虚拟化技术和 IaaS 云计算服务相互成就:IaaS 云服务“发现和发掘”了虚拟化技术的业务价值,使得虚拟化技术成为了 IaaS 云服务的基石;与此同时,虚拟化技术红利让 IaaS 云服务成为了可能。从 2003 年 Xen 虚拟化技术发轫,到 2005 年英特尔开始在至强处理器引入虚拟化支持云计算架构图,加入新指令集并改变 x86 体系架构,使得虚拟化技术大规模部署成为可能,然后 2007 年 KVM 虚拟化技术诞生,持续近 20 年的 IaaS 虚拟化技术演进,无不是围绕上述更安全、更稳定、更高性能、更低成本等四大业务目标进行演进。简单回顾历史,我们就可以清晰看到IaaS 的阿克琉斯之踵 —— 虚拟化技术之痛。

其一,成本。Xen 时代,Xen Hypervisor DOM0 消耗 XEON 一半的 CPU 资源,也就是只有一半的 CPU 资源可以对外售卖,可以看到虚拟化云计算税极其沉重。

其二,性能。Xen 时代,内核网络虚拟化时延达到 150us 之巨,网络时延抖动极大,网络转发 pps 成为企业核心业务的关键瓶颈,Xen 虚拟化架构在存储和网络 IO 虚拟化方面有不可克服的性能瓶颈。

其三,安全。QEMU 大量设备仿真代码,对于 IaaS 云计算毫无意义,而这些冗余代码不仅仅会导致额外资源开销,更进一步导致安全攻击敞口(attack surface)无法根本收敛。众所周知,公有云成立的基础之一是多租环境下的数据安全。而持续提升硬件的可信能力,数据在计算、存储、网络等子系统流动过程中的安全加密能力,在 Xen/KVM 虚拟化下技术挑战极大。

其四,稳定性。云计算稳定性提升,依赖两大核心技术:底层芯片白盒,以此输出更多 RAS 数据;以及基于这些稳定性数据的大数据运维。虚拟化系统要进一步提升稳定性,则需要进一步深入计算、网络和存储芯片的实现细节,以此获得更多影响系统稳定性数据。

其五,弹性裸金属支持。诸如 Kata、Firecracker 等安全容器,多卡 GPU 服务器在 PCIe switch P2P 虚拟化开销,头部大用户追求降低极致计算和内存虚拟化的开销,以及 VMware/OpenStack 支持等需求方面,需要弹性裸金属来支撑这类需求,而基于 Xen/KVM 虚拟化架构无法实现弹性裸金属。

其六,IO 和算力之间的鸿沟持续扩大。我们以 Intel XEON 2 Socket 服务器为例,分析存储和网络 IO 以及 XEON CPU PCIe 带宽扩展能力,与 CPU 算力的发展做一个简单对比分析:

在这里插入图片描述

进一步以 2018 年 SkyLake 2S 服务器的各个指标(CPU HT 数量、DDR 整机理论带宽等)为基准,横向对比各个技术指标的发展趋势。以 CPU HT 数量为例,96HT SkyLake 设定为基线 1,IceLake 128HT/96HT = 1.3,Sapphire Rapids 192HT/96HT = 2.0,我们可以得到如下 Intel 2S XEON 服务器 CPU vs. MEM vs. PCIe/存储/网络 IO 发展趋势:

在这里插入图片描述

从上图 2018 年到 2022 年四年数据对比,我们可以得到如下结论:

1、Intel CPU 提升了 2 倍(未考虑 IPC 提升因素),DDR 带宽提升了 2.4 倍,因此 CPU 和 DDR 带宽是匹配的;

2、单网卡(包含网卡连接的以太交换网络)带宽提升了 4 倍,单 NVMe 带宽提升了 3.7 倍,整机 PCIe 带宽提升 6.7 倍,可以看出网络/存储/ PCIe 等 IO 能力和 Intel XEON CPU 的算力之间 gap 在持续拉大;

3、上图未分析的时延维度数据,由于 Intel CPU 频率基本保持不变,IPC 未有显著提升,因此 CPU 处理数据的时延会有小幅改进,PCIe 和网卡/网络的时延也仅有小幅改进,而存储 NVMe 和 AEP 等新一代存储介质,相对于 HDD 等老一代介质,在时延方面出现了数量级的下降;

4、上述计算、网络、存储等基础设施层面发展的不同步,将对数据库和大数据等 PaaS 层的系统架构产生关键影响,但这非本文讨论重点。

作为有虚拟化技术背景的人士,看到上述分析,内心一定是沉重的。因为在 Intel VT 等计算和内存硬件虚拟化技术普遍部署后,计算和内存虚拟化的开销(包含隔离性、抖动等)已经得到了相当程度的解决。而上述 PCIe/NIC/NVMe/AEP 等 IO 技术突飞猛进发展的同时,如果继续沿用 PV 半虚拟化技术,在内存拷贝、VM Exit、时延等方面的技术挑战将愈发凸显。

CIPU 从何而来?

通过上面的内容,我们基本阐述清楚了 IaaS 云计算在技术层面要面临的问题和挑战,本章节我们将对 CIPU 技术发展史做一个综述,目的是回答一个问题:CIPU 从何而来?毕竟“不了解历史,则无法看清未来”。

细心的读者如果对上文的“六大虚拟化技术之痛”有进一步思考和分析,应该可以看出六个痛点有一个共性:都在或多或少地讨论 IO 虚拟化子系统的成本、安全和性能。因此符合逻辑的技术解决思路应该是从 IO 虚拟化子系统入手。而回望过去 20 年的技术发展史,也确实印证了上述推导逻辑。本文仅选取两个关键技术,来阐述 CIPU 从何处来:

其一,IO 硬件虚拟化–Intel VT-d

IO 虚拟化子系统存在巨大的需求和技术鸿沟,Intel 自然会重点解决。DMA 直接内存存取,以及 IRQ 中断请求在虚拟化条件下的改进,以及对应 PCIe 标准化组织的跟进,肯定会成为必然。

从 IOMMU 地址翻译到中断 remapping 和 posted interrupt,从 PCIe SR-IOV/MR-IOV 到 Scalable IOV,其具体技术实现细节不在本文讨论之列,网上相关资料可谓汗牛充栋,感兴趣的可自行搜索研读。

而笔者在此罗列 Intel VT-d IO 硬件虚拟化技术的唯一目的是想说:CPU IO 硬件虚拟化技术的成熟,是 CIPU 技术发展的前置关键技术依赖。

其二,网络处理器(NPU)和智能网卡

CIPU 另一个设计思路来自通信领域(特别是数通技术)。数通出身的人士,肯定对以太网交换芯片、路由芯片、fabric 芯片等特别熟悉,而这其中的网络处理器(Network Processor Unit,NPU)是数通领域的一个关键支撑技术。特别说明下,本文网络 NPU,非 AI Neural Processing Unit。

2012 年前后,由于受运营商诸多美好愿望驱动(是否能够大规模落地按下不表,但是人总是要有希望,否则“和咸鱼有何差别”),无论是在通信领域的无线核心网还是宽带接入服务器(BRAS)中(如下图),NFV(网络功能虚拟化)都成为重点研发方向。

一言以蔽之,NFV 就是通过标准 x86 服务器,标准以太交换网、标准 IT 存储等 IT 标准化和虚拟化的基础设施,来实现通信领域的网元功能,以此摆脱传统通信烟囱式和垂直化的非标紧耦合软硬件系统,从而达到运营商降本增效和提升业务敏捷度。

在这里插入图片描述

(图片来源: ETSI NFV Problem Statement and Solution Vision)

然而,NFV 运行在 IT 标准化和虚拟化的基础设施之上,肯定会遇到相当多的技术难题。而这些技术难题之一就是:NFV 作为网络业务,相对于 IT 领域典型的在线交易/离线大数据等业务,对于网络虚拟化技术要求有很大差别。NFV 天然对高带宽吞吐(默认线速带宽处理)、高 pps 处理能力以及时延和抖动等都有更为严格的要求。

此时,传统 NPU 进入了 SDN/NFV 的技术需求视野,不过这一次是把 NPU 放置到网卡之上而已,而配置 NPU 的网卡则被称为智能网卡(Smart NIC)。

可以看到,通信 NFV 等业务希望部署到标准化和虚拟化的 IT 通用基础设施之上,然后遇到网络虚拟化性能瓶颈。同时期,IT domain 公有云虚拟化技术遭遇了 IO 虚拟化技术瓶颈。它们在 2012 年前后,不期而遇。至此,网络 NPU、智能网卡等传统通信技术开始进入 IT domain 的视野。

时至今日,在解决云计算 IO 虚拟化这个问题上,可以看到智能网卡、DPU、IPU 等仍然被大家混用。原因之一,确实它们有深刻的血脉联系;同时如此之多和如此混乱的名称,也源自于通信领域跨界到 IT 领域的工程师以及美国多家芯片大厂对云业务需求和场景的不熟悉。

CIPU 定位

在相关前置技术储备的基础之上,这里笔者给出CIPU 的定义及定位。CIPU(Cloud Infrastructure Processing Unit,云基础设施处理器),顾名思义,就是把 IDC 计算、存储、网络基础设施云化并且硬件加速的专用业务处理器。计算器件、存储资源、网络资源一旦接入 CIPU, 就云化为虚拟算力,被云平台调度编排,给用户提供高质量弹性云计算算力集群。

CIPU 架构由以下部分组成:

IO 硬件设备虚拟化

通过 VT-d 的前置支撑技术,实现高性能的 IO 硬件设备虚拟化。同时考虑公有云 OS 生态兼容,设备模型应该尽最大努力做到兼容。因此实现基于 virtio-net、virtio-blk、NVMe 等业界标准 IO 设备模型,成为了必须。同时注意到 IO 设备的高性能,那么在 PCIe 协议层面的优化则至关重要。如何减少 PCIe TLP 通信量、降低 guest OS 中断数量(同时平衡时延需求),实现灵活的硬件队列资源池化,新 IO 业务的可编程和可配置的灵活性等方面,是决定 IO 硬件设备虚拟化实现优劣的关键。

VPC overlay 网络硬件加速

上文已对网络虚拟化的业务痛点做了简要分析,在这里我们进一步对业务需求进行展开:

而实现层面,Xen 时代内核网络虚拟化,到 KVM 架构下基于 DPDK vSwitch 用户态网络虚拟化,面临如下问题:

1、网络带宽和 CPU 处理能力的差距日渐拉大

在这里插入图片描述

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!