Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 45

DISTRIBUTED SYSTEMS

Lecture One

Introduction

1
Course Outline
 Course Objectives:
 To demonstrate understanding of the
concepts, theory and design of distributed
computing.
 To demonstrate appreciation of the need
and use of distributed computing
technology.

Distributed Systems 2
Course Outline
 Introduction
 goals and design issues

 Architectural models(paradigms)

 Distributed processing

Distributed computing layering


interprocess communication
directory services

Distributed Systems 3
Course Outline

 Fault tolerance
 Coordination and Synchronization:
 Mutual exclusion
 Atomic transactions
 Distributed file systems
 Distributed system security

Distributed Systems 4
Mode of delivery
 Teaching methodology:

lectures, tutorials
 Instructional materials/equipment:
Classroom with audio visual aids
 Course assessment :
 Exam - 50%
 2 cats - 30%
 3 assignments- 20%

Distributed Systems 5
References
 1.Distributed Systems: principles and
paradigms,Tanenbaum A.S and van steen (prentice
hall international;2002).
 2.distributed operating systems, Tanenbaum, A.S,
(Prentice-Hall International Inc,1995)
 3.Internet

Distributed Systems 6
Definition
 Def1: A collection of autonomous hosts
connected through a computer
network. Host communicate via
message passing to achieve some form
of cooperation.
 Def2: A collection of independent

computers appears to its users as a


 single coherent system

Distributed Systems 7
Examples of Distributed Systems
 The Web
 If you buy a flight on-line, your
computer interacts with a distant machine.
 Shared Resources: Documents

 Users interested in the documents are

distributed.
 The documents are also distributed.

Distributed Systems 8
Examples of Distributed
Systems
 Civil Aviation
Modern planes have replicated flight control
computers (Airbus A330/A340 planes have 5
for instance)
Additional processing units are used for
specific needs (data logging, cockpit displays,
etc.)
 Peer-to-Peer (P2P) file sharing networks
Each user contributes to the network
Auto-organisation, no centralised entity

Distributed Systems 9
Examples of Distributed System
Bank ATMs :
 Clients at different ATMs may access the
same accounts simultaneously
ATMs use nearest central office
 Each office acts as a backup of the other
 Clients may access their accounts from ATM
machines.

Distributed Systems 10
Example: A Typical Intranet
email server Desktop
computers
print and other servers

Local area
Web server network

email server
print
File server
other servers
the rest of
the Internet
router/firewall

Distributed Systems 11
Example: A Typical Portion of the Internet
(Coulouris)

intranet 

 ISP

backbone

satellite link

desktop computer:
server:
network link:

Distributed Systems 12
Components of a Distributed
system
 1. data component- concerned with
structures for information retention and
manipulation
 2.processing component-concerned with
processing data objects
 3. presentation component-makes data
visible to users and handling user
interaction
Distributed Systems 13
Components of a distributed sytems
 4.communication channel: pipelines
between processes
 Usually refers to inter-platform network

5.Message: data sent between


processes over communication channel

Distributed Systems 14
Characteristics of DS
 1.Multiple Computers:
 More than one physical computer, each
consisting of CPUs, local
 memory, and possibly stable storage, and I/O
paths to connect it with the environment.

Distributed Systems 15
Characteristics of DS
2. Interconnections:
Mechanisms for communicating
with other nodes via a network.
3. Availability A distributed system
should be permanently available
(even though parts of it may be
unavailable)

Distributed Systems 16
Characteristics of DS
4. Shared State:
 If a subset of nodes cooperate to

provide a service, a shared state is


maintained by these nodes. The
shared state is distributed or
replicated among the participants.

Distributed Systems 17
Characteristics of DS

5 scalability:Should be easy to expand


and scale
6. Transparency: The separation of the
components of a distributed system is
concealed from the user and the
application programmer

Distributed Systems 18
Characteristics of DS
7. process interact via non-shared local
memory
8. Fault tolerance - The ability to continue in operation
after a fault has occurred.

Distributed Systems 19
Advantages: (motivations)
 For many applications there are a number of
economic and technical reasons(motivations) that
make distributed systems much more attractive
than their centralized counterparts.

Distributed Systems 20
Advantages(motivations)
1. Sharing of resources: allow sharing
of resources e.g storage drives,
printers,databases,files etc
2. Better Performance: By using the
combined processing and storage
capacity of many nodes, performance
levels can be improved

