Você pode ver a saída do lscpu
comando -
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
soquetes (que é como um processador?) e dentro de cada um dos soquetes temos 14
núcleos. Então, no total 2x14=28
de 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 isso 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
denota? Indica o CPU(s)
número de núcleos virtuais/lógicos, pois não pode ser pelo menos um núcleo físico?
Pergunta 2: O que isso NUMA node
significa? Representa o soquete?
“CPU(s): 56” representa o número de núcleos lógicos, que é igual a “Thread(s) per core” × “Core(s) per socket” × “Socket(s)”. Um soquete é um pacote físico de CPU (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 encadeamentos. No seu caso, você tem dois soquetes, cada um contendo uma CPU Xeon E5-2690 v4 de 14 núcleos e, como isso suporta hyper-threading com dois threads, cada núcleo pode executar dois threads.
“Nó NUMA” representa a arquitetura de memória; “NUMA” significa “arquitetura de memória não uniforme” . Em seu sistema, cada soquete é conectado a determinados slots DIMM e cada pacote de CPU física contém um controlador de memória que lida com parte da RAM total. 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 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 típicos.