NUMA模式

NUMA模式

补充经常听师兄们提到一个词NUMA模式

NUMA架构产生的背景

早期的计算机中,内存控制器在北桥中,所有CPU对内存的访问都要通过北桥来完成。此时所有CPU访问内存都是“一致的”,如下图所示:

在这里插入图片描述

这样的架构称为UMA(Uniform Memory Access),直译为“统一内存访问”,这样的总线模型保证了所有的内存访问是一致的,不必考虑不同内存地址之间的差异,即每个处理器核心共享相同的内存地址空间

在 UMA 架构下,CPU 和内存之间的通信全部都要通过前端总线(FSB)。而提高性能的方式,就是不断地提高 CPU、前端总线和内存的工作频率。因为物理条件的限制,提高工作频率到达了瓶颈。CPU 性能的提升开始从提高主频转向增加 CPU 数量(多核、多 CPU)

但随着CPU核心数的增加,越来越多的CPU对前端总线争用使前端总线的带宽成为瓶颈,为了消除UM架构的瓶颈NUMA(Non-Uniform Memory Access)架构诞生了。

NUMA架构

将不同的内存器件和CPU核心划分给不同的Node,每个Node都有自己集成的内存控制器(IMC: Integrated Memory Controller)不同Node间通过QPI(Quick Path Interconnect)进行通信。
在这里插入图片描述

现在大部分CPU厂商已经把内存控制器集成到CPU内部。一般一个CPU socket会有一个独立的内存控制器。每个CPU socket独立连接到一部分内存(直连的内存称为"本地内存"),CPU之间通过QPI总线进行连接,CPU可以通过QPI总线访问不和自己直接连接的"远程内存"。

*本地内存访问延迟会显著低于远程内存在这里插入图片描述

参考资料

浅解NUMA机制
每个程序员都应该知道的 CPU 知识:NUMA

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我不可能怎么辣鸡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值