Introduction To Distributed Systems
Introduction To Distributed Systems
2/36
What is distributed system?
3/36
What is distributed system?
Definition
Distributed System consists of a collection of autonomous
computers linked by a computer network and equipped with
distributed system software.
Distributed System software enables computers to co-ordinate
their activities & to share the resources of the system –
hardware, software and data.
Users of a Distributed System should perceive a single,
integrated computing facility even through it may be
implemented by many computers in different locations.
Entails the dispersion of hardware, software & data to
multiple computers
4/36
What is distributed system?
DS definitions
A collection of autonomous computers linked by a
computer network and supported by software that
enables the collections to operate as an integrated
facility.
Example: ATM, WWW
What is distributed?
Processing logic
Functions
Data
Control
5/36
Characteristics of Distributed Systems
Multiple nodes working independently with each others.
{NODE → CPU & MEMORY}
6/36
Advantages of distributed systems over
centralized systems
• Economics: a collection of microprocessors offer a better
price/performance than mainframes. Low price/performance
ratio: cost effective way to increase computing power.
7/36
Advantages of distributed systems over
centralized systems
• Reliability: If one machine crashes, the system as a whole can
still survive. Higher availability and improved reliability.
8/36
Advantages of distributed systems over
independent PCs
Data sharing:
allow many users to access to a common data base
Resource Sharing:
expensive peripherals like color printers
Communication:
enhance human-to-human communication
e.g., email, chat
Flexibility:
spread the workload over the available machines
9/36
Disadvantages of Distributed Systems
Software:
difficult to develop software for distributed systems
Network:
saturation, lossy transmissions
Security:
easy access also applies to secrete data
10/36
Significant Consequences of Distributed Systems
Concurrency
The capacity of the system to handle shared resources can be
increased by adding more resources (for example Computers) to
the network.
No global clock
There is no single global notion of the correct time. The only
communication is by sending messages through a network.
Independent failures
In DS, faults in the network result in the isolation of the
computers that are connected to it.
The programs may not be able to detect whether the network has
failed or has become unusually slow.
11/36
Distributed Systems Challenges
Heterogeneity
Openness
Security
Scalability
Failure handling
Concurrency
Transparency
12/36
Heterogeneity
13/36
Openness
The openness of DS is determined primarily by the degree
to which new resource-sharing services can be added and
be made available for use by a variety of client programs.
Open systems are characterized by the fact that their key
interfaces are published.
Open DS are based on the provision of a uniform
communication mechanism and published interfaces for
access to shared resources.
Open DS can be constrcted from heterogeneous hardware
and software.
14/36
Security
Security for information resources has three
components:
Confidentiality: protection against disclosure to
unauthorized individuals.
Integrity: protection against alteration or corruption.
Availability: protection against interference with the
means to access the resources.
Two new security challenges:
Denial of service attacks (DoS).
Security of mobile code.
15/36
Scalability
A system is described as scalable if it remains effective when
there is a significant increase in the number of resources and
the number of users.
Challenges:
Controlling the cost of resources.
Controlling the performance loss.
Preventing software resources from running out
Avoiding preformance bottlenecks.
16/36
Failure handling
When faults occur in hardware or software, programs may
produce incorrect results or they may stop before they have
completed the intended computation.
Techniques for dealing with failures:
Detecting failures
Masking failures
Tolerating failures
Recovering form failures
Redundancy
17/36
Concurrency
There is a possibility that several clients will attempt to
access a shared resource at the same time.
Any object that represents a shared resource in a distributed
system must be responsible for ensuring that it operates
correctly in a concurrent environment.
18/36
Transparency
Transparency is defined as the concealment from the user and
the application programmer of the separation of components
in a distributed system, so that the system is perceived as a
whole rather than as a collection of independent components.
Eight forms of transparency:
Access transparency
Location transparency
Concurrency transparency
Replication transparency
Failure transparency
Mobility transparency
Performance transparency
Scaling transparency
19/36
Issues in designing distributed O.S.
Transparency
Kinds of transparency
Access Transparency: local and remote resources are
to the users.
Name transparency
User mobility
21/36
Issues in designing distributed O.S. (contd…)
Reliability
Methods for dealing with faults, and to detect and remove
the faults:
Fault avoidance
Fault tolerance
Redundancy techniques
Distributed control
Fault detection and recovery
Atomic transactions
Stateless servers
Acknowledgments
22/36
Issues in designing distributed O.S. (contd…)
Flexibility
Design of a distributed operating system should be flexible
due to following reasons
Ease of modification
Ease of enhancement
Performance
Design principles
Batch if possible
Cache whenever possible
23/36
Issues in designing distributed O.S. (contd…)
Minimize copying of data
Minimize network traffic
Take advantage of fine-grain parallelism for multiprocessing
Scalability
Avoid centralized entities
Avoid centralized algorithms
Perform most operations on client workstations
Heterogeneity
Security
Emulation of existing OS
24/36
Distributed system models and architectures
Models are classified into five categories
1. MINICOMPUTER MODEL
2. WORKSTATION MODEL
3. WORKSTATION-SERVER MODEL
4. PROCESSOR-POOL MODEL
5. HYBRID MODEL
25/36
Minicomputer model
Simple extension of centralized time sharing system
May be used when resource sharing with remote users is
desired
Consists of few minicomputers interconnected
Each minicomputer has multiple users simultaneously logged
on to it through several interactive terminals connected to the
minicomputer
Each user logged on to one specific minicomputer, with
remote access to other minicomputers and remote shared
resources
Example: ARPAnet
26/36
Minicomputer model
Mini
Computer
TERMINALS
Communication
Mini Mini
Network
Computer Computer
Mini
Computer
27/36
Workstation model
Several workstations are interconnected by a
communication network
28/36
Workstation model
Workstation
Workstation
Workstation
Communication
Network
Workstation
Workstation
Workstation
29/36
Workstation model( Contd…)
30/36
Workstation-Server model
31/36
Workstation-server model
Workstation Workstation
(diskless) (diskfull)
Workstation
Workstation (diskless)
(diskless)
Communication
Network
Minicomputer as
Mini Computer as Data base Server
file server
Minicomputer as Minicomputer as
Print Server Email Server
32/36
Workstation-Server vs Workstation model
It is much cheaper – use of few minicomputers with large fast
disks than large number of diskful workstations with small,
slow disk
Backup and hardware maintenance are easier to perform
with a few large disks than many small disks scattered
around
Since all files are managed by the file servers, users have the
flexibility to use any workstation and access the files
Process migration facility is not needed here
Model does not utilize the processing capability of idle
workstations
A user has guaranteed response time because workstations
are not used for executing remote processes
33/36
Processor-pool model
Processors are pooled together to be shared by the users
as needed
34/36
Processor-pool model
Terminal
Terminal Terminal
Terminal
Terminal
Communication Network
Terminal
Run File
Ser Ser
Pool of
ver … … ver
processors
35/36
Hybrid Model
Combines the advantages of both workstation-server and
processor pool model
36/36
Why are distributed systems gaining popularity?
Inherently distributed applications
Resource sharing
Higher reliability
37/36
End of chapter 1
38/36