Files
nexus/wiki/concepts/NUMA.md
2026-05-03 05:42:12 +08:00

40 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "NUMA"
type: concept
tags: [sre, performance, cloud, containers, cpu]
last_updated: 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
1. **NUMA-Aware Scheduling**:调度器应感知 NUMA 拓扑,避免跨节点内存访问
2. **CPU Pinning**:对延迟敏感的应用(如 Netflix 媒体处理)需要将容器固定到特定 CPU
3. **内存局部性优化**:减少跨 NUMA 节点的内存访问可显著降低延迟
## Related Concepts
- [[Containers]]
- [[Kubernetes]]
- [[Performance-Benchmarking]]
- [[Cloud-Native]]
## Source
- SRE Weekly Issue #513 — [[sre-weekly-issue-513]] (Netflix Mount Mayhem case study)