Re: Multi core



On 2008-04-28, I.P. Nichols <NoSpan@xxxxxxxx> wrote:
http://www.codinghorror.com/blog/archives/001103.html

A bit too techno centrical. Business case totally absent.

His conclusion seems to be "give every devel a
multicore on the desktop, raise a lot of noise about it, and it will work
out".

Don't give up your day job to become an blog article analyst. ;-)

I never said I would do either. (quiting or becoming b-a analyst).

I don't agree. Handcrafting is expensive, so my opinion (which is why I
posted the Knuth reference) is that an important piece of the puzzle is
missing. Something that makes threading cheap enough to _always_ use it.

And I have doubts that is reasonably possible. In that I agree with Knuth.

But not all applications need parallel multi-core threading, those that
benefit the most will use it.

Of course. But there is a big gap about "using multicore" which seems to be
equal to "spawns a thread somewhere" and a N-core scalable SMP application.

A lot of the apps now "fixed" for 2 or 4 core might need fixing again in the
future, since the tradeoffs to threading will keep changing. I'm not a
specialist, but I can already easily finger a few:

- lock costs differ per CPU
- Faster core means more work can be done in a certain time quantum. (say
timeslice)
- More cores.
- Higher SMP communication speeds (Barcelona, Nehalem) -> cheaper to move
thread.
- More NUMA usage. (NUMA on the desktop the next trend?)


IMHO the photoshop category. Special purpose, very skewed
programming/speed
benefit tradeoff, since how many people use Excel?

Most all business people who do accounting, technical analysis, forecasting,
charting, modeling, etc use Excel.

notepad is used even more. Still I doubt a multicore app would benefit many.
So use doesn't equal demand for speed, a few people excluded.

AFAIK it's the second most used of the MS
Office Suite applications and I dare say it has lots more users than the
combined total of users of Delphi, Visual Studio and Photoshop. :)

Note that there were two aspects to the original post:
1 the use of dual cores.
2 the cost of making a program that uses them.

You seem to only reply (1), the less interesting one.

Us database programmers can use Parallel Language Integrated Query (PLINQ)
takes advantage of multi-processor computers and multi-core processors.
http://msdn2.microsoft.com/en-us/magazine/cc163329.aspx

Another stopgap technology. Might as well say that my app uses MMX/SSE since
the move() procedure uses it.

.



Relevant Pages