두 대의 서버가 있습니다.
- 소켓 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
...