DS - Chapter # 1

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

INTRODUCTION TO

DISTRIBUTED SYSTEMS
CHAPTER # 1 Advanced Distributed Systems
What is a Distributed Systems

A distributed system is:

A collection of independent computers that appears to its


users as a single coherent system
Or
Distributed system are collection of computers that act,
and appear as one large computer.WWW is the example
of Distributed sytem.
Or
Collection of multiple,logically related database distributed
over a network is DDS.
Chapter # 1 Advanced Distributed Systems 2
Distributed System

 A distributed system could be;


 A single system with multiple processors
 A cluster of workstation
 It is a collection of heterogeneous computers
 Resources resides in separate units
 Communication is done through message passing or shared
memory
 A standardized distributed system architecture removes
complexity resulting from diversity of technology
 The performance of a distributed system is determined by the
speed and latency to end-to-end communication

Chapter # 1 Advanced Distributed Systems 3


Distributed System

Chapter # 1 Advanced Distributed Systems 4


Distributed System

Chapter # 1 Advanced Distributed Systems 5


Advantages of Distributed System
 Communication and resource sharing possible
 Data sharing
 one computer can obtain access to data held at some other computer
 Function sharing
 it enables one computer to use facilities available on some other computer
 Economical : Price - performance ratio
 Enable one application to utilized several computer resources
 Reliability
 The effect of breakdown of one or more components can be reduced
 Scalability
 It has potential for incremental growth

Chapter # 1 Advanced Distributed Systems 6


Advantages or why distributed system-shahzad

Why distributed system?


 Much better price/performance ratio.

 Resource sharing.

 Enhanced performance -- tasks can be executed


concurrently; load distribution to reduceresponse
time.
 Higher reliability -- data replication.

 Easier modular expansion -- hardware and software


resources can be easily added withoutreplacing
existing resources.
 Bottle neck problem

Chapter # 1 Advanced Distributed Systems 7


Distributed OS vs Network OS
 Network Operating System
 Users are aware of multiplicity of machines
 Access to resources of various machines is done explicitly by:
 Remote logging into the appropriate remote machine
 Transferring data from remote machines to local machines, via the File
Transfer Protocol (FTP) mechanism
 Distributed Operating System
 Users not aware of multiplicity of machines
 access to remote resources similar to access to local resources
 Data Migration
 transfer data by transferring entire file, or
 transferring only those portions of the file necessary for the immediate task
 Computation Migration
 transfer the computation, rather than the data, across the system

Chapter # 1 Advanced Distributed Systems 8


Distributed Application Examples

 The World Wide Web


 Automated banking systems
 Cellular phone network
 Global positioning systems
 Retail point-of-sale terminals
 Air-traffic control
 Avionics (fly-by-wire)

Chapter # 1 Advanced Distributed Systems 9


Motivation for Distribution

 Share resources
 Personalise environments
 Location independence
 People & information are distributed
 Performance & cost
 Modularity & expandability
 Availability & reliability
 Scalability

Chapter # 1 Advanced Distributed Systems 10


Design Goals & Challenges
What we are trying to achieve when we construct a distributed
system.
Cetrtain common characteristics can be used to assess
distributed system.
 Heterogeneity

 Openness

 Scalability

 Security

 Failure handling

 Concurrency

 Performance

 Consistency

 Transparencies

Chapter # 1 Advanced Distributed Systems 11


Heterogeneity (The distributed system contains many different
kinds of hardware and software working together in cooperative fashion to
solve problems. )

 Variety and differences in


 Computer hardware
 Operating systems
 Networks
 Programming languages
 Implementations by different developers
 Middleware (a software layer) is used to deal with
heterogeneity
 It provide a programming abstraction as well as masking the
heterogeneity of the underlying networks, hardware, OS, and
programming languages (e.g., CORBA)

Chapter # 1 Advanced Distributed Systems 12


Openness
 Openness determines how the system can be extended and
implemented in various ways
 Openness is achieved by publishing the key interfaces
 Openness is concerned with extensions and improvements
of distributed systems
 New components have to be integrated with existing
components
 Differences in data representation of interface types on
different processors (of different vendors) have to be
resolved

Chapter # 1 Advanced Distributed Systems 13


(oppeness) shahzad
 The openness of a computer system is the characteristic that
determines whether the system can be extended and re-
implemented in various ways like:
 Interoperability (The ability of computer systems or software
to exchange and make use of information.)
 -Ability of a computer system to run application programs
from different vendors, and to interact with other computers
across local or wide-area networks regardless of their physical
architecture and operating systems
 Portability (the ability of software to be transferred from one
machine to another machine.)
 Extensibility (the quality of being designed to allow the
addition of new capabilities or functionality)
 Example: Twitter and Facebook have API that allows
