From: douglis@MITL.COM (Fred Douglis)
Newsgroups: comp.os.research
Subject: Re: Have we learned anything in the last 20 years?
Date: 6 Apr 92 15:39:10 GMT
Article-I.D.: darkstar.32224
Originator: osr@ftp

A couple of comments on the thread (wow, Andy, what a way to get this
group going!)

rminnich@super.super.org (Ronald G Minnich) said:

    Are the Sprite people still in business? They call their 
    system a "maxikernel". They are not believers in microkernels. 
    "Kernelizing didn't solve anything in the 1960s, and it won't solve
    anything now"- My memory of a quote by Jim Gray, but I can look it up. 

As a former member of the Sprite project, and a coauthor of a paper
that considered just this issue, I should say something here.  First
of all, Sprite is still in business, but just barely.  The number of
Sprite users at Berkeley has dropped, and Sprite has been used by only
a few users outside Berkeley.  The distribution of Sprite to the
outside world ended when the staff member responsible for the
distribution was called up for military reserves and then left the
group a few months after returning.  Perhaps someone at Berkeley would
like to add something here?

Getting back to the thread, though, I disagree with the claim that the
Sprite people aren't believers in microkernels.  It's more a question
that when Sprite was first designed, microkernels were not a
widely-accepted technology, and the Sprite researchers chose to go
with a more traditional structure and devote their research efforts in
other areas.  In a sense, I agree with Andy's claim that microkernels
are generally accepted as a good idea, though I'm not sure that the
idea of what exactly a microkernel *is* has been generally agreed
upon.  (Other messages in this thread already made this point, of
course.)  Perhaps we'll all be enlightened later this month at the
microkernel workshop.

Secondly, I second the comments of stephen@estragon.uchicago.edu
(Stephen P Spackman) on the subject of client caching.  In his
original message, Andy qualified his comment on client caching to
address certain environments, like that of Amoeba:

    |STILL HIGHLY CONTROVERSIAL
    |   - Client caching is a good idea in a system where there are many more
    |	nodes than users, and users do not have a "home" machine (e.g., hypercubes)


As Stephen said, 

    Wouldn't client caching ideally be unavoidable, transparent, and just
    part of the "way of things"? 

*Prohibiting* client caching seems like a bad idea, since it's
unnecessarily restrictive.  If the same node uses a file again and
again, shouldn't it be cached?  I think that this topic is highly
controversial only in the sense that Andy thinks one thing and the
rest of the world thinks another!  So far, the only comments have
taken issue with Andy's claim.  Does anyone think that client caching
is a bad idea, even in an environment without "home machines"?

================
By the way, for more on the Sprite position on microkernels (as well
as other issues, including the general directions of Sprite and
Amoeba), see

    @ARTICLE{douglis:amoeba-sprite,
	    AUTHOR = {F. Douglis and  J. K. Ousterhout and M. F. Kaashoek and A. S. Tanenbaum},
	    TITLE = {A Comparison of Two Distributed Systems: {A}moeba and {S}prite},
	    YEAR = {1991},
	    JOURNAL = {Computing Systems},
	    PAGES = {353-384},
	    NUMBER={4},
	    VOLUME={4}
    }

[An aside: I am not responsible for typos in this article, which was
apparently retypeset and printed without giving the authors an
opportunity to see proofs!  Speaking of which, even the authorship was
printed out of order.]
================

Fred Douglis
Matsushita Information Technology Laboratory  | Email: douglis@mitl.com
182 Nassau Street,			      | Phone: +1 609 497-4600
Princeton, NJ 08542 USA 		      | Fax:   +1 609 497-4013