Chapter One

You might also like

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

Chapter one

Introduction to Distributed System

1
Introduction
⚫ A distributed system is a collection of independent computers that
appears to its users as a single coherent system.
⚫ Important aspects:
 a distributed system consists of components (i.e.,
computers)
that are autonomous
 users (people or programs) think they are dealing with a single
system
 other autonomous components need to collaborate
 Goal of distributed systems development is: to establish
this collaboration.

2
Cont.…
 Characteristics of distributed systems:
 differences between various computers and the ways in which they
communicate are mostly hidden from users
 users and applications can interact with a distributed system in a
consistent and uniform way, regardless of where and when interaction
takes place.
 distributed systems should also be relatively easy to expand or scale.
 a distributed system will normally be continuously available

3
Cont.…
 Layers of software support, heterogeneous computers and
networks
while offering a single-system view - sometimes called middleware.

Figure:-A distributed system organized as middleware

4
Cont.…
 Four networked computers and three applications:

1. Application B is distributed across computers 2 and 3.

2. Each application is offered the same interface

3.Distributed system provides the means for components of a


single distributed application to communicate with each other,
and also different applications communicate.

4.It also hides the differences in hardware and operating systems


from each application.

5
Goals of Distributed
System
Four goals that should be met to make building a distributed system

1. Making Resources Accessible


 Main goal of a distributed system –
⚫ Make it easy for the users (and applications) to access remote resources
⚫ Share them in a controlled and efficient way.
 Resources - anything: printers, computers, storage facilities, data,
files, Web pages, and networks, etc.
 Accessibility Issues
 Security
 Unwanted communication

6
cont.….
2. Distribution Transparency
 Goal - hide its processes and resources are physically distributed
across
multiple networked computers – systems should be transparent
 Different forms of transparency in a distributed system are:-
Transparency Description

Access Hide differences in data representation and how a resource is


accessed
Location Hide where a resource is located
Migration Hide that a resource may move to another location
Relocation Hide that a resource may be moved to another location while
in use
Replication Hide that a resource is replicated
Concurrency Hide that a resource may be shared by several competitive
Failure users Hide the failure and recovery of a resource
7
Cont.….
3. Openness
Goal : offer services according to standard rules that describe the syntax and
semantics of those services and an open distributed system should also be
extensible. i.e.
 be easy to configure the system out of different components (possibly
from different developers).
 be easy to add new components or replace existing ones without
affecting those components that stay in place.

Example,
 Computer networks - standard rules govern the format, contents, and
meaning of messages sent and received.

8
Cont.….
4. Scalability
Scalability of a system is measured with respect to:

1. Size - can easily add more users and resources to the system.

2. Geographic extent - a geographically scalable system is one in


which
the users and resources may far apart.

3. Administrative scalability - can be easy to manage even if it spans


many independent administrative organizations.
 Scalability Limitations of Size
C

Centralized services A single server for all users


Centralized data A single on-line telephone book
Centralized algorithms Doing routing based on complete
information 9
Cont.….
Geographically Scalable Limitation
1. Synchronization:
 a client requesting service blocks until a reply is sent back.
 works fine in LANs where communication between two machines is
generally at worst a few hundred microseconds.
 in a wide-area system, interposes communication may be hundreds of
millisecond

2. Unreliability of communication:-
 communication in wide-area networks is inherently unreliable but
local-area networks provide reliable communication based
on broadcasting
10
Cont.….
3. Administrative scalability:
 how to scale a system across multiple, independent
distributed
administrative domains.
 major problem - conflicting policies with respect to resource
usage (and payment), management, and security.

11
Cont.….
Scaling Techniques
 Three techniques for scaling:

1. hiding communication latencies


 Try to avoid waiting for responses to remote service requests.
 Reduce the overall communication

2. Replication:---->> multiple copies of a resource


 increases availability
 helps to balance the load between components leading to better
performance.

3. Distribution - splitting a component into smaller parts and spreading


those parts across the system.
12
Cont.….
example. Internet Domain Name System (DNS).
 The DNS name space is hierarchically organized into a tree
of
domains, which are divided into non overlapping zones
 e.g. the name nl.vu.cs.flits./www.su.edu.et
 DNS is distributed across several machines, thus avoiding that a
single server has to deal with all requests for name resolution.

13
Cont.….
Pitfalls
 False assumptions that everyone makes when developing a distributed
application for the first time

1. The network is reliable.

2. The network is secure.

3. The network is homogeneous(similar configurations and protocols)

4. The topology does not change.

5. Latency is zero.

6. Bandwidth is infinite.

7. Transport cost is zero.

8. There is one administrator.


14
Types of Distributed
Systems
1. Distributed Computing Systems
 Distributed systems used for high-performance computing task

a) cluster computing
 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.
 used for parallel programming in which a single (compute
intensive)
program is run in parallel on multiple machines.
 Each cluster consists of a collection of compute nodes that
are controlled and accessed by means of a single master node.
15
Cont.….
 Master node:
 handles the allocation of nodes
providesan interface for the users of the
system Figure:- a cluster computing system

16
Cont.….
Advantages of using Cluster computing

1.Cost efficiency: In a Cluster computing Cost efficiency is the ratio


of cost to output, that is the connecting group of the computer
as computer cluster much cheaper as compared to mainframe
computers.

2. Processing speed: The Processing speed of computer cluster is the


same as a mainframe computer.

3.Expandability: The best benefit of Cluster Computing is that it can


be expanded easily by adding the additional desktop workstation to
the system.

