(Free) book on the Amoeba distributed system available

Andy Tanenbaum ast at cs.vu.nl
Thu Mar 22 01:00:15 AEST 1990


1. SUMMARY

The purpose of this message is to announce the availability of a (free)
book about the Amoeba distributed operating system.  The system itself
will be available later this year.   Amoeba originated at the Vrije
Universiteit in Amsterdam, The Netherlands, and is now being developed
jointly there and at the Centre for Mathematics and Computer Science, also
in Amsterdam.


2. OVERVIEW OF AMOEBA

Amoeba is a true distributed operating system that runs on a collection of
machines on a network.  Currently SUN-3 and VAXSTATIONS are supported.
386s are in the works, RISC machines eventually.  The idea is that to the
user, the entire thing looks like a conventional timesharing system.
There is no concept of remote login or remote mount or remote anything
else.  You can directly access any file for which you have permission,
without doing anything special, no matter where it is.  The network acts
like a single computer.

A normal Amoeba configuration will have one workstation per user, some
file servers, and a collection of pool processors, to which processes are
dynamically assigned. For example, if you start up 'make', all the
compilations will automatically run in parallel on different pool
processors.  You don't have to do anything.  There is no concept of a
'home machine' on which things run unless you explicitly tell them to run
elsewhere.  Your own workstation is normally just used to run the window
manager (X windows); computing is done on the processor pool.  You can use
SUN-3s or VAXSTATIONS for the processor pool, or you can use 680x0-based
single board computers in a rack, which gives an excellent price
performance.

The whole idea behind Amoeba is to explore distributed computing, so the
design assumes that you have a substantial number of machines that you
want to have working together.  We have designed a language, called Orca,
that makes parallel programming much easier by cleverly simulating an
object-based shared memory on a network of disjoint machines.  Orca will
soon be ported to Amoeba.

3. SYSTEM DESIGN

Amoeba has a microkernel, which basically handles communication, I/O, and
low-level memory management, and little else.  Communication is based on
RPC and is extremely fast (1.4 msec RPC on Sun 3/50s; see ACM Operating
System Review, Oct. 1988, pp. 25-34).  The rest of the system is
implemented as a collection of servers running in user space, spread over
many machines.  There has been a great emphasis on high performance.  The
file server can transfer at 5.4 megabits/sec, for example, which is over
half the theoretical capacity of the Ethernet, and is many times faster
than NFS.

A single integrated naming and protection scheme is used, based on
encrypted capabilities.  If you have the capability for a file or other
object in your directory, you can just access it, no matter where it is
(including international access, although this is still experimental).

4. RELATION TO OTHER SYSTEMS

A UNIX emulation package is part of the basic system, so you can recompile
and run most well-behaved UNIX utilities.  There has been no attempt at
providing binary compatibility.  Amoeba comes with about 100 programs that
are similar to their UNIX counterparts, including a C compiler (based on
the Amsterdam Compiler Kit).  Some of the utilities have been borrowed
from MINIX and some are new.  There is not a single line of AT&T code
anywhere in the system--not in the operating system, not in the compilers,
and not in any of the utilities.  There are also 50 new utilities
specifically for Amoeba.

No doubt some people will want to compare Amoeba to Mach.  It is hard to
summarize the differences, but very briefly, Mach is an attempt to replace
UNIX.  Amoeba is more of a research system designed to make dozens or
hundreds of processors function together seamlessly.  It was designed to
be as fast as possible, gaining speed through careful software design and
through use of parallelism.

No doubt other people will want to compare Amoeba to MINIX.  There is no
comparison.  MINIX is a quasi-toy.  Amoeba is a serious high-performance
system.  It is being used by the European Space Agency for transmitting
real-time television images, for example, because no other system was
found to be fast enough to handle the load.  OSF has provided us with
considerable funding so they can evaluate its potential for use in OSF/2
or OSF/3.

5. AMOEBA BOOK

We have published dozens of papers on Amoeba over the years.  We have now
collected 17 of the most interesting ones in a 278-page paperback book.
The papers provide an introduction to Amoeba, an overview of the design,
discussion of the measured performance, as well as 9 papers on programming
and applications.

This book is now available.  Since processing of international checks is a
big pain, we have decided to send it out for free.  Please do not ask for
it unless you are seriously interested, and no more than one to a
customer.  You are permitted to make as many copies of it as you wish.  To
order, send me your snail mail address.

6. AVAILABILITY

But when is Amoeba going to be available and under what conditions?  The
next tape is going to OSF by March 31, 1990.  While they are looking at
it, we will continue testing, putting together a proper distribution, and
writing documentation until it comes out our ears. (Although I don't mind
writing, the programmers on the project prefer C to English.)  We expect
that a version will be made available to universities and corporate
research labs during the second half of 1990, for a nominal fee and with
few restrictions on use for educational or research purposes.  All of the
Amoeba source code will be included.

Andy Tanenbaum (ast at cs.vu.nl)



More information about the Comp.sys.sun mailing list