How much the CPU clock speed matters over number of cores?

9,841

Solution 1

One car has a bigger gas tank than another, does that mean it will go further on a tank of gas? Well, no.

It makes no sense to compare clock speeds across different processor architectures. Even if one processor's clock is twice another's, if that processor takes twice as many clock cycles to get the same amount of work done, it won't be any faster. Use benchmarks to judge processor speed, not specifications.

Solution 2

It doesn't, directly. What matters is what you're doing with them. If you're using programs which parallelize nicely, then multiple cores are much better than clock speed (This is why Graphics cards have 1000+ cores and barely operate at 1GHz or slower). If you have a load which is single threaded (like a lot of games), then clock speed matters a lot more because the extra cores are useless

Think of it like this:

A slower multi-core processor is like a bus, while a faster single-core processor is like a race car. The goal is to get as many people where they need to go as possible.

Let's say you need to get 20 people from point A to B: The bus will win, even though it's slower, simply because it can carry all 20 people at the same time, where as the race car can only move one person at a time, and has to make 20 trips. It's fast, but it's not that fast.

But what if you need to move one person from point A to B? A race car is much faster than a bus, even if the bus is only carrying one person.


The trick is finding out if your applications have one person that need to go really fast, or a bunch of people that need to be moved.

Servers frequently have many processes running and are doing lots of separate jobs: Very often, they find themselves in the "bus moving 20 people" scenario, so it's common for them to have slower CPUs with lots and lots of cores.

Consumer desktops are starting to do more and more in parallel, but relatively speaking compared to servers, a desktop still has one person sitting at it, doing one thing at a time, so it's still worth it to try and push CPUs faster instead of having insane numbers of cores.

That said, it's much, much easier to make a CPU with more cores than it is to make it faster. We've been making them faster for many decades, and while they'll get faster yet, it requires a lot more research for smaller and smaller improvements. Comparatively, we've just recently started really pushing multi-core technology, which means that for very little research, we can add more and more cores. This is why lots of stuff is being rewritten to utilize multithreading and multiple cores.

Share:
9,841

Related videos on Youtube

Annie
Author by

Annie

Updated on September 18, 2022

