1 Quad core CPU vs 4 single core CPU

Is it better to have a physical server with 1 Quad core CPU or 4 single core CPU?

Since this is a physical CPU I would guess it's best to have the 1 Quad core CPU since the cores are all internal and can communicate faster with each other than 4 single core CPU which are external to each other and therefore cannot communicate as quickly.  

Is this logic correct?

Now if we apply this same question to a VMware server does it matter whether we setup the server with 1 Quad core CPU or 4 single core CPU?

Since these virtual CPU settings are all done in software does the concept of internal and external CPU no longer apply and therefore it makes no difference when allocating virtual server CPU resources?
LVL 1
dalvaAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Dave BaldwinFixer of ProblemsCommented:
I could be wrong but I don't think there is any common software where the cores communicate directly with each.  It is normal that cores are allocated to run common software that for the most part does not know about multiple cores.  And I suspect that even on server tasks that are assigned to different cores, communication is usually through shared memory and not internal to the CPU cores.

I think the biggest benefit of multiple cores is that they are able to use the system more efficiently and more cost effectively.
0
Avinash21Commented:
Hi,

yes logically its correct , and it should work better than single core processor. But you should be careful about CPU scheduling, when your provisioning the VM's.


Thanks,
Avinash
0
arnoldCommented:
Taking your question, it suggests that your options are for one current/recent multi-core CPU based server or use an older 5-6 year old multi-processor single core server.

Performance of a server for a task is based on the combination of all the hardware such that the processor is unlikely to be the bottleneck.
The construct of the multi-core CPU with the level 1, level 2 and level 3 cache
CPU/core to level 1 is fastest, to level 2 is faster to level 3 slower

A server these days will often come with at least two multi-core processors.
0
Powerful Yet Easy-to-Use Network Monitoring

Identify excessive bandwidth utilization or unexpected application traffic with SolarWinds Bandwidth Analyzer Pack.

Lee W, MVPTechnology and Business Process AdvisorCommented:
And don't forget - Microsoft licenses most products by the physical CPU, so from a licensing/performance perspective, a single (or dual) quad core will be MUCH cheaper on licenses than a 4-8 physical CPUs.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
NumbidCommented:
Multiple cores consumes less power, perfs are ~equal at same frequency.
Be careful with ram position on motherboard slots if dual channel is used

/numbid
0
andyalderSaggar maker's bottom knockerCommented:
The logic is near enough correct. Cores/processors don't communicate directly with each other but they do sometimes need to access the same memory locations and if CPU1 has just updated that memory then CPU2's cache will be stale. The shorter the data paths the quicker cache-miss can be resolved. See http://en.wikipedia.org/wiki/Non-uniform_memory_access for a brief description.

With something like VMware which is NUMA aware it will try to avoid cache misses by trying to make sure no two cores access the same memory but it's easiest for it to do that if you don't allocate multiple vCPUs unless absolutely necessary.
0
dalvaAuthor Commented:
I think I confused everyone when I used the example of a physical server cpu choices in trying to set the scenario for the actual question dealing with vmWare cpu choices.

My question:
When setting the guest virtual server cpu choices I can set as 1 CPU with 4 cores (using the cpuid.coresPerSocket option) or 4 CPU with 1 core each.

Which is the best choice or does it matter?
0
arnoldCommented:
In a VM, if licensing is an issue, leew's advise should be taken.
VM is a schedule within a schedule. i.e. the host resources are allocated as needed to the VMs/guest os.

Create identical VMS one with 4 single core cpus and then one multi-core CPU and run banchmark to see which performs under the specified usage.
0
dalvaAuthor Commented:
I have continued to search the Internet for answers and have come across these:

This link appears to answer the question by implying it makes no difference whether using 1 CPU with 4 cores or 4 CPU with 1 core.

leew answer above stating the deciding factor may be software licensing that determines how the CPU's are defined is very important and valid point.

Configuring Multicore Virtual CPUs
http://pubs.vmware.com/vsphere-50/index.jsp#com.vmware.vsphere.vm_admin.doc_50/GUID-A75B69D5-800A-41F5-8B80-8D410689184B.html


https://community.emc.com/message/630625

https://communities.vmware.com/thread/183436


VMWare CPU/Core allocation
http://community.spiceworks.com/topic/162026-vmware-cpu-core-allocation

This quote from the above link:
Chris8446 Jan 5, 2012 at 8:23 AM
"We just had a week long VMWare optimization training course at work (instructed by folks from VMWare) and I can verify what you have quoted from their documentation: 1 vCPU is the best option for almost all cases. Adding more vCPUs adds nothing but more over head and if the VM is requesting 2 or 4 CPUs and only 1 core is available, then it gets 0 CPUs until the full amount is available."

Unless there are further comments, I'll close the question and try to allocate points fairly on Friday.
0
andyalderSaggar maker's bottom knockerCommented:
>This link appears to answer the question by implying it makes no difference whether using 1 CPU with 4 cores or 4 CPU with 1 core.

No, it implies there is no performance difference between 1 *virtual* CPU with 4 *virtual* cores... There's a big difference between real CPUs and vCPUs.
0
dalvaAuthor Commented:
andyalder,
You are correct in clarifying this is in reference to virtual CPUs.

My original intent was to learn if there was a difference between using 1 vCPU with 4 cores or 4 vCPU with 1 core each.

In this case the differentiator would be the type of application or OS licensing being used as leew pointed out.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
VMware

From novice to tech pro — start learning today.