Medusa

Reading Notes

Architectural features to attempt

  • Modularity (模块性)
  • Robustness (健壮性)
  • Efficience/Performance

3 types of OS structures for Cm*

  • A single copy of the OS resides in one of the memories
  • Replicate the OS code in each processor
  • Static form of caching combining the two approaches above

Medusa adapt a structure(third one), where OS is divided into disjoint utilities which are distributed among processors.

Task force

  • Consist of activities

Activity

  • Process on a given node for a given utility

Pipes

  • Communication channels among activities

Utility

  • A single OS module, abstraction
  • Communication via messages
  • Distributed among cm nodes for parallelism
  • Multiple instances for load balancing, reliability(like GFS and MapReduce, use multiple !copies as backups)

Descriptors

References to kernel-managed objects

  • UDL descriptors
    • Entry point into utilities, like system call
  • PDL descriptors
    • Reference to private pages, pipes
  • SDL descriptors
    • Reference to shared pages
  • XDL descriptors
    • External descriptors
    • Mapping a local descriptor onto a remote PDL/SDL descriptor
    • Unsealing

Class Notes

Main point

  • multi-user operating system
  • distributed system structure

  • Centralized OS

  • Pros:
    • Easy to consistent
    • simpler
    • easy to maintain manager
  • Cons:

    • Reliability: single point failure leads to service down
    • Performance
  • Full (each node has the copy of OS)

  • Cons: Consumes too much memory

  • Decompose into modules

  • Pros:
    • Reliability: redundant module in processors
    • Performance:

Utility

  • a single OS module, abstraction
  • communication via message
  • distributed among Cm nodes for parallelism
  • multiple instances for load balancing, reliability

Co-scheduling

Co-scheduling is the principle for concurrent systems of scheduling related processes to run on different processors at the same time (in parallel).

Spin-wait

  • Spin-lock
  • Makes sense in distributed system, but not in a uni-processor

Take away points

  • distributed OS structure
  • invoking a file system function is likely to be a remote invocation
  • Co-schedule activities of a task
  • spin waiting

results matching ""

    No results matching ""