Distributed Computing Notes

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Distributed Computing Notes as PDF for free.

More details

  • Words: 777
  • Pages: 14
Distributed Operating Systems

Synchronization

Synchronization ●



Rules for enforcing correct interaction are implemented in the form of synchronization mechanisms Issues ● ● ● ● ●

Clock Synchronization Event Ordering Mutual exclusion Deadlock Election algorithms

Clock Synchronization ●

Types –

External Synchronization ● ●



Internal Synchronization ● ●





Synchronization with real time( external) clocks Synchronized to UTC(Coordinated Universal Time) Mutually between different nodes For consistent view of the system

External Synchronization ensures internal synch. Clock skew – Difference in clock values between two nodes

Clock Synchronization contd... ●

Set of clocks are said to be synchronized if the clock skew of any two is less than δ (Specified constant)



Clocks should never run backwards

Synchronization algorithms

Centralized Algorithms

Active Time Server

Passive Time Server

Distributed Algorithms

Global Averaging

Local Averaging

Centralized Algorithms ●

Server node having real time receiver present



All clocks synchronized to this server node



Drawback – single point failure



Major classification –

Passive Time Server



Active Time Server

Passive Time Server ●

Each node periodically sends message(“time=?”) to the time server



Server responds by sending (“time=T”)



After receiving client adjusts time to –

T+(T1-T0)/2 (T0 – Client time when message sent T1 - Client time when reply received)



T+(T1-T2-I)/2 (I – Time taken by time server to handle interrupt)



Several T1-T0 are considering and an average is used



Minimum of T1-T0 is used

Active Time Server ●









Time server node periodically broadcasts clock time (“time=T”) Time of propagation (Ta) from server to client is known Client adjusts time to T+Ta Not fault tolerant if the communication time is high then wrong adjustment Ex. Berkeley algorithm

Berkeley algorithm ●







Used for internal clock synchronization of a group Time server periodically sends a message (“time=?”) to all computers in the group On receiving the message each computer in the group sends its clock value to the server Server has prior knowledge of propagation time from node to the server

Berkeley algorithm contd… ●

● ●

Time server readjusts the clock values of the reply messages using fault tolerant average The time server readjusts its own time too. Time server sends the adjustment (positive or negative) to each node

Distributed Algorithms ●

All nodes equipped with real time receiver so that each node’s clock is independently synchronized with real time



External synch. Also results in internal syn.



Internal synchronization performed for better results –

Global averaging distributed algorithms ● ●







Clock process at each node broadcasts its local clock time in the form of resynch message After broadcasting node waits for time T during which it collects resynch messages by other nodes At the end of waiting time, it clock estimates the skew of its clock with respect to other nodes Uses this correct its own local clock before restart of next resync interval

Localized averaging distributed algorithms ● ●

Nodes of the system are logically arranged in some kind of pattern such as ring or grid Each node sets its own clock time to average of its own clock time and the clock time of its neighbors

EVENT ORDERING ●

Happened before relation ( casual ordering) –

If a and b are events of the same relation ● ●



– –

a occurs before b ; a -> b a is the event of sending message by one process and b is the event of receiving the same message by another message ; a -> b If a -> b , b -> c then a -> c

Irreflexive , a -> a not true Events concurrent if not related by happened before relation

Event ordering ●

Need for globally synchronized physical clocks For event ordering –

Logical clock concept ●





Associate timestamp with every event

Implementation of logical clocks –

If a occurs before b in process Pi then Ci(a) < Ci(b)



If a is the sending of a message by process Pi and b is the receipt of that message by process Pj then Ci(a)


Clocks should always go forward , that is corrections should be positive value

To meet the above conditions : Lamport’s algorithm –

The implementation rules of lamport’s algorithm ●



IR1 : Each process Pi increments Ci between any two events IR2 : If event a is the sending of message m by process Pi the message m contains a tinestamp Tm = Ci(a) upon receiving the message m a process Pj sets Cj greater than or equal to its present value but greater than Tm

Mutual Exclusion

Related Documents