SlideShare uma empresa Scribd logo
1 de 52
MOHD SHOAIB KHAN

    DISTRIBUTED SYSTEM




                          1
Clock (Synchronization)
   All computers have a circuit for keeping track of time, this is know as
    Clock or Timer.

   When the system is booted, it usually asks for the user to enter the date and
    time, which is then converted to the number of ticks after same known
    starting date and stored in memory.

   In a distributed system, synchronized clock also enable one to measure the
    duration of distributed activities that start on one node and terminate on
    another node, for instance, calculating the time taken to transmit a message
    from one node to another at any arbitrary time.




                                                                                2
How Computer Clock Are Implemented :

   A computer clock usually consist of three component :
        1. A quartz crystal
                          - It is oscillates at a well defined frequency.

         2. A Counter register
                          - It is used to keep track of the oscillation of the
                            quartz crystal.

         3. A Constant register
                          - It is used to store a constant value that is decided

                              based on the frequency of oscillation of the
    quartz
                              crystal.                                             3
   The value in the counter register is determine by 1 for each oscillation of
    the quartz crystal. When the value of the counter register become zero, an
    interrupt is generated and its value is reinitialized to the value in the
    constant register, Each interrupt is called a clock tick.

   The clock in the constant register is chosen so that 60 clock ticks occur in a
    second.

   The computer clock is synchronized with real time. For this, two more
    values are stored in the system :
                             a) A fixed string date and time , and
                             b) The number of ticks




                                                                                  4
   A clock always runs at a constant rate. Let us suppose that when the real
    time is t, the time value of a clock p is Cp(t).

   If all clock in the world were perfectly synchronized, we would have
    Cp(t)=t for all p and all t. That is, if C denotes that time value of a clock,
    in the ideal case dC/dt should be 1. Therefore, if the maximum drift rate
    allowable is p, a clock is said to be no-fault if the following condition hold
    for it :

                            1-p<=dC/dt<=1+p


   For the slow clocks dCdt <1 and for fast clock dC/dt>1.

   A distributed system consist of several nodes, each with its own clock,
    running at its own speed. Because of non zero drift rates of all clocks, the
    set of clock of a distributed system do not remain well synchronizes
    without some periodic resynchronization.

                                                                                     5
Real Time




            6
   This means that the nodes of a distributed system must periodically
    resynchronize their local clock to maintain a global time base across the
    entire system. A distributed system require the following type of clock
    synchronized :

    1. synchronization of the computer clock with real time or external clock.

    2. Mutual or internal synchronization of the clocks of different nodes of the
    system.

* Externally synchronized clocks are also internally synchronized.




                                                                                 7
Clock Synchronization Algorithms :
    Clock Synchronization Algorithms may be broadly classified as ,

        1. Centralized

        2. Distributed

7.   Centralized Algorithms:
                  In centralized clock Synchronization algorithm one node has
     a real time receiver. This node is usually called the time server node, and
     the clock time of this node is regarded as correct and used as the
     reference time. The goal of the algorithm is to keep the clocks of all
     other nodes Synchronized with the clock time of the time server node.




                                                                               8
Centralized clock synchronization algorithm are again of two
    types:

                 a) Passive Time Server Centralized Algorithm

                 b) Active Time Server Centralized Algorithm

g)   Passive Time Server Centralized Algorithm :
                      In this method each node periodically sends a message
     to the time server. When the time server receives the message, it quickly
     responds with a message.

     The best estimation of the time required for the propagation of the
     message “time=T” from the time server node to client’s node is (T1-T0)/
     2.Threrfore, when the reply is received at the client’s node, its clock is
     readjusted to T+ (T1-T0)/2.


                                                                                  9
Here,
        T= is the Current time in the clock of the time server node
        T0=clock time of client node before receiving message
        T1=clock time of client node after receiving message


b) Active Time Server Centralized Algorithm:
              -In the active time server approach, the time server
   periodically broadcasts its clock (T). Other node received the broadcast
   message and use the clock time in the message of correcting their own
   clocks. Each node has a prior knowledge of the approximate time (Ta)
   required for the propagation of the message “time=T ” from the time server
   node to its own clock. Therefore, when the broadcast message is received
   at a node, the node’s clock is readjust to the time T+ Ta .

   A major drawback of this method is that it is not fault Tolerant.



                                                                           10
