Distributed Operating
System
MOEEZ AHMAD 1421-316267
DANISH DAUD 1421-316255
EJAZ ALI 1421-316269
QADEER AYUB 1421-316273
1
Distributed Shared Memory:
 It implements the shared memory model in distributed
systems, which have no physical shared memory.
 The shared memory model provides a virtual address space
shared between all nodes.
 Data moves between main memory and secondary memory
(within a node) and between main memories of different
nodes
2
Central Server Algo:
 Central server maintains all shared data.
 Read request: returns data item
 Write request: updates data and returns acknowledgement
message.
3
Data
Access
Requests
Clients
Migration Algo:
 Ship (migrate) entire data object (page, block) containing
data item to requesting location
 Allow only one node to access a shared data at a time
4
Node i Node j
Data Access Request
Data Migration
Algorithms of DSM
 Read Replication Algo:
 Replicates data objects to multiple nodes.
 Multiple nodes can have read access or one node write access
(multiple readers-one writer protocol).
 After a write, all copies are invalidated or updated
5
Node i Node j
Data Access Request
Data Replication
Algorithms of DSM
 Full Replication Algo:
 Extension of read-replication algorithm
 Multiple nodes can read and multiple nodes can write
(multiple-readers, multiple-writers protocol)
6
Write
Requests
Clients
Update
Multicast
Memory Coherence:
 Memory coherence is a desirable condition in which
corresponding memory locations for each processing
element in a multi-core processor always contain the same
cached data.
 Without memory coherence, programs can be adversely
affected.
7
Coherence Protocols:
 Coherence protocols apply cache coherence in multiprocessor systems.
 The intention is that two clients must never see different values for the
same shared data.
 Protocols can also be classified as snoopy or directory-based.
 Early systems used directory-based protocols where a directory would
keep a track of the data being shared and the sharers.
 In snoopy protocols, the transaction requests (to read, write, or upgrade)
are sent out to all processors.
8
Distributed File System:
 Naming & Naming Resolution:
 Name refers to an object such as file or a directory.
Example: Home, Public, Documents, Movies etc.
 Name space is a collection of names.
 Name Resolution refers to the process of mapping a name to
an object that is physical.
9
Distributed File System:
 Caches on Disk or Main Memory:
 Main Memory:
 Faster than disks.
 Enables diskless workstations.
 Disks:
 Caches larger files
 Good when local usage dominates
10
Distributed File System:
 Writing Policy:
 Write through -- reliable, but not cache for write.
 delayed write:
 delay the writes to the server
 write on close:
 not much difference from delay write for short opens.
 for long open: less write but more susceptible to losing data
11
Distributed File System:
 Availability:
 Overcome the failure of servers or network links.
 Replication - Maintain copies of files at different servers.
 Scalability:
 Adaptation of distributed systems to accommodate more users.
 Usually done by adding more and/or faster processors.
 Design components to be scalable!
12
Distributed File System:
 Cache Consistency:
 server-initiated: the server inform cache managers whenever the
data in the client caches become stale
 client-initiated: the client make sure the cache is clean before
returning the data to the application
 not allow caching when concurrent-write sharing occurs.
 sequential-write sharing may also cause problems: a client
opens a files that has recently modified and closed by another
client
13
Distributed File System:
 Semantics:
 What a user wants? strict consistency.
 Users can usually tolerate a certain degree of errors in file
handling -- no need to enforce strict consistency.
14
Ejaz Ali 1421-316267
15
Architecture of Distributed system:
 Presented on different platforms and several components can
cooperate with one another over a communication network.
 There are several technology frameworks to support
distributed architectures, including .NET, J2EE, CORBA, .NET
Web services, AXIS Java.
16
Monolithic Kernel
 Is an operating system is an operating
system architecture where the entire
operating system is working in kernel space.
 It holds all privileges to access input/output
devices, memory, hardware interrupts and
CPU stack.
 Tends to be larger than other kernel.
17
Communication Primitives:
 High level construct help the program in using underlying
communication network
 Two types of communication primitive
 Message passing
 Remote procedure calls
18
Message passing:
 SEND – Message and its destination
 RECEIVER – source of message and buffer for storing the
message
 Client server computing model:
 Client sent message to server and waits
 Server replies after computing
19
Remote procedure call
 RPC is a protocol that one program can use to request a
service from a program located in other computer in a
network.
 RPC use client server model
 The main idea is to allow a local computer (client) to
remotely call procedure on a remote computer (server)
 RPC is a interaction between a client and server
