0% found this document useful (0 votes)
23 views42 pages

Distributed Systems Overview

Uploaded by

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

Distributed Systems Overview

Uploaded by

skpiczonly
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 42

Distributed Systems- Overview

Dr.Bhawana Rudra
Disclamer: The diagrams have been taken
from various sites.
Outline
Definition of a Distributed System
Goals of a Distributed System
Types of Distributed Systems
What Is A Distributed System?
A collection of independent computers that
appears to its users as a single coherent
system.
Features:
No shared memory – message-based
communication
Each runs its own local OS
Heterogeneity: Diverse in character
Ideal: to present a single-system image:
The distributed system “looks like” a single
computer rather than a collection of separate
computers.
Distributed System Characteristics

To present a single-system image:


Hide internal organization, communication details
Provide uniform interface
Easily expandable
Adding new computers is hidden from users
Continuous availability
Failures in one component can be covered by
other components
Supported by middleware
Definition of a Distributed
System

Figure 1. A distributed system organized as middleware. The


middleware layer runs on all machines, and offers a uniform
interface to the system
Role of Middleware (MW)
In some early research systems: MW tried
to provide the illusion that a collection of
separate machines was a single computer.
E.g. NOW project: GLUNIX middleware
Today:
clustering software allows independent
computers to work together closely
MW also supports seamless access to remote
services, doesn’t try to look like a general-
purpose OS
Middleware Examples
CORBA (Common Object Request Broker
Architecture)
DCOM (Distributed Component Object
Management) – being replaced by .net
Sun’s ONC RPC (Remote Procedure Call)
RMI (Remote Method Invocation)
SOAP (Simple Object Access Protocol)
Middleware Examples
All of the previous examples support
communication across a network:
They provide protocols that allow a
program running on one kind of computer,
using one kind of operating system, to call
a program running on another computer
with a different operating system
The communicating programs must be
running the same middleware.
Distributed System Goals
Resource Accessibility
Distribution Transparency
Openness
Scalability
Goal 1 – Resource Availability
Support user access to remote resources
(printers, data files, web pages, CPU cycles)
and the fair sharing of the resources
Economics of sharing expensive resources
Performance enhancement – due to multiple
processors; also due to ease of
collaboration and info exchange – access to
remote services
Groupware: tools to support collaboration

Resource sharing introduces security


problems.
Goal 2 – Distribution
Transparency
Software hides some of the details of
the distribution of system resources.
Makes the system more user friendly.
A distributed system that appears to its
users & applications to be a single
computer system is said to be
transparent.
Users & apps should be able to access
remote resources in the same way they
access local resources.
Transparency has several dimensions.
Types of Transparency
Transparenc Description
y
Access Hide differences in data representation &
resource access (enables interoperability)
Location Hide location of resource (can use
resource without knowing its location)
Migration Hide possibility that a system may change
location of resource (no effect on access)
Replication Hide the possibility that multiple copies of
the resource exist (for reliability and/or
availability)
Concurrency Hide the possibility that the resource may
be shared concurrently
Failure Hide failure and recovery of the resource.
How does one differentiate betw. slow and
failed?
Relocation
Figure Hide
2. Different forms that resource
of transparency may be
in a distributed moved
system during
(ISO, 1995)
Goal 2: Degrees of
Transparency
Trade-off: transparency versus other
factors
Reduced performance: multiple attempts to
contact a remote server can slow down the
system – should you report failure and let
user cancel request?
Convenience: direct the print request to my
local printer, not one on the next floor
Too much emphasis on transparency
may prevent the user from
understanding system behavior.
Goal 3 - Openness
 An open distributed system “…offers services
according to standard rules that describe the syntax
and semantics of those services.” In other words, the
interfaces to the system are clearly specified and
freely available.
 Compare to network protocols
 Not proprietary
 Interface Definition/Description Languages
(IDL): used to describe the interfaces between
software components, usually in a distributed system
 Definitions are language & machine independent
 Support communication between systems using different
OS/programming languages; e.g. a C++ program running on
Windows communicates with a Java program running on UNIX
 Communication is usually RPC-based.
Examples of IDLs
Goal 3-Openness

IDL: Interface Description Language


The original
WSDL: Web Services Description Language
Provides machine-readable descriptions of the
services
OMG IDL: used for RPC in CORBA
OMG – Object Management Group
Open Systems Support …
Interoperability: the ability of two different
systems or applications to work together
A process that needs a service should be able
to talk to any process that provides the
service.
Multiple implementations of the same service
may be provided, as long as the interface is
maintained
Portability: an application designed to run
on one distributed system can run on another
system which implements the same
interface.
Extensibility: Easy to add new components,
features
Goal 4 - Scalability
Dimensions that may scale:
With respect to size
With respect to geographical distribution
With respect to the number of administrative
organizations spanned
A scalable system still performs well as it
scales up along any of the three
dimensions.
Size Scalability

Scalability is negatively affected when the