Drawback of Centralized Algorithms:
    Centralized clock synchronization Algorithms suffer from two
      major drawbacks :

       They are subject to single point failure. If the server node fail, the
        clock synchronization operation cannot be performed.

       From a scalability point of view it is generally not acceptable to
        get all the time request serviced by a single time server.



    * These drawbacks overcome by distributed algorithms.




                                                                             11
2. Distributed Algorithms :

    If each node’s clock independently synchronized with the real time , all
     the clocks of the system remain mutually synchronized.

    Internal synchronization of clock is not required in this approach.

    Following two approaches is usually used for internal synchronization :


                 1. Global Averaging Distributed Algorithms

                 2. Localized averaging Distributed Algorithms




                                                                                12
1. Global Averaging Distributed Algorithms :

   In this approach, the clock process at each node broadcast its local clock
    time in the from of a special “ resync ” Message.

   That “ resync ” Message is broadcast from each node at the beginning of
    every fixed length resynchronization interval.

   For each “ resync ” Message, the clock process record the time, according
    to its own clock, when the message was received. At end of waiting period,
    the clock process estimate the skew of its clock with respect to each of the
    other nodes on the basis of the times at which it received resync message.

   The global averaging algorithms do not scale well because they required
    the network to support broadcast facility and also because of the large
    amount of the message traffic generated.

                                                                                 13
 They are suitable for small network, especially for those that have fully
connected topology.

2. Localized averaging Distributed Algorithms :

   The localized averaging algorithms attempt to overcome the drawbacks of
    the a Global averaging algorithms.

   In this approach, the node of a distributed system are logically arranged in
    some kind of pattern, such as a ring or a grid.

   Periodically, each node exchange its clock time with its neighbors in the
    ring, grid or other structure and then sets its clock time to the average of its
    own clock time and the clock times of its neighbors.




                                                                                  14
Lamport’s Logical Clock (Lamport’s Algorithms) :




                                                   15
16
17
18
19
Message Ordering :




                     20
21
22
23
Mutual Exclusion :
   There are several resources in a system that must not be used
    simultaneously by multiple process. If program operation is to correct .
    For example, a file must not be simultaneously updated by multiple
    processes. Similarly, printer must be restricted to a single process at a time.

   Exclusive access to such a shared resource by a process must be ensured.
    This exclusiveness of access is called mutual exclusion between process.
    The section of a program that need exclusive access to shared resources
    are referred to as critical sections.

   For Mutual Exclusion, means are introduced to prevent processes from
    executing concurrently within their associated critical section.




                                                                                24
    An algorithm for implementing mutual exclusion must satisfy the
     following requirement :
                 a. Mutual Exclusion
                 b. No Starvation ( No Delay)

    In single processor system, mutual exclusion is implemented using
     semaphores, monitors, and similar constructs. The three basic
     approaches used by different algorithms for implementing mutual
     exclusion in distributed systems are describe below.

7.   Centralized Approach
8.   Distributed Approach
9.   Token Ring Passing




                                                                       25
1. Centralized Approach :
   In this approach, one of the process in the system is elected as the
    coordinator and coordinates the entry to the critical sections. Each process
    that want to enter a critical section, must first seek permission from the
    coordinator. If no other process is currently in that critical section, the
    coordinator can immediately grant permission to the requesting process.

   If two or more processes concurrently ask for permission to enter the same
    critical section, the coordinator grant permission to only one processes at a
    time in accordance with some algorithms.

   After executing a critical section, when a process exits the critical section,
    it must notify the coordinator so that the coordinator can grant permission
    to another process that has also asked for permission to enter the same
    critical section.



                                                                                26
27
   The main advantages of this algorithm is that it is simple to implement and
    require only three message per critical section entry : a request, a reply,
    and a release.

   However, it suffer from the usual drawback of centralized schemes, That
    is, a single coordinator is subject to single point of failure and can become
    a performance bottleneck in a large system.


