l4-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Linus replies


From: Jonathan S. Shapiro
Subject: Re: Linus replies
Date: Thu, 11 May 2006 16:40:57 -0400

On Thu, 2006-05-11 at 20:49 +0200, Espen Skoglund wrote:

>   o Linus and the people in his camp will certainly not agree with you
>     alluding to Linux being unstructured.

You may imagine that this does not worry me very much. :-)

>     Some will probably even
>     argue that the Linux kernel is indeed a pure component-structured
>     system.

Actually, I think that is a fair statement. One can make a strong case
that the Linux kernel module system is trying to provide a component
structure. My response would be that these components are not isolated,
and therefore cannot be tested or engineered independently. However, it
is an excellent compromise position if one must start from UNIX.

> 
>   o You say that it is well known that shared-memory concurency cannot
>     be engineered for robust systems.  An explicit or even anecdotal
>     reference to nail the point would be nice.  I can't think of any
>     such reference, though.  Anyone?

Well, we could start with John Ousterhout's famous talk.

We could then look at Chapter 3 of Mark Miller's dissertation, which
enumerates a bunch of "collaboration hazards" that are common errors in
practice in shared-memory system implementations. None of those
examples, by the way, were made up for the dissertation. You can find a
slightly edited version at:

        http://www.cypherpunks.to/erights/talks/thesis/markm-thesis.pdf

Finally, look at it from a verification standpoint: shared memory
concurrency means that the largest unit we can use for reasoning about
system behavior is the individual load and store; there is no larger
unit of abstraction that we can use to reduce the number of steps in the
computation that must be reasoned about. Further, we must do this for
the all-pairs interleavings of 2 simultaneous computations.

Formally, that's a multiply exponential explosion. It should be no
surprise that programmers cannot manage in their heads a state space
whose complexity exceeds their total neural capacity by many orders of
magnitude!


> I don't think this rebuttal will actually change the minds of anyone
> in the Linux-is-the-answer-to-all camp, but it is definitely a good
> read.

Neither do I, but thank you for your kind words.


shap





reply via email to

[Prev in Thread] Current Thread [Next in Thread]