SlideShare una empresa de Scribd logo
1 de 30
SYNCHRONIZATION
By : Osama Hasan
OUTLINE



 Global Positioning of Nodes
 Election Algorithms
 Elections in Wireless Environments
Global Positioning of Nodes
GLOBAL POSITIONING OF NODES


When the number of nodes in a distributed
system grows, it becomes increasingly
difficult for any node to keep track of the
others. Such knowledge may be important
for executing distributed algorithms such as
routing,           multicasting,        data
placement, searching, and so on.
GLOBAL POSITIONING OF NODES
There are many applications of geometric overlay
networks. Consider the situation where a Web site at
server O has been replicated to multiple servers on
the Internet. When a client C requests a page from
O, the latter may decide to redirect that request to
the server closest to C, give the best response time.
If the geometric location of C is known, as well as
those of each replica server, O can then simply pick
that server ( i.e. ) S, for which d(C,S) is minimal.
There is no need to sample all the latencies between
C and each of the replica servers.
Election Algorithms
ELECTION ALGORITHM
   There are at least two basic strategies by which a
    distributed system can adapt to failures.

       operate continuously as failures occur and are repaired

       The second alternative is to temporarily halt normal
        operation and to take some time out to reorganize the
        system.

             The reorganization of the system is managed by a single node
             called the coordinator.

            So as a first step in any reorganization, the operating or active
             nodes must elect a coordinator.
ELECTION ALGORITHM


   Many algorithms used in distributed systems require
    a coordinator
       For example, centralized mutual exclusion algorithm.
 In general, all processes in the distributed system
  are equally suitable for the role
 Election algorithms are designed to choose a
  coordinator.
ELECTION ALGORITHM

  Any   process can serve as coordinator
  Any process can “call an election”
   (initiate the algorithm to choose a new
   coordinator).
  Elections may be needed when the
   system is initialized, or if the coordinator
   crashes or retires.
ASSUMPTIONS

 Every   process/site has a unique ID; e.g.
     the network address
     a process number
 Every process in the system should know
  the values in the set of ID
  numbers, although not which processors
  are up or down.
 The process with the highest ID number will
  be the new coordinator.
REQUIREMENTS
 When    the election algorithm terminates a
  single process has been selected and every
  process knows its identity.
 Formalize: every process pi has a variable ei
  to hold the coordinator’s process number.
     ∀i, ei = undefined or ei = P, where P is the non-
      crashed process with highest id
     All processes (that have not crashed) eventually
      set ei = P.
ELECTION ALGORITHMS


 The   two classical election algorithms

     Bully Algorithm
     Ring Algorithm
The Bully Algorithm
THE BULLY ALGORITHM - OVERVIEW

 Process   p calls an election when it notices
  that the coordinator is no longer responding.
 High-numbered         processes “bully” low-
  numbered processes out of the election,
  until only one process remains.
 When a crashed process reboots, it holds an
  election. If it is now the highest-numbered
  live process, it will win.
THE BULLY ALGORITHM

                       1
                                5
                   2
                       OK
                                        6
               4           OK

                                    3
                   0
                           7

 Process p sends an election message to all higher-
 numbered processes in the system.
 If no process responds, then p becomes the coordinator.
 If a higher-level process (q) responds, it sends p a
 message that terminates p’s role in the algorithm
THE BULLY ALGORITHM

The processThe winner sends a message 1
                q now calls an                       5
election (if itto otheralready
                has not processes       2         election OK
done so).      announcing itself as the new
Repeat untilcoordinator.
                no higher-level                           6
                                       4    election
process responds. The last
                                                     election
process to call an election
“wins” the election.                      0               3
                              1
                                        5        7
                      2

                          coordinator       6
                     4


                          0             3
                                  7
1                                            1                                         1
                       5                                         5                                           5
    2                                          2                                     2                    election
         election                                       OK
                               6                                         6                                       6
