Robbert van Renesse Andrew S. Tanenbaum
Dept. of Mathematics and Computer Science Vrije Universiteit Amsterdam
Sape J. Mullender
Centre for Mathematics and Computer Science Amsterdam
AMOEBA is a research project to build a true distributed operating system using the object model. Under the COST11-ter MANDIS project this work was extendedto cover wide-area networks. Besides describing the system, this paper discusses the successive versions in the implementation of its model, and why the changes were made. Its purpose is to prevent ourselves and others from making the same mistakes again, and to illustrate how a distributed operating system grows in sophistication and size.
"Those who learnnothing fi'omhistory are doomed torepeat it" -Santayana For about eight years now, we have been doing research on distributed operating systems, not only behind our desks, but also behind our terminals. The distributed system we are developing is called AMOEBA[l], and it is constantly evolving. It is being developed at the Vrije Universiteit and the Centre for Mathematics and Computer Science (CWI), both in Amsterdam. AMOEBAcurrentlyruns on Motorola 68020, National Semiconductor 32032, and MicroVax II processors. Both Ethemet and the Pronet token ring are supported by AMOEBA, and can be connected by a bridge. COST11-ter MANDIS is an international project investigating the management requirements for large international networks of computers. It has adopted the object-model as a framework within which to discuss themanagement of wide-area distributed systems. To experiment with this, the MANDIS project adopted the Amoeba distributed operating system, extended with a gateway for wide-area communication. Amoeba systems in Holland (Vrije Universiteit, CWI), the U.K. (Harwell Laboratories, Haffield Polytechnic), in Berlin (GMD/FOKUS) and in Norway (University of Troms0) have been connected into a single, transparentdistributed system.
This researchwas supportedin part by the NetherlandsOrganizationfor ScientificResearch~.W.O.) under grant 125-30-10.
I. Why This Paper
In any system, mistakes can appear in the design: features that are missing, features that are obsolete, and features that are too hard to handle. Sometimes the solution needs a considerable redesign of the system, and a new version is born.One has to be prepared to redo systems [2-4]. When designing a system, it is important not to make mistakes twice, be they your own, or anyone else's. Therefore it is necessary to read about other comparable projects, and to document your own. 2. The AMOEBA Architecture Bradley's Bromide: "If computers get too powerful, we can organize them intoa committee--that do will them in"
The A M O E BA architectureconsists of four principal components, as shown in Fig. I. First are the workstations, one per user, which run window management software, and on which users can carry out editing and other tasks that require fast interactiveresponse . Second are the pool processors, a group of CPUs that can be dynamically allocated as needed, used, and then returned to the pool. For example, the"make" command might need to do six compilations,so six processors could be taken out of the pool for the time necessary to do the compilation and then returned. Alternatively,with a five-passcompiler, 5 × 6 = 30 processors could be allocatedfor the six compilations,gaining even more speedup . Third are the specializedservers,such as directory ,fde servers ,and various other servers withspecialized functions. Fourth are the wide-area network gateways, which are used to link A M O E B A systems at differentsitesin possibly differentcountries intoa single, uniform system, such as investigatedin the M A N D I S work [9-13]. Processor Pool Workstations
llKlllllll EII41]JJII rllIfllJfl Illlllllll
Gateway ..... .~WAN
Specialized servers (file, data base, etc)