Introduction To Distributed System

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 25

Introduction to distributed system

Definition:
It is a collection of processors that do not share
memory. Instead, each processor has its own local
memory and the processors communicate with
each other through communication links such as
local area networks or wide area networks
Each processor is called site or node or machine or
host

What are the advantages of distributed


systems?
1)resource sharing
2)computation speed up
3)reliability
4)communication

1
Resource sharing
If a number of different sites with different capabilities
are connected to one another, then a user at one site
may be able to use the resources available at another

Computational speed up
If a particular computation can be partitioned into sub
computations that can run concurrently, then a
distributed system allows us to distribute the sub
computation among the various sites; the sub
computations can be run concurrently and thus
provides computation speed up.
In addition, if a particular site is currently overloaded
with jobs, some of them may be moved to other lightly
loaded sites. This movement of jobs is called load
sharing

Reliability
If one site fails in a distributed system, the remaining
sites can continue operating

Communication
The advantage of a distributed system is that
communication can be carried out over great distances
2
3
What is the difference between
network operating system (NOS)
and
distributed operating system (DOS)?

NOS
It provides an environment in which users, who are
aware of the multiplicity of machines, can access
remote resources by either logging into the
appropriate remote machine or transferring data
from the remote machine to their own machine

DOS
User can access remote resources in the same manner
as they do with local resources

4
What are the features of NOS?
1) Remote log in
2) Remote file transfer
Remote log in
To illustrate this facility, let us suppose that a user at
Brown university wishes to compute on cs.utexas.edu
computer located at the university of Texas. To do so:
 The user must have a valid account on that
machine. To log on remotely, the user issues
command

telnet cs.utexas.edu
this command results in a communication
between the local machine at Brown university
and cs.utexas.edu computer. After this connection
has been established, the network software

 creates a transparent bidirectional link such that


all characters entered by the user are sent to a
process on cs.utexas.edu

 the process on the remote machine asks the user


for a login name and password. The process
checks the validity of information and acts as a
5
proxy for the user and the result of execution is
sent back to the user.

Remote file transfer


If the user at one site (cs.brown.edu) wants to access a
file on another computer (cs.utexas.edu) then the file
must be copied explicitly from the computer at Texas
to the computer at Brown by the following steps:
 The user (client) first must invoke ftp program
ftp cs.utexas.edu
 the program asks the user for login name and
password. Then the user must connect to the
subdirectory where the file is located, then copy

get paper.tex mypaper.tex


 users must know exactly where each file is, no file
sharing occurs because a user can only copy a file
from one site to another, thus several copies of the
same file may exist, resulting in a waste of space.
In addition, if these file copies are modified, the
various copies will be inconsistent.

6
What are the features of DOS?
1. Date migration
2. Computation migration

Data migration
Suppose that a user at site A wants to access data that
resides at site B. the system can transfer the data. One
approach to data migration is to transfer the entire file
to site A. from that point on, all access to the file is
local. When the user no longer needs access to the file,
a copy of the file (after modification) is sent back to site
B

7
Computation migration
In some circumstances, we may want to transfer the
computation, rather than the data. This approach is
called computation migration. For example, consider a
job that needs to access various large files that reside at
different sites, to obtain a summary of those files. It
would be more efficient to access the files at the sites
where they reside and return the desired results to the
site that initiated the computation.
Suppose process P wants to access a file at site A.
process P can send a message to site A. the operating
system at site A would then create a new process Q
whose function is to carry out the designated task.
When process Q completes its execution, it sends the
needed result back to P via the message system.in this
scheme, process P may execute concurrently with
process Q.
So, the definition of process migration: when a process
is submitted for execution, it is not always executed at
the site in which it is initiated, the entire process or
part of it may be executed at different sites.

8
What are the benefits of process migration?
1.Load balance
2.Computation speed up
3.Hardware preference
4.Software preference
5.Data access

