Eu tenho acesso a dois servidores NUMA. Um deles é o Dell R720 e tem essas CPUs:
$ cat /proc/cpuinfo |grep Xeon|sort|uniq -c
24 model name : Intel(R) Xeon(R) CPU E5-2630L v2 @ 2.40GHz
O outro é um HPE DL360 Gen8 e tem essas CPUs:
$ cat /proc/cpuinfo |grep Xeon|sort|uniq -c
24 model name : Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz
No trabalho em que temos muitos servidores HPE Gen9, tenho estado acostumado a numerar CPU (socket0, socket1, socket0 HyperThreads, socket1 HyperThreads). Parece que o HPE DL360 Gen8 usa essa numeração:
$ cat /proc/cpuinfo |grep physical.id|uniq -c
6 physical id : 0
6 physical id : 1
6 physical id : 0
6 physical id : 1
Mas o servidor Dell R720 usa numeração diferente:
$ cat /proc/cpuinfo |grep physical.id|uniq -c
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
1 physical id : 0
1 physical id : 1
Minha pergunta é: o que causa essa diferença? Os servidores têm duas versões de kernel ligeiramente diferentes:
Dell R720:
$ uname -a
Linux dell 4.10.0-33-generic #37~16.04.1-Ubuntu SMP Fri Aug 11 14:07:24 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
HPE DL360 Gen8:
$ uname -a
Linux hpe 4.11.0-14-generic #20~16.04.1-Ubuntu SMP Wed Aug 9 09:06:22 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
Isso é causado por diferentes versões do kernel? Ou por CPUs diferentes? Ou por diferentes motherboards / BIOSes?
Editar: eu atualizei os kernels em ambas as máquinas e reiniciei, então agora ambas as máquinas usam exatamente a mesma versão do kernel. No entanto, a diferença ainda está lá.