• 7
name

A PHP Error was encountered

Severity: Notice

Message: Undefined index: userid

Filename: views/question.php

Line Number: 191

Backtrace:

File: /home/prodcxja/public_html/questions/application/views/question.php
Line: 191
Function: _error_handler

File: /home/prodcxja/public_html/questions/application/controllers/Questions.php
Line: 433
Function: view

File: /home/prodcxja/public_html/questions/index.php
Line: 315
Function: require_once

name Punditsdkoslkdosdkoskdo

Performance implications of CPU/cores ratio

With the recent widespread adoption of multi-core CPUs, a question comes to mind: how does CPU/cores ratio relate to performance?

Which of these is better, how and why?

  • 1 8-core CPU
  • 2 4-core CPUs
  • 4 2-core CPUs

I already know the licensing implications (there are softwares licensed on physical CPUs regardless of actual cores, and others insted that actually care about this), and of course a system with more physical CPU sockets is more customizable and can be expanded more easily; but what I am interested in is the difference in performance between these configurations... if there is any.

      • 2
    • There is an age old argument about 1 very powerful core vs many smaller but less powerful cores. to this day it depends entirely on the application. You will need to include more information about the kind of services this server will be providing before any answer could be given.
      • 1
    • I'm not talking about 1 4-Ghz CPU vs. 2 2-Ghz CPUs. I'm talking about the same number of cores, at the same speed, but split between a different number of physical processors.

It depends.

Your question ultimately boils down to memory. As Ben mentioned, whether they communicated via cache or via main memory. However, whether 1x8 or 4x2 is better will depend entirely on your application - on whether it saturates the cache or not.

If the type of workload is largely homogeneous and shares lots of memory, a 1x8 with a large cache will be good. If the workload has many independent dynamic processes, then a 4x2 may be better as there is minimal communication overhead.

Why not look at it in terms of incremental cost benefits?

Anecdote: I've once built a VM host machine with 2x6 processors and seen performance drop dramatically once I cross main memory. i.e. more cores communicating via main memory performs slower than less cores communicating via cache. Each VM was largely doing only one thing.

  • 1
Reply Report

Looking at your comments about the question, I would say that running at full-tilt, I think 4 2-core CPUs would win due to cache sharing. 1 8-core CPU would have to share the same cache 8 ways as opposed to only 2 ways with 4 CPUs.

Although the cores would take slightly longer to communicate when they are processing, I think this would have less effect than having more cache to share.

  • 1
Reply Report

Trending Tags