Avatar of jskfan
jskfan
Flag for Cyprus asked on

Processes Performance best options.

Processes Performance best options.

I would like to know which option gives better performance if a Computer has:

 2 Processor with 4 Core per processor , which means 8 Core Processor total.

OR

4 Processors with 2 Core per Processor, which means 8 Core Processor total

Thank you
* High CPUHardwarePC

Avatar of undefined
Last Comment
andyalder

8/22/2022 - Mon
serialband

Depends on what cores you have.  What speed are the cores?  How much L1 and L2 cache?  Etc...  

Basically, we need more information.
ASKER CERTIFIED SOLUTION
bbao

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
jskfan

ASKER
serialband,

for your question : << Depends on what cores you have.  What speed are the cores?  How much L1 and L2 cache?  Etc...   >>

I meant in Vmware, when you create VMs and assign  Processors and Cores to them
you have options on how many Processors and Cores to assign.
andyalder

In general it does not make any difference although it's generally best to leave the cores per virtual CPU at 1 unless guest licensing is cheaper with fewer CPUs with more cores.
https://kb.vmware.com/s/article/1010184 tells why it was introduce to get around Windows max CPU count and https://blogs.vmware.com/performance/2017/03/virtual-machine-vcpu-and-vnuma-rightsizing-rules-of-thumb.html says leave it at single core unless you have to tweak it.
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
jskfan

ASKER
You mean, put more Processors with minimum Cores ?
I am not worrying about licensing more than  performance.

I believe though it is faster to have 2 Processors with 4 Cores each than having 4 Processors with 2 Cores each.   The information flow is much more confined , it does not have to travel too much to other Sockets.
andyalder

That is true in the physical world but does not apply to virtual sockets and processors. VMware automatically runs all threads on the same processor anyway if it can, as it says in the blog above "the vNUMA presentation under vSphere 6.5 is no longer controlled by the Cores per Socket value. vSphere will now always present the optimal vNUMA topology unless you use the advanced settings."
skullnobrains

Most systems will work better with fewer cpus for the reasons you mentionned.

But in a vm context, you need to consider the host os as well. Vmware tends to suggest 1 core per cpu but there is quite a debate as multiple vms might compete more.

Irl, i benchmarked such setups a few time and did not end up with anything conclusive. Either solution would win depending on the context, and the difference was never that significant.


On a similar note, i also compared x hyperthreded cores vs non hyperthreaded. Turns out as long as there is more than a single cpu, or the os is not windows, turning hyperthreading off would win even when running lots of concurrent processes.
⚡ FREE TRIAL OFFER
Try out a week of full access for free.
Find out why thousands trust the EE community with their toughest problems.
bbao

I believe though it is faster to have 2 Processors with 4 Cores each than having 4 Processors with 2 Cores each.

it really depends.

The information flow is much more confined , it does not have to travel too much to other Sockets.

it really depends on how the OS and application designed to handle multiple-task, multiple-core, multiple-thread jobs. of course, it is not wise to distribute inter-thread, inter-process or inter-core communication or data exchange across CPUs, but it is more powerful and efficient to distribute different workloads on different processors and leave inner-workload jobs on the same processor. just because of this, different kind of business will be having different characteristics in utilising computing resources, therefore different multi-processor or multi-core architecture will be designed and implemented, accordingly.

as mentioned above, you can't say which one is always the best, the best performance depends on how you utilise the architecture as per your business needs.
andyalder

VMware looks after NUMA automatically so you don't have to, what you say is only relevant to non-virtualized machines.