Núcleos versus Encadeamentos: Quantos encadeamentos devo executar nesta máquina?

22

Quantos tópicos devo executar nesta máquina?

Meu lscpu diz que há 96 núcleos. Esses núcleos físicos são? Qual é o encadeamento máximo e ideal que posso executar nesta máquina?

O

link mostra que posso executar mais de 20 segmentos por núcleo. Tudo bem? Isso é ideal?

alvas@server:~$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                96
On-line CPU(s) list:   0-95
Thread(s) per core:    2
Core(s) per socket:    12
Socket(s):             4
NUMA node(s):          4
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 62
Model name:            Intel(R) Xeon(R) CPU E5-4657L v2 @ 2.40GHz
Stepping:              4
CPU MHz:               2700.000
CPU max MHz:           2900.0000
CPU min MHz:           1200.0000
BogoMIPS:              4801.91
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              30720K
NUMA node0 CPU(s):     0,4,8,12,16,20,24,28,32,36,40,44,48,52,56,60,64,68,72,76,80,84,88,92
NUMA node1 CPU(s):     1,5,9,13,17,21,25,29,33,37,41,45,49,53,57,61,65,69,73,77,81,85,89,93
NUMA node2 CPU(s):     2,6,10,14,18,22,26,30,34,38,42,46,50,54,58,62,66,70,74,78,82,86,90,94
NUMA node3 CPU(s):     3,7,11,15,19,23,27,31,35,39,43,47,51,55,59,63,67,71,75,79,83,87,91,95

Perdoe minha noobiness nos núcleos / threads.

    
por alvas 02.09.2015 / 19:15

3 respostas

35

Isso é o que você quer saber

Thread(s) per core:    2
Core(s) per socket:    12
Socket(s):             4

Você tem 4 soquetes de CPU, cada um pode ter até 12 núcleos e cada núcleo pode ter dois threads.

A contagem máxima de encadeamentos é de 4 CPUs x 12 núcleos x 2 encadeamentos por núcleo, portanto, 12 x 4 x 2 é 96. Portanto, a contagem máxima de encadeamentos é 96 e a contagem máxima de núcleos é 48.

O que é melhor?

Isso depende do que você quer fazer, mais threads significa menos frequência (ou seja, um 3ghz se divide em dois) mas melhor multitarefa (mais threads) e usar núcleos completos (sem hyper-threading) é melhor para alta CPU tarefas de uso (ou seja, jogos).

Espero que isso ajude você.

    
por Mark Kirby 02.09.2015 / 19:43
0

Cada thread principal de cpu (thread baseado em hardware) - um de seus 96 núcleos eficientemente pode manipular 16 threads (thread baseado em software, por exemplo, thread ++ de C ++) na maioria dos casos em minha opinião teórica.

    
por Piotr Lenarczyk 29.06.2017 / 09:37
0

Você encontrará quantos segmentos você pode executar em sua máquina executando o comando htop ou ps que retorna o número de processos em sua máquina.

Você pode usar man page sobre o comando 'ps'.

man ps

Se você quiser calcular o número de todos os usuários, você pode usar um destes comandos:

  1. ps -aux| wc -l
  2. ps -eLf | wc -l

Calculando o número de um processo do usuário:

  1. ps --User root | wc -l

Além disso, você pode usar o "htop" [Referência] :

Instalando no Ubuntu ou Debian:

sudo apt-get install htop

Instalando no Redhat ou CentOS:

yum install htop
dnf install htop      [On Fedora 22+ releases]

Se você quiser compilar o htop a partir do código-fonte, você encontrará aqui .

    
por Saeed Zahedian Abroodi 23.10.2017 / 10:21