带你读《弹性计算—无处不在的算力》第三章:计算产品和技术3.3弹性裸金属服务器和神龙虚拟化(一)

简介: 《弹性计算—无处不在的算力》第三章:计算产品和技术3.3弹性裸金属服务器和神龙虚拟化


3.3.2 适用场景

公共云服务提供商推出弹性裸金属服务器,很显然是作为虚拟机云服务器的有效补充,而不是和自家虚拟机云服务器形成竞争关系。那么弹性裸金属服务器适合哪些场景呢?

混合云和第三方虚拟化软件部署

伴随着公共云的高速发展,通过混合云打通用户线下专有云和线上公共云资源的需求日趋强烈。OpenStack VMware IaaS Stack 在公共云上部署,同时管理用户线上和线下 IaaS 资源,可以看到,VMware Cloud on Alibaba Cloud 就属于此种混合云业务应用场景。

OpenStack VMware Cloud IaaS Stack 在公共云上部署,最为关键的就是要求公共云提供 CPU 虚拟化的能力,否则在普通虚拟机中部署嵌套虚拟化技术,其性能完全无法接受。具体到 Intel x86 CPU 体系,则要求公共云平台对外提供计算资源的完整虚拟化特性(Intel VT-x VT-d 等硬件虚拟化技术),使得 VMware ESXiKVMXenHyper-V 等虚拟化平台和技术能够平滑上云。而弹性裸金属服务器就能满足这个要求。

高隔离容器部署

容器技术具备轻量敏捷等优势,正在成为 DevOps 主流技术。相对于公共云 VM 部署容器,使用弹性裸金属服务器部署容器具备零虚拟化开销等性能优势,如图 3-17 所示。

虚拟机物理机软件Hypervisor (和VM部署于同一台服务器) 神龙Hypervisor (独立硬件部署) 用户操作系统层Hypervisor层高速低时延伸硬件互联

image.png

3-17  高隔离容器部署


同时我们注意到 Clear ContainerRunV,以及 Kata Container 等具备高隔离高安全特性的新型容器技术,依赖 CPU 完整虚拟化特性(比如 Intel VT-x)。此种高隔离高安全的容器技术只可能部署在弹性裸金属服务器上。

高质量计算服务

高质量计算服务指零资源争抢、零虚拟化开销和高隔离高安全。

虚拟化技术在提高数据中心资源利用率的同时,引入了资源争抢等业务难题。 多个 VM 运行在一台物理服务器上,CPU 核、L1/L2/LLC 缓存、内存带宽等CPU 和内存子系统资源通过虚拟化技术抽象和切分,同时提供给多个 VM 使用。传统的虚拟化技术很难根本解决各VM 间资源的争抢问题。而弹性裸金属服务器不存在此问题。

高速低时延 RDMA 网络支持场景

RDMA 网络在超低时延和减轻 CPU 负载等方面优势明显,但是在网络虚拟化支持方面的短板明显 ;而公共云网络部署的关键是通过网络虚拟化实现网络资源的租户隔离。弹性裸金属服务器在支持原生 ROCE IB RDMA 网络方面,具有天然优势。

因此可以看到各家云服务提供商均以裸金属服务器支持 RDMA 网络,以此部署满足HPC 和异构计算的高速低时延互联需求。

RISC CPU 支持

Intel x86 体系结构对 CPU 虚拟化技术等软硬件的支持最为完善,加上 Intel Xeon x86 处理器在服务器市场的垄断地位,主流公共云 IaaS 虚拟化技术均基于 Intel Xeon x86

但是必须看到,对于特定细分市场,RISC CPU 仍然具备相当优势。比如 Power ISA CPU 在金融保险等市场的优势地位,以及 ARMv8 ISA 在新兴服务器市场崭露头角。如何支持 Power ARMv8 RISC 服务器,是公共云服务提供商必须回答的问题。