4           election                                        OK                       4
                                       4                                                         election
        election                                                                                             election
                           3                                         3                                           3
    0                                          0                                         0
               7                                        7                                             7


                                   1
                                       5                                                 1
                   2                               OK                                                 5
                                                                             2

               4                               6                                 coordinator                6
                                                                             4

                   0                       3                                                          3
                                                                                 0
                                   7                                                         7
                                                                 Figure 6-20
The Ring Algorithm
THE RING ALGORITHM
 The     ring algorithm assumes that the
  processes are arranged in a logical ring and
  each process is knows the order of the ring
  of processes.
 Processes are able to “skip” faulty systems:
  instead of sending to process j, send to j +
  1.
 Faulty systems are those that don’t respond
  in a fixed amount of time.
THE RING ALGORITHM

 P thinks the coordinator has crashed; builds an
  ELECTION message which contains its own ID number.
 Sends to first live successor

 Each process adds its
  own number and
  forwards to next.
 OK to have two
  elections at once.
THE RING ALGORITHM
 When   the message returns to p, it sees its own
  process ID in the list and knows that the circuit is
  complete.
 P circulates a COORDINATOR
  message with the new high
  number.
 Here, both 2 and 5
  elect 6:
  [5,6,0,1,2,3,4]
  [2,3,4,5,6,0,1]
Elections in Wireless Environments
ELECTIONS IN WIRELESS ENVIRONMENTS

 Traditional   algorithms aren’t appropriate.
     Can’t assume reliable message passing or
      stable network configuration
 This
     discussion focuses on ad hoc wireless
 networks but ignores node mobility.
     Nodes connect directly, no common access
      point, connection is short term
     Often used in multiplayer gaming, on-the-fly file
      transfers, etc.
ELECTIONS IN WIRELESS ENVIRONMENTS

 Wireless  algorithms try to find the best node
  to be coordinator; traditional algorithms are
  satisfied with any node.
 Any node (the source) can initiate an election
  by sending an ELECTION message to its
  neighbors – nodes within range.
 When a node receives its first ELECTION
  message the sender becomes its parent
  node.
 Node a is the source.
 Messages have a unique ID to manage
 possible concurrent elections
When a node R receives its first election message, it
designates the source Q as its parent, and forwards
the message to all neighbors except Q.
When R receives an election message from a non-
parent, it just acknowledges the message
If R’s neighbors have parents, R is a leaf; otherwise it
waits for its children to forward the message to their
neighbors.
When R has collected acks from all its neighbors, it
acknowledges the message from Q.
Acknowledgements flow back up the tree to the original
source.
ELECTIONS IN WIRELESS ENVIRONMENTS

 At each stage the “most eligible” or “best” node will be
  passed along from child to parent.
 Once the source node has received all the replies, it
  is in a position to choose the new coordinator.
 When the selection is made, it is broadcast to all
  nodes in the network.
ELECTIONS IN WIRELESS ENVIRONMENTS
 If more than one election is called (multiple
  source nodes), a node should participate in
  only one.
 Election messages are tagged with a
  process id.
 If a node has chosen a parent but gets an
  election message from a higher numbered
  node, it drops out of the current election and
  adopts the high numbered node as its
  parent. This ensures only one election
  makes a choice.
Thanks for Listening

Más contenido relacionado

La actualidad más candente

resource management
  resource management  resource management
resource management
Ashish Kumar
 
Aggrement protocols
Aggrement protocolsAggrement protocols
Aggrement protocols
Mayank Jain
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
Ashish Kumar
 

La actualidad más candente (20)

Agreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemoryAgreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared Memory
 
resource management
  resource management  resource management
resource management
 
Chapter 3-Processes.ppt
Chapter 3-Processes.pptChapter 3-Processes.ppt
Chapter 3-Processes.ppt
 
Clock synchronization in distributed system
Clock synchronization in distributed systemClock synchronization in distributed system
Clock synchronization in distributed system
 
Distributed shred memory architecture
Distributed shred memory architectureDistributed shred memory architecture
Distributed shred memory architecture
 
Aggrement protocols
Aggrement protocolsAggrement protocols
Aggrement protocols
 
Election in Wireless Environment
Election in Wireless EnvironmentElection in Wireless Environment
Election in Wireless Environment
 