DOS: hides the fact that the process has


migrated from the client. The user does
not need to code the program explicitly to
accomplish the migration.

9
Topologies
Fully connected Partially connected

Number of links grow, resulting in a huge Installation cost is lower, but if 5 and 7 are
installation cost not connected, the message from one to
another must be routed, thus a
communication cost occurs
Tree structured Ring network

Atat

A failure in one link can result in partitioning the At least two links are required to partition
network (installation cost and communication cost is the network but the communication cost is
low) high since a message may have to cross a
large number of links
Star network

A failure in one link can result in partitioning the network but it is always one site which is
partitioned. Low communication cost since each site is at most two links away from every other
site. However the failure at the central node results in every site in the system becomes
disconnected

10
Network types:
1. LAN
2. WAN
LAN

Covers processors distributed over small geographical


areas such as a single building or a number of
adjacent building. Links in LAN are twisted pair and
fiber optics cables. The common configuration is star
and ring. Communication speed ranges from
1megabit/sec to 1 gigabit/sec

WAN
Covers processors distributed over a large
geographical area. Because the sites in a WAN are
physically distributed over a large geographical area,
the communication links are relatively slow and
unreliable. Typical links are telephone lines,
microwave links and satellite links. These
communication links are controlled by special
communication processors that are responsible for
defining the interface through which the sites

11
communicate over the network as well as for
transferring information among the various sites.

12
How can a client locate a server?
Via naming and name resolution: for a process at site
A to exchange information with site B, they must be
able to identify each other in terms of <host name,
process ID>: two methods
1. Every host may have a file containing the name
and the address of all other hosts reachable on the
network. All those files must be updated when
adding or removing a host from the network.
2. DNS (domain name system): a centralized unit
that map high level service names to machine
addresses. Each server must register its name and
address on (DNS)

13
Routing strategies
1) Fixed routing: a path from site A to site B is specified
in advance and does not change unless a hardware
failure disables this path, usually the shortest path is
chosen.
Advantages: message arrive in order
Disadvantages: if the path is damaged or down
or heavy loaded, it can not be changed.

2) Virtual routing: 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
Advantages: message arrive in order
Disadvantages: if the path is damaged or down
or heavy loaded, it can not be changed.

3) Dynamic routing: the path used to send a message


from site A to site B is chosen only when a message is
sent. Separate messages may be assigned to different
paths
Advantages: flexible
Disadvantages: message does not arrive in order

14
Packet strategies
1. A message can be divided into several
packets (frames) (datagrams)
2. Each packet has a sequence number
3. The sender has no guarantee that and
cannot tell whether the packet reached its
destination (unreliable)
4. A packet is returned from the destination
indicating that the packet arrived (reliable)

15
Connection strategies
Pair of processes that want to communicate over the
network can be connected in a number of ways:
 Circuit switching: if two processes want to
communicate, a permanent physical link is
established between them. This link is allocated
for the duration of the communication session,
and no other process can use the link even if the
two processes are not communicating for a while.
That may waste network bandwidth, but incurs
less overhead for shipping each message.
 Message switching: if two processes want to
communicate, a temporary link is established for
the duration of one message. Physical links are
allocated dynamically among correspondents as
needed, and are allocated for only short periods.
Each message contains the sender and the
receiver. Many messages from different users can
be shipped over the same link. But more overhead
per message.

16
 Packet switching: one logical message may have
to be divided into a number of packets. Each
packet may be sent to its destination separately
and therefore must include the receiver and the
sender addresses. The packets must be
reassembled at the destination. But more
overhead per message, but makes the best use of
network bandwidth.

17
Contention
Several sites may want to transmit information
over a link simultaneously.
 CSMA/CD:
Before transmitting a message over a link, a site
must listen to determine whether another
message is currently being transmitted over the
link. This technique is called carrier sense with
multiple access. If the link is free, the site can
start transmitting. Otherwise, it must wait and
continue to listen until the link is free. If two or
more sites begin transmitting at exactly the same
time, then they register collision detection (CD)
and stop transmission. Each site will try again
after some random time interval. But when the
system is very busy, many collisions may occur.
To limit the number of collisions, we limit the
number of hosts

18
 Token passing:
A unique message type, known as token,
continuously circulates in the system (usually
ring structure). A site that wants to transmit
information must wait until the token arrives. It
removes the token from the ring and begins to
transmit its message. When the site completes its
message passing, it retransmits the token, this
action in returns allows another site to receive
and remove the token, and to start its message
transmission.
 What if the token gets lost, then the system
must detect the loss and generate a new token.
 Adding a new site may lengthen the time a
system waits for the toke, but it will not cause a
large performance decrease.
 At light load network, Ethernet is more efficient
because systems may send messages at any
time.

19
 Message slots:
A number of fixed length message slots
continuously circulate in the system (usually a ring
structure). Each slot can hold a fixed size message
and control information (such as what is the source
and destination). A site that is ready to transmit must
wait until an empty slot arrives. It then inserts its
message into the slot, setting the appropriate control
information. The slot with its message then
continues in the network. When it arrives at a site,
that site inspects the control information to
determine whether the slot contains a message for
this site. If not, that site recirculates the slot and
message, otherwise, it removes the message and
reset the control information to indicate that the slot
is empty.

20
Communication protocols
ISO (international standard organization)
Physical layer: handle both the mechanical and the
electrical details of the physical transmission of a bit
stream
Data link layer: handle the frames
Network layer: handle the routing of packets
Transport layer: handle message transfer
Session layer: implement process to process
communication
Presentation layer: resolve the difference in formats
among various sites
Application layer: interact directly with the user.

21
Robustness
A distributed system may suffer from various types
of hardware failure? The failure of link, site, loss of
message and we need to detect, reconfigure and
recover
 Failure detection
To detect link and site failure, we use handshaking
procedure, suppose that sites A and B have a direct
physical link between them. At fixed intervals, both
sites send each other “I am up” message. If site A
does not receive this message within a certain time,
it can assume that B has failed, or the link between
A and B has failed, or that the message from B to A
has been lost. At this time, site A has two choices, it
can wait for another time to receive “I am up”
message from B, or it can send “are you up”
message to B. if site A does not receive “I am up”
message or a reply to its inquiry, site A can try to
differentiate between link failure and site failure by:
sending “are you up” message to B by another route.
If B replied, so the failure is in the direct link
between them if not, the possibilities are

22
 B is down
 The direct link fails
 A message has been lost
 The alternative path between A and B is down
 Reconfiguration
If a direct link from A to B has failed, this
information must be broadcast to every site in
the system
If the system believes that a site has failed,
then every site in the system must be notified,
so they can no longer attempt to use the
service of the failed site.
 Recovery from failure
Suppose that a link between A and B has
failed. When it is repaired, both A and B must
be notified.
Suppose that site B has failed, when it
recovers, it must notify all other sites that it is
up again. Site B may have to receive
information from the other sites to update its
local tables

23
Design issues
1. The user interface of transparent distributed
system should not distinguish between local
and remote resources
2. Users should be able to access remote
distributed systems as though the later were
local and the distributed OS should be
responsible for locating the resources and for
arranging the appropriate interaction
3. Another aspect of transparency is user
mobility. It would be convenient to allow
users to log into any machine in the system,
and not to force them to use a specific
machine. A transparent distributed system
facilitates user mobility by bringing over the
user’s environment to wherever he logs in
4. A system that grinds to a halt when only a
few of its components fails is certainly not
fault tolerant. So a fault tolerant system
should continue to function, perhaps in a
degraded form.

24
5. The capability of a system to adapt to
increased service load is its scalability.
Scalable design should withstand high service
load and enable simple integration of added
resources

25

You might also like