4.High availability of resources: If any node fails in a computer


cluster, another node within the cluster continue to provide
uninterrupted processing. When a mainframe system fails, the entire 17
Cont.….
b) Grid Computing Systems
 Grid computing is a group of computers physically connected (over a
network or with Internet)
 To perform a dedicated tasks such as analyzing e-commerce data and
To solve a complex problem.
 The grid size may vary from small to large enterprises network

Figure:-A layered architecture for grid computing systems

18
Cont.….
1. Fabric layer
 provides interfaces to local resources at a specific site.
 interfaces to allow sharing of resources within a virtual organization.

2a. Connectivity layer


 consists of communication protocols for supporting grid
transactions
 contains security protocols to authenticate users and resources.

2b. Resource layer


 responsible for managing a single resource.
 uses functions provided by the connectivity layer
 responsible for access control
19
Cont.….
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.

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 (collective, connectivity, and resource layers.)
 consists of various layers and many components, making it rather
complex.
 provide access to and management of resources that are potentially
dispersed across multiple sites.
20
Meteorologists use grid computing for weather modeling.
Weather modeling is a computation-intensive problem that
requires complex data management and analysis. Processing
massive amounts of weather data on a single computer is
slow and time consuming.

21
Distributed Information Systems
 A set of information systems physically distributed over multiple sites,
which are connected with some kind of communication network
 system where, applications (cooperative among one another) stay on
different elaborative nodes
 information property, unique, is hosted on different elaborative nodes
 Two forms of distributed systems

1. transaction processing systems

2. enterprise application integration (EAI)

22
Cont.….
1. Transaction Processing Systems
 Focus on database applications - operations on a database are usually
carried out in the form of transactions.
 Example primitives for transactions

Primitive Description

BEGIN_TRANSACTION Mark the start of a transaction

END_TRANSACTION Terminate the transaction and try to commit

ABORT_TRANSACTION Kill the transaction and restore the old


values
READ Read data from a file, a table, or
otherwise
WRITE Write data to a file, a table, or
otherwise

23
Cont.….
Properties of transactions (ACID):
 There are four properties of transaction

1. Atomic:
 ensures that each transaction either happens completely, or not at all

2. Consistent:
 if the system has certain invariants that must always hold, if they
held before the transaction, they will hold after ward

3. Isolated:

Concurrent transactions do not interfere with each other.


 transactions are isolated or serializable.

4. Durable: Once a transaction commits, the changes are permanent.


24
Cont.….
2. Enterprise Application Integration
 It is the task of uniting the databases and workflows associated with
business applications
 Application components should be able to communicate directly
with each other.

 Two Types Of Communication Middleware


 Remote procedure calls (RPC)

 Remote method invocations (RMI)


25
Cont.….
Several types of communication middleware:
Remote procedure calls (RPC)
 It is a protocol that one program can use to request a service from a
program located in another computer on a network without having to
understand the network's details.
 RPC uses the client-server model. The requesting program is a client
and the service providing program is the server

26
Cont.….
Remote method invocations (RMI)
 An RMI is the same as an RPC, except that it operates on objects
instead of applications.
 It is a mechanism that allows an object residing in one system
(JVM) to access/invoke an object running on another JVM.
 The RMI provides remote communication between the
applications
using two objects stub and skeleton.
 RMI uses stub and skeleton object for communication with
the
remote object.

27
Cont.….
 stub is an object, acts as a gateway for the client side.
 All the outgoing requests are routed through it.
 It resides at the client side and represents the remote object.
 skeleton is an object, acts as a gateway for the server side
object.
 All the incoming requests are routed through it.

28
Distributed Pervasive Systems
 Pervasive computing

 also called (ubiquitous computing) is the growing trend of embedding


computational capability (generally in the form of microprocessors) into
everyday objects

 Pervasive computing also has a number of prospective applications, which range


from home care and health, to geographical tracking and intelligent transport
systems.

Features:

 improve the human experience and quality of life.

 Capable of collecting, processing and communicating data

 lack of human administrative control

 devices can be configured by their owners

29
Cont.…
Examples:
 integrate consumer electronics such as TVs, audio and video equipment,
gaming devices, (smart) phones, PDAs(personal digital assistant), and other
personal wearable into a single system.
 all kinds of devices such as kitchen appliances, surveillance cameras,
clocks, controllers for lighting, and so on, will all be hooked up into a
single distributed system.

30
Cont.…
Electronic Health Care Systems
 the conceptual system of providing healthcare to anyone, at
anytime,
and anywhere by removing limitations of time and location
 increasing both the coverage and the quality of healthcare.
 New devices are being developed to monitor the well-being of
individuals and to automatically contact physicians when needed.
 Major goal is to prevent people from being hospitalized.
 Personal health care systems are equipped with various
sensors organized in a (preferably wireless) body-area
network (BAN).

31
Cont.…
Sensor Networks(Wireless Sensor Networks (WSNs)
 defined as a self-configured and infrastructure-less wireless
networks to monitor physical or environmental conditions, such as
temperature, sound, vibration, pressure, motion or pollutants
 To cooperatively pass their data through the network to a main
location or sink where the data can be observed and analyzed
 Part of the enabling technology for pervasiveness
 A sensor network consists of tens to hundreds or thousands of
relatively small nodes, each equipped with a sensing device.
 limited resources, restricted communication capabilities,
and constrained power consumption demand

32
Cont.…
Figure:-Organizing a sensor network database, while storing and
processing
data:
(a) only at the operator's site and (b) only at the
sensors.

33

You might also like