Comments

  • Annie
    Annie over 1 year

    I was comparing various desktop/server processors on Intel's website and found that Xenon Coprocessor family constitutes 61 cores. (firstly, this name lead me to think as if this would be a secondary processor in a multi-processor environment.. but I guess its not the case?)

    However, the core-i series processors for desktops and workstations have maximum clock speed of 3.9 GHz. While the maximum clock speed of any server processor has clock speed of 3.0 GHz and the latest (above mentioned) Coprocessor has only 1.33 GHz.

    Don't we need higher (or highest) clock speeds in server machines as it is the major threshold in processing power? Momentarily, if we have 61 cores and some 100+GBs of RAM, would it render the clock speed irrelevant from the perspective of performance centric / resource hungry task?

    An answer with actual process execution analogy / example would be much appreciated. :)

    • Enigma
      Enigma almost 11 years
      61 core running at 1.33GHz each gives 81.13GHz which is not truly it's full capacity. However say you had a well optimized bit of software that fully utilized each core independently ignoring all synchronization resources required, then you would out-perform a single-quad core cpu running at 3GHz-5GHz on those tasks. How much does it matter? It matters as much as the software using more cores is optimized for more cores. You can make a super computer out of 100 personal computers (folding@home) and likewise you can make a super-processor out of 100 slower cores.
    • David Schwartz
      David Schwartz almost 11 years
      "61 core running at 1.33GHz each gives 81.13GHz" No, it doesn't. Fours cars going at 50 miles per hour don't somehow "give" 200 miles per hour. Clock speed is not a measure of the rate at which work is done and can't be added.
  • David Schwartz
    David Schwartz almost 11 years
    This answer seems based on the false notion that you can compare clocks speeds across different CPU architectures. You can't.
  • David Schwartz
    David Schwartz almost 11 years
    @Annie: That's not possible because those aren't processors -- those are marketing names. Just like you can't compare clock speeds across processor architectures, you can't compare processors by their marketing names. At least right now, "Core i7 4th generation" is pretty narrow, but Intel has called a variety of totally different CPUs across many generations "Xeon"s. "Xeon" is just a marketing name Intel uses to refer to CPUs intended to go in servers.
  • Griffin
    Griffin almost 11 years
    @DavidSchwartz When you're talking about very small differences yes. In large scale no. Think about it. Two processors. One with 4 core (no HT) running at 3GHz vs one mono-core (again no HT) running at 4 GHz.
  • David Schwartz
    David Schwartz almost 11 years
    @Griffin: I have no idea what you're trying to say. What about those two processors? If they're different architectures, the fact that one has a 3GHz clock and the other has a 4GHz clock tells you nothing.
  • Griffin
    Griffin almost 11 years
    @DavidSchwartz The number of cores and the speed tells me which one would be faster. You are attempting to make little speeds seem much larger than they really are. If anyone walked up to you and told you those specs which processor would you put money on for being better at the benchmarks?
  • David Schwartz
    David Schwartz almost 11 years
    @Griffin: There would be no way to tell and putting up money with just that information would be a sucker's bet. You cannot compare clock speeds across different CPU architectures because different CPU architectures require different numbers of clock cycles to perform the same work.
  • Annie
    Annie almost 11 years
    Understood thanks again. I will narrow it down to a specific scenario: lets say we are considering same architecture (say "Haswell") by Intel, and our intent is to run multiple VMs (like 12-15) with Hyper-V (clients, servers, server cores, windows for data-center in Windows-based cloud). Now, if I'm looking for optimal speed what would matter most between clock-speed and no. of cores of same architecture? Other hardware include two Nvidia graphics cards SLI together and most intense tasks are graphics/rendering related and we are hosting separate VM for team members with separate role.
  • Griffin
    Griffin almost 11 years
    @DavidSchwartz You keep saying that but it doesn't change that you do know which one would win and I'd think you'd be hard pressed to find a mono-core 4GHz cpu that would beat a 3GHz quad core on today's market. When you can then you can call it a suckers bet.
  • David Schwartz
    David Schwartz almost 11 years
    @Griffin: Given the length, width, and height of a car, you might be able to infer that it's a very fast car because there might be only one car that has those specific measurements. That doesn't change the fact that people who think that the size of a car determines its speed are idiots. There is a serious misconception that clock speeds can be compared across CPU architectures meaningfully and they cannot be. You're contributing to this misunderstanding.
  • David Schwartz
    David Schwartz almost 11 years
    @Griffin: That's why your example is so bad -- it suggests something that is false.
  • Griffin
    Griffin almost 11 years
    @DavidSchwartz According to you if it truly doesn't matter then you will be able to find one on the market.
  • David Schwartz
    David Schwartz almost 11 years
    @Griffin: That's why your example is so bad. It was carefully chosen to be a case where a broken rule gives the correct result by luck.
  • David Schwartz
    David Schwartz almost 11 years
    @Annie: In that case, you'd probably just be looking for raw processing power and not particularly concerned with how many cores gave it (within reason). So you could just compare PassMark CPU ratings.
  • Griffin
    Griffin almost 11 years
    @DavidSchwartz It was chosen because you can't find it. Want another one? Here's a bunch. Find a mono-core that beats out a quad-core with the quad having a 1 GHz advantage. That's a whole lot of possibilities.
  • user1984103
    user1984103 almost 11 years
    @DavidSchwartz Also, your car analogy doesn't line up very well. It would be more like knowing the number of cylinders in the engine and the RPM of the engine, without knowing the size of the cylinder or the gears in the transmission. Between models and manufacturers it's not that helpful, but generally speaking 8 cylinders provides more power than 4, and 4000 RPM provides more power than 2000 RPM when all other variables are held constant.
  • David Schwartz
    David Schwartz almost 11 years
    @DarthAndroid: It's very hard to find CPUs with different core counts but other things equal.
  • user1984103
    user1984103 almost 11 years
    @DavidSchwartz Core i5, i7 SandyBridge, Core i5, i7 Ivy Bridge, Core i5, i7 Haswell... That's 6 processor lines where there is different core counts and speeds, but other things are almost equal.