导语
NUMA架构优化技术是针对程序在NUMA架构CPU上运行出现资源消耗不均,程序执行效率低等问题进行优化的技术。这种优化技术在现在主流的NUMA架构多核服务器中,可以有效降低访问时延,提升高并发场景下的业务处理能力。
- NUMA架构优化前:延迟高,性能低
NUMA架构,在未优化的情况下,NUMA的内存分配策略对于进程或线程并不公平,这会导致以下问题:
Ø 高并发时进程或线程频繁进行跨Node调度,上下文切换代价高,效率低
Ø 某个Node的资源耗尽,而其他Node的内存资源却很空闲
Ø Node之间调用资源的开销较大,跨Node之间访问资源延迟高
Ø Node之间的总线带宽有限,大量的跨Node访问会造成总线阻塞,严重影响性能
NUMA架构访问时延图
- NUMA架构优化后:延迟低,性能高
为了解决NUMA架构引起的资源消耗不均及跨Node之间访问资源延迟大的问题,面向NUMA架构进行优化,其基本原理是:
Ø 设置执行线程与Node/核心的亲和度,将线程绑定在指定CPU核心运行,避免跨Node调度,降低CPU上下文切换代价
Ø 工作线程均匀分布在所有的Node节点中执行,线程通过Node分配本地内存&