Distributed Computing
Distributed Computing
COMPUTING
CS-3551
V.Sathiya
AP/IT
UNIT I
INTRODUCTION
Introduction: Definition-Relation to Computer System
Components – Motivation – Message –Passing
Systems versus Shared Memory Systems – Primitives
for Distributed Communication –
Synchronous versus Asynchronous Executions –
Design Issues and Challenges; A Model of
Distributed Computations: A Distributed Program – A
Model of Distributed Executions – Models of
Communication Networks – Global State of a
Distributed System.
Introduction:
• Distributed computing is a model in which
components of a software system are shared
among multiple computers or nodes. Even though
the software components may be spread out across
multiple computers in multiple locations, they're
run as one system.
• distributed system is a collection of independent
computers, interconnected via a network, capable
of collaborating on a task.
• Distributed computing is computing performed in a
distributed system.
Features of Distributed Systems:
• Communication mechanisms
• Processes
• Naming
• Synchronization
• Data storage and access
• Distributed systems security
• Communication mechanisms:- this task involves
designing appropriate mechanisms among the
process in the network.
• ex:- Remote procedure call
• Remote object Invocation.
• Processes:- issue involved are code migration,
process/thread management at client and servers
design of software and mobile agent.
• Naming easy to identifiers needed to locate
resource and processes transparently and scalable.
• Synchronization:- mutual exclusion is
the classical coordination among the
process are essential.
• Data storage and access:- various
schemes for data storage, searching and
lookup should be fast scalabe across
network.
• Distributed systems security:- secure
channels access key management are
method used to provide security
CHALLENGES
• application software
• Middleware
• (N – 1) request messages
• 1 reply message
performance
• Progress –
The method should be able to detect all the deadlocks in
the system.
• Safety –
The method should not detect false or phantom
deadlocks.
They are as follows:
• Centralized approach –
In the centralized approach, there is only one responsible resource to detect deadlock.
The advantage of this approach is that it is simple and easy to implement, while the
drawbacks include excessive workload at one node, single-point failure (that is the
whole system is dependent on one node if that node fails the whole system crashes)
which in turns makes the system less reliable.
• Distributed approach –
In the distributed approach different nodes work together to detect deadlocks. No
single point failure (that is the whole system is dependent on one node if that node
fails the whole system crashes) as the workload is equally divided among all nodes.
The speed of deadlock detection also increases.
• Hierarchical approach –
This approach is the most advantageous. It is the combination of both centralized and
distributed approaches of deadlock detection in a distributed system. In this approach,
some selected nodes or clusters of nodes are responsible for deadlock detection and
these selected nodes are controlled by a single node.
Issues of Deadlock Detection
• Path-Pushing Algorithms
• Edge-chasing Algorithms
• Diffusing Computations Based
Algorithms
• Global State Detection Based
Algorithms
• Path-Pushing Algorithms
• Path-pushing algorithms detect distributed deadlocks by
keeping an explicit global WFG. The main concept is to
create a global WFG for each distributed system site.
When a site in this class of algorithms performs a
deadlock computation, it sends its local WFG to all
neighboring sites.
• Edge-Chasing Algorithms
• An edge-chasing method verifies a cycle in a distributed
graph structure by sending special messages called
probes along the graph's edges. These probing messages
are distinct from request and response messages.
Models
of Deadlocks
• A deadlock occurs when a set of
processes is stalled because each
process is holding a resource and
waiting for another process to acquire
another resource.
• In the diagram below, for example,
Process 1 is holding Resource 1 while
Process 2 acquires Resource 2, and
Process 2 is waiting for Resource 1.
System Model :
• In this round, say round r, all the processes that have not failed so
far succeed in broadcasting their values, and all these processes
take the minimum of the values broadcast and received in that
round.
• Thus, the local values at the end of the round are the same, say
xifor all non-failed processes.
Iaas
Paas
Saas
Infrastructure as a Service (IaaS)
Virtual Window
hardwa s
re unix
Operati
Hardwa
ng
re
system
• Ccpu
• Memory
• Secondary
storage
Types of Virtualization:
• Innovation. ...
• Increased performance. ...
• Business continuity. ...
• Platform stability. ...
• Better end-user experience. ...
• Higher productivity. ...
• Reduced need to rely on expensive, external
experts.