NUMA的初步理解——诞生背景、介绍、特点

最近学习NUMA主要是为了理解绑核、绑内存到指定NUMA上为什么可以提高性能。

诞生背景:

    在早期的多处理器系统中,所有cpu都共享同一个物理内存,这种内存访问方式会导致处理器争夺内存带宽,从而影响系统的性能,在这种情况下NUMA架构开始出现。
    多处理器系统是指在一个计算机系统中,有两个或多个处理器(CPU)同时工作,这些处理器可以共享一些资源(如内存、磁盘、网络等),以协同完成任务。多处理器系统通常被用于高性能计算、服务器和数据库等领域。
    当cpu开始需要访问内存时,它会向内存控制器发送一个内存请求,内存控制器会将请求的数据从内存中读出来并发送回cpu。如果多个cpu同时向内存控制器发送请求,那么内存控制器就需要在它们之间切换,这个过程就会导致内存带宽的争夺。同时内存控制器可能会变得过载,导致cpu需要等待很长的时间才能获得数据,导致系统性能下降。

介绍:

    NUMA(Non-Uniform Memory Access,非一致性内存访问)是一种处理器架构,其中多个处理器和内存控制器通过高速总线连接,每个处理器都有自己的本地内存,但可以访问其他处理器的内存。
    NUMA中每个节点都包含一部分CPU、内存、I/O设备等资源,不同的节点之间也可以进行通信和数据传输。
    NUMA的工作原理是将物理内存分为多个区域,每个区域由一个或多个处理器和一个或多个内存控制器服务。当一个处理器需要访问另一个处理器的内存时,它会向相应的内存控制器发出请求,内存控制器会将数据发送回请求的处理器。这种方式减少了对总线的竞争和内存访问延迟,提高了性能和可扩展性。

特点:

    在NUMA架构中,通常情况下,一个节点中的CPU访问本节点的内存的速度要优于访问其他节点内存的速度,这是因为在一个节点内,CPU和内存模块之间的距离较近,访问本地内存的延迟和带宽更低,而访问其他节点的内存则需要通过高速互连通道进行传输,延迟和带宽都会受到一定的影响。
    在NUMA架构中,内存被划分为多个区域,每个区域与处理器节点进行绑定。每个处理器节点访问与之绑定的内存区域,可以减少处理器节点之间的内存访问冲突,提高性能。但是在NUMA架构中,一个处理器节点也可以访问其他节点的内存,但是远程访问是通过通道的方式,访问速度不如访问本节点的快。
    为了使应用程序更好地利用NUMA架构,需要进行正确的内存分配和优化,以确保数据在处理器之间移动的次数最少,从而提高性能。(这个就是为什么绑核、绑内存可以使测试出的vfw性能更好的原因)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NUMA(Non-Uniform Memory Access)是一种计算机体系结构,它允许多个处理器访问共享内存的方式不同。在NUMA架构中,系统内存被划分为多个节点,每个节点包含一组处理器和与之关联的本地内存。每个处理器可以直接访问本地节点的内存,但访问其他节点的内存则需要通过互连网络进行通信。 在BIOS层面,可以通过设置来开启或关闭NUMA。根据引用\[1\]中的说法,BIOS和操作系统在关闭NUMA时的粒度有所不同。BIOS在关闭NUMA时的粒度是以缓存行(64字节)为单位,而操作系统利用内核页表,所以粒度是以页(4KB)为单位。从效果上来看,BIOS的设置可能更稳定一些,但操作系统的配置相对更方便。 NUMA架构中,不同的CPU访问本地内存的速度比访问远程内存的速度更快。如引用\[2\]所示,每个CPU与其左右两边的内存块组成一个NUMA节点,访问本节点内的内存速度更快。因此,在NUMA模式下,如果能保证节点内的CPU只访问本节点内的内存块,访问速度会更快。 总的来说,NUMA架构在处理器访问本地内存时具有优势,但当处理器需要频繁访问其他节点的内存时,效率会低于UMA(Uniform Memory Access)架构。因此,对于访问数据量较小且本地内存足够的情况,NUMA架构的优势可以发挥出来;而对于访问数据量较大且需要频繁访问其他节点内存的情况,NUMA的效率会低于UMA。\[2\]\[3\] #### 引用[.reference_title] - *1* [NUMA相关配置介绍](https://blog.csdn.net/qq_24343177/article/details/127139050)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【BIOS/UEFI硬件知识储备】内存——UMA和NUMA两种内存访问方式](https://blog.csdn.net/weixin_45258382/article/details/128812560)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值