2台のサーバーがあります。
- ソケット2個スーパーマイクロX9DBL-3F
- ソケット4個スーパーマイクロX10QBI
2ソケットサーバーを実行すると、hwloc-ls
各NUMANodeにHostBridgeを持つPCIeトポロジが表示されますが、4ソケットサーバーではNUMANodeの代わりにパッケージが表示され、すべてのHostBridgeが下部に一覧表示されます。また、lscpu
2ソケットサーバーには2つのNUMAノードが表示されますが、4ソケットサーバーには1つのNUMAノードのみが表示されます。
4ソケットサーバーのどのスロットにどのPCIeデバイスが接続されているかをどうやって知ることができますか?
hwloc-ls
2ソケットサーバーで実行すると、次の結果が表示されます。
Machine (63GB total)
NUMANode L#0 (P#0 31GB)
Package L#0 + L3 L#0 (20MB)
L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0
PU L#0 (P#0)
PU L#1 (P#16)
...
HostBridge L#0
PCIBridge
PCI 17d3:1880
Block(Disk) L#0 "sda"
NUMANode L#1 (P#1 31GB)
Package L#1 + L3 L#1 (20MB)
L2 L#8 (256KB) + L1d L#8 (32KB) + L1i L#8 (32KB) + Core L#8
PU L#16 (P#8)
PU L#17 (P#24)
...
HostBridge L#6
PCIBridge
PCI 8086:10fb
Net L#8 "eth0"
... 4ソケットサーバーで実行すると、次の結果が表示されます。
Machine (126GB)
Package L#0 + L3 L#0 (38MB)
L2 L#0 (256KB) + L1d L#0 (32KB) + L1i L#0 (32KB) + Core L#0
PU L#0 (P#0)
PU L#1 (P#60)
...
Package L#1 + L3 L#1 (38MB)
L2 L#2 (256KB) + L1d L#2 (32KB) + L1i L#2 (32KB) + Core L#2
PU L#4 (P#15)
PU L#5 (P#75)
...
Package L#2 + L3 L#2 (38MB)
L2 L#4 (256KB) + L1d L#4 (32KB) + L1i L#4 (32KB) + Core L#4
PU L#7 (P#30)
PU L#8 (P#90)
...
Package L#3 + L3 L#3 (38MB)
L2 L#6 (256KB) + L1d L#6 (32KB) + L1i L#6 (32KB) + Core L#6
PU L#10 (P#45)
PU L#11 (P#105)
...
Misc(MemoryModule)
...
HostBridge L#5
PCIBridge
PCI 8086:10c9
Net L#6 "ens8f0"
ソケット2個lscpu
:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Model name: Intel(R) Xeon(R) CPU E5-2450 v2 @ 2.50GHz
Stepping: 4
CPU MHz: 2804.841
CPU max MHz: 3300.0000
CPU min MHz: 1200.0000
BogoMIPS: 5000.25
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 20480K
NUMA node0 CPU(s): 0-7,16-23
NUMA node1 CPU(s): 8-15,24-31
ソケット4個lscpu
:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 120
On-line CPU(s) list: 0-119
Thread(s) per core: 2
Core(s) per socket: 15
Socket(s): 4
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 62
Model name: Intel(R) Xeon(R) CPU E7-4890 v2 @ 2.80GHz
Stepping: 7
CPU MHz: 1199.953
CPU max MHz: 3400.0000
CPU min MHz: 1200.0000
BogoMIPS: 5600.25
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 38400K
NUMA node0 CPU(s): 0-119
答え1
私は賛成票を見て、私達がこの問題を解決したことを覚えました。したがって、これは少なくとも私たちの答えです。スーパーマイクロX10QBIマザーボード(このページにリンクされているマザーボードのマニュアルを参照)
ページ 94:メモリインターリーブ:「この機能を使用してDIMMメモリインターリーブモード[mode]を設定します。オプションは次のとおりです。NUMA(単方向)ノードインターリーブ; 2方向ノードインターリーブ。 8方向ノードインターリーブと車。 」
- インターリーブされている場合は、フラットメモリモデルを確認するため
NUMA (1-way) Node Interleave
(またはAuto
)に設定します。
- インターリーブされている場合は、フラットメモリモデルを確認するため
ページ 95: 機器の表示:
- できるようにする
Device Tagging
。これは各デバイスのNUMA位置にタグ付けされます。
- できるようにする
...これで正しいNUMA割り当てが表示されます。また、hwloc-ls
PCIe デバイスが物理的に接続されている場所も表示されます。
]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 120
On-line CPU(s) list: 0-119
Thread(s) per core: 2
Core(s) per socket: 15
Socket(s): 4
NUMA node(s): 4
Vendor ID: GenuineIntel
BIOS Vendor ID: Intel
CPU family: 6
Model: 62
Model name: Intel(R) Xeon(R) CPU E7-4890 v2 @ 2.80GHz
BIOS Model name: Intel(R) Xeon(R) CPU E7-4890 v2 @ 2.80GHz
Stepping: 7
CPU MHz: 3400.000
CPU max MHz: 3400.0000
CPU min MHz: 1200.0000
BogoMIPS: 5599.89
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 38400K
NUMA node0 CPU(s): 0-14,60-74
NUMA node1 CPU(s): 15-29,75-89
NUMA node2 CPU(s): 30-44,90-104
NUMA node3 CPU(s): 45-59,105-119
...