使用弹性裸金属服务器无须 CPU 和内存虚拟化技术的特别适配,就能够快速将 Power ARMv8 等处理器在公共云上线部署。

GPU 性能无损输出

GPU 产品对虚拟化技术支持有限,通过传统虚拟机方式输出 GPU 计算性能,会有严重的性能下降,而弹性裸金属服务器可做到 GPU 性能无损输出。


3.3.3 弹性裸金属技术

1. 弹性裸金属技术背景

2003 年,Xen SOSP 发表Xen and the Art of Virtualization,拉开了x86 平台虚拟化技术的大幕。2006 年,AWS 发布EC2Elastic Compute Cloud),同年发布S3 Simple Storage Service),拉开了公共云服务的大幕。EC2 的核心正是基于Xen 虚拟化技术。虚拟化技术赋予了EC2 核心产品价值——弹性,同时虚拟化技术给网络虚拟化、存储虚拟化,和管控系统提供了业务部署点。

第一代虚拟化技术的特征是:Xen/KVM + 软件network vSwitch + 软件storage initiator + 管控等All on Xeon。这代技术的痛点和思考 ,如图3-18 所示。

传统KVM 虚拟化系统导致CPU 计算特性损失

众所周知,IaaS 公共云技术的核心是Intel 至强处理器VT 等硬件辅助虚拟化技术(Hardware-assisted virtualization),配合主流虚拟化系统软件(KVM/Xen/VMware ESXi 等),实现了IaaS 弹性计算;客户则是通过ECS(或者 AWS EC2) 购买虚拟机(VM)形式的计算资源。

image.png

3-18  第一代虚拟化技术的痛点和思考

得益于高度成熟的虚拟化技术,VM 形式的计算资源“几乎”等价于客户线下的物理服务器资源,但是“几乎”并不是“ 完全”。一个典型的案例就是 Intel 至强处 理器的VT 硬件辅助虚拟化能力会被公共云服务提供商的虚拟化系统“消费掉”,客户无法在公共云VM 实例中再次部署虚拟化系统,致使传统OpenStack VMware based workload 无法在公共云部署。


客户希望用一套OpenStack/VMware 统一管理公共云线上资源和专有云线下资源,同时在控制面和数据面打通线上线下资源,在兼顾专有云数据安全、法律合规的基础上,充分利用公共云计算资源的弹性能力,但是由于Intel 至强处理器VT 硬件辅助虚拟化能力“被消费”,使得此种混合云技术很难在公共云实现。云原生安全容器创新依赖Intel VT 硬件辅助虚拟化能力输出,这是传统虚拟化无法解决的问题。

传统KVM 虚拟化系统导致资源争抢不可避免

以传统的KVM 虚拟化系统为例,双路Skylake96 HT)计算资源的虚拟化典型部署情况是:有8 HT 部署网络虚拟化vSwitch 和存储虚拟化,对外售卖88 HT 作为vCPU 计算资源。我们需要注意到,对外售卖的88HT vCPU 计算资源和8HT 网络/ 存储虚拟化是部署在同一组Skylake CPU 上的,那么如下共享资源争抢是不可避免的。

CPU DDR 带宽、LLC 等共享资源的争抢。在机头网络带宽迅速提升的当下, DDR 带宽、LLC 等资源争抢现象愈发突出。

