Compreendendo a saída do lscpu

1

Você pode ver a saída do comando lscpu -

jack@042:~$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                56
On-line CPU(s) list:   0-55
Thread(s) per core:    2
Core(s) per socket:    14
Socket(s):             2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 79
Model name:            Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz
Stepping:              1
CPU MHz:               2600.000
CPU max MHz:           2600.0000
CPU min MHz:           1200.0000
BogoMIPS:              5201.37
Virtualization:        VT-x
Hypervisor vendor:     vertical
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              35840K
NUMA node0 CPU(s):     0-13,28-41
NUMA node1 CPU(s):     14-27,42-55

Eu posso ver que existem 2 sockets (que é como um processador ??) e dentro de cada socket temos 14 cores. Então, no total 2x14=28 núcleos físicos. Normalmente, uma CPU pode conter vários núcleos, portanto, o número de CPUs nunca pode ser menor que o número de núcleos. Mas, como mostrado na saída CPUs(s): 56 e é isso que está me confundindo.

Eu posso ver que Thread(s) per core: 2 , então esses 28 núcleos podem se comportar como 2x28=56 núcleos lógicos.

Pergunta 1: O que isso CPUs(s): 56 significa? O CPU(s) denota o número de núcleos virtuais / lógicos, já que não pode ser um núcleo central físico?

Pergunta 2: O que isso significa NUMA node ? Isso representa o soquete?

    
por cph_sto 13.09.2018 / 13:16

1 resposta

3

“CPU (s): 56” representa o número de núcleos lógicos, o que equivale a “Thread (s) por core” × “Core (s) por socket” × “Socket (s)”. Um soquete é um pacote de CPU físico (que ocupa um soquete na placa-mãe); Cada soquete hospeda vários núcleos físicos e cada núcleo pode executar um ou mais segmentos. No seu caso, você tem dois soquetes, cada um contendo uma CPU Xeon E5-2690 v4 de 14 núcleos, e como isso suporta o hyper-threading com dois threads, cada núcleo pode executar dois threads.

“NUMA node” representa a arquitetura da memória; “NUMA” significa “arquitetura de memória não uniforme” . Em seu sistema, cada soquete é anexado a determinados slots DIMM, e cada pacote de CPU físico contém um controlador de memória que manipula parte do total de RAM. Como resultado, nem toda memória física é igualmente acessível a partir de todas as CPUs: uma CPU física pode acessar diretamente a memória que ela controla, mas precisa passar pela outra CPU física para acessar o restante da memória. Em seu sistema, os núcleos lógicos 0–13 e 28–41 estão em um nó NUMA, o restante no outro. Então, sim, um nó NUMA é igual a um soquete, pelo menos em sistemas Xeon com vários soquetes comuns.

    
por 13.09.2018 / 14:42