Vector clock algorithm
Vector clock algorithmVector clock algorithm
Vector clock algorithm
 
Distributed Coordination-Based Systems
Distributed Coordination-Based SystemsDistributed Coordination-Based Systems
Distributed Coordination-Based Systems
 
remote procedure calls
  remote procedure calls  remote procedure calls
remote procedure calls
 
Process Management-Process Migration
Process Management-Process MigrationProcess Management-Process Migration
Process Management-Process Migration
 
Peer to Peer services and File systems
Peer to Peer services and File systemsPeer to Peer services and File systems
Peer to Peer services and File systems
 
Distributed Objects and Remote Invocation
Distributed Objects and Remote InvocationDistributed Objects and Remote Invocation
Distributed Objects and Remote Invocation
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
 
Distributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithmsDistributed Mutual exclusion algorithms
Distributed Mutual exclusion algorithms
 
Distributed Transaction
Distributed TransactionDistributed Transaction
Distributed Transaction
 
Chapter 6-Consistency and Replication.ppt
Chapter 6-Consistency and Replication.pptChapter 6-Consistency and Replication.ppt
Chapter 6-Consistency and Replication.ppt
 
Inter-Process Communication in distributed systems
Inter-Process Communication in distributed systemsInter-Process Communication in distributed systems
Inter-Process Communication in distributed systems
 
Inter Process Communication
Inter Process CommunicationInter Process Communication
Inter Process Communication
 
Monitors
MonitorsMonitors
Monitors
 

Último

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Último (20)

AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024IoT Analytics Company Presentation May 2024
IoT Analytics Company Presentation May 2024
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
ASRock Industrial FDO Solutions in Action for Industrial Edge AI _ Kenny at A...
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdfWhere to Learn More About FDO _ Richard at FIDO Alliance.pdf
Where to Learn More About FDO _ Richard at FIDO Alliance.pdf
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 