developers to develop theirs own software interactively.

Chapter # 1 Advanced Distributed Systems 14


(oppeness) shahzad-1

 Open distributed system:


Be able to interact with services from other open
systems, irrespective of the underlying environment:
 Systems should conform to well-defined interfaces.
Systems should support portability of applications.
Systems should easily interoperate.
 Achieving openness:
At least make the distributed system independent
from heterogeneity of the underlying environment:
 HardwarePlatforms
 Languages
Chapter # 1 Advanced Distributed Systems 15
(oppeness) shahzad-2
 Policies vs. Mechanisms

 Defining openness: Requires support for different policies


specified by applications and users:
 What level of consistency do we require for client cached
data?Which operations do we allow downloaded code to
perform?Which QoS requirements do we adjust in the face of
varying bandwidth?What level of secrecy do we require for
communication?
 Implementing openness:Ideally, a distributed system
provides only mechanisms:
 Allow (dynamic) setting of caching policies, preferably per
cachable itemSupport different levels of trust for mobile
codeProvide adjustable QoS parameters per data streamOffer
different encryption algorithms

Chapter # 1 Advanced Distributed Systems 16


Openness of Distributed Systems

 Open distributed system


 Be able to interact with services from other open systems,
irrespective of the underlying environment
 Systems should conform to well-defined interfaces
 Systems should support portability of applications
 Systems should easily interoperate
 Achieving openness
 At least make the distributed system independent from
heterogeneity of the underlying environment
 Hardware
 Platforms
 Languages

Chapter # 1 Advanced Distributed Systems 17


Implementing Openness

 Requires support for different policies


 What level of consistency do we require for client-cached data?
 Which operations do we allow downloaded code to perform?
 Which QoS requirements do we adjust in the face of varying
bandwidth?
 What level of secrecy do we require for communication?
 Ideally, a distributed system provides only mechanisms
 Allow (dynamic) setting of caching policies
 Support different levels of trust for mobile code
 Provide adjustable QoS parameters per data stream
 Offer different encryption algorithms

Chapter # 1 Advanced Distributed Systems 18


Scalability of Distributed Systems

 Scalability is adaptation of distributed systems to


 accommodate more users
 respond faster (this is the hard one)
 It is done to
 control the performance loss
 prevent software resources running out
 avoid performance bottleneck
 Usually done by adding more and/or faster processors
 Components should not need to be changed when scale of a
system increases
 Design components to be scalable

Chapter # 1 Advanced Distributed Systems 19


Scalability of Distributed Systems

 At least three components


 Size scalability
 Number of users and/or processes
 Geographical scalability
 Maximum distance between nodes
 Administrative scalability
 Number of administrative domains

 Most system easily scale with size


 Actual challenge resides with geographical and administrative
scalability

Chapter # 1 Advanced Distributed Systems 20


Techniques for Scalability in DS
 Hide communication latencies
 Avoid waiting for responses; do something else
 Make use of asynchronous communication
 Have separate handler for incoming response
 Problem: not every application fits this model
 Distribution
 Partition data and computations across multiple machines
 Move computations to clients (Java applets)
 Decentralized naming services (DNS)
 Decentralized information systems (WWW)
 Replication/caching
 Make copies of data available at different machines
 Replicated file servers and databases
 Mirrored Web sites
 Web caches (in browsers and proxies)
 File caching (at server and client)

Chapter # 1 Advanced Distributed Systems 21


Scalability-shahzad
Scalability can be measured over multiple dimensions, such as:[5]
 Administrative scalability: The ability for an increasing number of
organizations or users to access a system.
 Functional scalability: The ability to enhance the system by adding
new functionality without disrupting existing activities.
 Geographic scalability: The ability to maintain effectiveness during
expansion from a local area to a larger region.
 Load scalability: The ability for a distributed system to expand and
contract to accommodate heavier or lighter loads, including, the
ease with which a system or component can be modified, added,
or removed, to accommodate changing loads.
 Generation scalability: The ability of a system to scale by adopting
new generations of components.
 Heterogeneous scalability is the ability to adopt components from
different vendors. (different machine , differnent Operating
System)

Chapter # 1 Advanced Distributed Systems 22


Security

 Security is one the important concern while designing a


distributed systems as the things are going to be shared
 In a distributed system, clients send requests to access data
managed by servers, resources in the networks
 Doctors requesting records from hospitals
 Users purchase products through electronic commerce
 Security is required for
 Concealing the contents of messages: security and privacy
 Identifying a remote user or other agent correctly (authentication)
 New challenges
 Denial of service attack
 Security of mobile code

Chapter # 1 Advanced Distributed Systems 23


Failure Handling (Fault Tolerance)

 Hardware, software and networks fail


 Distributed systems must maintain availability even at low
