Isso significa o número de processadores virtuais em um processador físico?
O número de irmãos em um processador é o número total de unidades de execução dentro desse processador. Isso incluirá núcleos adicionais e hyperthreading.
Por exemplo,
siblings : 2
. Núcleo duplo, sem hyperthreading.siblings : 4
. Núcleo duplo, com hyperthreading.siblings : 2
. Núcleo único, com hyperthreading.Antes de tudo, entenda os termos abaixo e seu contexto de uso.
PCs modernos geralmente vêm com processadores hyperthread Multi-Core. Por exemplo, o Linux rodando em um PC que vem com CPU intel hyperthread quad-core, verá 8 CPUs (4 núcleos x 2 hyperthreads).
Servidores modernos são geralmente sistemas com vários núcleos e processadores múltiplos. Um servidor típico terá dois soquetes, cada um com 24 núcleos com hyperthread. Portanto, o Linux em execução neste sistema verá 96 CPUs (2 soquetes x 24 núcleos x 2 hyperthreads)
Voltando à questão real, os processadores que compartilham o cache serão chamados de irmãos. A organização do cache será como (embora varie com base na arquitetura),
Considere um sistema Multi-Core-Multi-Processor com 2 soquetes. Cada soquete possui 24 núcleos com hyperthreading. Nesse caso, o Linux verá o total de 96 CPUs numeradas de 0 a 95. O soquete 1 terá CPUs de 0 a 47 e o soquete 2 terá de 48 a 95 (ao contrário disso, normalmente os números serão intercalados). Para este sistema com a organização de cache acima mencionada,
O kernel usa o número de irmãos para balancear a carga, por exemplo;
Quatro tarefas estão em execução em um sistema com dois pacotes físicos, cada um com dois núcleos (compartilhando o cache de último nível) e cada núcleo com dois encadeamentos lógicos. O equilíbrio de carga entra em ação no domínio multicore para o primeiro pacote, resultando em distribuição de carga igual entre todos os núcleos.