半虚拟化(Para-virtualizedI/O 设备模型等资源争抢引入售卖CPU 抖动和售卖I/O 抖动。

存储和网络等I/O 内部层级化HQoS 难于实施。一般而言,层级化HQoS 是解决资源争抢的有效手段,电信级网络设备一般会部署HQoS 进行资源调度, 而HQoS 的典型部署方法需要通过芯片实现。


传统KVM 虚拟化系统导致I/O 性能瓶颈

传统KVM 虚拟化系统由(计算虚拟化)QEMU-KVM + (网络虚拟化)DPDK based vSwitch +( 存储虚拟化)SPDK based I/O initiator 构成。

Intel 引入VT 硬件虚拟化支持后,配合KVMXen 等虚拟化系统软件,由CPU 指令处理的数据面和KVM 等虚拟化系统软件形成了控制面及异常处理路径,此种软硬件协同设计既实现了CPU 和内存虚拟化的数据路径的最小开销,又保留了KVM 控制路径和异常处理路径的高度灵活性。

同处于数据路径的存储虚拟化和网络虚拟化虽然通过DPDK SPDK 等技术接近了软件优化的技术极限,但是仍然无法和芯片的加速性能媲美。特别是在网络吞吐向100GbE 演进的过程中,交换网络的带宽能力和Intel 至强处理器的处理能力间的差距逐渐拉大,在传统KVM 虚拟化系统下,通过DPDKSPDK 等纯软件进行I/O 性能优化的瓶颈日渐凸显。


2. 弹性裸金属技术实现

第一代虚拟化技术的业务痛点,催生了第二代虚拟化技术的产生,弹性裸金属产品也应运而生。那么第二代虚拟化技术具备哪些特征呢?

全部I/O 设备通过VT-d 设备直通模式进入VM,以此减少para-virtualization I/O 半虚拟化开销。

随着VT-d 设备直通的引入,网络虚拟化和存储虚拟化需要一个新的业务部署点。

VT-d 设备直通引入后,SR-IOV 等技术却无法达到和传统QEMU PV 设备一样的灵活性,I/O 硬件虚拟化催生Intel scalable IOV 的业务诉求。

随着存储虚拟化和网络虚拟化新的业务部署点的产生,这个业务部署点很显然需要针对计算、网络、存储、安全等IaaS 核心业务部署定制化芯片加速。

同时支持传统VM、弹性裸金属服务器、安全容器等IaaS 最新业务诉求。


简而言之,Hypervisor 的主要组件全部下沉进入一个定制计算节点,该定制计算节点完成I/O 设备虚拟化、网络虚拟化、存储虚拟化和管控部署,以及安全特性部署等。

而主机侧,针对公共云的需求,从计算和内存原来的QUME + KVM 方式,经过高度定制和瘦身后,降低了主机资源占用并提升计算服务质量,演化到了裸金属架构。

第二代虚拟化技术使弹性裸金属的产品落地成为可能。阿里云在2017 10 月举行的杭州云栖大会上正式发布弹性裸金属产品,同年11 月,AWS reinvent 发布EC 2 版本弹性裸金属产品。中美公共云服务提供商可以说在弹性裸金属的产品定义、产品适用场景和技术上殊途同归。从3.3.1 节和3.3.2 节中,我们可以看到弹性裸金属的核心产品技术逻辑:通过技术创新,使普通物理服务器具备虚拟机的弹性和使用体验。

正是有了这个逻辑,我们可以推演出技术创新的突破点:通过软硬一体化的技术手段,让普通物理服务器能够无缝接入云平台的管控系统、VPC 云网络和EBS 云盘。

VPC EBS 云盘接入

我们知道在虚拟化技术中,虚拟机是通过Virtio 实现网络和存储I/O 设备的;同时,我们注意到,Virtio 这个半虚拟化设备模型实际上是严格按照“真实”PCIe 设备规范的定义而实现的I/O 设备。也就是说,Virtio 半虚拟化设备完全可以通过芯片实现。90


在通过芯片实现Virtio 的时候,考虑到VPC EBS 云盘实现的复杂


在通过芯片实现Virtio 的时候,考虑到VPC EBS 云盘实现的复杂度,我们采用了新的模式:让芯片透传PCIe TLP 包到可编程处理器,然后通过可编程处理器复用QEMU 已有的成熟的Virtio 后端代码。此种模式能够最大限度地保持既有的虚拟化架构,做到云平台管控系统、VPC 系统、EBS 云盘系统的“零修改”。

实现大量弹性网卡(ENI)和EBS 云盘设备接入

VT-x/KVM 虚拟化技术具有天然技术优势,支持大量网络和存储设备。而弹性裸金属产品的核心出发点就是要兼具虚拟机和传统物理机的优点。虚拟机对大量网络设备和存储设备的支持,必须在弹性裸金属产品中予以实现。

在多种规格的网卡和存储PCIe I/O 设备接入时,根据PCIe 规范有两个方法:1) 通过多级PCIe switch 扩展,实现大量PCIe switch downstream port,然后每个PCIe switch downstream port 挂载一个PCIe I/O 设备;2)通过PCIe SR-IOV 技术,支持大量PCIe virtual functionVF)设备。

