TYPES OF
DISTRIBUTED
SYSTEMS
L E C T 2
E D I T E D B Y D E N N I S B O E R A
ADVANTAGES OF DISTRIBUTED SYSTEMS
All the nodes in the distributed system are connected to
each other. So nodes can easily share data with other
nodes.
More nodes can easily be added to the distributed
system i.e. it can be scaled as required.
Failure of one node does not lead to the failure of the
entire distributed system. Other nodes can still
communicate with each other.
Resources like printers can be shared with multiple
nodes rather than being restricted to just one.
DISADVANTAGES OF DISTRIBUTED SYSTEMS
It is difficult to provide adequate security in distributed
systems because the nodes as well as the connections
need to be secured.
Some messages and data can be lost in the network
while moving from one node to another.
The database connected to the distributed systems is
quite complicated and difficult to handle as compared
to a single user system.
Overloading may occur in the network if all the nodes
of the distributed system try to send data at once.
ADVANTAGES OF DISTRIBUTED SYSTEMS
OVER CENTRALIZED SYSTEMS
• Economics: a collection of microprocessors offer a
better price/performance than mainframes. Low
price/performance ratio: cost effective way to
increase computing power.
• Speed: a distributed system may have more total
computing power than a mainframe. Ex. 10,000 CPU
chips, each running at 50 MIPS.
• Inherent distribution: Some applications are
inherently distributed. Example: a supermarket chain.
• Reliability (fault tolerance): If one machine crashes,
the system as a whole can still survive. Higher
availability and improved reliability.
• Incremental growth: Computing power can be added
in small increments. Modular expandability
• Another deriving force: the existence of large
number of personal computers, the need for people to
collaborate and share information.
• Performance: very often a collection of processors can
provide higher performance (and better price/performance
ratio) than a centralized computer.
• Distribution: many applications involve, by their nature,
spatially separated machines (banking, commercial,
automotive system).
• Incremental growth: as requirements on processing power
grow, new machines can be added incrementally.
• Sharing of data/resources: shared data is essential to
many applications (banking, computer-supported
cooperative work, reservation systems); other resources can
be also shared (e.g. expensive printers).
• Communication: facilitates human-to-human
communication.
ADVANTAGES OF DISTRIBUTED SYSTEMS
OVER INDEPENDENT PCS
Data sharing: allow many users to access to a
common database.
Resource Sharing: expensive peripherals like color
printers
Communication: enhance human-to-human
communication, e.g., email, chat
Flexibility: spread the workload over the available
machines
DISADVANTAGES OF DISTRIBUTED SYSTEMS
• Difficulties of developing distributed software: how
should operating systems, programming languages and
applications look like?
• Networking problems: several problems are created by the
network infrastructure, which have to be dealt with: loss of
messages, overloading, ...
• Security problems: sharing generates the problem of data
security.
TYPES OF FAILURES IN DISTRIBUTED SYSTEM
Halting failures: A component simply stops. There is
no way to detect the failure except by timeout: it either
stops sending "I'm alive" (heartbeat) messages or fails
to respond to requests. Your computer freezing is a
halting failure.
Fail-stop: A halting failure with some kind of
notification to other components. A network file server
telling its clients it is about to go down is a fail-stop.
Omission failures: Failure to send/receive
messages primarily due to lack of buffering space,
which causes a message to be discarded with no
notification to either the sender or receiver. This can
happen when routers become overloaded.
Network failures: A network link breaks.
Network partition failure: A network fragments into
two or more disjoint subnetworks within which
messages can be sent, but between which messages
are lost. This can occur due to a network failure.
Timing failures: A temporal property of the system is
violated. For example, clocks on different computers
which are used to coordinate processes are not
synchronized; when a message is delayed longer than
a threshold period, etc.
Byzantine failures: This captures several types of
faulty behaviors including data corruption or loss,
failures caused by malicious programs, etc.
DESIGN ISSUES OF DISTRIBUTED SYSTEMS
Transparency
Flexibility
Reliability
Performance
Scalability
Openness
Security
Heterogeneity
1. TRANSPARENCY
• How to achieve the single-system image, i.e., how to
make a collection of computers appear as a single
computer.
• Hiding all the distribution from the users as well as
the application programs can be achieved at two
levels:
1) hide the distribution from users
2) at a lower level, make the system look transparent to
programs.
1) and 2) requires uniform interfaces such as access to files,
TYPES OF TRANSPARENCY
Location Transparency: users cannot tell where
hardware and software resources such as CPUs,
printers, files, data bases are located.
Migration Transparency: resources must be free to
move from one location to another without their
names changed.
E.g., /usr/lee, /central/usr/lee
Replication Transparency: OS can make additional
copies of files and resources without users noticing.
Concurrency Transparency: The users are not aware
of the existence of other users. Need to allow multiple
users to concurrently access the same resource. Lock
and unlock for mutual exclusion.
Parallelism Transparency: Automatic use of
parallelism without having to program explicitly. The
holy grail for distributed and parallel system
designers.
2. FLEXIBILITY
• The design of a distributed operating system should
be flexible due to the following reasons:
• 1. Ease of modification.
• 2. Ease of enhancement
• 3. Make it easier to change
3. RELIABILITY
•Distributed system should be more reliable than
single system
–Availability: fraction of time the system is usable.
Redundancy improves it.
–Need to maintain consistency
–Need to be secure
–Fault tolerance: need to mask failures, recover from
errors.
• Availability: If machines go down, the system should
work with the reduced amount of resources.
• There should be a very small number of critical
resources (single points of failure); critical resources:
resources which have to be up in order the distributed
system to work.
4. PERFORMANCE
•Without gain on this, why bother with distributed
systems.
•Performance loss due to communication delays:
–fine-grain parallelism: high degree of interaction
–coarse-grain parallelism
•Performance loss due to making the system
fault tolerant.
5. SCALABILITY
•Systems grow with time or become
obsolete. Techniques that require
resources linearly in terms of the size of
the system are not scalable. e.g.,
broadcast based query won't work for large
distributed systems.
•Examples of bottlenecks
oCentralized components: a single mail server
oCentralized tables: a single URL address book
6. OPENNESS
• Openness
• One of the important features of distributed systems is
openness and flexibility:
- every service is equally accessible to every client
(local or remote);
- it is easy to implement, install and debug new
services;
- users can write and install their own services.
7. SECURITY
• In order that the users can trust the system and rely
on it, the various resources of a computer system
must be protected against destruction and
unauthorized access.
• Enforcing security in a distributed system is more
difficult than in a centralized system because of the
lack of a single point of control and the use of
insecure networks for data communication.
8. HETEROGENEITY
• A heterogeneous distributed system consists of
interconnected sets of dissimilar hardware or software
systems.
• Because of the diversity, designing heterogeneous
distributed systems is far more difficult than designing
homogeneous distributed systems in which each
system is based on the same, or closely related,
hardware and software.
TYPES OF DISTRIBUTED SYSTEMS
i. Distributed Computing Systems
ii. Distributed Information Systems
Distributed Computing Systems
• Distributed systems used for high-performance computing
task
1. cluster computing - the underlying hardware consists of a
collection of similar workstations or PCs, closely connected by
means of a high-speed local-area network, each node runs the
same operating system.
2. grid computing - constructed as a federation of computer
systems, where each system may fall under a different
administrative domain, and may be very different when it
comes to hardware, software, and deployed network
technology.
1. Cluster Computing Systems
• price/performance ratio of personal computers and
workstations became financially and technically
attractive to build a supercomputer using off-the-shelf
technology by simply hooking up a collection of
relatively simple computers in a high-speed network.
• In virtually all cases, cluster computing is used for
parallel programming in which a single (compute
intensive) program is run in parallel on multiple
machines.
• example of a cluster computer - Linux-based Beowulf
clusters
• Each cluster consists of a collection of compute nodes
that are controlled and accessed by means of a single
master node.
Master node:
handles the allocation of nodes to a particular parallel
program
maintains a batch queue of submitted jobs
provides an interface for the users of the system
the master runs the middleware needed for the
execution of programs and management of the cluster
middleware is formed by the libraries for executing
parallel programs.
• An example of a cluster computing system.
2. Grid Computing Systems
• Grid computing systems have a high degree of
heterogeneity: no assumptions are made concerning
hardware, operating systems, networks,
administrative domains, security policies, etc.
• Key issue in a grid computing system - resources from
different organizations are brought together to allow
the collaboration of a group of people or institutions -
forms a virtual organization.
Members of the same virtual organization have
access rights to the resources that are provided to
that organization.
Resources consist of compute servers (including
supercomputers, possibly implemented as cluster
computers), storage facilities, and databases. In
addition, special networked devices such as
telescopes, sensors, etc., can be provided as well.
FOUR LAYER ARCHITECTURE:
1. fabric layer:
provides interfaces to local resources at a specific
site.
Interfaces are tailored to allow sharing of resources
within a virtual organization.
Provide functions for querying the state and
capabilities of a resource, along with functions for
actual resource management (e.g., locking
resources).
2a. connectivity layer:
consists of communication protocols for supporting
grid transactions that span the usage of multiple
resources.
Contains security protocols to authenticate users and
resources.
In many cases human users are not authenticated -
programs acting on behalf of the users are
authenticated.
2b. resource layer:
Responsible for managing a single resource.
Uses functions provided by the connectivity layer and
calls directly the interfaces made available by the
fabric layer.
Responsible for access control, and hence will rely
on the authentication performed as part of the
connectivity layer.
3. collective layer:
Handles access to multiple resources
Consists of services for resource discovery, allocation
and scheduling of tasks onto multiple resources, data
replication, etc.
May consist of many different protocols for many
different purposes, reflecting the broad spectrum of
services it may offer to a virtual organization.
• 4. application layer - consists of the applications that
operate within a virtual organization and which make
use of the grid computing environment.
GRID MIDDLEWARE LAYER
i. Collective layer,
ii. Connectivity layer and
iii. Resource layer.
• provide access to and management of resources that
are potentially dispersed across multiple sites.
• shift toward a service-oriented architecture in which
sites offer access to the various layers through a
collection of Web services
• led to the definition of an alternative architecture
known as the Open Grid Services Architecture
(OGSA).
• consists of various layers and many components,
making it rather complex.
END