20
Message passing:
 SEND – Message and its destination
 RECEIVER – source of message and buffer for storing the
message
 Client server computing model:
 Client sent message to server and waits
 Server replies after computing
21
Remote procedure call
 RPC is a protocol that one program can use to request a
service from a program located in other computer in a
network.
 RPC use client server model
 The main idea is to allow a local computer (client) to
remotely call procedure on a remote computer (server)
 RPC is a interaction between a client and server
22
Synchronization mechanism in shared
memory
 Shared Memory Synchronization. In sharing memory, a
portion of memory is mapped into the address space of one
or more processes.
 No method of coordinating access is automatically provided,
so nothing prevents two processes from writing to
the shared memory at the same time in the same place.
23
Communication sequential process:
 CSP, is a language for describing patterns of interaction. It is
supported by an elegant, mathematical theory, a set of proof
tools, and an extensive literature.
 It is a member of the family of mathematical theories of
concurrency known as process algebras,
24
Axiomatic verification of parallel programs
 A language for parallel programming, with a primitive
construct for synchronization and mutual exclusion, is
presented. Hoare's deductive system for proving partial
correctness of sequential programs is extended to include the
parallelism described by the language.
 The proof method lends insight into how one should
understand and present parallel programs.
25
The sprite file system
 Unix file system developed for diskless workstations with
large memories at UCB.
 Considers memory as a huge cache of disk blocks. Memory is
shared between file system and VM.
 Files are stored on servers. Servers have a large memory that
acts as a cache as well.
 If a file is being written by more than 1 machine, client
caching is turned off -- all requests go to the server.
26
Apollo domain distributed file system
 The Apollo DOMAIN® system is a fully operational
distributed computing environment for a network of personal
workstations and network servers.
 Its distributed system focus was on a file system that
provided users of autonomous workstations with the same
ease of file sharing.
27
X-kernel
 X-kernel is an experimental distributed operating system which
allows uniform access to resource on a nationwide internet.
 Provide a uniform interface with which to access heterogenous
physical file system.
 Two unique features:
 Each user define her or his own private file system out of the
existing physical file system.
 Logical directories with physical directories, identifies the type pf
the physical file system and identifies the server (host)
28
Thank You!
29

