0% found this document useful (0 votes)
7 views21 pages

Overview of Distributed Systems Concepts

dc NOTES

Uploaded by

idk2244.aabb
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views21 pages

Overview of Distributed Systems Concepts

dc NOTES

Uploaded by

idk2244.aabb
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

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

You might also like