进一步对比虚拟机I/O 设备,我们可以看到设备的热插拔、Guest OS 的零侵入是公共云IaaS 产品的刚需。只有通过多级PCIe switch 扩展模式,才能通过PCIe native hotplug 技术标准,实现上述和虚拟机一致的设备热插拔和Guest OS 零侵入。产品需求明确后,我们创新性地通过芯片RTL 实现了全球第一个片上多级PCIe switch 扩展,当前最多能够支持63 个设备,以此实现大数量规格的网络ENI 和存储EBS 云盘PCIe I/O 设备接入;同时由于支持原生PCIe 原生热插拔能力,保证了Guest OS 的零侵入,以及客户在Open API 和控制台等方面和虚拟机一致的使用体验。

3. X-Dragon Hypervisor 基于神龙的软硬一体的虚拟化技术

在阿里云神龙硬件平台下,虚拟化架构也做了相应的升级,使计算虚拟化部分的架构更加清晰简捷,让虚拟机能提供接近物理机的性能。如图3-19 所示,神龙虚拟化架构的主要特点是:I/O 链路从传统的通过软件实现转变为通过硬件和直通设备实现;存储虚拟化、网络虚拟化都在MOC 卡上实现;同时将管控系统、监控程序等都下沉到MOC 卡上。在提供计算服务的物理机上,只运行自己裁剪的Linux 操作系统和轻量化的虚拟机监控器。

神龙虚拟化架构比起传统的KVM 虚拟化的关键优化技术点简要描述如下。

1)自研虚拟CPU 调度器——VOS

VOSVM-Oriented Scheduler)是面向虚拟机的调度器,是阿里云在神龙平台上自研的调度器,减少了虚拟CPU 调度开销,同时将其他控制面的作业调度给虚拟CPU 带来的争抢下降一个数量级研发的更加稳定和高效的计算虚拟化产品。


3-20 所示,VOS 调度器实现的是非公平调度(与内核中的CFS 调度器不同),让虚拟CPU 线程具有更高执行优先级,保证客户购买的虚拟机的计算性能,而控制面的作业调度执行被安排在预先设定的一个较低优先级和预设时间片中投机执行,而且控制面的作业是可以被内核态抢占的。

售卖给用户的产品阿里云系统软件栈计算服务轻量化VMM TinyOS 盘古(存储虚拟化) 虚拟交换机(网络虚拟化) API、监控(控制程序) 硬件驱动程序虚拟机实例虚拟机实例虚拟机实例容器实例1.得益于其他组件的下沉, 系统软件变得非常薄。2.从开销和性能角度看, 都非常接近物理机。3.支持容器实例。硬件资源(网卡、磁盘) 硬件资源(CPU,缓存,内存……) PCIe MOC I/O 服务(采用硬件实现, 旁路系软件栈) 阿里云硬件系统

image.png


3-19  神龙虚拟化架构

通过VOS 调度器,虚拟CPU 的调度延迟低到毫秒级;通过ping flood 来测试网络ping 的延时抖动,抖动下降到了百万分之一左右(即ping 一百万个报文只遇到1 个报文延迟的比例比均值明显偏大),抖动比之前的架构下降了两个数量级。在物理机上执行的控制面的作业包括:虚拟机生命周期管理、QEMU 控制线程、写日志、监控执行、包括热升级/ 热迁移在内的运维操作,在VOS 的管理下,正在运行的虚拟CPU 的干扰被控制在一个非常低的水平,虚拟机的计算稳定性大幅提升。

