Design of Parallel and Distributed Systems: Dr. Seemab Latif
Design of Parallel and Distributed Systems: Dr. Seemab Latif
Distributed Systems
Dr. Seemab Latif
Lecture 1
Introduction
CHARACTERIZATION OF
DISTRIBUTED SYSTEMS
Chapter 1
Characterization of Distributed
Systems
1.Introduction
2.Examples of distributed systems
3.Trends in distributed systems
4.Focus on resource sharing
5.Challenges
6. Case study: The World Wide Web
Introduction
Characteristics of Distributed
Systems
Concurrency: is a property of systems in which
several
computations
are
executing
simultaneously, and potentially interacting with
each other.
on
physically
on
separated
Characteristics of Distributed
Systems
No global clock: When programs need to
cooperate they coordinate their actions by
exchanging messages.
Characteristics of Distributed
Systems
Independent failures: Distributed systems can fail
in new ways. Faults in the network result in the
isolation of the computers that are connected to
it, but that doesnt mean that they stop running.
Independent Failures
Components of Distributed systems can
fail.
Networks (Communication)
Computers (Devices)
the
Network Failures
Isolation of computers: Network failure doesnt
mean computer stop working.
Programs may
not be able to detect whether the
22/01/15
network has failed or has become unusually slow.
Computer/Process Failures
Examples of Distributed
Systems
Network of Workstations
Personal workstations + processors not
assigned to specific users.
Network of Workstations
Examples of Distributed
Systems
Automatic banking (teller machine) system
Examples of Distributed
Systems
The Cloud
The Cloud
Examples of Distributed
Systems
Automotive system (a distributed real-time
system)
Synchronization of physical clocks
Scheduling with hard time constraints
Real-time communication
Fault tolerance
Disadvantages of Distributed
System
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.
Transparency
Access transparency
- local and remote resources are accessed
using identical operations.
Location transparency
- users cannot tell where hardware and
software resources (CPUs, files, data
bases) are located; the name of the
resource shouldnt encode the location of
Transparency
Migration (mobility) transparency
- resources should be free to move from one location to
another without having their names changed.
Replication transparency
- the system is free to make additional copies of files and
other resources (for purpose of performance and/or
reliability), without the users noticing.
Example: several copies of a file; at a certain request
that copy is accessed which is the closest to the client.
Transparency
Concurrency transparency
- the users will not notice the existence of other
users in the system (even if they access the
same resources).
Failure transparency
- applications should be able to complete their
task despite failures occurring in certain
components of the system.
Performance transparency
- load variation should not lead to performance
degradation.
This could be achieved by automatic
reconfiguration as response to changes of the
load; it is difficult to achieve.
Communication
Components of a distributed system have to
communicate in order to interact. This
implies support at two levels:
1. Networking infrastructure (interconnections
& network software).
2. Appropriate communication primitives and
models and their implementation:
communication primitives:
- send
- receive
- remote procedure call (RPC)
Communication
communication models
- client-server communication: implies a
message exchange between two processes:
the process which requests a service and the
one which provides it;
- group multicast: the target of a message is a
set of processes, which are members of a given
group.
Scalability
The system should remain efficient even with a
significant increase in the number of users
and resources connected:
Heterogeneity
Distributed applications are typically
heterogeneous:
- different hardware: mainframes,
workstations,
PCs, servers, etc.;
- different software:UNIX,MSWindows,IBMOS/2,
Real-time OSs, etc.;
- unconventional devices: teller machines,
telephone switches, robots, manufacturing
systems, etc.;
- diverse networks and protocols: Ethernet,
FDDI, ATM, TCP/IP, Novell Netware, etc.
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.
Key aspect of openness:
- Standard interfaces and protocols (like Internet
communication protocols)
- Support of heterogeneity (by adequate
middleware, like CORBA)
Openness
Software Architecture:
Openness
The same, looking at two distributed nodes:
Security
Security of information resources:
1. Confidentiality
Protection against disclosure to unauthorised
person
2. Integrity
Protection against alteration and corruption
3. Availability
Keep the resource accessible
Security
Distributed systems should allow
communication
between programs/users/
resources on different
computers.