Thoughts on Multicores

InformIT has a really good interview with professor Donald Knuth - well what else should it be, when you are interviewing a legend?

But some part of it - dealing with parallelism and multicore computing - made me think. My machine as of right now, while I’m writing this, looks like this:

Screenshot_wjl

As you can see in the upper terminal with top, and also with Conky on the right or the Gnome System Monitor applet, the machine is rather busy - and that’s since 4am this morning, when I started a program called ‘nuvexport’ - which uses transcode - to make Xvid .avi files out of lots of recorded episodes of “Caillou“, which were caught by MythTV over a period of about two weeks or so.

Having a dual core processor helps in that case, definitely. But four or eight or more cores would be overkill probably - so I agree with Mr. Knuth.

But I think that in many other aspects - not only with programs which - like transcode - obviously do support parallelism, dual core processors are nowadays something like a commodity, and they help a lot, even if it’s a single task trying to get as much processing power as it could. The machine feels snappier; I don’t have a better word for this.

Last night for instance, I started up an older P4 machine (which has Hyperthreading, a kind of fake dual core). This processor runs at 3 GigaHertz, and it’s lots slower than my 2 GigaHertz Athlon Dual Core. Just with upgrading Ubuntu’s Hardy from Beta to Release, it was quite busy, and for a long enough time to make me wait for it - something which almost never happens on the dual core machine.

So the question is: would I go back to single core machines? For desktop use, a definite “no way”. You might save 5 bucks on the processor, and also maybe 5 on energy consumption over a year or so, but that’s not worth the time you spend waiting for those machines.

For a small server (read: some better, maybe self-built NAS or so), I would probably consider them. But then again, the question is whether they’re really more energy-efficient than an almost similar priced dual core. To answer that question, you also have to consider that a faster processor gets the job done earlier… so it depends on how busy your server will be, and those predictions can be hard. For a small family NAS, a Celeron or a Duron will do just nicely; sure. But then again, an almost similar priced Athlon 64 can run Xen with its support for hardware virtualization - well if that’s no argument for dual cores again, then I don’t know.

Anyway: I surely can understand Mr. Knuth’s point. Parallelism is pretty complex, and I would probably also prefer to teach other aspects than (multi-) threaded computing. Anyone who easily understands that is a master already.

0 Responses to “Thoughts on Multicores”


  1. No Comments

Leave a Reply