2)内存优化:内存分配器VMEM 与用户态QEMU 内存瘦身

内存分配器VMEM 是阿里云研发的用于虚拟机内存分配的分配器,可以大幅减少内核维护的内存页表等开销(开销从以前的1.5% 左右下降到0.1% 左右),支持1GB 的大页进一步减少EPT 开销,实现了通过vMCE 对硬件错误的内存页进行隔离。

image.png


在内存方面,我们通过QEMU 对其进行瘦身,将单个虚拟机的QEMU 进程内存开销降低到5MB 以内,通过全新设计的用户态内存分配器避免了内存碎片,同时对不常用的内存资源进行延迟分配。

通过这两种内存优化手段,神龙虚拟化的架构比传统KVM 虚拟化节省了约10% 的内存。

3)虚拟化运行加速

通过硬件加速虚拟机中的HLT MWAIT 指令,使其唤醒延迟与物理机几乎一样。同时将定时器进行硬件虚拟化,在虚拟机中访问定时器不会再触发VMEXIT, 从而提升虚拟机性能。通过这些优化,进程调度性能得到了较大提高,图3-21 的调度延迟实测数据展示的是在某次测试中,调度两百万个进程,并统计每次调度的延迟的结果。可以看到,延迟有15% 的下降。图中的g5.4xlarge 实例是之前的KVM 架构的ECS 虚拟机实例规格,g6.4xlarge 是神龙硬件平台下经过优化的ECS 虚拟机实例规格。

4)极速启动

为了让虚拟机加速启动,我们对神龙虚拟化架构也做了很多优化。首先是资源的快速分配,包括实现多线程的初始化、虚拟机内存页分配时的批处理化。同时对虚拟机依赖的固件进行裁剪、重构、优化,使虚拟机实现毫秒级加载。我们还对一些特殊的应用场景应用了内部称为vmfork 的技术,让虚拟机能实现秒级的快速复制。

image.png

5)物理机CPU 全供给虚拟机

在传统的KVM 虚拟化架构下,宿主机的CPU 资源是不可能全部供给虚拟机使用的,一般还要预留CPU 核,用于网络虚拟化软件、存储虚拟化软件、管控系统、监控脚本等的计算资源开销。在神龙架构下,网络虚拟化和存储虚拟化都通过硬件虚拟化的方式下沉到一张MOC 卡上,同时管控系统和绝大部分监控脚本都下沉到MOC 卡上运行,这样物理机CPU 资源就可以全部通过虚拟化的方式分配给虚拟机使用。经过评估,通过下沉这部分CPU 开销到MOC 卡上,物理机的CPU 资源利用率能提高10% 左右。