Lect 2 Types of Distributed Systems.pptx

  • 1.
    TYPES OF DISTRIBUTED SYSTEMS L EC T 2 E D I T E D B Y D E N N I S B O E R A
  • 2.
    ADVANTAGES OF DISTRIBUTEDSYSTEMS All the nodes in the distributed system are connected to each other. So nodes can easily share data with other nodes. More nodes can easily be added to the distributed system i.e. it can be scaled as required. Failure of one node does not lead to the failure of the entire distributed system. Other nodes can still communicate with each other. Resources like printers can be shared with multiple nodes rather than being restricted to just one.
  • 3.
    DISADVANTAGES OF DISTRIBUTEDSYSTEMS It is difficult to provide adequate security in distributed systems because the nodes as well as the connections need to be secured. Some messages and data can be lost in the network while moving from one node to another. The database connected to the distributed systems is quite complicated and difficult to handle as compared to a single user system. Overloading may occur in the network if all the nodes of the distributed system try to send data at once.
  • 4.
    ADVANTAGES OF DISTRIBUTEDSYSTEMS OVER CENTRALIZED SYSTEMS • Economics: a collection of microprocessors offer a better price/performance than mainframes. Low price/performance ratio: cost effective way to increase computing power. • Speed: a distributed system may have more total computing power than a mainframe. Ex. 10,000 CPU chips, each running at 50 MIPS.
  • 5.
    • Inherent distribution:Some applications are inherently distributed. Example: a supermarket chain. • Reliability (fault tolerance): If one machine crashes, the system as a whole can still survive. Higher availability and improved reliability. • Incremental growth: Computing power can be added in small increments. Modular expandability • Another deriving force: the existence of large number of personal computers, the need for people to collaborate and share information.
  • 6.
    • Performance: veryoften a collection of processors can provide higher performance (and better price/performance ratio) than a centralized computer. • Distribution: many applications involve, by their nature, spatially separated machines (banking, commercial, automotive system). • Incremental growth: as requirements on processing power grow, new machines can be added incrementally.
  • 7.
    • Sharing ofdata/resources: shared data is essential to many applications (banking, computer-supported cooperative work, reservation systems); other resources can be also shared (e.g. expensive printers). • Communication: facilitates human-to-human communication.
  • 8.
    ADVANTAGES OF DISTRIBUTEDSYSTEMS OVER INDEPENDENT PCS Data sharing: allow many users to access to a common database. Resource Sharing: expensive peripherals like color printers Communication: enhance human-to-human communication, e.g., email, chat Flexibility: spread the workload over the available machines
  • 9.
    DISADVANTAGES OF DISTRIBUTEDSYSTEMS • Difficulties of developing distributed software: how should operating systems, programming languages and applications look like? • Networking problems: several problems are created by the network infrastructure, which have to be dealt with: loss of messages, overloading, ... • Security problems: sharing generates the problem of data security.
  • 10.
    TYPES OF FAILURESIN DISTRIBUTED SYSTEM Halting failures: A component simply stops. There is no way to detect the failure except by timeout: it either stops sending "I'm alive" (heartbeat) messages or fails to respond to requests. Your computer freezing is a halting failure. Fail-stop: A halting failure with some kind of notification to other components. A network file server telling its clients it is about to go down is a fail-stop.
  • 11.
    Omission failures: Failureto send/receive messages primarily due to lack of buffering space, which causes a message to be discarded with no notification to either the sender or receiver. This can happen when routers become overloaded. Network failures: A network link breaks. Network partition failure: A network fragments into two or more disjoint subnetworks within which messages can be sent, but between which messages are lost. This can occur due to a network failure.
  • 12.
    Timing failures: Atemporal property of the system is violated. For example, clocks on different computers which are used to coordinate processes are not synchronized; when a message is delayed longer than a threshold period, etc. Byzantine failures: This captures several types of faulty behaviors including data corruption or loss, failures caused by malicious programs, etc.
  • 13.
    DESIGN ISSUES OFDISTRIBUTED SYSTEMS Transparency Flexibility Reliability Performance Scalability Openness Security Heterogeneity
  • 14.
    1. TRANSPARENCY • Howto achieve the single-system image, i.e., how to make a collection of computers appear as a single computer. • Hiding all the distribution from the users as well as the application programs can be achieved at two levels: 1) hide the distribution from users 2) at a lower level, make the system look transparent to programs. 1) and 2) requires uniform interfaces such as access to files,
  • 15.
    TYPES OF TRANSPARENCY LocationTransparency: users cannot tell where hardware and software resources such as CPUs, printers, files, data bases are located. Migration Transparency: resources must be free to move from one location to another without their names changed. E.g., /usr/lee, /central/usr/lee Replication Transparency: OS can make additional copies of files and resources without users noticing.
  • 16.
    Concurrency Transparency: Theusers are not aware of the existence of other users. Need to allow multiple users to concurrently access the same resource. Lock and unlock for mutual exclusion. Parallelism Transparency: Automatic use of parallelism without having to program explicitly. The holy grail for distributed and parallel system designers.
  • 17.
    2. FLEXIBILITY • Thedesign of a distributed operating system should be flexible due to the following reasons: • 1. Ease of modification. • 2. Ease of enhancement • 3. Make it easier to change
  • 18.
    3. RELIABILITY •Distributed systemshould be more reliable than single system –Availability: fraction of time the system is usable. Redundancy improves it. –Need to maintain consistency –Need to be secure –Fault tolerance: need to mask failures, recover from errors.
  • 19.
    • Availability: Ifmachines go down, the system should work with the reduced amount of resources. • There should be a very small number of critical resources (single points of failure); critical resources: resources which have to be up in order the distributed system to work.
  • 20.
    4. PERFORMANCE •Without gainon this, why bother with distributed systems. •Performance loss due to communication delays: –fine-grain parallelism: high degree of interaction –coarse-grain parallelism •Performance loss due to making the system fault tolerant.
  • 21.
    5. SCALABILITY •Systems growwith time or become obsolete. Techniques that require resources linearly in terms of the size of the system are not scalable. e.g., broadcast based query won't work for large distributed systems. •Examples of bottlenecks oCentralized components: a single mail server oCentralized tables: a single URL address book
  • 22.
    6. OPENNESS • Openness •One of the important features of distributed systems is openness and flexibility: - every service is equally accessible to every client (local or remote); - it is easy to implement, install and debug new services; - users can write and install their own services.
  • 23.
    7. SECURITY • Inorder that the users can trust the system and rely on it, the various resources of a computer system must be protected against destruction and unauthorized access. • Enforcing security in a distributed system is more difficult than in a centralized system because of the lack of a single point of control and the use of insecure networks for data communication.
  • 24.
    8. HETEROGENEITY • Aheterogeneous distributed system consists of interconnected sets of dissimilar hardware or software systems. • Because of the diversity, designing heterogeneous distributed systems is far more difficult than designing homogeneous distributed systems in which each system is based on the same, or closely related, hardware and software.
  • 25.
    TYPES OF DISTRIBUTEDSYSTEMS i. Distributed Computing Systems ii. Distributed Information Systems
  • 26.
    Distributed Computing Systems •Distributed systems used for high-performance computing task 1. cluster computing - the underlying hardware consists of a collection of similar workstations or PCs, closely connected by means of a high-speed local-area network, each node runs the same operating system. 2. grid computing - constructed as a federation of computer systems, where each system may fall under a different administrative domain, and may be very different when it comes to hardware, software, and deployed network technology.
  • 27.
    1. Cluster ComputingSystems • price/performance ratio of personal computers and workstations became financially and technically attractive to build a supercomputer using off-the-shelf technology by simply hooking up a collection of relatively simple computers in a high-speed network. • In virtually all cases, cluster computing is used for parallel programming in which a single (compute intensive) program is run in parallel on multiple machines.
  • 28.
    • example ofa cluster computer - Linux-based Beowulf clusters • Each cluster consists of a collection of compute nodes that are controlled and accessed by means of a single master node.
  • 29.
    Master node: handles theallocation of nodes to a particular parallel program maintains a batch queue of submitted jobs provides an interface for the users of the system the master runs the middleware needed for the execution of programs and management of the cluster middleware is formed by the libraries for executing parallel programs.
  • 30.
    • An exampleof a cluster computing system.
  • 31.
    2. Grid ComputingSystems • Grid computing systems have a high degree of heterogeneity: no assumptions are made concerning hardware, operating systems, networks, administrative domains, security policies, etc. • Key issue in a grid computing system - resources from different organizations are brought together to allow the collaboration of a group of people or institutions - forms a virtual organization.
  • 32.
    Members of thesame virtual organization have access rights to the resources that are provided to that organization. Resources consist of compute servers (including supercomputers, possibly implemented as cluster computers), storage facilities, and databases. In addition, special networked devices such as telescopes, sensors, etc., can be provided as well.
  • 34.
    FOUR LAYER ARCHITECTURE: 1.fabric layer: provides interfaces to local resources at a specific site. Interfaces are tailored to allow sharing of resources within a virtual organization. Provide functions for querying the state and capabilities of a resource, along with functions for actual resource management (e.g., locking resources).
  • 35.
    2a. connectivity layer: consistsof communication protocols for supporting grid transactions that span the usage of multiple resources. Contains security protocols to authenticate users and resources. In many cases human users are not authenticated - programs acting on behalf of the users are authenticated.
  • 36.
    2b. resource layer: Responsiblefor managing a single resource. Uses functions provided by the connectivity layer and calls directly the interfaces made available by the fabric layer. Responsible for access control, and hence will rely on the authentication performed as part of the connectivity layer.
  • 37.
    3. collective layer: Handlesaccess to multiple resources Consists of services for resource discovery, allocation and scheduling of tasks onto multiple resources, data replication, etc. May consist of many different protocols for many different purposes, reflecting the broad spectrum of services it may offer to a virtual organization.
  • 38.
    • 4. applicationlayer - consists of the applications that operate within a virtual organization and which make use of the grid computing environment.
  • 39.
    GRID MIDDLEWARE LAYER i.Collective layer, ii. Connectivity layer and iii. Resource layer.
  • 40.
    • provide accessto and management of resources that are potentially dispersed across multiple sites. • shift toward a service-oriented architecture in which sites offer access to the various layers through a collection of Web services • led to the definition of an alternative architecture known as the Open Grid Services Architecture (OGSA). • consists of various layers and many components, making it rather complex.
  • 41.