Posted on 4 Comments

More Cores or Higher Clock Speed?

This is a little quiz (could be a discussion). I know what we tend to prefer (and why), but we’re interested in hearing additional and other opinions!

Given the way MySQL/MariaDB is architected, what would you prefer to see in a new server, more cores or higher clock speed? (presuming other factors such as CPU caches and memory access speed are identical).

For example, you might have a choice between

  • 2x 2.4GHz 6 core, or
  • 2x 3.0GHz 4 core

which option would you pick for a (dedicated) MySQL/MariaDB server, and why?

And, do you regard the “total speed” (N cores * GHz) as relevant in the decision process? If so, when and to what degree?

Posted on 4 Comments

4 thoughts on “More Cores or Higher Clock Speed?

  1. Would you prefer a pickup with 4-wheel-drive or a fast limousine?

    Sure, that is a silly question – but it is equally silly as that about number of cores versus clock speed, because in neither case the intended usage is specified.
    No, “dedicated DBMS server” is no complete specification, like “getting from A to B” isn’t. In both cases, the expected usage pattern will have a strong influence on the decision.

    Jörg

  2. I think the question is improperly stated.
    Firstly, what workload are we talking about? One may need a database server to process some heavy queries in just a few or even a single thread at a time, another will need to handle hundreds of concurrent connections. Surely the latest MySQL versions can make a good use of more then 12 cores.
    Secondly, 1 CPU core != 1 CPU core, even at the same clock or the same cache size. A processor generation matters a lot.

    1. However you judge the question, it is based in reality – many real-world scenarios don’t provide us with any more info than that to work with.
      Of course it’s nice to do exact measurements, but that option is not always available.
      So we need to make an educated guess.

  3. Okay I’ll step out there without having to qualify workloads.
    I would prefer to see future development focus on more cores at slower clock speeds.
    Why?
    Because it will insure a better match to the current focus on CPU development – mores cores at reduced speed to reduce power consumption. MySQL is already optimized for clock speed so likely diminishing returns in that area anyway – more to be gained by focusing on multiple CPU’s.
    Lastly, it will be easier to evolve into parallel processing paradigms in the future.
    With smartphones sporting 8 cores already the old concern of developing for commodity CPU’s with fewer cores is no longer a viable argument. In addition, it will make sense to also focus on methodologies and functionality to allow for more parallel processing within a given query as well. Advanced federated schemes and event processing make sense.

Comments are closed.