相关文章
|
7月前
|
存储 机器学习/深度学习 弹性计算
阿里云服务器ECS计算型c9i规格族性能与特点、配置性能参数表
阿里云ECS计算型c9i实例基于Intel® Xeon® Granite Rapids处理器,主频3.2GHz,全核睿频3.6GHz,提供稳定高性能计算能力。支持NVMe协议、vTPM安全加密,适用于机器学习、大数据分析、高性能计算等场景,具备高安全、低延迟、强扩展等优势。
|
7月前
|
存储 机器学习/深度学习 编解码
阿里云服务器计算型c7/c8a/c8i/c8y/c9i实例性能、适用场景及价格对比与选择参考
阿里云服务器计算型c7、计算型c8a、计算型c8i、计算型c8y和计算型c9i同属于计算型实例,是目前计算型实例规格中的热门实例规格,通常在阿里云的活动中,计算型实例也主要以这几个实例规格为主,本文为大家介绍c7/c8a/c8i/c8y/c9i实例各自的实例性能、适用场景及价格对比,以供选择参考。
|
7月前
|
存储 机器学习/深度学习 缓存
阿里云九代云服务器怎么样?计算型c9i、通用型g9i、内存型r9i实例介绍
阿里云第9代云服务器主要实例规格包括计算型c9i、通用型g9i、内存型r9i,本文将为大家介绍阿里云九代云服务器中的计算型c9i、通用型g9i、内存型r9i实例的主要性能特点,并分享最新的活动价格信息,以供参考。
721 1
|
7月前
|
弹性计算
阿里云服务器ECS计算型c9i实例2核4G配置租用费用整理(多地域报价)
阿里云ECS计算型c9i实例(2核4G)北京地域租用价:0.3873元/小时,185元/月,1450元/年,2877元3年。支持按小时、包月或包年计费,实际购买可享折扣,如1年7.1折,3年4.6折。具体价格以官网为准
213 1
|
7月前
|
存储 弹性计算 网络协议
阿里云服务器ECS实例规格族详细介绍:计算型c9i、经济型e和通用算力u1实例CPU参数说明
阿里云ECS实例规格族包括计算型c9i、经济型e和通用算力型u1等,各自针对不同场景优化。不同规格族在CPU型号、主频、网络性能、云盘IOPS等方面存在差异,即使CPU内存相同,性能和价格也不同。
825 0
|
7月前
|
存储 固态存储 Linux
从 0 学服务器虚拟化:VMware 搭建 3 个虚拟主机,个人 / 小企业够用的方案
服务器虚拟化技术通过在单台物理机上运行多个虚拟机,显著提升资源利用率和管理灵活性。本文以 VMware ESXi 8.0 Update 3e 为例,详解如何搭建经济实用的虚拟化环境,支持 3 个虚拟主机稳定运行,适合个人开发者和小企业降低硬件投入、实现数据本地化与安全存储。
1707 0
|
存储 人工智能 并行计算
2025年阿里云弹性裸金属服务器架构解析与资源配置方案
🚀 核心特性与技术创新:提供100%物理机性能输出,支持NVIDIA A100/V100 GPU直通,无虚拟化层损耗。网络与存储优化,400万PPS吞吐量,ESSD云盘IOPS达100万,RDMA延迟<5μs。全球部署覆盖华北、华东、华南及海外节点,支持跨地域负载均衡。典型应用场景包括AI训练、科学计算等,支持分布式训练和并行计算框架。弹性裸金属服务器+OSS存储+高速网络综合部署,满足高性能计算需求。
|
存储 运维 安全
阿里云弹性裸金属服务器是什么?产品规格及适用场景介绍
阿里云服务器ECS包括众多产品,其中弹性裸金属服务器(ECS Bare Metal Server)是一种可弹性伸缩的高性能计算服务,计算性能与传统物理机无差别,具有安全物理隔离的特点。分钟级的交付周期将提供给您实时的业务响应能力,助力您的核心业务飞速成长。本文为大家详细介绍弹性裸金属服务器的特点、优势以及与云服务器的对比等内容。
1330 23
|
存储 弹性计算 数据库
阿里云服务器租用收费价格参考,弹性裸金属服务器架构云服务器收费价格表
弹性裸金属服务器架构阿里云服务器有计算型弹性裸金属服务器ebmc7、内存型弹性裸金属服务器ebmr7、AMD计算型弹性裸金属服务器ebmc7a、通用型弹性裸金属服务器ebmg6等实例规格可选,不同实例规格的租用收费价格是不一样的,本文为大家汇总了目前基于弹性裸金属服务器架构下的各个实例规格的阿里云服务器收费标准,以供参考。
阿里云服务器租用收费价格参考,弹性裸金属服务器架构云服务器收费价格表
阿里云最新产品手册——云基础产品与基础设施——计算——弹性裸金属服务器——注意事项
阿里云最新产品手册——云基础产品与基础设施——计算——弹性裸金属服务器——注意事项自制脑图
292 2