2. Motivation
Distributed system is collection of
loosely coupled processors interconnected by a
communications network
Independent computers that appear to users of
the system as a single computer
Processors variously called nodes, computers,
machines, hosts
Site is location of the processor
3. Reasons for Distributed Systems
Resource sharing
sharing and printing files at remote sites
processing information in a distributed database
using remote specialized hardware devices
Computation speedup – load sharing
Reliability – detect and recover from site
failure, function transfer, reintegrate failed
site
Communication – message passing
5. A Distributed System (contd.)
A distributed system organized as middleware.
Note that the middleware layer extends over multiple machines.
1.1
6. Types of Distributed Operating
Systems
Network Operating Systems
Distributed Operating Systems
System Description Main Goal
DOS
Tightly-coupled operating system for
multi-processors and homogeneous
multicomputers
Hide and
manage
hardware
resources
NOS
Loosely-coupled operating system for
heterogeneous multicomputers (LAN
and WAN)
Offer local
services to
remote clients
7. Network-Operating Systems
Users are aware of multiplicity of machines.
Access to resources of various machines is
done explicitly by:
Remote logging into the appropriate remote
machine (telnet, ssh)
Remote Desktop (Microsoft Windows)
Transferring data from remote machines to
local machines, via the File Transfer Protocol
(FTP) mechanism
9. Distributed-Operating Systems
Users not aware of multiplicity of machines
Access to remote resources similar to access to
local resources
Data Migration – transfer data by transferring
entire file, or transferring only those portions of
the file necessary for the immediate task
Computation Migration – transfer the
computation, rather than the data, across the
system
10. Distributed-Operating Systems
(Cont.)
Process Migration – execute an entire process, or parts of
it, at different sites
Load balancing – distribute processes across network to
even the workload
Computation speedup – subprocesses can run concurrently
on different sites
Hardware preference – process execution may require
specialized processor
Software preference – required software may be available at
only a particular site
Data access – run process remotely, rather than transfer all
data locally
11. Comparison between Systems
Item
Distributed OS Network
OS
Multiproc. Multicomp.
Degree of transparency Very High High Low
Same OS on all nodes Yes Yes No
Number of copies of OS 1 N N
Basis for
communication
Shared
memory
Messages Files
Resource management
Global,
central
Global,
distributed
Per node
Scalability No Moderately Yes
Openness Closed Closed Open
12. Network Structure
Local-Area Network (LAN) – designed to cover small
geographical area.
Multiaccess bus, ring, or star network
Speed 10 – 100 megabits/second
Broadcast is fast and cheap
Nodes:
usually workstations and/or personal computers
a few (usually one or two) mainframes
16. Network Topology
Sites in the system can be physically connected in a
variety of ways; they are compared with respect to
the following criteria:
Basic cost - How expensive is it to link the various
sites in the system?
Communication cost - How long does it take to
send a message from site A to site B?
Reliability - If a link or a site in the system fails,
can the remaining sites still communicate with each
other?
The various topologies are depicted as graphs
whose nodes correspond to sites
An edge from node A to node B corresponds to a
direct connection between the two sites
18. Communication Structure
Naming and name resolution - How do
two processes locate each other to
communicate?
Routing strategies - How are messages
sent through the network?
Connection strategies - How do two
processes send a sequence of messages?
Contention - The network is a shared
resource, so how do we resolve conflicting
demands for its use?
The design of a communication network must address four basic
issues:
19. Naming and Name Resolution
Name systems in the network
Address messages with the process-id
Identify processes on remote systems by
<host-name, identifier> pair
Domain name service (DNS) – specifies the
naming structure of the hosts, as well as
name to address resolution (Internet)
20. Routing Strategies
Fixed routing - A path from A to B is specified in
advance; path changes only if a hardware failure
disables it
Since the shortest path is usually chosen, communication costs
are minimized
Fixed routing cannot adapt to load changes
Ensures that messages will be delivered in the order in which
they were sent
Virtual circuit - A path from A to B is fixed for the
duration of one session. Different sessions involving
messages from A to B may have different paths
Partial remedy to adapting to load changes
Ensures that messages will be delivered in the order in which
they were sent
21. Routing Strategies (Cont.)
Dynamic routing - The path used to send a message
form site A to site B is chosen only when a message is
sent
Usually a site sends a message to another site on the link
least used at that particular time
Adapts to load changes by avoiding routing messages on
heavily used path
Messages may arrive out of order
This problem can be remedied by appending a sequence
number to each message
22. Connection Strategies
Circuit switching - A permanent physical link is
established for the duration of the communication
(i.e., telephone system)
Message switching - A temporary link is
established for the duration of one message
transfer (i.e., post-office mailing system)
Packet switching - Messages of variable length
are divided into fixed-length packets which are sent
to the destination
Each packet may take a different path through the
network
The packets must be reassembled into messages as
they arrive
23. Connection Strategies (contd..)
Circuit switching requires setup time, but incurs less
overhead for shipping each message, and may waste
network bandwidth
Message and packet switching require less setup time,
but incur more overhead per message
24. Contention
CSMA/CD - Carrier sense with multiple
access (CSMA); collision detection (CD)
A site determines whether another message is
currently being transmitted over that link. If two
or more sites begin transmitting at exactly the
same time, then they will register a CD and will
stop transmitting
When the system is very busy, many collisions
may occur, and thus performance may be
degraded
CSMA/CD is used successfully in the
Ethernet system, the most common
network system
Several sites may want to transmit information over a link
simultaneously. Techniques to avoid repeated collisions include:
25. Contention (Cont.)
Token passing - A unique message type,
known as a token, continuously circulates in the
system (usually a ring structure)
A site that wants to transmit information must
wait until the token arrives
When the site completes its round of message
passing, it retransmits the token
A token-passing scheme is used by some IBM and
HP/Apollo systems
26. Contention (Cont.)
Message slots - A number of fixed-length message
slots continuously circulate in the system (usually a
ring structure)
Since a slot can contain only fixed-sized messages, a
single logical message may have to be broken down into
a number of smaller packets, each of which is sent in a
separate slot
This scheme has been adopted in the experimental
Cambridge Digital Communication Ring
27. Assignment 1
Compare the following topologies w. r. t. Basic Cost,
Diameter and Reliability of the Communication
Network:
Ring
Fully Connected
Tree
Cube/Hypercube