levels of hardware/software/network reliability
 Failure handling in distributed system is mainly concerned
with
 Detecting failure
 Masking failure
 Fault tolerance is achieved by
 recovery
 redundancy

Chapter # 1 Advanced Distributed Systems 24


Concurrency

 Components in distributed systems are executed in


concurrent processes
 Components access and update shared resources
(e.g. variables, databases, device drivers)
 Concurrency should be provided for both the
process & resource side
 Integrity of the system may be violated if concurrent
updates are not coordinated
 Lost updates
 Inconsistent analysis

Chapter # 1 Advanced Distributed Systems 25


Transparencies

 Distributed systems should be perceived by users


and application programmers as a whole rather than
as a collection of cooperating components
 Transparency has different aspects
 These represent various properties that distributed
systems should have

Chapter # 1 Advanced Distributed Systems 26


Distributed System Transparencies
 Location transparency
 It hides that where the resource is located
 It enables resources to be accessed without knowledge of their
physical or network location
 for example, which building or IP address
 The name of the resource does not indicate the physical location
 If users change location, their view of system would not change
 This implies the support of access transparency
 Example; Files, processors
 Access transparency
 Enables local and global resources to be accessed using identical
operation
 hide differences in data representation and how a resource is accessed
 enables local and remote resources to be accessed using identical
operations

Chapter # 1 Advanced Distributed Systems 27


Distributed System Transparencies

 Migration transparency
 It hides that a resource may move to another location
 It allows the movement of resources and clients within a system
without affecting the operation of users or programs
 Users cannot notice if a resource or their job has been migrated from
one location to other within distributed system
 Location transparency is necessary for this to occur
 Replication transparency
 It enables multiple instances of resources (files and servers) to be used
to increase reliability and performance without knowledge of the
replicas by users or application programmers
 All changes and updates must be made simultaneously to all replicas
 It increases the reliability and performance

Chapter # 1 Advanced Distributed Systems 28


Distributed System Transparencies

 Concurrency transparency
 It hides that a resource may be shared by several competing users or
processes, or
 It enables several processes to operate concurrently using shared
resources without interference between them
 A processor utilizes multiple resources at the same time
 Failure transparency
 If a link or system in distributed system fails, the entire system should
not fail
 It hides the failure and recovery of a resource or system
 It enables the concealment of faults, allowing users and application
programs to complete their tasks despite the failure of hardware or
software components

Chapter # 1 Advanced Distributed Systems 29


Distributed System Transparencies

 Performance transparency
 Allows the system to reconfigure as the load vary
 It hides the procedure and effect of load balancing and load sharing
 Scaling transparency
 It hide that the new components are added to system
 It allows the system and applications to expand in scale without
change to the system structure or the application algorithms

Chapter # 1 Advanced Distributed Systems 30


Degree of Transparency

 Aiming at full distribution transparency may be too much


 Users may be located in different continents
 Completely hiding failures of networks and nodes is
(theoretically and practically) impossible
 You cannot distinguish a slow computer from a failing one
 You can never be sure that a server actually performed an operation
before a crash
 Full transparency will cost performance, exposing distribution
of the system
 Keeping Web caches exactly up-to-date with the master
 Immediately flushing write operations to disk for fault tolerance

Chapter # 1 Advanced Distributed Systems 31


DS Information Management Solution

 A Distributed System can be manage in two manners


 Distributed and centralized solution
 Centralized solution
 Place the entire decision/information in one location
 Easy to manage
 Application upgrade is quite simple
 Disadvantages
 Become critical element
 If fails, entire distributed system is subject to failure
 Network traffic is increased towards centralized system

Chapter # 1 Advanced Distributed Systems 32


DS Information Management Solution

 Distributed solution
 It does not suffer from critical element
 If one system fails, entire DS will not fail

 Disadvantages
 Increase traffic when involve broadcasting information
 Difficult for several locations to maintain consistent information
 It requires huge cooperation among participants

Chapter # 1 Advanced Distributed Systems 33


A Typical Portion of the Internet

intranet %
%
% ISP

backbone

satellite link

computers:
server:
network link:

Chapter # 1 Advanced Distributed Systems 34


A Typical Internet
Desktop
email server computers
print and other servers

Local area
Web server network

email server
print
File server
other servers

the rest of
the Internet
router/firewall

Chapter # 1 Advanced Distributed Systems 35


Portable & Handled Devices in a DS

Internet

Host intranet WAP


Wireless LAN gatew ay Home intranet

Mobile
phone
Printer Laptop
Camera Host site

Chapter # 1 Advanced Distributed Systems 36


Reference

 Tanenbaum, Maarten van Steen


 Chapter 1
 Coulouris et. al.
 Chapter 1

Chapter # 1 Advanced Distributed Systems 37

You might also like