Por que todos os 32 "cpus" no Amazon EC2 i2.8xlarge às vezes não são usados?

1

Executando um tipo de instância i2.8xlarge EC2, espero que 32 CPUs estejam disponíveis e utilizáveis. Em um teste em uma instância, eu só vi 16 CPUs utilizadas. Eu usei stress -c31 -t 30 para gerar alguma carga de CPU, mas só vi 16 dos 32 processadores usados. Especificamente, o htop mostrou os componentes 1-8 e 17-24 sendo 100% consumidos e os processadores 9-16 e 25-32 inativos. Em um i2.8xlarge diferente (mesmo SO), confirmei com htop que todos os 32 processadores estavam sendo usados.

lscpu output:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                32
On-line CPU(s) list:   0-31
Thread(s) per core:    2
Core(s) per socket:    8
Socket(s):             2
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 62
Stepping:              4
CPU MHz:               2500.086
BogoMIPS:              5264.79
Hypervisor vendor:     Xen
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              25600K
NUMA node0 CPU(s):     0-31
    
por clucas 08.09.2015 / 15:25

1 resposta

1

Conseguimos rastrear o problema. Estávamos inicializando de uma AMI que foi criada com uma instância menor (que tinha apenas um soquete de processador). O problema era que havia um parâmetro de inicialização numa=off em /boot/grub/grub.conf. Uma vez que este parâmetro foi removido e a instância foi reinicializada, conseguimos utilizar todos os 32 CPs (todos os hyperthreads).

    
por 08.09.2015 / 20:45