2. Distributed Approach:
   In this approach, all process that want to enter the same critical section
    cooperate with each other before reaching a decision on which process
    will enter the critical section next.

   When a process wants to enter a critical section, it sends a request message
    to all other process. The message contain the following information :



                                                                                 28
a.) The process identifier
b.) The name of the critical section
c.) A unique Timestamp

   On receiving a request message, a process either immediately sends back a
    reply message to the sender or defers sending a reply based on the
    following:

a.) If the receiver process is itself currently executing in the critical section, it
    simply queues the request message and defers sending a reply.

b.) If the receiver process is currently not executing in the critical section but
    is waiting for its turn to enter the critical section, it compare the timestamp
    in the receiving request message with the timestamp in its own request
    message that it has sent to other processes.



                                                                                        29
c.) If the receiver process neither is in the critical section nor is waiting for its
    turn to enter the critical section, it immediately sends back a reply
    message.

   A process that sends out a request message keeps waiting for reply
    message from other processes. It enters the critical section as soon as it has
    received reply message from all processes. After it finishes executing in
    the critical section, it sends reply message to all processes in its queue and
    deletes them its queue.

   To illustrate how the algorithm works, let us consider the following
    example of figure :




                                                                                   30
31
   If there are n processes, the algorithm required n-1 request message and
    n-1 reply message, giving a total of 2(n-1) message per critical section
    entry.

   This algorithm suffers from the following drawback:

         1. The algorithm is liable to n point of failure.

         2. All requirements makes implementation of the algorithm complex.

         3. The waiting time may be large if there are too many processes.
            Therefore, the algorithm is suitable only for a small group of
            cooperating processes.



                                                                          32
3. Token Ring Passing:
   In this method, mutual exclusion is achieved by a single token that is
    circulated among the processes in the system. A token is a special type of
    message that entitle its holder to enter a critical section. For fairness, the
    processes in the system are logically organized in a ring structure, and the
    token is circulated from one process to another around the ring always in
    the same direction.

   When a process receives the token, it checks if it wants to enter a critical
    section and acts as follows:

          1. If it wants to enter a critical section, it keeps the token, enters the
    critical section, and exits from the critical section after finishing its work in
    the critical section. It then passes the token along the ring to its neighbor
    process.


                                                                                   33
2. If it does not want to enter a critical section, it just passes the token along
    the ring to its neighbor process.

   The algorithm, however, requires the handling of the following types of
    failure :




         I. Process Failure : A process failure in the system cause the logical
                              ring to break.

         II. Lost Token      : If the token is lost, a new token must be
                               generated. (Passed “ Who Has the Token”)




                                                                                     34
ELECTION ALGORITHMS:




                       35
Traditional Election Algorithms:
1. The Bully Algorithm

2. A Ring Algorithm




                                   36
37
38
39
40
41
FAULT TOLERANCE:




                   42
43
44
45
Failure Masking by Redundancy:




                                 46
47
48
49
50
51
52

Mais conteúdo relacionado

Mais procurados

Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)
Sri Prasanna
 
Communication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed SystemsCommunication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed Systems
guest61205606
 
resource management
  resource management  resource management
resource management
Ashish Kumar
 
process management
 process management process management
process management
Ashish Kumar
 

Mais procurados (20)

Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)Clock Synchronization (Distributed computing)
Clock Synchronization (Distributed computing)
 
Chapter 6 synchronization
Chapter 6 synchronizationChapter 6 synchronization
Chapter 6 synchronization
 
Synchronization
SynchronizationSynchronization
Synchronization
 
Clock Synchronization in Distributed Systems
Clock Synchronization in Distributed SystemsClock Synchronization in Distributed Systems
Clock Synchronization in Distributed Systems
 
Ds ppt imp.
Ds ppt imp.Ds ppt imp.
Ds ppt imp.
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical Clocks
 
Clocks
ClocksClocks
Clocks
 
Communication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed SystemsCommunication And Synchronization In Distributed Systems
Communication And Synchronization In Distributed Systems
 
Distributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithmDistributed system lamport's and vector algorithm
Distributed system lamport's and vector algorithm
 
6.Distributed Operating Systems
6.Distributed Operating Systems6.Distributed Operating Systems
6.Distributed Operating Systems
 
Distributed System
Distributed SystemDistributed System
Distributed System
 
Distributed System Management
Distributed System ManagementDistributed System Management
Distributed System Management
 
Distributed Operating System_2
Distributed Operating System_2Distributed Operating System_2
Distributed Operating System_2
 
3. syncro. in distributed system
3. syncro. in distributed system3. syncro. in distributed system
3. syncro. in distributed system
 
The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)The International Journal of Engineering and Science (The IJES)
The International Journal of Engineering and Science (The IJES)
 
OSCh17
OSCh17OSCh17
OSCh17
 
Synchronous mac protocol study
Synchronous mac protocol studySynchronous mac protocol study
Synchronous mac protocol study
 
resource management
  resource management  resource management
resource management
 
process management
 process management process management
process management
 
Process Synchronization
Process SynchronizationProcess Synchronization
Process Synchronization
 

Destaque

The heart of missions
The heart of missionsThe heart of missions
The heart of missions
rwsinclair
 
[OSC浜松2013]オープンソースライセンス研究所の概要と最新の動向(20130209)
[OSC浜松2013]オープンソースライセンス研究所の概要と最新の動向(20130209)[OSC浜松2013]オープンソースライセンス研究所の概要と最新の動向(20130209)
[OSC浜松2013]オープンソースライセンス研究所の概要と最新の動向(20130209)
Hitoshi Sugimoto
 
Oll osc2014浜名湖(20140322)
Oll osc2014浜名湖(20140322)Oll osc2014浜名湖(20140322)
Oll osc2014浜名湖(20140322)
Hitoshi Sugimoto
 

Destaque (18)

オープンデータ浜名湖Night#4(20150819)
オープンデータ浜名湖Night#4(20150819)オープンデータ浜名湖Night#4(20150819)
オープンデータ浜名湖Night#4(20150819)
 
まとめ@International Opendata Day 2015 in KOSAI_20150221
まとめ@International Opendata Day 2015 in KOSAI_20150221まとめ@International Opendata Day 2015 in KOSAI_20150221
まとめ@International Opendata Day 2015 in KOSAI_20150221
 
オープンデータ浜名湖Night#13(20160928)
オープンデータ浜名湖Night#13(20160928)オープンデータ浜名湖Night#13(20160928)
オープンデータ浜名湖Night#13(20160928)
 
オープンデータ浜名湖Night#9(20160413)
オープンデータ浜名湖Night#9(20160413)オープンデータ浜名湖Night#9(20160413)
オープンデータ浜名湖Night#9(20160413)
 
Mis diseños
Mis diseñosMis diseños
Mis diseños
 
The heart of missions
The heart of missionsThe heart of missions
The heart of missions
 
NetCommonsの事例紹介とNPO法人コモンズネットのご案内
NetCommonsの事例紹介とNPO法人コモンズネットのご案内NetCommonsの事例紹介とNPO法人コモンズネットのご案内
NetCommonsの事例紹介とNPO法人コモンズネットのご案内
 
オープンデータ浜名湖Night#5(20151021)
オープンデータ浜名湖Night#5(20151021)オープンデータ浜名湖Night#5(20151021)
オープンデータ浜名湖Night#5(20151021)
 
オープンデータ浜名湖Night#10(20160518)
オープンデータ浜名湖Night#10(20160518)オープンデータ浜名湖Night#10(20160518)
オープンデータ浜名湖Night#10(20160518)
 
Bmm3110 tutorial 3
Bmm3110 tutorial 3Bmm3110 tutorial 3
Bmm3110 tutorial 3
 
OSIの定義に基づくOSSライセンスの特徴分類 と現場での課題との関連に関する検討_OSC2015浜名湖_20150211
OSIの定義に基づくOSSライセンスの特徴分類 と現場での課題との関連に関する検討_OSC2015浜名湖_20150211OSIの定義に基づくOSSライセンスの特徴分類 と現場での課題との関連に関する検討_OSC2015浜名湖_20150211
OSIの定義に基づくOSSライセンスの特徴分類 と現場での課題との関連に関する検討_OSC2015浜名湖_20150211
 
