Amoeba A Distributed Operating System for the 1990s - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

Amoeba A Distributed Operating System for the 1990s

Description:

Centrum voor Wiskunde en Informatica (Amsterdam) (Center for Mathematics and Computer Science) ... Gateway: links Amoeba domains together. Network vs. ... – PowerPoint PPT presentation

Number of Views:370
Avg rating:3.0/5.0
Slides: 17
Provided by: apanq
Category:

less

Transcript and Presenter's Notes

Title: Amoeba A Distributed Operating System for the 1990s


1
Amoeba A Distributed Operating System for the
1990s
  • Authors
  • Sape J. Mullender,
  • Guido van Rossum,
  • Andrew S. Tanenbaum,
  • Robbert van Renesse,
  • and Hans van Staveren

Presented by Oliver Hampton
Wednesday, October 1, 2003
2
Amoeba
  • Developed at
  • Vrije Unviversiteit (Amsterdam)
  • (Free University)
  • In cooperation with
  • Centrum voor Wiskunde en Informatica (Amsterdam)
  • (Center for Mathematics and Computer Science)
  • Research began in 1980

3
Components
  • Workstations supports editing and other tasks
    that require fast interactive response
  • Processor Pool does most of the heavy duty
    processing
  • Specialized Servers file server, data base
  • Gateway links Amoeba domains together

4
Network vs. Transparent Distributed System
  • Network
  • Each user logs into one specific machine (home
    machine).
  • Programs execute on the home machine, unless the
    user gives an explicit command to run it
    elsewhere.
  • Transparent Distributed System
  • User logs into the system, not to any specific
    machine.
  • When a program is run, the system, not the user
    determines the best place to run it.

5
Design Goals
  • Transparency
  • Distribution
  • Parallelism
  • High Performance

6
Objects and Capabilities
  • Amoeba is an Object-Based system
  • Object abstract data type on which well-defined
    operations may be performed
  • Examples file, process, or directory
  • Objects are identified and protected by a
    capability
  • Capability a handle on an object. Allows the
    folder to perform operations on the object.

7
Communication Primitives
  • Remote Procedure Call (RPC) model is used between
    Client and Server
  • do_operation
  • get_request
  • send_reply
  • Multiple Inheritance via Classes
  • Amoeba Interface Language (AIL)
  • Interface for object manipulation
  • Marshal / Unmarshal RPC parameters
  • Request / Reply transport mechanism

8
Now that we know what objects are, how do we find
them?
  • Objects in Amoeba may be physically located
    anywhere there is disk space.
  • Locating
  • do_operation call arrives at kernel
  • Kernel checks if Service Port is known
  • If not, kernel broadcasts locate packet
  • Locate packet asks if there are servers with
    get_requests for the port in question

9
Amoeba File System
  • Public capabilities are accessible by users
  • Such as command executables, public files, data
    bases
  • Hierarchical Directory Structure
  • Directories are Objects
  • Directory is a set of (name, capability) pairs
  • Basic Operations
  • Lookup
  • Enter
  • Delete
  • Directory Server
  • Reliability Dependability
  • Security directories may be encrypted

10
Bullet File Server
  • Increased Performance - FAST
  • 3 fold increase over Sun Network File System
    (NFS)
  • Files are stored contiguously (next slide)
  • Increased Fragmentation
  • Example may require 800 MB disk to store 500 MB
    worth of files
  • Files are immutable
  • Read_file
  • Create_file
  • Delete_file

11
Bullet File Server Continued
  • Stores files contiguously on disk and in servers
    RAM cache
  • Processors may only operate on files that fit in
    their physical memory

12
Process Management
  • A Process is an Object
  • Process information is contained in Capabilities
    and in a data structure called the Process
    Descriptor
  • Process Descriptor
  • Host Descriptor
  • Capabilities
  • Segment Component
  • Thread Component

13
Process Management Continued
  • Processes have explicit control over their
    address space.
  • mapping segments in and out
  • Processes States
  • Running
  • Stunned
  • Process exists but does not execute instructions
    example, debugging

14
Process Management Continued
  • Threads
  • Process start-up it has at least one thread
  • Thread number is dynamic
  • During execution
  • Process may create additional threads
  • Process may terminate existing threads
  • Threads are managed by the kernel
  • When threads do RPCs
  • Kernel can block thread
  • Kernel can schedule another thread in blocked
    threads place if one is available

15
Performance
  • Amoeba performance data on two 16.7-megahertz
    Motorola MC68020s, with a user process on each,
    communicating over a 10-megabit-per-second
    Ethernet.
  • Native Amoeba Remote Communication at 8 KB (Case
    2) is 3.05 times faster than the Sun RPC remote
    (NFS) and 2.78 times faster than the Unix driver
    remote.

16
Conclusions
  • Review of Design Goals
  • Transparency
  • User is unaware of location and number of
    processors available in Amoeba System
  • Distribution
  • Objects are distributed, as is computational
    power
  • Parallelism
  • Multi-Thread Processes
  • High Performance
  • Bullet File Server, performance data
Write a Comment
User Comments (0)
About PowerShow.com