어떤 논리적 CPU(코어)가 어떤 소켓에 속합니까?

어떤 논리적 CPU(코어)가 어떤 소켓에 속합니까?

하나의 CPU에서 멀티스레드 프로그램의 성능을 테스트해야 하는데 듀얼 CPU 시스템이 있습니다. 소켓을 공유하는 논리적 CPU에 대한 선호도를 설정해야 합니다. 그렇지 않으면 더 많은 수의 FSB를 통해 큰 이점을 얻을 수 있습니다. 선호도 0-7과 8-15를 시도했지만 결과가 상당히 다르며 첫 번째가 더 빠릅니다. 따라서 어떤 논리적 CPU가 소켓을 공유하는지 알 수 없습니다.

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

답변1

처음 8개 프로세서는 한 칩에서, 두 번째 8개 프로세서는 다른 칩에서 가져옵니다. 로 구별할 수 있습니다 physical id. 성능 차이에 관해서는 - 현재로서는 잘 모르겠습니다.

답변2

2개의 CPU의 지연 시간이 중요합니다. 마더보드의 데이터시트를 읽어보면 그 중 하나가 플랫폼을 실행하는 데 기본적이고 필수적인 것임을 알게 될 것입니다.

예를 들어, 소켓0과 소켓0, 소켓1을 채워서 플랫폼을 실행할 수 있지만, 소켓1만 채워서 플랫폼을 실행할 수는 없습니다.

그렇기 때문에 각각의 성능이 다릅니다. 어쨌든 비슷해야 하지만 동일하지는 않습니다.

관련 정보