United States-English

Mostly Color

How many cores are good for you?

Published 13 March 2007, 02:48 PM

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

Technorati tags: ,
Social bookmarking: DiggDigg del.icio.usdel.icio.us NowPublicNowPublic redditreddit NewsvineNewsvine GoogleGoogle

Posted By GiordanoBeretta | 6 Comments | Trackbacks | Permalink
Filed under:


Comments

Will multicore takes more space then? I found for general purpose computing multicore never achieved good scalability.
# Wednesday, March 21, 2007 04:52 PM by hc2000
hc2000, thank you for your comment. You are correct that performance does not scale linearly with the number of cores, because there is overhead keeping the caches consistent and the cores share memory, bus, and I/O. However, in practice things are much worse because today's programmers have not learned how to properly do concurrent programming, as I noted in the post "Are hyperthreads good for you?" of 21 Feb. 2007. The jist of this post is that you may have to run applications such as antivirus scanners over which you have no control, so you may want an extra core for them. Finally, regarding the additional space requirement, today's muliple cores are all on the same die, so the additional space is negligeable for the performance boost you get. Also, because you can let the multiple cores run much slower, you need less cooling, so the actual volume in usually less.
# Wednesday, March 21, 2007 06:05 PM by Giordano Beretta
No disagreement with most of these statements, but I would add a couple of points. Because of various geometrical considerations, multicores come in even-numbered multiples (as far as I know), so your choice is more likely to be a 2-way or 4-way, etc. The UltraSPARC T-1 and T-2 offer 8-way cores up to 32-way virtual processors. Amusingly, this is exactly where the Xerox PARC "Dragon" multiprocessor-workstation was targeted some 20 years ago. Back then, and until the advent of multicores, this meant interfacing separate CPUs onto the backplane. This is non-trivial and not cheap. It explains why desktop multiprocessors never really took off commercially. Multicores ameliorate many of these previous problems, but also introduce some new problems of their own; SMP scalability being one of them. And that brings me to my next remark. As you go from 2-way to 4-way and higher, you run into another question. Can the O/S scheduler really load-balance all the cores? In general, the answer is going to be negatory. But wait, it's worse! In an SMP, you could always symmetrize the kernel to schedule across physical CPUs. With multicores, however, the execution units are inside a 'black box' (the module) and they have their own internal protocols, which remain proprietary. For completely single-threaded tasks (as described above), this is probably not a huge issue, as long as you don't care about idle cycles (which takes us back to hyperthreading). As applications become more multi-threaded (the inevitable goal), O/S symmetrization becomes more of an issue, not to mention concurrent programming (which has been mentioned).
# Wednesday, March 21, 2007 07:08 PM by redrooz_at_yahoo_com
Extensive (14 page) technical report at http://techreport.com/reviews/2007q1/cpus/index.x?pg=1 entitled "Intel vs. AMD: Today's generation compared". Especially interesting is that many (all?) of the benchmark tests involve graphics, color, visualization, rendering, game scene generation, GPUs, on 2-way and 4-way multicores from AMD and Intel. I haven't had time to digest its "scientific" merits, but it certainly looks comprehensive and relevant to this blog thread.
# Friday, March 23, 2007 03:00 PM by redrooz_at_yahoo_com
Apparently, we've been thinking too small. Forget dual-core, quad-core, or even octo-cores from Apple or Sun . It's time think about speckled computing! Here are the associated links (since I can't embed them): http://www.engadget.com/2007/04/04/apple-mac-pros-now-with-8-cores/, http://www.sun.com/processors/UltraSPARC-T1/, http://perfdynamics.blogspot.com/2007/04/forget-multicores-think-speckles.html.
# Tuesday, April 17, 2007 01:45 AM by redrooz_at_yahoo_com
Re: My previous post of 3/23/2007 which referred to benchmarks of the current crop of AMD and Intel Dual- and Quad-cores. Today, Intel blabbed more in Beijing at a developer forum. Here are some quotes related particularly to imaging and rendering performance.

"...early Penryn performance tests show a 15 percent increase in imaging related applications, a 25 percent performance increase for 3D rendering, and more than 40 percent performance increase for gaming."

"The tests were based on pre-production 45nm Intel quad-core processors clocked at 3.33 GHz with a 1333 MHz front side bus and 12 MB cache versus a 2.93 GHz Intel Core 2 Extreme (QX6800) processor."

# Wednesday, April 18, 2007 11:34 PM by redrooz_at_yahoo_com

Leave a Comment

(required)  
(optional)
(required)  


Type the digits above:
Information disclosed in this community becomes public. Exercise caution when deciding to disclose your personal information. HP reserves the right, but is not obligated to, edit or remove your comment if it contains personally identifiable information or other content HP deems unacceptable.  Opinions expressed are your personal opinions or those of the original authors, and not of HP. Please see HP's web Terms of Use for more details.