Synchronization - Election Algorithms

  • 2. OUTLINE  Global Positioning of Nodes  Election Algorithms  Elections in Wireless Environments
  • 4. GLOBAL POSITIONING OF NODES When the number of nodes in a distributed system grows, it becomes increasingly difficult for any node to keep track of the others. Such knowledge may be important for executing distributed algorithms such as routing, multicasting, data placement, searching, and so on.
  • 5. GLOBAL POSITIONING OF NODES There are many applications of geometric overlay networks. Consider the situation where a Web site at server O has been replicated to multiple servers on the Internet. When a client C requests a page from O, the latter may decide to redirect that request to the server closest to C, give the best response time. If the geometric location of C is known, as well as those of each replica server, O can then simply pick that server ( i.e. ) S, for which d(C,S) is minimal. There is no need to sample all the latencies between C and each of the replica servers.
  • 7. ELECTION ALGORITHM  There are at least two basic strategies by which a distributed system can adapt to failures.  operate continuously as failures occur and are repaired  The second alternative is to temporarily halt normal operation and to take some time out to reorganize the system.  The reorganization of the system is managed by a single node called the coordinator.  So as a first step in any reorganization, the operating or active nodes must elect a coordinator.
  • 8. ELECTION ALGORITHM  Many algorithms used in distributed systems require a coordinator  For example, centralized mutual exclusion algorithm.  In general, all processes in the distributed system are equally suitable for the role  Election algorithms are designed to choose a coordinator.
  • 9. ELECTION ALGORITHM  Any process can serve as coordinator  Any process can “call an election” (initiate the algorithm to choose a new coordinator).  Elections may be needed when the system is initialized, or if the coordinator crashes or retires.
  • 10. ASSUMPTIONS  Every process/site has a unique ID; e.g.  the network address  a process number  Every process in the system should know the values in the set of ID numbers, although not which processors are up or down.  The process with the highest ID number will be the new coordinator.
  • 11. REQUIREMENTS  When the election algorithm terminates a single process has been selected and every process knows its identity.  Formalize: every process pi has a variable ei to hold the coordinator’s process number.  ∀i, ei = undefined or ei = P, where P is the non- crashed process with highest id  All processes (that have not crashed) eventually set ei = P.
  • 12. ELECTION ALGORITHMS  The two classical election algorithms  Bully Algorithm  Ring Algorithm
  • 14. THE BULLY ALGORITHM - OVERVIEW  Process p calls an election when it notices that the coordinator is no longer responding.  High-numbered processes “bully” low- numbered processes out of the election, until only one process remains.  When a crashed process reboots, it holds an election. If it is now the highest-numbered live process, it will win.
  • 15. THE BULLY ALGORITHM 1 5 2 OK 6 4 OK 3 0 7 Process p sends an election message to all higher- numbered processes in the system. If no process responds, then p becomes the coordinator. If a higher-level process (q) responds, it sends p a message that terminates p’s role in the algorithm
  • 16. THE BULLY ALGORITHM The processThe winner sends a message 1 q now calls an 5 election (if itto otheralready has not processes 2 election OK done so). announcing itself as the new Repeat untilcoordinator. no higher-level 6 4 election process responds. The last election process to call an election “wins” the election. 0 3 1 5 7 2 coordinator 6 4 0 3 7
  • 17. 1 1 1 5 5 5 2 2 2 election election OK 6 6 6 4 election OK 4 4 election election election 3 3 3 0 0 0 7 7 7 1 5 1 2 OK 5 2 4 6 coordinator 6 4 0 3 3 0 7 7 Figure 6-20
  • 19. THE RING ALGORITHM  The ring algorithm assumes that the processes are arranged in a logical ring and each process is knows the order of the ring of processes.  Processes are able to “skip” faulty systems: instead of sending to process j, send to j + 1.  Faulty systems are those that don’t respond in a fixed amount of time.
  • 20. THE RING ALGORITHM  P thinks the coordinator has crashed; builds an ELECTION message which contains its own ID number.  Sends to first live successor  Each process adds its own number and forwards to next.  OK to have two elections at once.
  • 21. THE RING ALGORITHM  When the message returns to p, it sees its own process ID in the list and knows that the circuit is complete.  P circulates a COORDINATOR message with the new high number.  Here, both 2 and 5 elect 6: [5,6,0,1,2,3,4] [2,3,4,5,6,0,1]
  • 22. Elections in Wireless Environments
  • 23. ELECTIONS IN WIRELESS ENVIRONMENTS  Traditional algorithms aren’t appropriate.  Can’t assume reliable message passing or stable network configuration  This discussion focuses on ad hoc wireless networks but ignores node mobility.  Nodes connect directly, no common access point, connection is short term  Often used in multiplayer gaming, on-the-fly file transfers, etc.
  • 24. ELECTIONS IN WIRELESS ENVIRONMENTS  Wireless algorithms try to find the best node to be coordinator; traditional algorithms are satisfied with any node.  Any node (the source) can initiate an election by sending an ELECTION message to its neighbors – nodes within range.  When a node receives its first ELECTION message the sender becomes its parent node.
  • 25.  Node a is the source. Messages have a unique ID to manage possible concurrent elections
  • 26. When a node R receives its first election message, it designates the source Q as its parent, and forwards the message to all neighbors except Q. When R receives an election message from a non- parent, it just acknowledges the message
  • 27. If R’s neighbors have parents, R is a leaf; otherwise it waits for its children to forward the message to their neighbors. When R has collected acks from all its neighbors, it acknowledges the message from Q. Acknowledgements flow back up the tree to the original source.
  • 28. ELECTIONS IN WIRELESS ENVIRONMENTS  At each stage the “most eligible” or “best” node will be passed along from child to parent.  Once the source node has received all the replies, it is in a position to choose the new coordinator.  When the selection is made, it is broadcast to all nodes in the network.
  • 29. ELECTIONS IN WIRELESS ENVIRONMENTS  If more than one election is called (multiple source nodes), a node should participate in only one.  Election messages are tagged with a process id.  If a node has chosen a parent but gets an election message from a higher numbered node, it drops out of the current election and adopts the high numbered node as its parent. This ensures only one election makes a choice.