Overview to
Distributed Systems
V.V. Subrahmanyam
SOCIS, IGNOU
Date: 09-02-2013
Time: 1-00PM to 1-45PM
Processor Coupling
 Multiprocessor systems have more
than one processing unit sharing
memory/peripheral devices. They
have greater computing power, and
higher reliability. Multiprocessor
systems are classified into two:
• Tightly-coupled:
• Loosely-coupled (distributed): Each
processor has its own memory and copy
of the Operating System.
Tightly- Coupled Systems
 Each processor is assigned a specific duty but
processors work in close association, possibly
sharing one memory module.
 Tightly-coupled multiprocessor systems contain
multiple CPUs that are connected at the bus
level.
 These CPUs may have access to a central shared
memory (SMP), or may participate in a memory
hierarchy with both local and shared memory
(NUMA). The IBM p690 Regatta is an example of
a high end SMP system.
 Mainframe systems with multiple processors are
often tightly-coupled.
Contd…
 Tightly-coupled systems perform better
and are physically smaller than loosely-
coupled systems, but have historically
required greater initial investments and
may depreciate rapidly.
Loosely-Coupled Systems
 Loosely-coupled multiprocessor
systems often referred to as clusters
are based on multiple standalone
single or dual processor commodity
computers interconnected via a high
speed communication system.
 A Linux Beowulf is an example of a
loosely-coupled system.
Contd…
 Nodes in a loosely-coupled system
are usually inexpensive commodity
computers and can be recycled as
independent machines upon
retirement from the cluster.
 Loosely coupled systems are not
much energy efficient when
compared with tightly coupled.
Distributed Computing
 Distributed computing is the process of
aggregating the power of several
computing entities to collaboratively run
a computational task in a transparent
and coherent way, so that it appears as
a single, centralized system.
 A distributed computer system is a
loosely coupled collection of
autonomous computers connected by a
network using system software to
produce a single integrated computing
environment.
Properties of Distributed Systems
 Distributed computing consists of a
network if more or less independent
or autonomous nodes.
 The nodes do not share primary
storage (i.e., RAM) or secondary
storage (i.e., disk)
 A well designed distributed system
does not crash if a node goes down.
Contd…
 It consists of several computers that
do no share a memory or a clock
 The computers communicate with
each other by exchanging messages
over a communication network
 Each computer has its own memory
and run its own OS.
Contd…
 Local Resources
 Remote Resources
 Accessing remote resources is more
expensive than accessing local
resources because of the
communication delays that occur in
the network and the CPU overhead
incurred in Process communication
protocols.
Advantages of Distributed Systems over
Centralized Systems
 Better price/performance than mainframes
 More computing power (parallel processing)
 Some applications are inherently
distributed
 Improved reliability because system can
survive crash of one processor
 Incremental growth can be achieved by
adding one processor at a time
 Shared ownership facilitated.
Parallel Computing Vs Distributed Computing
 In parallel computing, all processors
may have access to a shared
memory to exchange information
between processors.
 In distributed computing, each
processor has its own private
memory (distributed memory).
Information is exchanged by passing
messages between the processors.
Advantages
 Resource Sharing
• H/w and s/w resources can be shared
 Enhanced performance /
Computation Speed-up
• Rapid response time
• Higher system throughput by concurrent
execution and load distribution
technique
Contd..
 Improved reliability and Availability
• Even a few components of the system fails the
availability of the rest of the system will be
there.
• Fault tolerant
• Services are processes that provide
functionality (ex: file service, mail service)
 Incremental Growth
• Use of open system standards permits new
components and subsystems to be added
without having to replace or upgrade any
existing components or subsystems
Disadvantages of Distributed Systems
 Network performance parameters.
 Latency: Delay that occurs after a send operation
is executed before data starts to arrive at the
destination computer.
 Data Transfer Rate: Speed at which data can be
transferred between two computers once
transmission has begun.
 Total network bandwidth: Total volume of traffic
that can be transferred across the network in a
give time.
 Dependency on reliability of the underlying
network.
 Higher security risk due to more possible access
points for intruders and possible communication
with insecure systems.
 Software complexity
Applications
 Telecommunication networks:
• Telephone networks and cellular networks
• Computer networks such as the Internet
• Wireless sensor networks
• Routing algorithms
 Network applications:
