From: henry@zoo.toronto.edu (Henry Spencer)
Newsgroups: comp.os.research
Subject: Re: A challenge
Date: 14 Apr 92 16:40:43 GMT
Organization: U of Toronto Zoology
Originator: osr@ftp

In article <32796@darkstar.ucsc.edu> ken@cs.cornell.edu (Ken Birman) writes:
>>1. A distributed operating system should look, to the customer, just like
>>a non-distributed operating system, apart from the possibility of more
>>creative failure modes.  Cleverness should go into hiding its distributed
>>nature, not exposing it.
>
>I disagree.  A distributed system should make it easy to build distributed
>applications...

I'd call this the right stick but the wrong end.  A distributed system
should make it easy to *do distributed computing*.  That can often be done
by using plain, old non-distributed applications on distributed resources,
e.g. distributed filesystems, distributed processor pools, etc.  Indeed,
this is the current big growth area for distributed computing.

Question:  is a parallel "make" a distributed application?  Why / why not?
A lot of this comes down to saying "well, what you're talking about isn't
*really* distributed computing", where the definition of "distributed
computing" is about like the classic definition of AI:  "if we understand
how to do it, it's not AI".

I don't deny the existence of "truly distributed" applications.  What I
claim is that they are a relatively small fraction of the potential user
community for distributed *computing*, and that the rest of the community
is being largely ignored.

>>2. Unix filesystem semantics [work well]
>>3. Most resources are used by only one customer at a time...
>>4. Pipes are an excellent interprocess-communication method...
>
>On what basis do you make these claims?  Patterns of resource usage at
>University of Toronto Zoology?  Are you sure this is how the massive
>distributed environments of the future will look?

It's how the most successful distributed environments of today already
look.  Unless you define "distributed" to exclude them, of course.

Does this mean that future distributed environments will look the same?
Open question.  But they're not likely to look radically different unless
there is a *big* payoff from rewriting code for the new environment.

>>5. Most distributed-OS designers would rather design something new and
>>weird, in hopes that everyone will say "oh, how wonderful, we must
>>rewrite all our programs to use this at once", than observe point #1
>>above and build a distributed implementation of the same old thing,
>>on which all that software will run without change.
>
>And this last point, which seems to echo Ousterhout's silly remark,
>just strikes me as negative and countrary to "progress"...

I don't deny that there are interesting things to be done in the weirdness
department.  What I claim is that there is a lot of worthwhile work to be
done on distributing non-weird environments, and this would have a very
high payoff for real users, and not a lot of it is being done.  Which is
one reason why we end up with hacked-together abominations like NFS.
-- 
GCC 2.0 is to C as SVR4 is to Unix.     | Henry Spencer @ U of Toronto Zoology
                             -Dick Dunn |  henry@zoo.toronto.edu  utzoo!henry