- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
软硬结合超大规模云计算架构创新之路
《 软 硬 件 融 合 》 背 景 介 绍
软件热点层出不穷并且快速迭代;CPU性能逐渐瓶颈,摩尔 定律失效;图灵奖获得者D&J给出的方案是DSA。
云计算场景下,是各种复杂场景的叠加,挑战在于如何把这 么多场景优化融汇到一套平台化方案里,既能满足灵活性的要求,又能满足性能加速的要求。
本书提出了全新的设计理念和方法软硬件融合,期望实现软件灵活性和硬件高效性的统一。
本书帮助软件背景的同学,更好地理解底层技术原理;帮助硬件背景的同学 , 更好的理解上层的软件。
展开查看详情
1 . 软 硬 件 融 合 超大规模云计算架构创新之路 关注“软硬件融合” 相互学习,共同进步 黄朝波 Version 0.4
2 .《 软 硬 件 融 合 》 背 景 介 绍 软件热点层出不穷并且快速迭代;CPU性能逐渐瓶颈,摩尔 定律失效;图灵奖获得者D&J给出的方案是DSA。 云计算场景下,是各种复杂场景的叠加,挑战在于如何把这 么多场景优化融汇到一套平台化方案里,既能满足灵活性的 要求,又能满足性能加速的要求。 本书提出了全新的设计理念和方法——软硬件融合,期望实 现软件灵活性和硬件高效性的统一。 本书帮助软件背景的同学,更好地理解底层技术原理;帮助 硬件背景的同学,更好的理解上层的软件。
3 . 目 录 Data / Infrastructure Process Unit,数据/基础设施处理器。 1. (场景)云计算底层架构挑战 2. (理论)软硬件融合综述 3. (技术)云计算的软硬件融合技术 4. (案例)DPU/IPU,云计算架构创新的核心承载 5. (扩展)CPU、GPU和DPU/IPU三足鼎立
4 .1.1 云计算IaaS层核心服务 云计算是由IaaS、PaaS以及SaaS组成的分层体系,计算、存储和网络是IaaS层核心的三类服务 计算类服务 类型:通用、计算优化、内存优化、加速(GPU/FPGA/DSA)、存储优化 涉及技术:异构加速、网络VPC/EFA等、本地/远程存储、虚拟化、安全等 存储类服务 类型:本地块存储、远程块存储、对象存储、归档存储 涉及技术:热/温/冷存储服务器,动态映射,NVMe/RDMA等,压缩/加密/冗余等 网络类服务 类型:虚拟网络VPC、业务负载均衡等 涉及技术:网络控制面/数据面编程,高性能网络优化,高速网络接口等
5 .1.2 云 计 算 的 特 点 01 超大的规模 05 多租户 09 可迁移性 以AWS为例,AWS拥有超过400万台服 多租户共享数据中心资源,均摊成本; 运行实体和运行环境解耦。例如,因为 务器,分布在全球22个地理区域和69个 公有云,多租户处于一套运行环境,运 Hypervisor屏蔽硬件差异,使得VM在 可用区。 营方便,规模化之后边际成本很低。 不同的服务器可迁移。 02 大量的数据 06 安全问题 10 设备及服务接口的一致性 2025年全球数据量175ZB,复合增长率 网络安全IPSec/TLS/DDoS等,数据安 不同厂家的设备接口不一致,导致无法 27%,云端数据存储占比超过50%。 全/加密/压缩/冗余备份,可信根及“零 相互迁移以及管理困难。不同供应商微 信任”等。 服务接口不同,导致的环境依赖。 03 复杂的网络 11 繁重的工作负载 网络最关心的是带宽和延迟,云场景下, 07 复杂系统解构 CSP压缩成本获取利润,把CPU硬件利 还要关注域间隔离和跨域访问,以及快 解构意味着更多的东西向流量。一切皆 用率做到极致。计算和数据规模持续增 速的网络变更。 服务/云原生,解构进一步加强。复杂 加,CPU几乎没有性能优化的空间。 系统解构的同时,多租户多系统共存。 04 虚拟化 12 特定场景服务 虚拟化是云计算的基础,包括主机虚拟 08 可扩展性Scalable 通过CPU、内存、存储和网络的各种组 化和容器虚拟化。通过虚拟化进行资源 横向扩展,资源数量的增减;纵向扩展, 合,扩展出计算优化、内存优化、存储 隔离,并且充分利用资源。 资源容量或性能的升降。 优化以及业务加速等实例类型。
6 .1.3 底 层 硬 件 架 构 挑 战 01 性能和灵活性兼顾 05 接口的标准化和弹性 09 让硬件快速迭代 CPU灵活,但性能较差;ASIC性能很好, 接口既要虚拟化,又要标准化,还要多 芯片的设计周期3年,生命周期5年;软 但灵活性差。要均衡,更要兼得。 种设备类型共存,更高的要求是接口的 件场景迭代很快;如何让硬件也能够迭 高可扩展性和可编程性。 代,支持长达8年的应用场景。 02 业务异构加速 任务可加速部分的占比,CPU和加速器 06 硬件处理的虚拟化和个性化 10 硬件高可用 的交互成本,系统的复杂度,加速效率, 类似于网络流,其他数据的处理也需要 高可用是云的关键要求,硬件的稳定性 更多场景覆盖,开发门槛等。 支持多流处理,每个流的每次事务具有 和冗余设计等。 不同的Context。 03 工作任务卸载 局部卸载or整体卸载,现有系统兼容 07 硬件加速的弹性 “用户无感”,不同任务间的交互。 不同场景对加速的需求有差别,做硬件 加速超集不如硬件加速“可编程”。 04 业务和管理分离 业务和管理相互干扰,管理面资源占比 08 硬件的功能扩展 越来越大;不是单工作任务的卸载,而 CPU性能不够,ASIC处理固定,如何能 是整个管理面的完全卸载。 够方便快捷的加入高性能的功能扩展。 最大的挑战:一个平台应对上述所有挑战
7 .2.1 (本书中)软件和硬件的定义 指令是软件和硬件的媒介,指令 的复杂度决定了系统的软硬件解 耦程度。 Co-Processor ASIC/ 按照单位计算(指令)的复杂度,处 CPU GPU FPGA 理器平台大致分为CPU、协处理器、 协处理器 DSA GPU、FPGA、ASIC/DSA。 从左往右,单位计算越来越复杂, 灵活性越来越低。 更高的灵活性√ 更低的灵活性 任务在CPU运行,则定义为软件运 更低的性能 更高的性能√ 行;任务在协处理器、GPU、 FPGA或ASIC运行,则定义为硬件 加速运行。
8 .2.2.1 背 景 1 : 应 用 多 种 多 样 软件应用层出不穷,并且快速迭代;2年一个热点,已有的热点技术仍在快速演进。 05 自动驾驶 自动驾驶对服务的实时性和可 靠性提出了更加苛刻的要求 04 5G通信 5G包含三种模式:高带宽/低延迟/海量连接; 01 云计算 5G是催化剂,催生了更多的应用和数据 云计算成为整个IT的 新基础设施 03 人工智能 AI是核心,训练需要大数据,数据价值挖掘需要AI, AI促使云计算更多场景,AI使得自动驾驶成为可能 02 大数据 大数据对数据的传输、处理、分析 和存储都提出了更高的要求
9 .2.2.2 背 景 2 : 硬 件 越 来 越 复 杂 工艺持续进步到亚纳米,3D堆叠技术多达上百层,Chiplet 技术使得多Die互联成为芯片集成趋势;2D->3D->4D。 芯片的规模越来越大,一次性成本越来越高,研发芯片的风 险也就越来越高。
10 .2.2.3 背 景 3 : C P U 性 能 瓶 颈 CPU已经性能瓶颈,但所需运行的工作负载数量和单个工作负载资源消耗都还在进一步增加。 带宽<100Gbps,硬件加速降成本;带宽>100Gbps,必须硬件加速。 10Gbps 25Gbps 100Gbps
11 .2.3 软 硬 件 之 间 的 鸿 沟 越 来 越 大 任务在CPU软件运行,性能低下,CPU已经不堪重负; 定制ASIC,受限于研发周期以及无法大规模复制,产品研发风险很大; 软件的新技术以及迭代越来越快,而硬件的更新换代却越来越慢; 芯片开发高投入高风险,严重制约着软件的进一步发展空间。
12 .2.4 软 硬 件 融 合 ①复杂的、分层的系统, ②CPU性能瓶颈,③宏观的规模, ④特定场景服务,使得:软硬件融合的过程其实就是系统不断卸载的过程。 不改变系统层次结构和组件交互关系,但打破软硬 件的界限,通过系统级的协同设计,达成整体最优。 软件(CPU) 传统分层很清晰,下层硬件上层软件;软硬件融合 软件(CPU) L4 的分层分块,每个任务模块是软件还是硬件,或软 L4 L3 硬件协同,都有可能。软件中有硬件,硬件中有软 件,软硬件融合成一体。 L3 L4 宏观的看,越上层越灵活软件成分越多,越下层越 L2 固定硬件成分越多。庞大的规模以及特定场景服务, L3 使得云计算底层Workload逐渐稳定并且逐步Offload L1 L2 到硬件(被动趋势)。 硬件 (设备) L1 软硬件融合架构,使得“硬件”更加灵活,功能也 更加强大,这样使得更多的层次功能向“硬件”加 硬件 (DPU/ IPU) 速转移(主动抢占)。
13 .2.5 软 硬 件 融 合 的 意 义 软硬件融合,既是理论和理念,也是方法和解决方案 CPU + 协处理器 + GPU + FPGA + ASIC/DSA的多异构混合计算 每个Workload都是在软硬件均衡/解耦基础上的再协同 连接(软件之间的连接、软硬件的连接、硬件之间的连接)和调用的 极致性能和灵活性 让硬件更加灵活、弹性、可扩展,弥补硬件和软件之间的鸿沟 兼顾软件灵活性和硬件高性能,既要又要 应对云计算、大数据及人工智能等复杂应用挑战 解决芯片一次性成本过高导致的设计风险 等等
14 .3 云计算软硬件融合的相关技术 软件2 01 软硬件接口 应用层 ① ② 软件和硬件高效的数据交互 软件1 系统层2 02 算法加速和任务卸载 软件2 软硬件接口层 软硬件接口层 算法硬件实现以及任务卸载框架 应用层 算法 系统层2 算法加速 软件1 03 虚拟化的硬件加速 系统层2 硬件2 软件2 虚拟化处理的高性能实现 系统层1.5 应用层 虚拟化层 软 硬 虚拟化层 虚拟化层 04 异构计算加速平台 软件1 系统层1 硬件部分 件 接 软件部分 口 层 GPU、FPGA以及DSA异构加速平台 系统层 软硬件接口层 系统层1 Embeded Software 05 高性能的网络 基础处理层 基础处理层 基础处理层 基于RDMA和拥塞控制 硬件 硬件 硬件1
15 .3.1 软 硬 件 接 口 CPU软件和其他硬件组件(包括IO设备组件)之间数据通信的接口,既包括数据面交互,也包括控制面交互。 可以是IO设备接口,可以是加速器接口;更广义的,也可以是封装的高层次服务接口。 软硬件接口定义 箭头表示从Master到Slave CPU 实线箭头表示数据访问 基于生产者消费者模型,驱动和设备 组成部分:软件驱动、设备的硬件接口 虚线箭头特指寄存器访问 子模块、共享队列以及传输的总线 总线Fabric 软硬件接口演进 软件轮询硬件寄存器 总线接口 内存 硬件中断 硬 专用DMA 硬件DMA 件 共享队列 模 块 硬件模块 用户态软件轮询 其他部分 多队列并行
16 .3.2 算 法 加 速 和 任 务 卸 载 数据中心任务卸载通常指:主机软件任务卸载到其他独立硬件;任务卸载以算法“加速器”为核心。 任务卸载的原则:原有调用关系不变。“软件调用软件”转换成“软件调用硬件”或“硬件调用软件”或“硬件调用硬件”。 主机软件侧 任务1 任务1 任务2 软件接口 主机软件侧 数据交互接口 任务4 任务卸载侧 软件 任务2 任务1 任务2的 任务2 子任务B(软件) 硬件部分的驱动 任务3 任务卸载侧 任务2 任务3 数据交互接口 控制接口 任务4 任务2的子任务A (硬件) 任务卸载侧 硬件 任务2 硬件接口
17 .3.3 虚 拟 化 的 硬 件 加 速 抽象是对原有对象的一层封装,虚拟化则是抽象后的复制;虚拟资源通过时间、空间的分割以及抽象模拟共享原有资源。 网络虚拟化VxLAN是虚拟IP/MAC地址到物理IP/MAC地址的映射,存储虚拟化是虚拟Chunk到物理Chunk的映射。 虚拟资源 虚拟资源 虚拟资源 … 虚拟资源 接口0 接口1 接口2 接口n-1 虚拟化模型 • 数学模型:y=FV(x) … … • 架构模型,通过接口呈现虚拟化特性 总线互联(路由) FA-1 FA-1 FA-1 … FA-1 … 虚拟化的硬件处理 被虚拟层 … FA FA FA … FA 流水线:指令流驱动 vs 数据流驱动 总线互联(路由) • … … • 映射机制:映射算法 vs 映射表 • 缓存机制:主动 vs 被动 资源接口 资源接口 资源接口 … 资源接口 0 1 2 m-1
18 .3.4 异 构 计 算 加 速 GPU/FPGA GPU/FPGA CPU CPU 01 基于GPU的异构加速 /DSA /DSA GPGPU+CUDA, GPU异构加速本质是众多并行 的高效能通用处理器,CUDA编程友好性。 IO DPU 02 基于FPGA的异构加速 FPGA的硬件弹性跟云非常契合,加速框架Shell/ 引擎Kernel,运行时RT,开发Stack等。 GPU/FPGA CPU CPU /DSA 03 基于DSA的异构加速 DSA是从ASIC回调,相比ASIC具有一定通用性, GPU/FPGA 可以覆盖较多的场景。 DPU DPU /DSA
19 .3.5 网 络 高 性 能 云计算系统持续解构,东西向网络流量越来越多,占比越来越大;服务器堆栈延迟的问题凸显。 网络容量升级,例如整个网络从25Gbps升级到100Gbps 轻量协议栈,数据中心网络是局域网络,距离短/延迟敏感,不需要复杂的 用于全球互联的TCP/IP协议栈 网络协议处理硬件加速 高性能软硬件交互:高效交互协议 + PMD + PF/VF/MQ 拥塞控制:低延迟、高可靠性(低性能抖动)、高网络利用率 案例:阿里云HPCC和AWS SRD/EFA
20 .4.1 D P U / I P U : 数 据 中 心 通 用 加 速 平 台 需要有独立的加速平台,可以不断的把软件Workload从CPU软件Offload到硬件加速。 无规模,不DPU/IPU。DPU/IPU用于底层通用任务加速,GPU/FPGA/DSA用于应用层的业务加速。 NVIDIA 2020年5月发布DPU,10月份大张旗鼓宣传;作者2020年8月份提出四阶段论;Intel 2021年6月份发布IPU。 eIPU: SmartNIC: DPU: IPU: 每个Workload均 卸载网络Workload IO处理加速 云系统栈的Layer(s) 软硬件权衡 GPU/FPGA/ GPU/FPGA/ GPU/FPGA/ CPU CPU CPU CPU DSA DSA DSA IPU as a eIPU as a Service Service 设备接口 设备/加速器/服务 接口 可编程 设备/加速器/服务 接口 SmartNIC 加速内核 更多层的加速内核 更多层内核+均衡+高速连接 DPU IPU eIPU 网络 网络 网络 网络
21 .4.1.1 额外的价值:业务和管理分离 DPU/IPU:DPU/IPU as a Service, IaaS on Chip, Multi System on Chip, Multi Heterogeneous Hybrid Computing CPU 典型价值 CPU CPU资源完全交付 业务 Virtual 更高可扩展性,灵活主机配置 Machine / Virtual (100%) 传统客户方便上云(虚拟化嵌套) 业务 Container Machine / (50%↓) 主机侧安全访问 Container 物理机的性能 + 虚拟机的可扩展性 管理 Host DPU/IPU 及高可用 (50%↑) (Hypvervisor+Workload+ 统一公有云和私有云运维 Mana geme nt+etc.) (Hypvervisor+Workload+ 管理 Mana geme nt+etc.)
22 .4.1.2 额外价值:释放AI强劲动力 CPU GPU/DSA CPU GPU/DSA CPU NIC DPU/ DPU/ 轻量 GPU/DSA IPU IPU 加速 器 网络 网络 网络
23 .4.2 以 数 据 为 中 心 CPU性能瓶颈,IO带宽持续增大,IO成为系统瓶颈。DPU/IPU逐渐吞噬CPU和GPU的通用工作任务。 以计算为中心 以数据为中心 Local Storage CPU DPU/ DSA CPU GPU DSA GPU IPU Local NIC Storage 网络 网络
24 .4.3 DPU/IPU的常见功能 弹性加速 AI加速 安全 管理、监控 高性能网卡 PCIe SR-IOV (RDMA NIC) 弹性设备接口 虚拟化 存储加速 网络加速
25 .4.4 AWS Nitro系统 AWS Nitro系统包括:VPC加速卡、EBS加速卡、本地存储加速卡、Nitro控制器、安全芯片以及Lite Hypervisor。
26 .4.5 NVIDIA DPU 优势 硬件的网络虚拟化 RDMA高性能网卡 安全类Feature 单芯片SOC 公开市场唯一落地方案 待改进 存储软件Offload 非标准接口 功能扩展性和差异化 网络数据面可编程
27 .4.6 Intel’s View: 未来数据中心架构 Intel IPU 是一种可编程网络设备,可通过安全地加速数据中心中的这些功能来智能地管理系统级基础设施资源。
28 .5 CPU、GPU和DPU/IPU三足鼎立 互联网制胜法宝:得入口者得天下。 我们的世界中有三颗太阳,它们在相互引力的作用下, 做着无法预测的三体运动: CPU GPU 当我们的行星围绕着其中的一颗太阳做稳定运行时, 就是恒纪元; 当另外一颗或两颗太阳运行到一定距离内,其引力会 将行星从它围绕的太阳边夺走,使其在三颗太阳的引 力范围内游移不定时,就是乱纪元; DPU/IPU 一段不确定的时间后,我们的行星再次被某一颗太阳 捕获,暂时建立稳定的轨道,恒纪元就又开始了。 ——刘慈欣,《三体》第一部15章
29 .5.1 从冯·诺依曼架构说起 中央处理单元 冯·诺依曼架构,是经典的系统处理模型 控制器 泛化之后,一个处理引擎模型包括:数据的输入输出、 控制单元、计算单元和数据缓冲。 输入 运算器 输出 设备 设备 处理引擎(CPU)的处理带宽和IO的带宽匹配程度, 决定了系统的架构: 内存(Memory) 1. 第一阶段,“史前”阶段。CPU的处理速度和 I/O的输入输出速度基本匹配。 冯·诺依曼架构 2. 第二阶段,CPU通过标准指令集解耦软硬件, CPU开始性能狂飙。不得不设计非常多的存储 控制单元 Hierarchy来弥补IO和CPU之间的性能差距,这 就是“以CPU计算为中心” 的架构。 数据 数据 计算单元 输入 输出 3. 第三阶段,CPU瓶颈+数据爆炸阶段。网络和存 储等IO带宽持续增加,CPU性能停滞,逐渐演 数据缓冲 化成“以数据驱动为中心”的架构。 处理引擎模型