By: Ricardo B (ricardo.b.delete@this.xxxxx.xx), May 16, 2013 2:12 pm
Room: Moderated Discussions
RichardC (tich.delete@this.pobox.com) on May 16, 2013 12:19 pm wrote:
> My take on the paper is that a bunch of smart people tried really hard to get it right
> using the commonly-accepted best practices (careful design, code review, thorough
> testing). And it didn't work. And the lesson is that parallel programming with
> shared memory, lightweight threads, and mutexes - the commonest approach to
> exploiting multi-cores - is unmanageable for "non-trivial" problems. You can learn
> from their experience, or not.
In general, no finite amount of best practices guarantees a bug free design.
Be it multi-threaded software, single threaded software, hardware or a bridge.
So, there is no lesson to learn there about multi-threaded software, except that it's no easier than anything else.
>
> I guess it all shows that for some people a glass is half-full, and for others it's
> half empty. I would say that a program that is "99% right" is 100% useless
> (and worse than useless if the behavior in the remaining 1% case is to give wrong
> results with no warning).
Then I wonder what computer programs aren't useless for you...
> My take on the paper is that a bunch of smart people tried really hard to get it right
> using the commonly-accepted best practices (careful design, code review, thorough
> testing). And it didn't work. And the lesson is that parallel programming with
> shared memory, lightweight threads, and mutexes - the commonest approach to
> exploiting multi-cores - is unmanageable for "non-trivial" problems. You can learn
> from their experience, or not.
In general, no finite amount of best practices guarantees a bug free design.
Be it multi-threaded software, single threaded software, hardware or a bridge.
So, there is no lesson to learn there about multi-threaded software, except that it's no easier than anything else.
>
> I guess it all shows that for some people a glass is half-full, and for others it's
> half empty. I would say that a program that is "99% right" is 100% useless
> (and worse than useless if the behavior in the remaining 1% case is to give wrong
> results with no warning).
Then I wonder what computer programs aren't useless for you...