• World wide web and peer-to-peer networks
• Massively multiplayer online games and virtual
reality communities
• Distributed databases and distributed database
management systems
• Network file systems
• Distributed information processing systems such as
banking systems and airline reservation systems
Contd…
 Real-time process control:
• Aircraft control systems
• Industrial control systems
 Parallel computation:
• Scientific computing, including cluster
computing and grid computing and various volunteer
computing projects; see the list of distributed computing
projects
• Distributed rendering in computer graphics
Node Models in a Distributed
System
 As per Tanenbaum & Renesse,
• Minicomputer Model (PPU<1)
• Workstation Model (PPU=1)
• Processor Pool Model (PPU>1)
Note: These model differ primarily in
the no. of processors per user
(PPU) in a node
Mini Computer Model
 A minicomputer is a single processor
system which is simultaneously used
by a number of users.
 Normally, PPU<1
 The OS has to share the processor
among all the users in a fair manner.
 Efficiency of processor utilization is
important and an OS may resort to
suitable combination of Time sharing
and multiprogramming.
Workstation Model
 Consists of number of workstations.
 With the help of distributed file
system, a user can access data
regardless of the location of the data
or the user’s work station.
 The ratio of no. of processors to the
number of users is normally one.
Ex: Athena and Andrew
Processor Pool Model
 The ratio of the no. of processors to
the number of users is normally
greater than one.
 This attempts to allocate one or
more processors to the user’s needs.
 Once completed, they return to the
pool and await for a new assignment.
Ex: Amoeba
Clusters
 These emerged in late 1990s’, a new
paradigm for distributed systems.
 Is a group of computer systems
connected with a high speed
communication link.
 Each system has its own memory and
I/O devices.
 Hardware integration (sharing High
performance disks) and Software
integration(unified control of the
systems in a cluster)
Contd…
 All nodes in a cluster are under
control of the cluster software which
has some features of distributed O/S
like load sharing and fault tolerance.
 The nature of subtasks in a cluster
should be such that subtasks operate
mostly on their private data and
accesses to shared data are rare.
SMP Vs Clusters
 Resource sharing, computation
speed-up and reliability provided by
the cluster are different.
 Resource sharing across nodes in a
cluster has a higher cost than in SMP
due to the software intervention.
 In both the systems computation
speed-up is achieved by
decomposing a computational task
into sub tasks.
Contd…
 In SMP, subtasks can share code and
data. In cluster, subtasks cannot
share code and data sharing is more
expensive than in a SMP system.
 In a cluster the subtasks operate
mostly on their own private data and
accesses to shared to data are rare.
 Clusters provides better reliability
than the SMP system.
Distributed Operating Systems
 Key concept is Transparency.
 The use of multiple processors and
accessing of remote data should be
invisible to the user.
 The user views the system as a
virtual uniprocessor.
Issues in Distributed OS
 Global Knowledge
 Naming
 Scalability
 Compatibility
 Process Synchronization
 Resource Management
 Security
 Structuring
 Client Server Model
Global Knowledge
 Unavailability of Global memory and
a Global Clock
 Unpredictable message delays.
 The challenge is to determine
efficient techniques to implement
complete status of the distributed
system.
 How to order the events in the
absence of a global clock?
 Two logical clock schemes which
allow ordering of events in
Distributed systems.
 Token( a special control message)
based
• Token controls access to shared data in
mutual exclusion algorithms
• Token can also be used to control
access to the communication network.
Challenge
 If a token is lost due to
communication failure or computer
failure, then only one computer
should generate a new token which
requires all the computers in the
system should arrive at a consensus
that the token is lost and one of the
system should generate a new
token.
Contd..
 Due to unpredictable delays, a token
may be in transit and this may
appear to be lost…
 In the absence of global status of the
system, arriving to the consensus is
significant challenge…
Naming
 Names are used to refer objects
(computers, printers, services, files
and users)
 An example of a service is Name
service (it maps a logical name into a
physical address by making the use
of a table lookup or an algorithm or
both)
Contd..
 Tables are known as directories that
store names and their physical
addresses.
 These may be replicated and stored
at many different locations to
overcome a single point of failure
and also to increase the availability
of the name service.
Drawbacks of Replication
 Requires more Storage capacity
 Synchronization requirements
Partitioning of Directories
 To overcome this, directories may be
partitioned
 However, there is a difficulty
