VM: 1 socket 2 cores OR 2 socket 1 core?

Afox

Renowned Member
Dec 18, 2014
257
12
83
Hello proxmox-community,

I am curious about the question mentioned above. What would be the better setup?

Thanks in advance for every answer :)

Regards,

Afox
 
Hello proxmox-community,

I am curious about the question mentioned above. What would be the better setup?

Thanks in advance for every answer :)

Regards,

Afox

Assuming the same generation of and same cores in both CPUs, the 1s2c CPU would be marginally faster due to reduced data latency (shorter electrical signal path).
Multi-core CPUs typically share their cache between cores this provides further benefit.
 
Last edited:
hello guys,
talking about latency: does proxmox benefit from the improvements below? Their goal is to reduce latency and I am not quite sure if disabling the turbo boost would improve anything..

Table 1. [FONT=&quot]BIOS Settings for Low Latency [/FONT]
[FONT=&quot] [/FONT]
[FONT=&quot]System Setup Screen [/FONT][FONT=&quot][/FONT]

[FONT=&quot]Setting [/FONT][FONT=&quot][/FONT]
[FONT=&quot]Default [/FONT][FONT=&quot][/FONT]

[FONT=&quot]Recommended Alternative for Low-Latency Environments [/FONT][FONT=&quot][/FONT]

[FONT=&quot]Processor Settings [/FONT]
[FONT=&quot]Logical Processor [/FONT]

[FONT=&quot]Enabled [/FONT]
[FONT=&quot]Disabled [/FONT]
[FONT=&quot]Processor Settings [/FONT]
[FONT=&quot]Turbo Mode [/FONT]

[FONT=&quot]Enabled [/FONT]
[FONT=&quot]Disabled* [/FONT]

[FONT=&quot]Processor Settings [/FONT]
[FONT=&quot]C-States [/FONT]
[FONT=&quot]Enabled [/FONT]
[FONT=&quot]Disabled [/FONT]
[FONT=&quot]Processor Settings [/FONT]
[FONT=&quot]C1E [/FONT]
[FONT=&quot]Enabled [/FONT]
[FONT=&quot]Disabled [/FONT]
[FONT=&quot]Power Management [/FONT]
[FONT=&quot]Power Management [/FONT]
[FONT=&quot]Active Power Controller [/FONT]
[FONT=&quot]Maximum Performance [/FONT]
 
He is talking about CPU topology in guest VMs. Don't think it would make a difference in performance, maybe in licenses of certain softwares though.

Oh oops. :)
In that case for most optimal performance follow whatever design your physical CPU has. Some CPUs have multiple cores sharing single cache (e.g. 2,4,6-core Xeons) in a single NUMA node. While others have multiple groups of NUMA nodes. So it's effectively packaging a 2/3/4-socket design into one physical CPU package with inner-bus(es) connecting NUMA nodes (e.g. high-core count Opterons, Xeons). Each NUMA node with it own cache. Accessing data in local cache is faster than having to traverse NUMA boundary for data in non-local cache.

For optimal performance, vCPU count should not exceed core count in a NUMA node.

So in this case 2 vCores is better than 2 vSockets provided that NUMA and thus CPU affinity is supported (Proxmox 3.4).

Here's a better discussion of NUMA nodes and vCPU affinity.
http://cloudarchitectmusings.com/20...-virtualizing-business-critical-applications/
 
Last edited:
hello guys,
talking about latency: does proxmox benefit from the improvements below? Their goal is to reduce latency and I am not quite sure if disabling the turbo boost would improve anything..

My intuition tells me that Turboboost would reduce latency (as clock speed is increased). However this may be achieved via clocking down other components so as to not overheat the CPU.


Your best bet is to benchmark your application under variety of those settings. CPU design and interaction of various settings is a complex topic and is full of tradeoffs.
 
Last edited:
I checked the settings with or without Turbo Mode and I found out that the latency is reduced by turbo mode. All the named settings brought me a saving of 0,003s (before: min. 0,1785s after: min. 0,1755s). I am not sure about the precentage of savings but I think it is something about 1,7%.

System Setup Screen Setting BeforeAfter
Processor SettingsLogical ProcessorEnabledDisabled
Processor SettingsTurbo ModeEnabledEnabled
Processor SettingsC-StatesEnabledDisabled
Processor SettingsC1EEnabledDisabled
Power ManagementPower ManagementMaximum PerformanceMaximum Performance
 
Last edited:
I am testing further. Referring to the topic I am also interested of how proxmox is sharing vcores. I mean what happens if the number of assigned vcores exceeds the number of "real" vcores? Example: 2 CPUs have 16 vcores (8 each, HT). I assign to different OVZ and KVM 20 Cores.
question a) why is this possible?
question b) does this affect performance?
question c) what if HT is disabled and only 8 "real" cores are available?
question d) Does proxmox environment profit from HT technology?

So many questions. Someone should make a dissertation about this :D
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!