1.6 KiB
1.6 KiB
title, type, tags, last_updated
| title | type | tags | last_updated | |||||
|---|---|---|---|---|---|---|---|---|
| NUMA | concept |
|
2026-04-20 |
NUMA (Non-Uniform Memory Access)
NUMA(非一致性内存访问)是一种多处理器计算机架构中的内存访问模式,对现代容器化部署有重要影响。
Definition
在 NUMA 架构中,CPU 和内存被组织成多个节点(nodes)。每个 CPU 访问本地内存节点的速度远快于访问远程内存节点的速度,因此称为"非一致性"内存访问。
Key Concepts
- NUMA Node:由一个或多个 CPU 和与其相连的内存组成
- Local Memory Access:CPU 访问本节点的内存,延迟低、带宽高
- Remote Memory Access:CPU 访问其他节点的内存,延迟高、带宽低
- CPU Pinning:将进程/容器固定到特定 CPU,以优化内存局部性
Why SREs Should Care
Netflix 在现代 CPU 上运行容器时发现:
- 运行 100 个容器需要超过 2 万次挂载操作(mounts)
- NUMA 问题是影响容器调度性能的关键因素
- SRE 必须关注整个技术栈,包括硬件层面的 NUMA 拓扑
Implications for Container Scheduling
- NUMA-Aware Scheduling:调度器应感知 NUMA 拓扑,避免跨节点内存访问
- CPU Pinning:对延迟敏感的应用(如 Netflix 媒体处理)需要将容器固定到特定 CPU
- 内存局部性优化:减少跨 NUMA 节点的内存访问可显著降低延迟
Related Concepts
Source
- SRE Weekly Issue #513 — sre-weekly-issue-513 (Netflix Mount Mayhem case study)