system is based on
Centralized server: one for all users
Centralized data: a single data base for all users
Centralized algorithms: one site collects all
information, processes it, distributes the results
to all sites.
 Complete knowledge: good
 Time and network traffic: bad
Decentralized Algorithms
No machine has complete information
about the system state
Machines make decisions based only on
local information
Failure of a single machine doesn’t ruin the
algorithm
There is no assumption that a global clock
exists.
Geographic Scalability
Early distributed systems ran on LANs, relied
on synchronous communication.
May be too slow for wide-area networks
Wide-area communication is unreliable, point-to-
point;
Unpredictable time delays may even affect
correctness
 LAN communication is based on broadcast.
Consider how this affects an attempt to locate a
particular kind of service
Centralized components + wide-area
communication: waste of network bandwidth
Scalability - Administrative
Different domains may have different
policies about resource usage,
management, security, etc.
Trust often stops at administrative
boundaries
Requires protection from malicious attacks
Scaling Techniques
Scalability affects performance more than
anything else.
Three techniques to improve scalability:
Hiding communication latencies
Distribution
Replication
Hiding Communication
Delays
Structure applications to use
asynchronous communication (no
blocking for replies)
While waiting for one answer, do something
else; e.g., create one thread to wait for the reply
and let other threads continue to process or
schedule another task
Download part of the computation to the
requesting platform to speed up processing
Filling in forms to access a DB: send a separate
message for each field, or download form/code
and submit finished version.
i.e., shorten the wait times
Third Scaling Technique -
Replication

Replication: multiple identical copies of


something
Replicated objects may also be distributed,
but aren’t necessarily.
Replication
Increases availability
Improves performance through load
balancing
May avoid latency by improving proximity of
resource
Caching
Caching is a form of replication
Normally creates a (temporary) replica of
something closer to the user
Replication is often more permanent
User (client system) decides to cache,
server system decides to replicate
Both lead to consistency problems
Summary Goals for Distribution
Resource accessibility
For sharing and enhanced performance
Distribution transparency
For easier use
Openness
To support interoperability, portability,
extensibility
Scalability
With respect to size (number of users),
geographic distribution, administrative
domains
Transaction Processing
Systems
Provide a highly structured client-server
approach for database applications
Transactions are the communication model
Obey the ACID properties:
Atomic: all or nothing
Consistent: invariants are preserved
Isolated (serializable)
Durable: committed operations can’t be
undone
Transaction Processing
Systems
Figure 1-8. Example primitives for
transactions.

Figure 3: Example primitives for transactions


Transactions
Transaction processing may be centralized
(traditional client/server system) or
distributed.
A distributed database is one in which the
data storage is distributed – connected to
separate processors.
Nested Transactions
A nested transaction is a transaction within
another transaction (a sub-transaction)
Example: a transaction may ask for two
things (e.g., airline reservation info + hotel
info) which would spawn two nested
transactions
Primary transaction waits for the results.
While children are active parent may only
abort, commit, or spawn other children
Transaction Processing
Systems

Figure 4. A nested transaction.


Implementing Transactions
Conceptually, private copy of all data
Actually, usually based on logs
Multiple sub-transactions – commit, abort
Durability is a characteristic of top-level
transactions only
Nested transactions are suitable for
distributed systems
Transaction processing monitor may
interface between client and multiple data
bases.
Enterprise Application
Integration
Less structured than transaction-based
systems
EA components communicate directly
Enterprise applications are things like HR
data, inventory programs, …
May use different OSs, different DBs but need
to interoperate sometimes.
Communication mechanisms to support
this include CORBA, Remote Procedure
Call (RPC) and Remote Method Invocation
(RMI)
Enterprise Application
Integration

Middleware as a communication facilitator in enterprise


application integration.
Distributed Pervasive
Systems
The first two types of systems are
characterized by their stability: nodes and
network connections are more or less fixed
This type of system is likely to incorporate
small, battery-powered, mobile devices
Home systems
Electronic health care systems – patient
monitoring
Sensor networks – data collection, surveillance
Home System
Built around one or more PCs, but can also
include other electronic devices:
Automatic control of lighting, sprinkler
systems, alarm systems, etc.
Network enabled appliances
PDAs and smart phones, etc.
Electronic Health Care
Systems

Monitoring a person in a pervasive electronic health care system,


using (a) a local hub or (b) a continuous wireless connection.
Sensor Networks
A collection of geographically distributed nodes
consisting of a comm. device, a power source,
some kind of sensor, a small processor…
Purpose: to collectively monitor sensory data
(temperature, sound, moisture etc.,) and
transmit the data to a base station
“smart environment” – the nodes may do some
rudimentary processing of the data in addition
to their communication responsibilities.
Sensor Networks

Organizing a sensor network database, while storing and


processing data (a) only at the operator’s site or …
Sensor Networks

Organizing a sensor network database, while storing and


processing data … or (b) only at the sensors.
Questions?

You might also like