Welche logische CPU (Kern) gehört zu welchem ​​Sockel?

Welche logische CPU (Kern) gehört zu welchem ​​Sockel?

Ich muss die Leistung eines Multithread-Programms auf einer CPU testen, habe aber eine Maschine mit zwei CPUs. Ich muss die Affinität auf die logischen CPUs einstellen, die ihren Sockel gemeinsam nutzen, da sie sonst stark von einer größeren Anzahl von FSBs profitieren. Ich habe Affinität 0-7 und 8-15 ausprobiert, aber die Ergebnisse unterscheiden sich erheblich, wobei die erste schneller ist. Daher weiß ich nicht, welche logischen CPUs ihren Sockel gemeinsam nutzen.

lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                16
On-line CPU(s) list:   0-15
Thread(s) per core:    1
Core(s) per socket:    8
CPU socket(s):         2
NUMA node(s):          4
Vendor ID:             AuthenticAMD
CPU family:            16
Model:                 9
Stepping:              1
CPU MHz:               800.000
BogoMIPS:              4000.40
Virtualization:        AMD-V
L1d cache:             64K
L1i cache:             64K
L2 cache:              512K
L3 cache:              5118K
NUMA node0 CPU(s):     0-3
NUMA node1 CPU(s):     4-7
NUMA node2 CPU(s):     12-15
NUMA node3 CPU(s):     8-11


~]$ cat /proc/cpuinfo | grep 'core id'
core id         : 0
core id         : 1
core id         : 2
core id         : 3
core id         : 0
core id         : 1
core id         : 2
core id         : 3
core id         : 0
core id         : 1
core id         : 2
core id         : 3
core id         : 0
core id         : 1
core id         : 2
core id         : 3

Antwort1

Die ersten 8 Prozessoren stammen von einem Chip und die zweiten 8 Prozessoren von einem anderen Chip. Sie können sie unterscheiden durch physical id. Was den Leistungsunterschied angeht – ich habe derzeit keine Ahnung.

Antwort2

Die Latenz von 2 CPUs ist wichtig. Lesen Sie die Datenblätter Ihres Motherboards und Sie werden wissen, dass eine davon für den Betrieb der Plattform von grundlegender Bedeutung ist.

Sie können die Plattform beispielsweise ausführen, indem Sie Socket0 und Socket0, Socket1 füllen, Sie können die Plattform jedoch nicht ausführen, indem Sie nur Socket1 füllen.

Aus diesem Grund ist die Leistung bei jedem unterschiedlich. Sie sollten ohnehin ähnlich sein, aber sie werden nicht identisch sein.

verwandte Informationen