110 likes | 283 Views
An Overview of the Amoeba Distributed Operating System. Mallikarjuna Reddy Srinivas Vadlamani University of California Irvine. Outline. Introduction What is Amoeba? Design goals Architecture Communication primitives Resource management Priority Mechanism Summary Acknowledgements.
E N D
An Overview of the Amoeba Distributed Operating System Mallikarjuna Reddy Srinivas Vadlamani University of California Irvine
Outline • Introduction • What is Amoeba? • Design goals • Architecture • Communication primitives • Resource management • Priority Mechanism • Summary • Acknowledgements
Motivation for Distributed Systems • Fall in microprocessor prices during early 80’s • Mainframes set-up expensive • Search for efficient and economical substitutes • Goals • Distributed Resource Management • High Availability • Simplicity • Parallelism • Transparency • scalability • fast file system
Design Goals of Amoeba • Distribution: connecting together many machines • Transparency: collection of computers acting like a single system • Parallelism: allowing individual jobs to use multiple CPUs • Example: the traveling salesman problem • Fault Tolerance • Boot Service • Performance: achieving all of the above in an efficient manner
Architecture • Workstations • Used by users to access the system • Limited processing power but not “dumb” • Pool Processors • Heavy duty computation • Dynamically allocated to user tasks • Can be multicomputers or multiprocessors • Specialized Servers • Example: File or Directory servers • Gateway • Connects Amoeba to a WAN • Converts data between FLIP and TCP/IP
Communication Primitives • Remote procedure call based • FLIP protocol for communication: Fast Local Internet Protocol • Advantage: increased performance over TCP/IP • Disadvantage: need a gateway to connect the LAN to a WAN • Amoeba Interface Language (AIL) • Generates stubs • Handles marshalling/unmarshalling of parameters • Preserves transparency of the system
Resource Management • Computation done by processor pools • Resource Manager on each node • Tracks and controls resources on its node • Dedicated Process Server • Tracks which processors are free • Allocates tasks to a group of processors • Preserves transparency • Allocation process is unknown to the user • User has no control over allocation
Priority Mechanism • A Bank Server • Analogy with a monetary bank • Regulates access to shared resources • Example of a shared resource is processing power of CPUs • On initiation each process gets some number of tokens • Can be thought of as “virtual money” held by the process • To gain access to shared resources, process has to expend money • At any given moment, the “richest” process gets access to the shared resource
Summary • Architectural Features • Transparent distributed computing using a large number of processors • Support for parallel computing • Micro-kernel architecture • High performance communication using RPC and FLIP • Weaknesses • Not compatible with UNIX • Virtual memory not supported (for performance reasons) • Performs poorly when there is insufficient memory • No NFS support
Acknowledgements • Andrew S. Tanenbaum et al • The Amoeba Distributed Operating System – A Status Report • Apan Qasem, CS Dept, Florida State University • An Introduction to the Amoeba Distributed Operating System • Yasir Ali • An Overview of the Amoeba Distributed Operating System • Kingsley Cheung, Gernot Heiser, School of Computer Science and Engineering, University of NSW, Sydney, Australia • A Resource Management Framework for Priority-Based Physical Memory Allocation