encountered when attempting to find
the partition containing the name
and its corresponding physical
address of interest.
 May be handled yet another directory
or through broadcast search.
 It is less reliable.
Algorithm-Based
 If an algorithm is used for mapping,
the algorithm would depend upon
the structure of the names. For this,
there are several name resolving
algorithms.
 Another challenge is to locate the
object irrespective of its logical
name.
Scalability
 No. of systems generally grow with
time.
 It should not degrade the
performance or it should not result in
system unavailability while scaling.
Example
 For example, broadcast protocols
work well for small systems but not
for large systems.
 As an example consider a distributed
file system that locates files by
broadcasting queries…
Compatibility
 Refers to the notion of
interoperability among resources in a
system
 3 different levels exist
• Binary level
• Execution level
• Protocal level
Binary level
 All processors execute the same binary
instruction repertoire, even though the
processors may differ in performance and in I/P &
O/P.
 Advantage is easier for system development as it
totally depends on the machine level instructions.
 Disadvantage is we cant have different
architectures…
 Rarely supported in large distributed systems
Ex: Emerald Distributed system
Execution Level
 If the same source code is compiled
and executed on any computer in the
distributed system.
 Ex: Andrew and Athena
Protocol Level
 It achieves interoperability by
requiring all system components to
support a common set of protocols.
 Protocol level compatibility is that
individual computers can run
different O/S while not sacrificing
their interoperability.
 Ex: It will employs common
protocols for file access, naming and
authentication
Process Synchronization
 Different computers ---- different
process --- concurrently accessing
the shared resource
 Mutual exclusion problem
 There are several algorithms…
 Handling Deadlocks…
Distributed Operating Systems
 It controls operation of all nodes in
the system
 The same kernel or microkernel is
used in all nodes so that each node
can perform control functions on
behalf of the distributed OS.
 Control functions in different nodes
of the system cooperate with one
another to realize creation of
processes and use of resources.
 The distributed OS need not be
aware of the identities of different
nodes and locations of resources in
the system.
 Since all resources and computations
are under a unified control, the OS
can optimize resource utilization and
provide fault tolerance.
Please may go through….
 Windows 2000 Cluster Server
 Sun Cluster
 Amoeba
Thank you

