浅谈NUMA是什么?
  

不懂就问 6023

{{ttag.title}}
一、背景
凡是接触虚拟化技术的小伙伴肯定对“NUMA”这个词不陌生,今天我们就来学习下NUMA技术原理,以及在超融合上如何使用NUMA。

二、what is NUMA?
以下来自百度百科:“非统一内存访问(Non Uniform Memory Access Architecture)是一种用于多处理器的电脑记忆体设计,内存访问时间取决于处理器的内存位置。 在NUMA下,处理器访问它自己的本地存储器的速度比非本地存储器(存储器的地方到另一个处理器之间共享的处理器或存储器)快一些。”
我们都知道目前主流的服务器都是多路CPU的,如图所示,有四个CPU。对于这种架构的物理CPU(节点),
和自己直接连接的内存称为本地内存,而连接在其他物理CPU(节点)的内存称为远地内存
物理CPU访问远地内存时候要通过QPI间接访问,所以相对访问本地内存而言存在一定的延时。同理每一个CPU(节点)都有自己的PCIE设备(本地IO资源),和内存相似,远地访问PCIE设备相对访问本地PCIE设备存在延时。

虚拟机NUMA就是把QEMU模拟出的虚拟节点,绑定在某颗物理CPU上,对应的内存同样绑定在该CPU的本地内存,使其与物理架构相对应,在物理上也尽可能地使CPU访问本地内存,这样我们可以认为虚拟机能够识别服务器numa拓扑
具体的优化方式如下:
vCPU数如果比一颗物理CPU的核数少,那么这个虚拟节点就会绑在一颗物理CPU上。
vCPU数如果比一颗物理CPU的核数多,那么就会平分开,然后绑在多个物理CPU上。
通过优化的调度算法,使虚拟节点的NUMA绑定都是保持性能最佳的状态。

三、应用场景
1、虚拟机NUMA的应用
内存访问旺盛的业务,NUMA能帮助大幅度提高性能!!!如需要大量吃内存的数据库服务(Oracle、SQL Server)、编译服务等。内存访问频繁的场景,开启NUMA,计算性能提高7%~30%
2、CPU需求密集的小应用,开启NUMA会影响一些性能,由于我们超融合一体机原本的CPU性能充足,开启NUMA造成的损失并不足以影响到业务,所以大部分应用无须考虑该问题。

打赏鼓励作者,期待更多好文!

打赏
5人已打赏

发表新帖
热门标签
全部标签>
每日一问
技术盲盒
干货满满
新版本体验
技术笔记
功能体验
产品连连看
标准化排查
技术晨报
技术咨询
信服课堂视频
2023技术争霸赛专题
GIF动图学习
运维工具
用户认证
解决方案
VPN 对接
专家分享
社区帮助指南
自助服务平台操作指引
畅聊IT
答题自测
专家问答
技术圆桌
在线直播
MVP
网络基础知识
安装部署配置
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
云计算知识
原创分享
sangfor周刊
项目案例
SANGFOR资讯
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
玩转零信任
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
答题榜单公布
纪元平台
通用技术
卧龙计划
华北区拉练
天逸直播
以战代练
秒懂零信任
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

217
275
151

发帖

粉丝

关注

本版达人

皮皮虾·真

本周建议达人

郑州网络

本周分享达人

二进制网络

本周提问达人