Tuesday, March 13, 2007

How many cores are good for you?

In my recent post on hyperthreads I wrote they are not really that useful because the art of concurrent programming has been mostly lost and therefore they do not give you added performance. Most computers today are available with multicore processors. Do you need them, and if so, how many cores do you need?

I use my computer mostly for programming, so in principle one core should be sufficient. However, every couple of days I need to reboot my computer because it cannot keep up with my typing speed. A quick look at the Task Manager reveals a process coectl32 that hogs the CPU. It does not let its priority to be turned down and I suspect it has to do with the corporate Common Operating Environment that keeps my computer patched, so I do not dare to kill it.

A second core would be nice, because it can take care of this CPU hog. Another resource intensive program over which I have no control is the antivirus program, which fights with the patch program and can render my machine unusable when it does its weekly disk scan (the scan can take a day or more when it fights for cycles with the patch program).

Three cores would be the sweet spot for the way I use my computer as a programmer. If you create multimedia or frequently burn CDs, you may want a fourth core for that task.

This is not necessarily bad news, because you still have bottlenecks on the bus, the memory, and the virtual memory. Since the programs no longer have to fight over processor cycles, you could get away with 100 MHz or slower cores. However, in the corporate environment we often have to use video for executive communications or for video conferencing, and sometimes the link has to be encrypted. Therefore, 1.4 GHz may be a more realistic requirement.

This is good news, because you can run four 1.4 GHz cores at 50 W total, much less as a conventional 3+ GHz processor. The PC will be quieter and require less air conditioning for cooling.

PS: as usual, since our software does not support links in comments, I am adding the links here