DISTRIBUTED SYSTEM
Chapter-1
Introduction 1
Objectives/ Learning Outcomes
•After completing this chapter, the students will be able to:
Define Distributed System
Understand the difference between centralized and distributed
system
List Common Characteristics of Distributed System.
Understand Advantages Distributed System.
2
Understand the goal of Distributed system.
Definition of Distributed System
Distributed System is an application that executes a collection of protocols to
coordinate the actions of multiple processes on a communication network, such that all
components cooperate together to perform a single or small set of related tasks.
A Distributed System is any network structure that consists of autonomous computers
that are connected using a distribution middleware.
A Distributed System contains a collection of autonomous computers linked through a
computer network and distribution middleware.
3
Cont…
Distributed Systems facilitate sharing different resources and capabilities, to
provide users with a single and integrated coherent network.
• A Distributed System, also known as distributed computing, is a system with
multiple components located on different machines that communicate and
coordinate actions in order to appear as a single coherent system to the end-user.
• The machines that are a part of a distributed system may be computers, physical
servers, virtual machines, containers, or any other node that can connect to the
4
network, have local memory, and communicate by passing messages.
Cont…
Distributed System is a field of computer science that studies distributed systems.
A distributed system is a system whose components are located on different networked
computers, which communicate and coordinate their actions by passing messages to one
another from any system.
Distributed systems are groups of networked computers which share a common goal for
their work.
A Distributed System is a computer network that consists of
independent components communicating through a decentralized protocol.
The computers in a distributed system are not necessarily constrained to the same
5
geographic locale, but rather can be located anywhere across the world.
Cont…
A Distributed computer system consists of multiple software components that are
on multiple computers, but run as a single system.
The computers that are in a Distributed System can be physically close together
and connected by a local network, or they can be geographically distant and
connected by a wide area network.
A Distributed System can consist of any number of possible configurations, such
as mainframes, personal computers, workstations, minicomputers, and so on.
The goal of distributed computing is to make such a network work as a single
6
computer.
Cont…..
7
Cont…
The existence of multiple autonomous computers is transparent to the user
in a distributed system.
The user is not aware that the jobs are executed by multiple computers
exist in remote locations.
This means that like centralized systems no single computer in the system
carries the entire load on system resources that running a computer
8
program usually required.
Cont…
9
Cont…
A distributed System is a collection of independent computers
that appears to its users as a single coherent system.
Two aspects:
(1)Independent computers and (2) Single System
Middleware 10
Cont…
Figure 1-1. A distributed system organized as Middleware.
The middleware layer extends over multiple machines, and offers each
11
application the same interface.
Generally
A distributed system consists of a collection of autonomous
computers, connected through a network and distribution middleware,
which enables computers to coordinate their activities and to share the
resources of the system.
So that users perceive the system as a single, integrated computing
facility.
12
Cont…
A Distributed System is a loosely coupled collection of a autonomous
computers connected by a network using system software to produce a
single integrated computing environment”.
A distributed system is piece of software that serves to coordinate the
actions of several computers.
This coordination is achieved by exchanging messages, i.e., pieces of
13
data conveying information
Cont…
The system relies on a network that connects the computers and
handles the routing of messages.
A Distributed System is a network of autonomous computers that
communicate with each other in order to achieve a goal.
A Distributed System is one in which components located at networked
computers communicate and coordinate their actions only by passing
14
messages.
Example of Distributed Systems
Social Networking (Facebook)
Distributed File Systems
P2P Network
Cloud Network
Grid Computing
Google Web Server, Indexing Server, Google bots, etc. 15
Centralized Vs. Distributed System
One component with non-autonomous parts.
Component shared by users all the time.
All resources accessible.
Software runs in a single process.
Single Point of control.
Single Point of failure. 16
Centralized Vs. Distributed System
Multiple autonomous components.
Components are not shared by all users.
Resources may not be accessible.
Software runs in concurrent processes on different
processors.
Multiple Points of control.
17
Multiple Points of failure.
Advantages Distributed over Centralized System
Economics: A collection of microprocessors offer a better
price/performance than mainframes. Low price/performance ratio:
cost effective way to increase computing power.
Reliability: If one machine crashes, the system as a whole can still
survive. Higher availability and improved reliability.
Speed: A distributed system may have more total computing power
than a mainframe.
Incremental Growth: Computing power can be added in small
increments. This leads to Modular expandability 18
General Advantage of DS
Performance: very often a collection of processors can provide higher performance (and
better price/performance ratio) than a centralized computer.
Distribution: many applications involve, by their nature, spatially separated machines
(banking, commercial, automotive system).
Reliability (fault tolerance): if some of the machines crash, the system can survive.
Incremental growth: as requirements on processing power grow, new machines can be added
incrementally.
Sharing of data/resources: shared data is essential to many applications (banking, computer
supported cooperative work, reservation systems); other resources can be also shared.
19
Communication: facilitates human-to-human communication
Goals of Distributed System
The general goal of distributed system is to:
Making resources available
Distribution transparency
Openness
Scalability
20
Common Characteristics
Certain common characteristics can be used to assess distributed
systems
Resource Sharing
Openness
Concurrency
Scalability
Fault Tolerance
Transparency 21
Resource Sharing
Ability to use any hardware, software or data anywhere in
the system.
Resource manager controls access, provides naming scheme
and controls concurrency.
Resource sharing model (e.g. client/ server or object-based)
describing how resources are provided, they are used and provider
22
and user interact with each other.
Openness
Openness is concerned with extensions and improvements of
distributed systems.
Detailed interfaces of components need to be published and New
components have to be integrated with existing components.
Differences in data representation of interface types on different
processors (of different vendors) have to be resolved. 23
Cont…
The openness of distributed systems 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.
If the well-defined interfaces for a system are published, it is
easier for developers to add new features or replace sub-systems
in the future. 24
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 operates correctly
in a concurrent environment.
25
Scalability
Adaption of distributed systems to
Accommodate more users
Respond faster (this is the hard one)
Usually done by adding more and/or faster processors.
Components should not need to be changed when scale of a system
increases.
Design components to be scalable! 26
Cont…
• Scalability has 3 dimensions:
Size
Number of users and resources to be processed.
Problem associated is overloading
Geography
Distance between users and resources.
Problem associated is communication reliability
Administration
As the size of distributed systems increases, many of the system needs to be
controlled. 27
Problem associated is administrative mess
Fault Tolerance
Hardware, Software and Networks fail!
Distributed systems must maintain availability even at
low levels of hardware/software/network reliability.
Fault tolerance is achieved by
• Recovery
• Redundancy 28
Transparency
Distributed systems should be perceived by users and
application programmers as a whole rather than as a
collection of cooperating components.
These represent various properties that distributed systems
should have.
29
Cont…
No Transparency Description
1 Access Hide Differences in data representation and how a
resources is accessed
2 Location Hide where a resources is located
3 Migration Hide that a resource may be moved to another location
4 Relocation Hide that a resource may be moved to another location
while in use
5 Replication Hide that a resource is replicated
6 Concurrency Hide that a resource may be shared by several
competitive users
7 Failure Hide failures and recovery of a resources 30
THANK YOU!!!
QUESTIONS???
31