[OSC浜松2013]オープンソースライセンス研究所の概要と最新の動向(20130209)
[OSC浜松2013]オープンソースライセンス研究所の概要と最新の動向(20130209)[OSC浜松2013]オープンソースライセンス研究所の概要と最新の動向(20130209)
[OSC浜松2013]オープンソースライセンス研究所の概要と最新の動向(20130209)
 
オープンデータ浜名湖Night#14(20161109)
オープンデータ浜名湖Night#14(20161109)オープンデータ浜名湖Night#14(20161109)
オープンデータ浜名湖Night#14(20161109)
 
Oll osc2014浜名湖(20140322)
Oll osc2014浜名湖(20140322)Oll osc2014浜名湖(20140322)
Oll osc2014浜名湖(20140322)
 
オープンデータはここまで進んだ!_OSC2015浜名湖_20150211
オープンデータはここまで進んだ!_OSC2015浜名湖_20150211オープンデータはここまで進んだ!_OSC2015浜名湖_20150211
オープンデータはここまで進んだ!_OSC2015浜名湖_20150211
 
UNAL: Discriminating between Literal and Figurative Phrasal Usage Using Distr...
UNAL: Discriminating between Literal and Figurative Phrasal Usage Using Distr...UNAL: Discriminating between Literal and Figurative Phrasal Usage Using Distr...
UNAL: Discriminating between Literal and Figurative Phrasal Usage Using Distr...
 
地域のチカラをマップにしよう!高齢者版 Sotmj15_20151031
地域のチカラをマップにしよう!高齢者版  Sotmj15_20151031地域のチカラをマップにしよう!高齢者版  Sotmj15_20151031
地域のチカラをマップにしよう!高齢者版 Sotmj15_20151031
 
Perkembangan bahasa
Perkembangan bahasaPerkembangan bahasa
Perkembangan bahasa
 

Semelhante a Shoaib

Synchronization of multihop sensor networks in the app layer
Synchronization of multihop sensor networks in the app layerSynchronization of multihop sensor networks in the app layer
Synchronization of multihop sensor networks in the app layer
Vaishnavi
 
Swift container sync
Swift container syncSwift container sync
Swift container sync
Open Stack
 
Design of Real-time Self Establish Wireless Sensor For Dynamic Network
Design of Real-time Self Establish Wireless Sensor For Dynamic NetworkDesign of Real-time Self Establish Wireless Sensor For Dynamic Network
Design of Real-time Self Establish Wireless Sensor For Dynamic Network
IJTET Journal
 

Semelhante a Shoaib (20)

Clock.pdf
Clock.pdfClock.pdf
Clock.pdf
 
D021201024031
D021201024031D021201024031
D021201024031
 
Chap 5
Chap 5Chap 5
Chap 5
 
Clock synchronization
Clock synchronizationClock synchronization
Clock synchronization
 
Synchronization of multihop sensor networks in the app layer
Synchronization of multihop sensor networks in the app layerSynchronization of multihop sensor networks in the app layer
Synchronization of multihop sensor networks in the app layer
 
Lesson 05 - Time in Distrributed System.pptx
Lesson 05 - Time in Distrributed System.pptxLesson 05 - Time in Distrributed System.pptx
Lesson 05 - Time in Distrributed System.pptx
 
Clock Synchronization in Distributed Systems
Clock Synchronization in Distributed SystemsClock Synchronization in Distributed Systems
Clock Synchronization in Distributed Systems
 
Unit iii-Synchronization
Unit iii-SynchronizationUnit iii-Synchronization
Unit iii-Synchronization
 
Synchronisation
SynchronisationSynchronisation
Synchronisation
 
Swift container sync
Swift container syncSwift container sync
Swift container sync
 
OS_module2. .pptx
OS_module2.                          .pptxOS_module2.                          .pptx
OS_module2. .pptx
 
