Design Issues of DS

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 21

Distributed Systems

Major Design Issues


Introduction

Management of Distributed System mainly


consists of:
Coordination of concurrent distributed processes
Management and networking of distributed resources
Functioning of distributed algorithms
But….
network may be unreliable
Components may be untrusted
These raise the design and implementation
issues.
Introduction
 Following need to be considered for resolving
design and implementation issues:
 How objects in the system are identified
 How to co-ordinate the interaction among objects
 how they communicate with each other
 How can shared/replicated objects be managed in
controlled fashion
 Protection of objects and system security
DESIGN & IMPLEMENTATION ISSUES

Object Models and Naming Schemes


Distributed Coordination
Inter-process Communication
Distributed Resources
Fault Tolerance and Security
[1] OBJECT MODELS AND
NAMING SCHEMES
Objects in a computer system:
 processes, data files, memory, devices, processors, and
networks.
Objects are encapsulated in servers
process servers, file servers, memory servers etc.
A client is a null server that accesses object servers.
[1] Object Models and Naming Schemes
CONT’D
Three possible ways to identify a server
Identification by name (name server)
Identification by either physical or logical address
(network server)
Identification by service that the servers provide

Following all depend on the naming scheme


for system objects:
Structure of the system, management of name space, name
resolution, access methods
[2] DISTRIBUTED
COORDINATION
Processes require coordination to achieve
synchronization
Types of synchronization requirement
Barrier synchronization
Condition coordination
Mutual exclusion
TYPES OF
SYNCHRONIZATION
Barrier synchronization
 Process must reach a common synchronization point before they
can continue

Condition coordination
 A process must wait for a condition that will be set asynchronously
by other interacting processes to maintain some ordering of
execution

Mutual exclusion
 Concurrent processes must have mutual exclusion when accessing a
critical shared resource
[2] Distributed Coordination

Process deadlock problem related to


synchronization
Deadlock detection and recovery tool needed
Four conditions must hold for deadlock to occur
Exclusive use
Hold and wait
No preemption
Cyclical wait
[2] Distributed Coordination

The problem of deadlocks can be handled in


following ways
Prevention
Ensure that deadlock is not possible
 Avoidance
require decisions by the system while it is running in
order to insure that deadlocks will not occur
Detection
When detected, decide which process to rollback or
abnormally terminate
[2] Distributed Coordination

If one of the four conditions is prevented, it will


prevent deadlocks
For example, to impose an order on the resources
and require processes to request resources in
increasing order. This prevents cyclical wait and
thus makes deadlocks impossible
[3] INTER-PROCESS
COMMUNICATION
Inter-process communication can be
accomplished by using simple message passing
primitives
Higher level logical communication methods
provides the transparency
Hide the physical details of message passing
Two important concepts
The client/server model
Remote Procedure Call (RPC)
The client/ server model is a programming
example for structuring processes in distributed
systems

logical communication
request

client server
reply

actual communication
kernel network kernel
Remote Procedure Call (RPC) is a powerful technique
for constructing distributed, client-server based
applications.
It is based on extending the conventional local procedure
calling so that the called procedure need not exist in
the same address space as the calling procedure.
The two processes may be on the same system, or they
may be on different systems with a network connecting
them. 
[3] Interprocess Communication

The Remote Procedure Call (RPC) model is


similar to that of the local model
The caller places arguments to a procedure in a specific
location (such as a result register)
The caller temporarily transfers control to the procedure
When the caller gains control again, it obtains the results
of the procedure from the specified location.
The caller then continues program execution.
[4] DISTRIBUTED RESOURCES

Data and Processing Capacity


Load Distribution
 multiprocessor scheduling (Static)
load distribution/sharing (Dynamic)
[4] DISTRIBUTED RESOURCES

Distributed shared memory


Distributed file systems

Issues: Sharing and Replication of data


Requires to maintain: data consistency and
coherency
Difference in implementation: distributed file
systems and distributed shared memory
[5] FAULT TOLERANCE AND SECURITY

Distributed Systems have openness in


operating environment
So vulnerable to failures and security threats
Faults: Failure and Security Violation
[5] FAULT TOLERANCE AND SECURITY

The problem of failures can be alleviated


through: redundancy
Transparent handling of failures (like removal of
machines, network links, and other resources)
without loss of data or functionality
Roll-back recovery for execution states
[5] Fault Tolerance and Security

OS view: trustworthy communication process,


confidentiality and integrity of messages and data

Security
 Authentication: clients and also servers and
messages must be authenticated.
Authorization: access control has to be performed
across a physical network with heterogeneous
components under different administrative units
using different security models.

You might also like