Distributed operating system

  • 1.
    Distributed Operating System MOEEZ AHMAD1421-316267 DANISH DAUD 1421-316255 EJAZ ALI 1421-316269 QADEER AYUB 1421-316273 1
  • 2.
    Distributed Shared Memory: It implements the shared memory model in distributed systems, which have no physical shared memory.  The shared memory model provides a virtual address space shared between all nodes.  Data moves between main memory and secondary memory (within a node) and between main memories of different nodes 2
  • 3.
    Central Server Algo: Central server maintains all shared data.  Read request: returns data item  Write request: updates data and returns acknowledgement message. 3 Data Access Requests Clients
  • 4.
    Migration Algo:  Ship(migrate) entire data object (page, block) containing data item to requesting location  Allow only one node to access a shared data at a time 4 Node i Node j Data Access Request Data Migration
  • 5.
    Algorithms of DSM Read Replication Algo:  Replicates data objects to multiple nodes.  Multiple nodes can have read access or one node write access (multiple readers-one writer protocol).  After a write, all copies are invalidated or updated 5 Node i Node j Data Access Request Data Replication
  • 6.
    Algorithms of DSM Full Replication Algo:  Extension of read-replication algorithm  Multiple nodes can read and multiple nodes can write (multiple-readers, multiple-writers protocol) 6 Write Requests Clients Update Multicast
  • 7.
    Memory Coherence:  Memorycoherence is a desirable condition in which corresponding memory locations for each processing element in a multi-core processor always contain the same cached data.  Without memory coherence, programs can be adversely affected. 7
  • 8.
    Coherence Protocols:  Coherenceprotocols apply cache coherence in multiprocessor systems.  The intention is that two clients must never see different values for the same shared data.  Protocols can also be classified as snoopy or directory-based.  Early systems used directory-based protocols where a directory would keep a track of the data being shared and the sharers.  In snoopy protocols, the transaction requests (to read, write, or upgrade) are sent out to all processors. 8
  • 9.
    Distributed File System: Naming & Naming Resolution:  Name refers to an object such as file or a directory. Example: Home, Public, Documents, Movies etc.  Name space is a collection of names.  Name Resolution refers to the process of mapping a name to an object that is physical. 9
  • 10.
    Distributed File System: Caches on Disk or Main Memory:  Main Memory:  Faster than disks.  Enables diskless workstations.  Disks:  Caches larger files  Good when local usage dominates 10
  • 11.
    Distributed File System: Writing Policy:  Write through -- reliable, but not cache for write.  delayed write:  delay the writes to the server  write on close:  not much difference from delay write for short opens.  for long open: less write but more susceptible to losing data 11
  • 12.
    Distributed File System: Availability:  Overcome the failure of servers or network links.  Replication - Maintain copies of files at different servers.  Scalability:  Adaptation of distributed systems to accommodate more users.  Usually done by adding more and/or faster processors.  Design components to be scalable! 12
  • 13.
    Distributed File System: Cache Consistency:  server-initiated: the server inform cache managers whenever the data in the client caches become stale  client-initiated: the client make sure the cache is clean before returning the data to the application  not allow caching when concurrent-write sharing occurs.  sequential-write sharing may also cause problems: a client opens a files that has recently modified and closed by another client 13
  • 14.
    Distributed File System: Semantics:  What a user wants? strict consistency.  Users can usually tolerate a certain degree of errors in file handling -- no need to enforce strict consistency. 14
  • 15.
  • 16.
    Architecture of Distributedsystem:  Presented on different platforms and several components can cooperate with one another over a communication network.  There are several technology frameworks to support distributed architectures, including .NET, J2EE, CORBA, .NET Web services, AXIS Java. 16
  • 17.
    Monolithic Kernel  Isan operating system is an operating system architecture where the entire operating system is working in kernel space.  It holds all privileges to access input/output devices, memory, hardware interrupts and CPU stack.  Tends to be larger than other kernel. 17
  • 18.
    Communication Primitives:  Highlevel construct help the program in using underlying communication network  Two types of communication primitive  Message passing  Remote procedure calls 18
  • 19.
    Message passing:  SEND– Message and its destination  RECEIVER – source of message and buffer for storing the message  Client server computing model:  Client sent message to server and waits  Server replies after computing 19
  • 20.
    Remote procedure call RPC is a protocol that one program can use to request a service from a program located in other computer in a network.  RPC use client server model  The main idea is to allow a local computer (client) to remotely call procedure on a remote computer (server)  RPC is a interaction between a client and server 20
  • 21.
    Message passing:  SEND– Message and its destination  RECEIVER – source of message and buffer for storing the message  Client server computing model:  Client sent message to server and waits  Server replies after computing 21
  • 22.
    Remote procedure call RPC is a protocol that one program can use to request a service from a program located in other computer in a network.  RPC use client server model  The main idea is to allow a local computer (client) to remotely call procedure on a remote computer (server)  RPC is a interaction between a client and server 22
  • 23.
    Synchronization mechanism inshared memory  Shared Memory Synchronization. In sharing memory, a portion of memory is mapped into the address space of one or more processes.  No method of coordinating access is automatically provided, so nothing prevents two processes from writing to the shared memory at the same time in the same place. 23
  • 24.
    Communication sequential process: CSP, is a language for describing patterns of interaction. It is supported by an elegant, mathematical theory, a set of proof tools, and an extensive literature.  It is a member of the family of mathematical theories of concurrency known as process algebras, 24
  • 25.
    Axiomatic verification ofparallel programs  A language for parallel programming, with a primitive construct for synchronization and mutual exclusion, is presented. Hoare's deductive system for proving partial correctness of sequential programs is extended to include the parallelism described by the language.  The proof method lends insight into how one should understand and present parallel programs. 25
  • 26.
    The sprite filesystem  Unix file system developed for diskless workstations with large memories at UCB.  Considers memory as a huge cache of disk blocks. Memory is shared between file system and VM.  Files are stored on servers. Servers have a large memory that acts as a cache as well.  If a file is being written by more than 1 machine, client caching is turned off -- all requests go to the server. 26
  • 27.
    Apollo domain distributedfile system  The Apollo DOMAIN® system is a fully operational distributed computing environment for a network of personal workstations and network servers.  Its distributed system focus was on a file system that provided users of autonomous workstations with the same ease of file sharing. 27
  • 28.
    X-kernel  X-kernel isan experimental distributed operating system which allows uniform access to resource on a nationwide internet.  Provide a uniform interface with which to access heterogenous physical file system.  Two unique features:  Each user define her or his own private file system out of the existing physical file system.  Logical directories with physical directories, identifies the type pf the physical file system and identifies the server (host) 28
  • 29.