Download presentation
Presentation is loading. Please wait.
Published byAlexandra Dixon Modified over 9 years ago
1
An Overview of the Amoeba Distributed Operating System Mallikarjuna Reddy Srinivas Vadlamani University of California Irvine
2
OutlineOutline Introduction What is Amoeba? Design goals Architecture Communication primitives Resource management Priority Mechanism Summary Acknowledgements
3
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
4
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
5
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
6
Architecture contd... WAN
7
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
8
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
9
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
10
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
11
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.