メモリ
上級

NUMA アーキテクチャ(ヌーマアーキテクチャ)

Non-Uniform Memory Access。Threadripper PRO 7995WX 4 CCD NUMA・EPYC 9965 12 CCD・Intel Xeon 6 MCC/XCC・Remote memory access penalty(+30-100ns)・numactl(Linux)・numa-domains(Windows)・NUMA Node Interleave・Sub-NUMA Cluster(SNC)・Intel DVFS・AMD Infinity Fabric NUMA aware・HWLOC topology・2026年HEDT+AIワークロードで重要、正しいアフィニティ設定。

0 回閲覧
0 いいね
2026/4/25 更新
関連タグ
NUMA
numactl
SNC
Infinity Fabric

概要

NUMA(Non‑Uniform Memory Access)とは、CPUコアとメモリが物理的に分離され、各コアが自分の近くにあるメモリに高速にアクセスできる一方、遠方のメモリへのアクセスは遅延が増大する構造を指す。
2025年に登場したThreadripper PRO 7995WXは、4 CCD(Core Complex Die)を備え、各CCDが独立したNUMAノードを形成することで、最大64コア・128スレッドの処理を高速に実現する。
2026年のEPYC 9965は12 CCDを採用し、さらに大規模なワークロードに対応。Intel Xeon 6 MCC/XCCは、MCC(Memory‑Capped Core)とXCC(eXtended Core Cluster)を組み合わせ、メモリ帯域を柔軟に拡張できる。

主な特徴・仕組み

  • NUMAノード:各CCDが独自のメモリバンクを持ち、ノード間の通信はInfinity Fabric(AMD)やQPI(Intel)を介する。
  • 遅延:遠方メモリアクセスは30〜100 nsのペナルティが発生。
  • Affinity設定:Linuxではnumactl、Windowsではnuma‑domainsを用いてスレッドをノードに固定。
  • NUMA Node Interleave:メモリページを複数ノードに分散配置し、バランスを取る。
  • Sub‑NUMA Cluster (SNC):ノード内でさらに小規模なクラスタを形成し、ローカル性を高める。
  • HWLOC topology:ハードウェア構成を可視化し、最適なAffinityを決定。
  • Intel DVFS:CPU周波数を動的に調整し、NUMAノード間の負荷を均等化。

スペック/製品比較表

製品コア/スレッドベース/ブーストL3キャッシュメモリ帯域NUMAノード数
Threadripper PRO 7995WX64/1282.5 GHz / 3.4 GHz256 MB2 TB/s4
EPYC 996596/1922.3 GHz / 3.6 GHz512 MB4 TB/s12
Xeon 6 MCC/XCC48/962.4 GHz / 3.5 GHz384 MB3 TB/s6
Ryzen 9 7950X16/324.5 GHz / 5.0 GHz64 MB1 TB/s1

具体例・対応製品

  • Threadripper PRO 7995WX:4 CCD × 16 コア、DDR5‑6000 32 GB、NUMAノード間の遅延は約70 ns。
  • EPYC 9965:12 CCD × 8 コア、DDR5‑4800 64 GB、Infinity Fabric 2.5 GHz。
  • Xeon 6 MCC/XCC:MCC 24 コア、XCC 24 コア、DDR4‑3200 32 GB、QPI 20 Gb/s。
  • Ryzen 9 7950X:16 コア、DDR5‑5200 32 GB、単一ノード。

自作PCでの選び方・注意点

  • NUMAノード数を把握し、ワークロードに合わせて選択。
  • メモリ帯域がCPUクロックと一致するか確認。
  • numactlでスレッドを固定し、ノード間の通信を最小化。
  • NUMA Node Interleaveを有効にしてメモリバランスを確保。
  • HWLOCでトポロジーを確認し、最適なAffinityを設定。
  • Intel DVFSを有効にして負荷分散を自動化。
  • Infinity FabricのクロックをCPUクロックに合わせる。
  • メモリモジュールは同一容量・速度を揃える。
  • 電源ユニットはノード数に応じた出力を確保。
  • ケースは熱設計を重視し、ノード間の熱影響を抑制。

関連用語との違い

  • UMA(Uniform Memory Access):全コアが同一メモリに均等にアクセス。NUMAはノードごとにアクセス速度が異なる。
  • Cache‑Coherent NUMA (CC-NUMA):キャッシュ整合性を保つNUMA。AMD Infinity FabricはCC-NUMAを実装。
  • SNC(Sub‑NUMA Cluster):ノード内でさらに小規模クラスタを形成し、ローカル性を高める。
  • DVFS(Dynamic Voltage and Frequency Scaling):CPU周波数を動的に調整し、NUMAノード間の負荷を均等化。

よくある質問

Q1. NUMAノードを増やすと性能は必ず上がる?
A1. 近年のAIワークロードでは、ノード数が増えるとメモリ帯域が拡張されるが、逆に遅延が増える場合もある。最適なノード数はアプリケーションに依存。

Q2. numactlで設定したAffinityは永続化できる?
A2. Linuxでは/etc/numactl.confに設定を書き込むことで起動時に自動適用可能。

Q3. Intel XeonとAMD EPYCでどちらがNUMAに強い?
A3. EPYCはInfinity Fabricでノード間帯域が広く、XeonはQPIで高い遅延を持つ。用途に応じて選択が必要。

まとめ

NUMAアーキテクチャは、2025年以降の高性能PCやサーバーで不可欠な構造となっている。Threadripper PRO 7995WXやEPYC 9965、Xeon 6 MCC/XCCはそれぞれ異なるノード設計とメモリ帯域を提供し、次世代のAIやデータ解析ワークロードに最適化されている。numactlやnuma‑domainsでAffinityを正しく設定し、HWLOCでトポロジーを把握することで、NUMAの遅延ペナルティを最小化し、最大のパフォーマンスを引き出すことができる。

この記事について
カテゴリーメモリ
難易度上級
作成日2026/4/22