[comp.os.misc] Rashid's complaint

ast@cs.vu.nl (Andy Tanenbaum) (03/13/91)

In article <kbrDM6m00hsQIl8Fhf@cs.cmu.edu> Rick.Rashid@cs.cmu.edu writes:
>I recently met Andy (in Japan of all places) and I must say that I liked him
>a lot.  I also recommend the ameoba book he is advertising (I have used some
>of the papers republished in the book in classes that I teach).
>
>That having been said, I have no idea why Andy insists on referring to
>Mach as a Unix replacement and characterizing Ameoba as a "research system".
                                               ------
                                               ??????


Whoa.  Funny thing.  I also met Rick Rashid in Japan.  Nice guy too.
Very good businessman as well as being an academic.

Although I don't have a degree in software paleontology, by piecing together
some of the clues, I get the following picture:

  - 21 March 1990:  I post an announcement for a book full of Amoeba papers
  - 22 March 1990:  I get >1000 requests for said book
  - 23 March 1990:  I decide making the papers FTP-able would be a great idea
  - 16 Jan.  1991:  I meet Rick Rashid at the Tokyo Prince Hotel
  - 11 March 1991:  Rogue machine somewhere in the world reposts my message
  - 12 March 1991:  Rick complains that I keep dumping on Mach
  - 13 March 1991:  I try to figure out what is going on

Anyway, other than one off-hand remark in my posting in March 1990, I haven't
even mentioned Mach in netnews, and that one time, I even spelled the name
right.  Thus it isn't like I am going around INSISTING that Mach is this or
that.  I hardly talk about Mach at all.  I have enough other stuff to do.

Nevertheless, sometimes people (privately) ask me to characterize the
difference between Amoeba and Mach.  What I usually say is that Amoeba
was designed from scratch as a transparent distributed system, and Mach was
not. To my way of thinking, a transparent distributed system can be
characterized as one in which when a user types ls -l (however you spell that)
he or she can't tell WHERE the files are.  Different files in the same
directory may be on different machines or even in different countries.
Location does not matter.  

Furthermore, when a process is run, the SYSTEM, and not the USER, 
decides which processor or processors to use.  The user has no idea 
of where his or her programs run, and each successive command
may well run on a different machine, depending on the global load
on the system at the time.  To the user, the whole collection of dozens
or hundreds of machines is just one big computer.  It's like the old CDC 6600.
Even though there was 1 CPU and 10 PPUs, users thought of it as a single
computer.  That is what TRANSPARENT means.  However, the 6600 was not
distributed.

To the best of my knowledge, Amoeba is a transparent distributed system
and Mach is not.   That's about all I really insist on.  That Mach emulates
4.3 BSD in binary and Amoeba does not is indisputable, and I have never
suggested otherwise.  As to Mach being a UNIX replacement, I refer the
reader to the OSF sales literature.

I hope this clarifies what happened and my position.  No hard feelings.
Now we have to track down the rogue computer and sue it for malpractice.

Andy Tanenbaum (ast@cs.vu.nl)



================= NOTE ABOUT GETTING AMOEBA PAPERS BY FTP ================

The Amoeba book consists of a collection of reprints of published papers.
The papers can be gotten by FTP from machines in the U.S. and Europe:

	Site	Name		  Internet address	Directory
        ----	----		  ----------------	---------
	VU	ftp.cs.vu.nl	  192.31.231.42		pub/amoeba
	UCSC	midgard.ucsc.edu  128.114.14.6		pub/amoeba

In addition to the papers, hundreds of pages of user manuals are also online.
See the READ_ME file for details.  Please FTP outside business hours to
reduce the loads on our machines.  The VU is on Amsterdam time (6 hours
ahead of EST); UCSC is on PST.

If you don't have FTP and still want a book, you can buy it from ACE,
a Dutch company which is now commercially selling and supporting Amoeba.
Their address is amoeba@ace.nl.  After shipping 1000 free copies of a 
300-page book last year, I have learned my lesson :-(

Amoeba will be available for beta-testing shortly.  I will post an
announcement to the net when the time comes.  Don't call me.  I'll call you.

Rick.Rashid@cs.cmu.edu (03/14/91)

Andy,
    I didn't realize you kept such detailed notes on the dates and times
of our meetings.  Please find that rogue computer, it could be dangerous.

    In your reply to my complaint about your characterization of Mach, you
made or implied several inaccuracies:

    1) I am not a businessman.  Everything I (or my group) does is freely
available - papers, documentation and code.  The Mach 3.0 kernel is
available by anonymous FTP from CMU and a number of sites in Japan and
Europe.  I have tried to maintain the view that work done in an academic
environment with public funds should be available to all.

    2) The Mach kernel supports complete multiprocessor and network
transparency.  It was designed as a follow on to the Accent (1981) and
RIG (1976) kernels and was certainly designed from scratch in the same
sense as Amoeba.  Application servers and operating system enviornments
(such as Unix and DOS) which run on top of Mach provide varying levels
of transparency of the kind you refer to in your note.  On the machine
I am using right now, for example, I can ls -l in the same directory tree
files at Stanford, Dartmouth, Michigan, MIT, OSF/Cambridge, OSF/Grenoble, etc.
There are numerous published papers describing transparent distributed
systems which have been built on Mach.

One reason for possible confusion between your viewpoint on this issue
and mine is that I make a clear distinction when I refer to Mach between
Mach as a system software kernel and the various possible operating
system environments which could be supplied above it.  I believe your
comments about transparency in Amoeba really refer to specific servers
and services which have been provided above the Amoeba kernel.

So, I hope this clears things up:

      * Mach is not Unix
      * Mach is not even an operating system in the sense of Unix,
        but rather a system software kernel which can (and does)
        support several operating system environment plus a wealth
        of distributed and parallel applications
      * Mach evolved from RIG and Accent and was designed from
        first principles to deal with MP and network environments
        (as documented in dozens of papers from 1976 to 1991).
      * I am not a businessman
      * I can't spell Amoeba (actually, I can't spell at all)
      * We are both nice guys when we aren't debating the merits of
        our own systems

-Rick

PS - Now that we have exchanged an even number of mail messages on half a
dozen mailing lists we could move the discussion to our private mail.