0

While browsing the internet looking for information on virtual machine sizing, I came across the following comment: "AN Intel XEON Dual Core CPU has e.g 2 x 3000 MHZ. The Second Core is only 50-75 percent equal to the first core."

I can understand that there could be a bit of overhead between cores, but this sounds rather extreme, so I was wondering if there was any truth in this statement.

Please note I'm not talking about mobile phone CPUs where this is actually intended behaviour (performance versus power usage), I'm talking about desktop/server CPUs where each core has the same speed.

So in for instance a quad-core CPU running on 3Ghz, is there a big difference in clock speed between the cores or not? And if so, why is there a difference and why is it that big?

Thanks!

4
  • Bear in mind that was written in 2007 - that is geological ages in computing terms. Dual-cores were a new thing back then; we've been though more than a dozen generations since then. So, even if it was true then doesn't mean it's still true now… otherwise why would Intel bother with 56-core CPUs if each is going to be half the speed of the core before it ;))
    – Tetsujin
    Apr 7, 2021 at 9:02
  • Not all cores are equal, tho differences are much more marginal. Due to how CPU's work these days, its become much harder to just state a fixed core speed. Speeds depend on how many cores are in use, how long they are in use, ... And even in the x64 space there are now big.little configurations.
    – Silbee
    Apr 7, 2021 at 9:21
  • 1
    It depends on what context that comment was on about. For highly memory intensive applicatons one core could potentially starve out another causing a loss in performance, for other tasks there could be almost zero overhead.
    – Mokubai
    Apr 7, 2021 at 9:23
  • @Ramhound - I read the comment on communities.vmware.com/t5/Enterprise-Strategy-Planning/… (reply by meistermn). While there are numerous parameters that can influence the performance of a CPU or core (as gronostaj whose answer I accepted pointed out), I figured that just distributing work between cores could incur a (small) performance penalty, but the 50-75% performance came as a bit of a shock, hence my question.
    – Joe
    Apr 7, 2021 at 11:35

1 Answer 1

3

All physical cores in desktop and laptop CPUs are identical. That doesn't mean that computational power of the CPU = computational power of a single core × number of cores.

Cores share some cache, I/O and interconnects, these can be a bottleneck. Coordinating work between cores takes uses some computational resources too. There's also the problem of cores having some private cache that's not shared - when a job is moved from one core to another, the receiving core can't benefit from cache anymore.

Then there's the boosting and power limitations. When only one (or a few) cores are under load, the CPU can use its power budget differently and boost clocks slightly to provide better performance. But when all cores are under load sustaining clocks so high may not be possible because the CPU (or its cooling solution) isn't capable of dissipating that much heat.

Then there's hyper-threading or its AMD equivalent. A single physical core can appear as two logical cores (so-called "threads"). How this works is when the core is stuck waiting (eg. for data from RAM) it can do some other work in the meantime. This is what the second logical core means: it's the free computational power available when a core is twiddling its thumbs.

That's probably just the tip of the iceberg.

3
  • Due to process variation different cores can have different energy efficiency and overclockability. In smart phones, heterogeneous multicore is not uncommon. (Simultaneous multithreading parallelism is not restricted to idle time. Switch-on-Event MT — e.g., Itanium's Hyper-Threading — does prevent parallel execution though multiple memory operations can be active in a suspended thread.) Apr 7, 2021 at 15:35
  • @PaulA.Clayton You're right that they're not exactly identical due to manufacturing variations, yes. The differences would be relatively minor though, and within spec. It shouldn't matter much unless you're planning to push the CPU to its overclocking and/or thermal limits. We're definitely not talking about 25-50% performance difference, as stated by OP's sources.
    – gronostaj
    Apr 7, 2021 at 15:48
  • I am guessing the OP's 50-75% for second core referred to typical software scaling, i.e., two threads might typically give a 50-75% performance boost rather than having perfect scaling. (The statement does not make much sense otherwise.) Apr 8, 2021 at 18:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.