Distributed Systems 21
Advantages(motivations)
3. Scalability.
Resources such as processing and storage
capacity can be increased incrementally.
3. Inherent distribution. Some applications,
such as email and the Web are naturally
distributed. This includes cases where users
are geographically dispersed as well as when
single resources (e.g., printers, data) need to
be shared.

Distributed Systems 22
Advantages(motivations)
4. More Reliable. By having redundant
components the impact of hardware and
software faults on users can be
reduced.

Distributed Systems 23
Disadvantages(limitations )
 However, these advantages are often
offset by several problems encountered
during the use and development of
distributed systems:

Distributed Systems 24
Disadvantages(limitations)
 1.New component network lower
performance:
 Networks are needed to connect
independent nodes and are subject to
performance limitations. Besides these
limitations, networks also constitute new
potential points of failure.

Distributed Systems 25
Disadvantages(limitations)

2. weak Security.
Because a distributed system consists
of multiple components there are more
elements that can be compromised
and must, therefore, be secured. This
leads to compromising security of
distributed systems.

Distributed Systems 26
Disadvantages(limitations)
 3. Software complexity. distributed
software is more complex and harder to
develop than conventional software;
hence, it is more expensive to develop
and there is a greater chance of
introducing errors.

Distributed Systems 27
Disadvantages(limitations)
 4. Difficult to Manage
 More effort required for system management.

Distributed Systems 28
Basic concepts
1. Resource: refers to services, components
or servers in the context of providers of
information e.g. web servers.
resource is anything that can be shared or
used on a distributed network

Distributed Systems 29
Basic concepts
Resource Examples:
a computer, a file storage
system,RAM,CPU ,a file,communication
channel

Distributed Systems 30
Basic concepts
Transparency: Refers to the property of hiding aspects
of distribution from the user, e.g. location and access
transparency.
Distributed paradigms. Refers to models, for
describing distribution and communication. Some of
these paradigms are: client/server model,peer to peer
model

Distributed Systems 31
Basic concepts
 Client: computer which acts as a
consumer of information in a distributed
system.
 Server: computer which act as a provider
of information. A server provides a
service. e.g web server

Distributed Systems 32
Basic concepts
Node: used to represent any computer on
a distributed network.
For example, here, we call a node that
performs some capability a service.
Client: when the computer is run as a client
i.e. a consumer of information.

Distributed Systems 33
Basic concepts
 Services
 Services are analogous to function calls.
 Servers receive a request (i.e. the arguments to
a function call) and return a response (i.e. the
returned function data or data updated within a
pass by reference argument).

Distributed Systems 34
Basic concepts

Distributed Systems 35
Basic concepts
 Everything in the above diagram is a
resource (except a client) because they
provide something that can be shared on
the network.

Distributed Systems 36
Basic concepts
 A Peer is a special kind of node in which
runs both a client and a server.
 computer is both a consumer and
provider of information.

Distributed Systems 37
Rules of thumb
 Trade-offs: At a certain point trade-offs must
be made i.e a choice must be made about
which requirement or property is more
important and how far to go when fulfilling
that requirement. e.g availability le only in
the face of certain problems, but not
others?

Distributed Systems 38
Rules of thumb
2.Separation of Concerns:
When tackling a large, complex, problem
(such as designing a distributed system), it
is useful to split the problem up into
separate concerns and address each
concern individually.

Distributed Systems 39
Rules of thumb
Separation of Concerns:
Approaching the design of a distributed
system in this way leads to highly
modular or layered systems, which helps
to increase a system’s flexibility.

Distributed Systems 40
Rules of thumb
3. Keep It Simple, Stupid (KISS): Overly
complex systems are error prone and
difficult to use. If possible solutions to
problems and resulting architectures
should be simple rather than mind-
numbingly complex.

Distributed Systems 41
Rules of thumb
4 Policy versus Mechanism: Separation
of policy and mechanism helps to build
flexible and extensible systems, and is,
therefore, important to follow when
designing distributed systems. e.g
different mechanisms can be used To
implement one policy.

Distributed Systems 42
Rules of thumb
5 End-to-End Argument: when building
layered systems some functions can only
be reliably implemented at the application
level.
End to end functionality refers to
functionality required at the application
level

Distributed Systems 43
Rules of thumb
End-to-End Argument:
 Implementing a functionality at the wrong

level forces everyone to use that


mechanism
 It Also render the mechanism less useful

than when it is implemented at a higher


(application) level.

Distributed Systems 44
Assignment one

Distributed Systems 45

You might also like