Ho scritto un pezzo di software multi-thread che fa un sacco di simulazioni al giorno. Questo è un compito molto impegnativo per la CPU e ho eseguito questo programma su servizi cloud, di solito su configurazioni come 1 GB per core.
Sto usando CentOS 6.7 e /proc/cpuinfo
mi dà che i miei quattro core VPS sono 2,5 GHz.
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz
stepping : 2
microcode : 1
cpu MHz : 2499.992
cache size : 30720 KB
physical id : 3
siblings : 1
core id : 0
cpu cores : 1
apicid : 3
initial apicid : 3
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good unfair_spinlock pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm arat xsaveopt fsgsbase bmi1 avx2 smep bmi2 erms invpcid
bogomips : 4999.98
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
Con un aumento dei tassi di cambio, il mio VPS ha iniziato a essere più costoso e sono arrivato a un "grande affare" sui server bare metal usati.
Ho acquistato quattro HP DL580 G5 , con quattro Intel Xeon X7350 ciascuno. Fondamentalmente, ogni macchina ha core 16x 2.93GHz e 16GB, per mantenere cose come il mio cloud VPS .
processor : 15
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU X7350 @ 2.93GHz
stepping : 11
microcode : 187
cpu MHz : 1600.002
cache size : 4096 KB
physical id : 6
siblings : 4
core id : 3
cpu cores : 4
apicid : 27
initial apicid : 27
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm dca lahf_lm dts tpr_shadow vnmi flexpriority
bogomips : 5866.96
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
Fondamentalmente mi è sembrato molto, dato che ho potuto smettere di usare i VPS per eseguire questi lavori batch. Ora è roba strana ...
- Su VPS ho eseguito 1,25 thread per core, proprio come ho fatto sul bare metal. (Il thread extra di 0,25 serve a compensare i tempi di inattività causati dall'uso della rete.)
- Sul mio VPS, usando in totale 44x 2,5 GHz core, ottengo quasi 900 simulazioni al minuto.
- Sul mio DL580, utilizzando in totale 64x 2,93 GHz core, sto ricevendo solo 300 simulazioni al minuto.
Capisco che il DL580 ha un processore più vecchio. Ma se sto eseguendo un thread per core e il server bare metal ha un core più veloce, perché ha prestazioni inferiori al mio VPS?
Non ho alcun scambio di memoria in nessuno dei server.
TOP afferma che i miei processori funzionano al 100%. Ottengo un carico medio di 18 (5 su VPS).
Sarà così o mi sto perdendo qualcosa?
L'esecuzione di lscpu mi dà 1,6 GHz sul mio server bare metal. Questo è stato visto sul/proc/cpuinfo
.
Queste informazioni sono corrette o sono collegate a una gestione errata dell'alimentazione?
[BARE METAL] $ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 4
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 15
Stepping: 11
**CPU MHz: 1600.002**
BogoMIPS: 5984.30
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0-15
[VPS] $ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 4
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 63
Stepping: 2
**CPU MHz: 2499.992**
BogoMIPS: 4999.98
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 30720K
NUMA node0 CPU(s): 0-3