Distributed Computing: Dr. Sarbani Roy
Distributed Computing: Dr. Sarbani Roy
Introduction
Businesses,
from
startups to
enterprises
Networked computers
multiplicity of system components
abstractions provided by the operating system and
other software.
In other words, when we work with a collection of
independent computers, we are almost always made
painfully aware of this.
some applications require us to identify and
distinguish the individual computers by name.
Sometimes our computer hangs due to an error that
occurred on a machine that we have never heard of
before.
Network connection: The network connection between the various nodes can have a
large impact on the functionality and applications that such a system can be used for. A
multicomputer with a very high bandwidth network is more suitable for applications
that actively share data over the nodes and modify large amounts of that shared data.
A lower bandwidth network, however, is sufficient for applications where there is less
intense sharing of data.
Homogeneity: A homogeneous multicomputer is one where all the nodes are the same,
that is they are based on the same physical architecture (e.g. processor, system bus,
memory,etc.). A heterogeneous multicomputer is one where the nodes are not
expected to be the same.
One common characteristic of all types of multicomputers is that the
resources on any particular node cannot be directly accessed by any other
node. All access to remote resources ultimately takes the form of requests
sent over the network to the node where that resource resides.
Applications, services
Middleware
Operating system
Platform
Transparency
Scalability
Dependability
Performance
Flexibility
Access Transparency: Local and remote resources are accessed in same way
Location Transparency: Users are unaware of the location of resources
Migration Transparency: Resources can migrate without name change
Replication Transparency: Users are unaware of the existence of multiple copies of resources
Failure Transparency: Users are unaware of the failure of individual components
Concurrency Transparency: Users are unaware of sharing resources with others
Performance Transparency: users and application programmers are not aware as to how the
performance that a distributes system has is actually achieved
Scalability Transparency: Scalability denotes the fact that the distributed system can be
adjusted to accommodate a growing load / number of users
Note that complete transparency is not always desirable due to the trade-offs with
performance and scalability, as well as the problems that can be caused when confusing
local and remote operations. Furthermore complete transparency may not always be
possible since nature imposes certain limitations on how fast communication can take
place in wide-area networks.
Access Location
Transparency Transparency
Share resources
Personalise environments
Location independence
People & information are distributed
Performance & cost
Modularity & expandability
Availability & reliability
Scalability
BCSE-IV 2nd Sem Distributed Computing
Principles
There are several key principles underlying
all distributed systems. As such, any
distributed system can be described based
on how those principles apply to that
system.
System Architecture
Communication
Synchronization
Replication and Consistency
Fault Tolerance
Security
Naming
Centralized systems:
can rely on physical security
Users understand what trust to assign to
the system
System administrators are responsible
Distributed systems:
None of the above applies !
Hard to know what is being trusted or
what can be trusted
BCSE-IV 2nd Sem Distributed Computing
Paradigms
Most middleware systems (and, therefore,
most distributed systems) are based on a
particular paradigm, or model, for
describing distribution and communication.
Some of these paradigms are:
Shared memory
Distributed objects
Distributed file system
Shared documents
Distributed coordination
Agents
M.L. Liu:
“Distributed Computing”
Pearson Education