Hu3513551364
Hu3513551364Hu3513551364
Hu3513551364
 
Chapter 5-Synchronozation.ppt
Chapter 5-Synchronozation.pptChapter 5-Synchronozation.ppt
Chapter 5-Synchronozation.ppt
 
Timers
TimersTimers
Timers
 
Timer
TimerTimer
Timer
 
Process scheduling &amp; time
Process scheduling &amp; timeProcess scheduling &amp; time
Process scheduling &amp; time
 
Parallel and Distributed Computing Chapter 13
Parallel and Distributed Computing Chapter 13Parallel and Distributed Computing Chapter 13
Parallel and Distributed Computing Chapter 13
 
Ch 1 overview
Ch 1 overviewCh 1 overview
Ch 1 overview
 
Design of Real-time Self Establish Wireless Sensor For Dynamic Network
Design of Real-time Self Establish Wireless Sensor For Dynamic NetworkDesign of Real-time Self Establish Wireless Sensor For Dynamic Network
Design of Real-time Self Establish Wireless Sensor For Dynamic Network
 
A Virtual Infrastructure for Mitigating Typical Challenges in Sensor Networks
A Virtual Infrastructure for Mitigating Typical Challenges in Sensor NetworksA Virtual Infrastructure for Mitigating Typical Challenges in Sensor Networks
A Virtual Infrastructure for Mitigating Typical Challenges in Sensor Networks
 

Último

Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Último (20)

Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural ResourcesEnergy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
Energy Resources. ( B. Pharmacy, 1st Year, Sem-II) Natural Resources
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Role Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptxRole Of Transgenic Animal In Target Validation-1.pptx
Role Of Transgenic Animal In Target Validation-1.pptx
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-IIFood Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
Food Chain and Food Web (Ecosystem) EVS, B. Pharmacy 1st Year, Sem-II
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 