Overview of Distributed Systems

  • 1.
    Overview to Distributed Systems V.V.Subrahmanyam SOCIS, IGNOU Date: 09-02-2013 Time: 1-00PM to 1-45PM
  • 2.
    Processor Coupling  Multiprocessorsystems have more than one processing unit sharing memory/peripheral devices. They have greater computing power, and higher reliability. Multiprocessor systems are classified into two: • Tightly-coupled: • Loosely-coupled (distributed): Each processor has its own memory and copy of the Operating System.
  • 3.
    Tightly- Coupled Systems Each processor is assigned a specific duty but processors work in close association, possibly sharing one memory module.  Tightly-coupled multiprocessor systems contain multiple CPUs that are connected at the bus level.  These CPUs may have access to a central shared memory (SMP), or may participate in a memory hierarchy with both local and shared memory (NUMA). The IBM p690 Regatta is an example of a high end SMP system.  Mainframe systems with multiple processors are often tightly-coupled.
  • 4.
    Contd…  Tightly-coupled systemsperform better and are physically smaller than loosely- coupled systems, but have historically required greater initial investments and may depreciate rapidly.
  • 5.
    Loosely-Coupled Systems  Loosely-coupledmultiprocessor systems often referred to as clusters are based on multiple standalone single or dual processor commodity computers interconnected via a high speed communication system.  A Linux Beowulf is an example of a loosely-coupled system.
  • 6.
    Contd…  Nodes ina loosely-coupled system are usually inexpensive commodity computers and can be recycled as independent machines upon retirement from the cluster.  Loosely coupled systems are not much energy efficient when compared with tightly coupled.
  • 7.
    Distributed Computing  Distributedcomputing is the process of aggregating the power of several computing entities to collaboratively run a computational task in a transparent and coherent way, so that it appears as a single, centralized system.  A distributed computer system is a loosely coupled collection of autonomous computers connected by a network using system software to produce a single integrated computing environment.
  • 8.
    Properties of DistributedSystems  Distributed computing consists of a network if more or less independent or autonomous nodes.  The nodes do not share primary storage (i.e., RAM) or secondary storage (i.e., disk)  A well designed distributed system does not crash if a node goes down.
  • 9.
    Contd…  It consistsof several computers that do no share a memory or a clock  The computers communicate with each other by exchanging messages over a communication network  Each computer has its own memory and run its own OS.
  • 10.
    Contd…  Local Resources Remote Resources  Accessing remote resources is more expensive than accessing local resources because of the communication delays that occur in the network and the CPU overhead incurred in Process communication protocols.
  • 11.
    Advantages of DistributedSystems over Centralized Systems  Better price/performance than mainframes  More computing power (parallel processing)  Some applications are inherently distributed  Improved reliability because system can survive crash of one processor  Incremental growth can be achieved by adding one processor at a time  Shared ownership facilitated.
  • 12.
    Parallel Computing VsDistributed Computing  In parallel computing, all processors may have access to a shared memory to exchange information between processors.  In distributed computing, each processor has its own private memory (distributed memory). Information is exchanged by passing messages between the processors.
  • 13.
    Advantages  Resource Sharing •H/w and s/w resources can be shared  Enhanced performance / Computation Speed-up • Rapid response time • Higher system throughput by concurrent execution and load distribution technique
  • 14.
    Contd..  Improved reliabilityand Availability • Even a few components of the system fails the availability of the rest of the system will be there. • Fault tolerant • Services are processes that provide functionality (ex: file service, mail service)  Incremental Growth • Use of open system standards permits new components and subsystems to be added without having to replace or upgrade any existing components or subsystems
  • 15.
    Disadvantages of DistributedSystems  Network performance parameters.  Latency: Delay that occurs after a send operation is executed before data starts to arrive at the destination computer.  Data Transfer Rate: Speed at which data can be transferred between two computers once transmission has begun.  Total network bandwidth: Total volume of traffic that can be transferred across the network in a give time.  Dependency on reliability of the underlying network.  Higher security risk due to more possible access points for intruders and possible communication with insecure systems.  Software complexity
  • 16.
    Applications  Telecommunication networks: •Telephone networks and cellular networks • Computer networks such as the Internet • Wireless sensor networks • Routing algorithms  Network applications: • World wide web and peer-to-peer networks • Massively multiplayer online games and virtual reality communities • Distributed databases and distributed database management systems • Network file systems • Distributed information processing systems such as banking systems and airline reservation systems
  • 17.
    Contd…  Real-time processcontrol: • Aircraft control systems • Industrial control systems  Parallel computation: • Scientific computing, including cluster computing and grid computing and various volunteer computing projects; see the list of distributed computing projects • Distributed rendering in computer graphics
  • 18.
    Node Models ina Distributed System  As per Tanenbaum & Renesse, • Minicomputer Model (PPU<1) • Workstation Model (PPU=1) • Processor Pool Model (PPU>1) Note: These model differ primarily in the no. of processors per user (PPU) in a node
  • 19.
    Mini Computer Model A minicomputer is a single processor system which is simultaneously used by a number of users.  Normally, PPU<1  The OS has to share the processor among all the users in a fair manner.  Efficiency of processor utilization is important and an OS may resort to suitable combination of Time sharing and multiprogramming.
  • 20.
    Workstation Model  Consistsof number of workstations.  With the help of distributed file system, a user can access data regardless of the location of the data or the user’s work station.  The ratio of no. of processors to the number of users is normally one. Ex: Athena and Andrew
  • 21.
    Processor Pool Model The ratio of the no. of processors to the number of users is normally greater than one.  This attempts to allocate one or more processors to the user’s needs.  Once completed, they return to the pool and await for a new assignment. Ex: Amoeba
  • 22.
    Clusters  These emergedin late 1990s’, a new paradigm for distributed systems.  Is a group of computer systems connected with a high speed communication link.  Each system has its own memory and I/O devices.  Hardware integration (sharing High performance disks) and Software integration(unified control of the systems in a cluster)
  • 23.
    Contd…  All nodesin a cluster are under control of the cluster software which has some features of distributed O/S like load sharing and fault tolerance.  The nature of subtasks in a cluster should be such that subtasks operate mostly on their private data and accesses to shared data are rare.
  • 24.
    SMP Vs Clusters Resource sharing, computation speed-up and reliability provided by the cluster are different.  Resource sharing across nodes in a cluster has a higher cost than in SMP due to the software intervention.  In both the systems computation speed-up is achieved by decomposing a computational task into sub tasks.
  • 25.
    Contd…  In SMP,subtasks can share code and data. In cluster, subtasks cannot share code and data sharing is more expensive than in a SMP system.  In a cluster the subtasks operate mostly on their own private data and accesses to shared to data are rare.  Clusters provides better reliability than the SMP system.
  • 26.
    Distributed Operating Systems Key concept is Transparency.  The use of multiple processors and accessing of remote data should be invisible to the user.  The user views the system as a virtual uniprocessor.
  • 27.
    Issues in DistributedOS  Global Knowledge  Naming  Scalability  Compatibility  Process Synchronization  Resource Management  Security  Structuring  Client Server Model
  • 28.
    Global Knowledge  Unavailabilityof Global memory and a Global Clock  Unpredictable message delays.  The challenge is to determine efficient techniques to implement complete status of the distributed system.  How to order the events in the absence of a global clock?
  • 29.
     Two logicalclock schemes which allow ordering of events in Distributed systems.  Token( a special control message) based • Token controls access to shared data in mutual exclusion algorithms • Token can also be used to control access to the communication network.
  • 30.
    Challenge  If atoken is lost due to communication failure or computer failure, then only one computer should generate a new token which requires all the computers in the system should arrive at a consensus that the token is lost and one of the system should generate a new token.
  • 31.
    Contd..  Due tounpredictable delays, a token may be in transit and this may appear to be lost…  In the absence of global status of the system, arriving to the consensus is significant challenge…
  • 32.
    Naming  Names areused to refer objects (computers, printers, services, files and users)  An example of a service is Name service (it maps a logical name into a physical address by making the use of a table lookup or an algorithm or both)
  • 33.
    Contd..  Tables areknown as directories that store names and their physical addresses.  These may be replicated and stored at many different locations to overcome a single point of failure and also to increase the availability of the name service.
  • 34.
    Drawbacks of Replication Requires more Storage capacity  Synchronization requirements
  • 35.
    Partitioning of Directories To overcome this, directories may be partitioned  However, there is a difficulty encountered when attempting to find the partition containing the name and its corresponding physical address of interest.  May be handled yet another directory or through broadcast search.  It is less reliable.
  • 36.
    Algorithm-Based  If analgorithm is used for mapping, the algorithm would depend upon the structure of the names. For this, there are several name resolving algorithms.  Another challenge is to locate the object irrespective of its logical name.
  • 37.
    Scalability  No. ofsystems generally grow with time.  It should not degrade the performance or it should not result in system unavailability while scaling.
  • 38.
    Example  For example,broadcast protocols work well for small systems but not for large systems.  As an example consider a distributed file system that locates files by broadcasting queries…
  • 39.
    Compatibility  Refers tothe notion of interoperability among resources in a system  3 different levels exist • Binary level • Execution level • Protocal level
  • 40.
    Binary level  Allprocessors execute the same binary instruction repertoire, even though the processors may differ in performance and in I/P & O/P.  Advantage is easier for system development as it totally depends on the machine level instructions.  Disadvantage is we cant have different architectures…  Rarely supported in large distributed systems Ex: Emerald Distributed system
  • 41.
    Execution Level  Ifthe same source code is compiled and executed on any computer in the distributed system.  Ex: Andrew and Athena
  • 42.
    Protocol Level  Itachieves interoperability by requiring all system components to support a common set of protocols.  Protocol level compatibility is that individual computers can run different O/S while not sacrificing their interoperability.  Ex: It will employs common protocols for file access, naming and authentication
  • 43.
    Process Synchronization  Differentcomputers ---- different process --- concurrently accessing the shared resource  Mutual exclusion problem  There are several algorithms…  Handling Deadlocks…
  • 44.
    Distributed Operating Systems It controls operation of all nodes in the system  The same kernel or microkernel is used in all nodes so that each node can perform control functions on behalf of the distributed OS.  Control functions in different nodes of the system cooperate with one another to realize creation of processes and use of resources.
  • 45.
     The distributedOS need not be aware of the identities of different nodes and locations of resources in the system.  Since all resources and computations are under a unified control, the OS can optimize resource utilization and provide fault tolerance.
  • 46.
    Please may gothrough….  Windows 2000 Cluster Server  Sun Cluster  Amoeba
  • 47.