问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

OpenStack Nova 高性能虚拟机之 NUMA 架构亲和

发布网友 发布时间:2024-10-08 19:28

我来回答

1个回答

热心网友 时间:2024-11-06 00:42

在 Icehouse 版本之前,Nova 实现的 NUMA 亲和机制并未考虑 Host NUMA 的情况,这导致 Libvirt 在默认情况下可能会发生跨 NUMA node 获取 CPU/Memory 资源的情况,进而影响 Guest 的性能。然而,从 Juno 版本开始,Openstack 新增了 NUMA 特性,用户可以通过将 Guest 的 vCPU/Memory 绑定到 Host NUMA Node 上,从而提升 Guest 的性能。

除了 NUMA 基本概念之外,Nova 还自定义了一些对象概念。首先,vCPU 和 pCPU 的定义具有一定的迷惑性,简单来说,虚拟机实际上是宿主机的一个进程,而虚拟机 CPU 则是宿主机进程中的一个特殊线程。引入 pCPU 和 vCPU 的概念是为了让上层逻辑能够屏蔽机器 NUMA 拓扑的复杂性。其次,Thread siblings 对象的引入是为了无论服务器是否开启了超线程,Nova 都能支持物理 CPU 绑定的功能。

操作系统发行版许可证(Licensing)可能会严格约束操作系统能够支持的最大 sockets 数量,进而影响服务器上可运行虚拟机的数量。因此,在这种情况下,应该更加偏向于使用 core 来作为 vCPU,而不是 socket。由于许可证的影响,建议用户在上传镜像到 Glance 时,指明一个运行镜像最佳的 CPU 拓扑。云平台管理员也可以通过修改 CPU 拓扑的默认值来避免用户超出许可*。

宿主机 CPU 拓扑的方式对其自身性能具有很大影响。例如,多 Socket 单 Core 拓扑在 Socket 间协作要通过外部总线通信,导致通信开销大、线程切换开销大、Cache 数据一致性难维持等问题。相比之下,单 Socket 多 Core 拓扑在多 Core 之间通信开销小、Socket 占位面积小等优势明显。但需要注意的是,当需要运行多个“大程序”时,单 Socket 多 Core 拓扑在多任务、高并发、高消耗内存的程序运行环境中效率会变得非常低下。

CPU 架构对于并发程序设计而言,主要需要考虑两个问题,一个是内存可见性问题,一个是 Cache 一致性问题。超线程技术并非万能药,开启超线程后,Core 的总计算能力是否提升以及提升的幅度和业务模型相关,平均提升在 20%-30% 左右。但超线程对 Core 的执行资源的争抢,业务的执行时延也会相应增加。当超线程相互竞争时,超线程的计算能力相比不开超线程时的物理核甚至会下降 30% 左右。

在 NUMA 拓扑方面,现在的服务器基本都支持 NUMA 拓扑。NUMA 具有高存储访问带宽、有效的 Cache 效率以及灵活 PCIe I/O 设备的布局设计等优势。但由于 NUMA 跨节点远程内存访问不仅延时高、带宽低、消耗大,还可能需要处理数据一致性的问题,因此,虚拟机的 vCPU 和内存在 NUMA 节点上的错误布局,将会导致宿主机资源的严重浪费。因此,标准的策略是尽量将一个虚拟机完全局限在单个 NUMA 节点内。

在 Nova 上应用 NUMA 亲和来创建高性能虚拟机时,首先需要判断该物理服务器是否支持 NUMA 功能,然后查看物理服务器的 NUMA 拓扑,接着查看物理服务器是否开启了超线程。Nova 的 NUMA 亲和原则是:将 Guest vCPU/Mem 都分配在同一个 NUMA Node 上,充分使用 NUMA node local memory,避免跨 Node 访问 remote memory。

在 Nova 中,可以通过 Flavor extra-specs 或 Image Metadata 来设定 Guest NUMA topology。Nova Scheler 会根据参数 hw:numa_nodes 来决定如何映射 Guest NUMA node。如果设定了 hw:numa_cpus.N 和 hw:numa_mem.N,那么 Nova 将会根据这些参数进行 vCPU 和 pCPU 的绑定。需要注意的是,如果 hw:numa_cpus.N 和 hw:numa_mem.N 的设定值大于虚拟机本身可用的 CPUs/Mem,则触发异常。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑上的照片上怎么加上文字 电脑图片外如何加文字怎么在电脑图片上添加文字 工字钢与槽钢哪个好 槽钢 工字钢 哪个结实 核污染水对江西宜春有影响吗 江西盐能吃吗 谣盐各地应急 王者荣耀 王者熟练度等级标志是什么样的? 王者荣耀 王者荣耀0熟练度到绿熟练度打几把? 为什么我家无线信号很弱? 外办是什么机构 关于传统节日的资料有哪些? 你好 手机锁屏设置PIN码 结果打不开了 明明记得正确的p... 2018年6月16日13点06分出生的兰姓男宝宝起名!麻烦各位大师帮我宝宝起... 晋察冀边区指的是哪里 晋察冀边区指的是什么地方 求助,Ubuntu系统里可以安装VMware虚拟机吗?如何安装? ...房子墙面涂鸦有很多,不知道现在市面上哪家旧房翻新刷墙公司好... 有人知道旧房翻新涂料谁家做的可靠吗? 孙子兵法·妙句精解编辑推荐 孙子兵法图解励志版编辑推荐 高中毕业证编号在哪里能查询到? 与孙子兵法同步思考编辑推荐 高中毕业证书编号在网上能查询的到吗 孙子兵法与公关编辑推荐 孙子兵法结构研究编辑推荐 马骏说《孙子兵法》编辑推荐 孙子兵法研究与应用编辑推荐 图解孙子兵法编辑推荐 离婚后子女抚养权通过什么程序变更 激光测距传感器工作原理 我的史密斯燃气热水器现在显示屏没有反应,本来插上电源打开水龙头显示... 染发对头发有伤害吗?大神们帮帮忙 ISO和GHO的区别是什么 关于学车:你说的改天,究竟是哪一天 七星寨景区有哪些不容错过的美景? 哪些时间段到七星寨景区游玩比较合适? 想当演员是上艺校好还是上戏剧学院好 每次重启电脑,就会出现电脑管家安装提示。太烦人了,怎么解决啊! 关于木马软件如何躲过360或者防火墙的查杀。 hsqldb简介 洗手间贴完地砖几天可以使用 地砖镶好需要放置多久 地砖安装后需要等多久? hsqldb模式 利用jdbc从hsqldb中提取数据,显示Table not found 问问大家,卫生间的墙壁要贴瓷砖吗 枣强中学录取线 windowsserver怎么查看开关机记录 windows server2003是否有文件拷贝、删除记录 ...直接用洛必达法则来求导,这样对吗?不是说数列不能用洛必达法则的吗... 为什么等价无穷小不能用洛必达呢?