28-08-2020
CONTENTS
1. DEFINITION
Distributed Systems
2. GOALS
3. HARDWARE CONCEPTS
Dr. Sudhir N. Dhage 4. SOFTWARE CONCEPTS
Professor
Department of Computer Engineering 5. THE CLIENT-SERVER MODEL
Sardar Patel Institute of Technology,
Andheri, Mumbai.
Email:sudhir_dhage@[Link]
Distributed Computing System Models Minicomputer Model
• Minicomputer Model •Extension of centralized Time
Sharing Model.
• Workstation Model •Resource Sharing.
• Workstation Server Model •Minicomputer has evolved into the
• Processor Model mid-range server and a part of a
N/W.
• Hybrid Model
•AS-400
1
28-08-2020
Workstation Model Workstation Server Model
•Several W/S are interconnected by
High speed N/W.
•Interconnection of few
server class machine with
•Effective use of Computational
Power.
large number of workstations.
•Diskless Terminals are
allowed.
•E.g.. Novell NetWare
Hybrid Model
Processor Pool Model
• A combination of two or more online marketing payment
models.
• No concept of home machine.
• Better utilization of processing power as
compared to W/S model.
2
28-08-2020
Definition
DEFINITION Host PC
DISTRIBUTED SYSTEM
A collection of independent Network
computers that appears to its users
as a single coherent system. Node
Workstation
What is a distributed system? Major Advantages
A very broad definition:
– A set of autonomous processes • Resource Sharing
communicating among themselves to perform • Higher Performance
a task • Fault Tolerance
Issues: • Scalability
– Un-reliability of communication
– Lack of global knowledge
– Lack of synchronization and causal ordering
– Concurrency control
– Failure and recovery
3
28-08-2020
Why Distributed Systems are
The Rise of Distributed Systems
becoming Popular?
• Inherently distributed applications
• Computer hardware prices are falling and power • Information sharing among distributed users
increasing. • Resource sharing
• Network connectivity is increasing. • Better price performance
-Everyone is connected with fat pipes. • Shorter response time higher throughput
• It is easy to connect hardware together.
• Extensible and incremental growth
• Better flexibility in meeting users’ needs
The main features of a distributed system
• Functional Separation MIDDLEWARE
• Inherent distribution
• Reliability
• Scalability
• Economy
4
28-08-2020
Types of Distributed Systems
Clusters Grids Peer 2 Others GOALS
Peer The WWW is a
distributed
system! CONNECTING USERS
(of information). AND RESOURCES
Clusters can be A system It is actually peer
Groups of PCs whereby
(ordinary or combined to form to peer, but is
a "Grid", a system individual worth mentioning
specialized) users or nodes separately as a
TRANSPARENCY
brought of massive
collective can good example.
specifically communicate
together to computing power
which is designed with each CORBA can be
OPENNESS
work other by
collectively to be easily used used to create a
by "plugging in" themselves. distributed system
on problems. Examples of SCALABILITY
to it. of programming
such a system objects, almost
would be like a distributed
Napster. developer system.
CONNECTING USERS AND
RESOURCES TRANSPARENCY
Easy to access remote resources Transparency is the one in which
certain aspects of distribution are
Share resources with other users in controlled
made invisible to the application
way
programmer
Easy to collaborate and exchange information
5
28-08-2020
Transparency Description
DIFFERENT FORMS OF TRANSPARENCY: Access
Hide differences in data representation and how a resource is
accessed
Access Location Hide where a resource is located
Location Migration Hide that a resource may move to another location
Migration Hide that a resource may be moved to another location while in
Relocation
Relocation use
Replication Replication Hide that a resource is replicated
Concurrency Concurrency
Hide that a resource may be shared by several competitive
users
Failure
Failure Hide the failure and recovery of a resource
Persistence
Persistence Hide whether a (software) resource is in memory or on disk
OPENNESS SCALABILITY
An open distributed system is a A system is said to be scalable if it
system that offers services according remains effective when there is a
to standard rules that describe the significant increase in the number of
syntax and semantics of those resources and the number of users
services
6
28-08-2020
SCALABILITY CHALLENGES SCALING TECHNIQUES
ASYNCHRONOUS COMMUNICATION
Controlling the cost of physical resources
DISTRIBUTION
Controlling the performance loss
REPLICATION
Preventing software resources running out
CACHING
ASYNCHRONOUS COMMUNICATION
DISTRIBUTION
It involves taking a component,
splitting it into smaller parts and
subsequently spreading those parts
across the system
The difference between letting:
a) a server or
b) a client check forms as they are being filled
7
28-08-2020
REPLICATION
In this method, the components are
replicated across the distributed
system and are generally placed in the
proximity of the client accessing the
resource.
An example of dividing the DNS name space into zones.
CACHING HARDWARE CONCEPTS
It works on the same concept as BUS BASED ORGANISATION
replication but in this case the
decision to replicate the data is made
by the client and not by the owner of SWITCH BASED ORGANISATION
the resource.
8
28-08-2020
MULTIPROCESSOR SYSTEM
A bus-based multiprocessor
Different basic organizations and memories in distributed
computer systems
MULTICOMPUTER SYSTEMS
HOMOGENEOUS MULTICOMPUTER
SYSTEMS
HETEROGENEOUS MULTICOMPUTER
SYSTEMS
A crossbar switch An omega switching network
9
28-08-2020
HOMOGENEOUS MULTICOMPUTER HETEROGENEOUS
SYSTEMS
MULTICOMPUTER SYSTEMS
Grid Hypercube
OVERVIEW
SOFTWARE CONCEPTS
System Description Main Goal
DISTRIBUTED OPERATING
Tightly-coupled operating system for multi- Hide and manage
SYSTEM DOS
processors and homogeneous multicomputers hardware resources
NETWORK OPERATING NOS
Loosely-coupled operating system for Offer local services
heterogeneous multicomputers (LAN and WAN) to remote clients
SYSTEM
Additional layer atop of NOS implementing general- Provide distribution
Middleware
MIDDLEWARE purpose services transparency
10
28-08-2020
UNIPROCESSOR OPERATING SYSTEM
DISTRIBUTED OPERATING SYSTEM
UNIPROCESSOR OPERATING SYSTEM
MULTIPROCESSOR OPERATING SYSTEM
MULTICOMPUTER OPERATING SYSTEM
DISTRIBUTED SHARED MEMORY ACCESS
Separating applications from operating system code through a
microkernel
MULTICOMPUTER OPERATING
MULTIPROCESSOR OPERATING SYSTEM
SYSTEM
SEMAPHORE
can be thought of as an integer with
two operations down and up
MONITOR
can be thought of as a module
consisting of variables and
procedures General structure
11
28-08-2020
DISTRIBUTED SHARED MEMORY
ACCESS
a) Pages of address
space distributed
among four
machines
b) Situation after
CPU 1 references
page 10
c) Situation if page
10 is read only
Alternatives for blocking and buffering in message passing and replication is
used
NETWORK OPERATING SYSTEM
False sharing of a page between two independent processes General structure
12
28-08-2020
POSITIONING MIDDLEWARE
Two clients and a server in a network operating system General structure of a distributed system as middleware
Models of Middleware Services Offered by Middleware
[Link] System Model [Link] Transparency
-Basically used by Unix, Unix treated each H/W as a file, Treating each m/c over -How data is hidden
the N/W as a file.
-Writing and reading from any m/c is reading and writing the data from file. [Link]
Service used to locate specific resource over the system
[Link] Model
In this, you call a procedure at remote location from your current m/c 3. Persistence
-Giving permanent storage to each resource also know as persistence
3. Distributed File system model
-Using Distributed file system like CODA or NFS [Link] Transaction
-Allowing use of a resource located on a remote machine from a local machine.
[Link] Object model
-object is divided into two parts Implementation and Interface 5. Security
-Protect resource with the help security mechanism.
5. Distributed Document model
-achieved through linking
13
28-08-2020
14
28-08-2020
CLIENT-SERVER MODEL
General interaction between a client and a server
15
28-08-2020
APPLICATION LAYERING
The general organization of an Internet search engine into
three different layers
16
28-08-2020
MULTITIERED ARCHITECTURES THREE-TIERED ARCHITECTURE
1-29
1-30
Alternative client-server organizations (a) – (e) An example of a server acting as a client
MODERN ARCHITECTURE Why is it hard to design them?
• The usual problem of concurrent systems:
– Arbitrary interleaving of actions makes the system
hard to verify
+
• No globally shared memory (therefore hard to collect
global state)
• No global clock
• Unpredictable communication delays
An example of horizontal distribution of a Web service
17
28-08-2020
Models for Distributed
Complexity Measures
Algorithms
• Topology: Completely connected, Ring, Tree etc.
• Message complexity: no. of messages
• Communication: Shared memory / Message passing
• Communication complexity / Bit Complexity: no. of bits
(reliable? Delay? FIFO/Causal? Broadcast/multicast?)
• Time complexity:
• Synchronous/asynchronous – For synchronous systems, no. of rounds
– For asynchronous systems, different definitions are there.
• Failure models: Fail stop, Crash, Omission, Byzantine…
• An algorithm needs to specify the model on which it is
supposed to work
An experimental file server is up 75% of the time and down for 25% of
Some Fundamental Problems the time due to bugs. How many times does this file server have to be
replicated to give an availability of at least 99% ?
• Ordering events in the absence of a global clock
A) 2
• Capturing the global state
B) 4
• Mutual exclusion
C) 8
• Leader election
D)16
• Clock synchronization
• Termination detection
• Constructing spanning trees
• Agreement protocols
18
28-08-2020
Lets us check each option
An experimental file server is up 3/4 of the time and down 1/4 of the
time due to bugs. How many times does this fileserver have to be
a) if there are 2 replications, probability of failing both at replicated to give an availability of atleast 99%?
same time = .25*.25 = .0625 =6.25%
Availiability = 100-6.25=93% //Not the answer Availability, A, is 0.99; thus, the server can be down with probability 1 – A = 0.01.
b) In case of 4 replications probability of failing all at The probability of server failure, Pf, is 0.25. Thus, we are looking for the number
of servers, n, such that (0.25)n < 0.01. That is, the probability that all n servers
same time =(0.25) 4 =1.00=1% will be down must be below 1 – A. Here are some possibilities, which
Availiability = 100-1=99% //Hence the answer show that four server replicas are necessary.
Number of Servers (n) Probability All n Servers Are Down ((Pf)n)
No need to check furthur as all options are more than 4
1 -------------- 0.250
2 -------------- 0.063
3 -------------- 0.016
4 -------------- 0.004
In a distributed system, processes executing on different omputers often
need to communicate with each other to achieve some common goal.
Interprocess communication basically requires information sharing
among two or more processes.
The two basic methods for information sharing are as follows:
1. Original sharing, or shared-data approach
2. Copy sharing, or message-passing approach
19
28-08-2020
DESIRABlE FEATURES OF AGOOD MESSAGE·PASSING
SYSTEM
ISSUES IN IPC BY MESSAGE PASSING
1. Simplicity
2. Uniform Semantics
3. Efficiency
4. Reliability
5. Correctness
6. Flexibility
7. Security
8. Portability
20
28-08-2020
Thanks
21