Author Topic: CPU cores and frequency  (Read 2604 times)

Offline JakeJake

  • Newcomer
  • Posts: 8
CPU cores and frequency
« on: 2016 April 05 10:51:43 »
What is the performance relationship between CPU processor cores and frequency?
I'm considering an Intel E3 processor, but then I see E5 processors with more cores and less frequency.

The E3 processor is my baseline for performance comparison, and I'm trying to figure out how much better the E5 is for the money. 

Offline NGC7789

  • PixInsight Old Hand
  • ****
  • Posts: 391
Re: CPU cores and frequency
« Reply #1 on: 2016 April 05 11:43:04 »
PI makes excellent use of multiple cores so the more cores the better. Of course clock speed matters too. A rough way of comparing is to simply multiply the number of cores by clock speed. If they are similar go for more cores. If the difference approaches or exceeds the clock speed of one core go for clock speed. Of course this assume $$$ are not a factor.

Offline vicent_peris

  • PTeam Member
  • PixInsight Padawan
  • ****
  • Posts: 988
    • http://www.astrofoto.es/
Re: CPU cores and frequency
« Reply #2 on: 2016 April 05 12:59:22 »
Hi,

I would try to get a balance between number of cores and clock speed. I have a workstation with 2xE5 v3 processors, 8 cores each one. This machine is very useful when you have A LOT of data to process. It's specially useful to execute several BatchPreprocessing instances, I usually run 7-8 PixInsight intances and execute in each one a BPP instance. That way, you optimize the multithreading and get the maximum from the computer; I can process 20-30 GB of data in a very short time. But this is a very specific work, which is convenient to me.

For postprocessing an image, you'll have some handicaps if you use many cores. Think that each thread should be initialized and this takes some time. You'll never have the same performance increase by increasing from 2 to 4 cores than 4 to 8. In my case is even worse because I have two CPUs, each one with its own memory, and it's much slower to access to a data block that belongs to the other CPU (actually, I get much better performance if I simply disable the multi-CPU architecture - AKA NUMA - and letting the operating system consider both CPUs as a single one).

On the other hand, you'll see that many processes cannot be parallelized. A good example is LinearFit, or calculating the median value of an image. This processes depend exclusively on the speed of a single core.

Last, I think you should also consider if you're going to do large mosaics. In that case, I would recommend a computer with two CPUs. When my images are very big (let's say 4 GB), I routinely get swap speed around 12 GB/s. This is because the image is saved in parallel in the RAM modules of both CPUs. This can be a good advantage if you work with this kind of images.


Regards,
Vicent.