2.7 软芯协同的高性能虚拟化底座
虚拟化底座管理物理机的各种硬件资源(如CPU、内存、网卡、磁盘等),并高效地将这些资源划分给多台虚拟机使用。虚拟化底座向上对接多种规格/不同操作系统的虚拟机,向下对接各式各样的硬件算力,提供统一、易扩展的资源管理能力。虚拟化技术现已广泛应用于云、CT、终端等场景。
随着虚拟化技术的更新迭代,虚拟化底座的开销不断减少,但当前虚拟化仍然面临几大问题,如虚拟机和物理机之间存在软硬件语义鸿沟、业务关键路径上的算力开销、缺失异构算力及加速器硬件卸载的能力。
如图2-10所示,通过一个软芯协同的高性能虚拟化底座打造虚拟机极致性能,主要包含三大关键技术:G/H协同优化、虚拟中断卸载和异构算力加速。
图2-10 高性能虚拟化底座
G/H协同优化,即虚拟机Guest和宿主机Host之间通过共享、协商等技术,在虚拟机和宿主机隔离的大框架下实现部分信息共享,最终提升虚拟机的性能。在虚拟机VCPU和宿主机物理CPU绑定的场景下,虚拟机内部的业务运行完全由虚拟机操作系统决定。虚拟拓扑感知调度技术结合虚拟机绑定的物理CPU的分布,给虚拟机构建最优的虚拟VCPU/虚拟NUMA拓扑结构,虚拟机操作系统根据呈现的VCPU拓扑结构实现最优的调度算法,从而降低虚拟机业务时延,提升虚拟机吞吐量。通过VCPU抢占语义和虚拟机Lock语义消除虚拟机操作系统和宿主机操作系统的抢占、Lock锁等语义的鸿沟,从而减少资源竞争开销,提升虚拟机算力线性度。
虚拟中断卸载,基于硬件辅助中断虚拟化架构,把原先由软件模拟实现的中断注入流程卸载到硬件,实现了各类虚拟中断的极速注入。在I/O密集型业务(如Web服务)中,通过加速虚拟设备的中断注入,消除业务关键路径上的虚拟化开销,从而明显提升设备I/O带宽,降低I/O时延。在进程间通信密集型业务(如数据库服务)中,通过Exit-Less核间中断,降低由VCPU退出带来的时延,从而提升虚拟机内调度性能。通过把时钟中断直接注入虚拟机,实现高精度虚拟时钟,大幅提升时延类Benchmark的性能。
异构算力加速技术,通过虚拟化底座对多样性算力资源进行管理,在异构算力空间隔离VCPU,为虚拟机提供矢量加速能力、矩阵加速能力,配合矢量计算加速库、编译器自动矢量化可有效提升视频编解码、科学计算等业务性能;利用VCPU和物理CPU相关标记,减少G/H切换开销,释放硬件极致性能;结合设备直通及硬件SR-IOV技术,直通加速器至虚拟机内部,为虚拟机的业务提供算力卸载能力,配置对应的加速引擎后,可大幅提升Web服务等业务的加解密、压缩和解压缩性能。