Professional Documents
Culture Documents
Distributed Systems Slides-Lesson1
Distributed Systems Slides-Lesson1
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 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
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
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
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
Distributed Systems 17
Characteristics of DS
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
Distributed Systems 44
Assignment one
Distributed Systems 45