Linux NUMA架构(非统一内存访问)

NUMA架构

NUMA Architecture| Non Uniform Memory Access Policy/Model | Numa Node Configuration (CPU Affinity) 

NUMA架构产生的原因

cpu的高速处理功能和内存存储直接的速度会严重影响cpu的性能。传统的计算机单核架构,cpu通过内存总线(内存访问控制器)直接连接到一堆内存。多核处理器的出现,单总线架构下,随着cpu的增多内存控制器BUS压力越来越大,会成为cpu处理速度的瓶颈。NUMA通常是用在拥有多个物理核心(cpu)的计算机中。在计算机的任务管理器中可以查看NUMA节点的数量。

接着有了多个cpu通过一个总线连接到大连RAM内存的架构,就像一个大型的cpu。

缺点:多个cpu通过单一的总线连接到一个大内存,该总线显然会成为cpu的性能瓶颈,会出现cpu等待数据的情况。cpu越多这种情况会越严重。

这就出现了NUMA架构,每个cpu有自己的总线来访问自己的内存快。这种cpu、内存对就是NUMA节点(NUMA node)。将这些NUMA node连接在一起就得到了一个非统一内存访问系统。在这种情况下cpu仍然可以访问所有的内存,但速度是不一样的,访问自己的内存位比访问连接到其它cpu的内存位会更快。

在理想情况下cpu可以在自己的内存中存储所有的数据会非常快。即使不理想情况下,cpu需要从其它内存获取东西,即使会慢一些也会比单总线那么慢。

 通常一个NUMA node是cpu和内存一对一的。但有些系统中也可以设计成一个NUMA node中cpu和内存是2:1的。甚至3:1,4:1,都可以。

 理论上来说可以随机组合NUMA node,n:1模型,组成大型的NUMA节点,在技术上是可行的。但通常是1:1的设计。

目前存在的cpu访问内存的架构设计有两种:

  1. UMA架构:统一内存访问架构
  2. NUMA架构(非统一内存访问,不同的cpu访问同一块RAM性能、时间是不一样的):不同的cpu核心访问同一个RAM分片(内存分片)的耗时是不同的,在NUMA架构中每个cpu或者处理器都有专用内存,但是每个处理器也可以访问其他处理器的内存,这就造成了cpu访问内存的两种方式:本地内存,远端内存,根据访问数据的位置(远端或本地)内存的不同,访问时间会有所不同,因此叫NUMA,非统一内存访问。

NUMA在云计算中的应用

在云计算中,对于网络功能虚拟化等特定工作负载,NUMA架构可以提供更高的性能。

在云计算环境中云服务拥有大量的的服务器和内存,这些资源是聚合的可供用户使用,当部署工作负载时,cpu和内存通常时随机分配的,在基础架构级别内存和cpu可以从同一台或者多台服务器分配。

通过NUMA架构,并提供NUMA微调,可以根据工作负载的NUMA拓扑来分配工作负载的cpu、内存。这样可以最大限度的减少延迟,并提高性能。

NUMA绑核

NUMA绑核确保线程被安排在特定的处理器上,确保数据的局部性。提高cpu处理速度。

进程是在cpu上运行的,通过cpu执行指令,linux系统默认进程会优先在某个NUMA node上运行。假设:如果一台计算机上有两个NUMA node:(都是1核:32G)。   

假设目前有个进程需要占用48G内存才能运行,这个时候就有可能出现swap(内存交换:交换空间通常是一个磁盘分区)。把数据交换到交换分区(swap分区),在查询的时候发现内存中没有会发生中断,从磁盘中取回来。会导致cpu性能损失(内存访问大概是纳秒级,磁盘大概是毫秒级)。

避免swap:numactl:interleave(交织),即numa node0和numa node1交织分配内存,这样就避免了内存分配不均导致的swap内存换回换出带来的性能损耗。

linux swap: 内存交换,交换空间通常是一个磁盘分区,也可以是一个文件,。NUMA架构会产生swap。numactl:interleave(进程可以跨numa node进行内存分配)可以避免内存分配不均导致的swap中断

云原生应用

在多CPU架构上,应用程序可以在不同的处理器上运行,应用程序在不同的Socket间调度运行时,访问之前的Socket的内存,这种访问属于远端内存访问,和访问Socket直接连接的内存相比,远端内存访问会增加应用程序的延迟,把这个架构称为非统一内存访问架构(Non-Uniform Memory Access,NUMA架构),NUMA架构下,访问远端内存延迟要比本地内存高,因此在k8s集群中对于某些对性能要求比较高的业务,我们需要通过绑定NUMA来避免远端内存访问;同时,将不同的容器绑定到不同的numa node,有助于减少容器之间的负载争抢,减少高负载容器的影响半径,增强隔离性。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
)">
< <上一篇
下一篇>>