鲲鹏社区首页
中文
注册
开发者
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

特性描述

简介

NUMA感知是一种优化策略,用于充分利用NUMA(Non-Uniform Memory Access,非统一内存访问)架构的特性,以提高多处理器系统的性能。

NUMA架构将处理器和内存划分为多个节点,如下图node0和node1,每个节点包含本地内存和对应的处理器。对于某个处理器(如node0中的CPU),访问相同节点内的内存(可称为本地内存)的速度比访问其他节点中的内存(可称为远程内存)更快。NUMA感知的核心原理是,通过感知NUMA的拓扑结构,尽量减少跨节点的内存访问,以降低延迟并提高性能。

图1 NUMA架构图

通过为虚拟机配置Guest NUMA,虚拟机内部能够识别vCPU NUMA状态,以便于虚拟机根据Guest NUMA拓扑,优化内存资源使用。例如对于下图的VM7,其使用的宿主机CPU和内存分布于两个NUMA节点中,在无NUMA感知情况下,虚拟机内部便可能出现大量的跨NUMA节点的内存访问,影响性能。当配置Guest NUMA,将宿主机的NUMA拓扑结构传递给虚拟机时,便能减少跨NUMA节点的内存访问。

版本支持

  • 版本支持:支持Linux kernel v4.6-rc3以上版本,QEMU v2.6.0以上版本。openEuler建议使用20.03 LTS SP1及以上版本操作系统。
  • License支持:无。

约束与限制

NUMA感知特性的主要目的为在虚拟机内部感知Host上的NUMA架构,对于性能的影响依赖于应用特征。如果业务软件不识别NUMA,或没有针对NUMA进行优化,会出现跨NUMA内存访问的问题,导致性能下降。

应用场景

适用于1:1绑核场景,根据vCPU绑定物理CPU拓扑,呈现最佳的NUMA拓扑。

原理描述

通过配置NUMA感知特性可以实现内存的分块绑定和vCPU绑定,使虚拟机感知到宿主机的NUMA架构,从而优化性能。