Shoaib

  • 1. MOHD SHOAIB KHAN  DISTRIBUTED SYSTEM 1
  • 2. Clock (Synchronization)  All computers have a circuit for keeping track of time, this is know as Clock or Timer.  When the system is booted, it usually asks for the user to enter the date and time, which is then converted to the number of ticks after same known starting date and stored in memory.  In a distributed system, synchronized clock also enable one to measure the duration of distributed activities that start on one node and terminate on another node, for instance, calculating the time taken to transmit a message from one node to another at any arbitrary time. 2
  • 3. How Computer Clock Are Implemented :  A computer clock usually consist of three component : 1. A quartz crystal - It is oscillates at a well defined frequency. 2. A Counter register - It is used to keep track of the oscillation of the quartz crystal. 3. A Constant register - It is used to store a constant value that is decided based on the frequency of oscillation of the quartz crystal. 3
  • 4. The value in the counter register is determine by 1 for each oscillation of the quartz crystal. When the value of the counter register become zero, an interrupt is generated and its value is reinitialized to the value in the constant register, Each interrupt is called a clock tick.  The clock in the constant register is chosen so that 60 clock ticks occur in a second.  The computer clock is synchronized with real time. For this, two more values are stored in the system : a) A fixed string date and time , and b) The number of ticks 4
  • 5. A clock always runs at a constant rate. Let us suppose that when the real time is t, the time value of a clock p is Cp(t).  If all clock in the world were perfectly synchronized, we would have Cp(t)=t for all p and all t. That is, if C denotes that time value of a clock, in the ideal case dC/dt should be 1. Therefore, if the maximum drift rate allowable is p, a clock is said to be no-fault if the following condition hold for it : 1-p<=dC/dt<=1+p  For the slow clocks dCdt <1 and for fast clock dC/dt>1.  A distributed system consist of several nodes, each with its own clock, running at its own speed. Because of non zero drift rates of all clocks, the set of clock of a distributed system do not remain well synchronizes without some periodic resynchronization. 5
  • 7. This means that the nodes of a distributed system must periodically resynchronize their local clock to maintain a global time base across the entire system. A distributed system require the following type of clock synchronized : 1. synchronization of the computer clock with real time or external clock. 2. Mutual or internal synchronization of the clocks of different nodes of the system. * Externally synchronized clocks are also internally synchronized. 7
  • 8. Clock Synchronization Algorithms :  Clock Synchronization Algorithms may be broadly classified as , 1. Centralized 2. Distributed 7. Centralized Algorithms: In centralized clock Synchronization algorithm one node has a real time receiver. This node is usually called the time server node, and the clock time of this node is regarded as correct and used as the reference time. The goal of the algorithm is to keep the clocks of all other nodes Synchronized with the clock time of the time server node. 8
  • 9. Centralized clock synchronization algorithm are again of two types: a) Passive Time Server Centralized Algorithm b) Active Time Server Centralized Algorithm g) Passive Time Server Centralized Algorithm : In this method each node periodically sends a message to the time server. When the time server receives the message, it quickly responds with a message. The best estimation of the time required for the propagation of the message “time=T” from the time server node to client’s node is (T1-T0)/ 2.Threrfore, when the reply is received at the client’s node, its clock is readjusted to T+ (T1-T0)/2. 9
  • 10. Here, T= is the Current time in the clock of the time server node T0=clock time of client node before receiving message T1=clock time of client node after receiving message b) Active Time Server Centralized Algorithm: -In the active time server approach, the time server periodically broadcasts its clock (T). Other node received the broadcast message and use the clock time in the message of correcting their own clocks. Each node has a prior knowledge of the approximate time (Ta) required for the propagation of the message “time=T ” from the time server node to its own clock. Therefore, when the broadcast message is received at a node, the node’s clock is readjust to the time T+ Ta . A major drawback of this method is that it is not fault Tolerant. 10
  • 11. Drawback of Centralized Algorithms: Centralized clock synchronization Algorithms suffer from two major drawbacks :  They are subject to single point failure. If the server node fail, the clock synchronization operation cannot be performed.  From a scalability point of view it is generally not acceptable to get all the time request serviced by a single time server. * These drawbacks overcome by distributed algorithms. 11
  • 12. 2. Distributed Algorithms :  If each node’s clock independently synchronized with the real time , all the clocks of the system remain mutually synchronized.  Internal synchronization of clock is not required in this approach.  Following two approaches is usually used for internal synchronization : 1. Global Averaging Distributed Algorithms 2. Localized averaging Distributed Algorithms 12
  • 13. 1. Global Averaging Distributed Algorithms :  In this approach, the clock process at each node broadcast its local clock time in the from of a special “ resync ” Message.  That “ resync ” Message is broadcast from each node at the beginning of every fixed length resynchronization interval.  For each “ resync ” Message, the clock process record the time, according to its own clock, when the message was received. At end of waiting period, the clock process estimate the skew of its clock with respect to each of the other nodes on the basis of the times at which it received resync message.  The global averaging algorithms do not scale well because they required the network to support broadcast facility and also because of the large amount of the message traffic generated. 13
  • 14.  They are suitable for small network, especially for those that have fully connected topology. 2. Localized averaging Distributed Algorithms :  The localized averaging algorithms attempt to overcome the drawbacks of the a Global averaging algorithms.  In this approach, the node of a distributed system are logically arranged in some kind of pattern, such as a ring or a grid.  Periodically, each node exchange its clock time with its neighbors in the ring, grid or other structure and then sets its clock time to the average of its own clock time and the clock times of its neighbors. 14
  • 15. Lamport’s Logical Clock (Lamport’s Algorithms) : 15
  • 16. 16
  • 17. 17
  • 18. 18
  • 19. 19
  • 21. 21
  • 22. 22
  • 23. 23
  • 24. Mutual Exclusion :  There are several resources in a system that must not be used simultaneously by multiple process. If program operation is to correct . For example, a file must not be simultaneously updated by multiple processes. Similarly, printer must be restricted to a single process at a time.  Exclusive access to such a shared resource by a process must be ensured. This exclusiveness of access is called mutual exclusion between process. The section of a program that need exclusive access to shared resources are referred to as critical sections.  For Mutual Exclusion, means are introduced to prevent processes from executing concurrently within their associated critical section. 24
  • 25. An algorithm for implementing mutual exclusion must satisfy the following requirement : a. Mutual Exclusion b. No Starvation ( No Delay)  In single processor system, mutual exclusion is implemented using semaphores, monitors, and similar constructs. The three basic approaches used by different algorithms for implementing mutual exclusion in distributed systems are describe below. 7. Centralized Approach 8. Distributed Approach 9. Token Ring Passing 25
  • 26. 1. Centralized Approach :  In this approach, one of the process in the system is elected as the coordinator and coordinates the entry to the critical sections. Each process that want to enter a critical section, must first seek permission from the coordinator. If no other process is currently in that critical section, the coordinator can immediately grant permission to the requesting process.  If two or more processes concurrently ask for permission to enter the same critical section, the coordinator grant permission to only one processes at a time in accordance with some algorithms.  After executing a critical section, when a process exits the critical section, it must notify the coordinator so that the coordinator can grant permission to another process that has also asked for permission to enter the same critical section. 26
  • 27. 27
  • 28. The main advantages of this algorithm is that it is simple to implement and require only three message per critical section entry : a request, a reply, and a release.  However, it suffer from the usual drawback of centralized schemes, That is, a single coordinator is subject to single point of failure and can become a performance bottleneck in a large system. 2. Distributed Approach:  In this approach, all process that want to enter the same critical section cooperate with each other before reaching a decision on which process will enter the critical section next.  When a process wants to enter a critical section, it sends a request message to all other process. The message contain the following information : 28
  • 29. a.) The process identifier b.) The name of the critical section c.) A unique Timestamp  On receiving a request message, a process either immediately sends back a reply message to the sender or defers sending a reply based on the following: a.) If the receiver process is itself currently executing in the critical section, it simply queues the request message and defers sending a reply. b.) If the receiver process is currently not executing in the critical section but is waiting for its turn to enter the critical section, it compare the timestamp in the receiving request message with the timestamp in its own request message that it has sent to other processes. 29
  • 30. c.) If the receiver process neither is in the critical section nor is waiting for its turn to enter the critical section, it immediately sends back a reply message.  A process that sends out a request message keeps waiting for reply message from other processes. It enters the critical section as soon as it has received reply message from all processes. After it finishes executing in the critical section, it sends reply message to all processes in its queue and deletes them its queue.  To illustrate how the algorithm works, let us consider the following example of figure : 30
  • 31. 31
  • 32. If there are n processes, the algorithm required n-1 request message and n-1 reply message, giving a total of 2(n-1) message per critical section entry.  This algorithm suffers from the following drawback: 1. The algorithm is liable to n point of failure. 2. All requirements makes implementation of the algorithm complex. 3. The waiting time may be large if there are too many processes. Therefore, the algorithm is suitable only for a small group of cooperating processes. 32
  • 33. 3. Token Ring Passing:  In this method, mutual exclusion is achieved by a single token that is circulated among the processes in the system. A token is a special type of message that entitle its holder to enter a critical section. For fairness, the processes in the system are logically organized in a ring structure, and the token is circulated from one process to another around the ring always in the same direction.  When a process receives the token, it checks if it wants to enter a critical section and acts as follows: 1. If it wants to enter a critical section, it keeps the token, enters the critical section, and exits from the critical section after finishing its work in the critical section. It then passes the token along the ring to its neighbor process. 33
  • 34. 2. If it does not want to enter a critical section, it just passes the token along the ring to its neighbor process.  The algorithm, however, requires the handling of the following types of failure : I. Process Failure : A process failure in the system cause the logical ring to break. II. Lost Token : If the token is lost, a new token must be generated. (Passed “ Who Has the Token”) 34
  • 36. Traditional Election Algorithms: 1. The Bully Algorithm 2. A Ring Algorithm 36
  • 37. 37
  • 38. 38
  • 39. 39
  • 40. 40
  • 41. 41
  • 43. 43
  • 44. 44
  • 45. 45
  • 46. Failure Masking by Redundancy: 46
  • 47. 47
  • 48. 48
  • 49. 49
  • 50. 50
  • 51. 51
  • 52. 52