Computer Science 328 Distributed Systems - PowerPoint PPT Presentation

1 / 12
About This Presentation
Title:

Computer Science 328 Distributed Systems

Description:

... be concurrent calls for the same election. The result of an election does not depend on which process ... Any run of the election algorithm must guarantee: ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 13
Provided by: mehdith
Category:

less

Transcript and Presenter's Notes

Title: Computer Science 328 Distributed Systems


1
Computer Science 328Distributed Systems
  • Lecture 8
  • Coordination Agreement Election

2
Voting V.S. Election
  • Maekawas algorithm is an example of voting
  • Processors are not aware of the result of their
    vote
  • Failure does not figure in the voting
  • Elections are initiated to select a coordinator
    or to grant special privileges to a process
  • All processes are informed of the result.
  • Election is usually initiated when processor
    failure occurs.

P1 P2 P3 P4 P5 P6 P7
P8 P9 P10 P11 P12 P13 P14 P15
P16
Can this lead to a deadlock?
Voting set for processor P7
3
Principles of Election
  • Any process can call for an election.
  • A process can call for one election at a time.
  • There could be concurrent calls for the same
    election.
  • The result of an election does not depend on
    which process calls for it.
  • Processes involved in an election are called
    the participants of the election.
  • The non-failed process with the best election
    attribute value (could be the address) is
    elected.
  • Any run of the election algorithm must
    guarantee
  • Safety ? P (Ps elected (q non-failed
    process with the best attribute
  • value) or ?)
  • Liveness ? election (election terminates with a
    process Pelected ) ? P
    non-crashed participant of election, Ps elected
    Pelected)

4
Ring Election
  • Processes are organized in a logical ring.
  • pi has a communication channel to p(i1) mod N.
  • All messages are sent clockwise around the ring.
  • Any process that discovers a coordinator has
    failed initiates an election message that
    contains its id.
  • When a process receives an election message, it
    compares the id in the message with its own.
  • If the arrived id is greater, the receiver
    forwards the message.
  • If the arrived id is smaller and the receiver
    has not forwarded an election message earlier, it
    substitutes its own id in the message and
    forwards it.
  • If the arrived id is that of the receiver, then
    this processs id must be the greatest, and it
    becomes the new coordinator. This process then
    sends an elected message to its neighbor
    announcing the election result.
  • When a process pi receives an elected message, it
  • sets its variable electedi ? id of the message.
  • forwards the message if it is not the new
    coordinator.

5
A Ring-Based Election in Progress
  • The worst-case scenario occurs when the
    counter-clockwise neighbor has the highest id.
  • A total of N-1 messages is required to reach the
    new coordinator-to-be.
  • Another N messages are required until the new
    coordinator-to-be ensures it is the new
    coordinator.
  • Another N messages are required to circulate the
    elected messages.

Note The election was started by process 17.The
highest process identifier encountered so far is
24. Participant processes are shown darkened
6
Example Ring Election

Election 4
Election 2
Election 4
Election 3
Election 4
May not work when process failure occurs during
the lection!
7
Modification to Ring Election
  • Processors are organized in a logical ring.
  • Any processor that discovers a coordinator has
    failed initiates an election message.
  • The message is circulated around the ring,
    bypassing failed nodes.
  • Each node adds its id to the message as it
    passes it to the next node.
  • Once the message gets to the initiator, it
    elects the node with the best election attribute
    value.
  • It then sends a coordinator message with the id
    of the newly-elected coordinator. Again, each
    node adds its id to the end of the message.
  • Once coordinator message gets back to
    initiator,
  • election is over if coordinator is in
    id-list.
  • else the algorithm is repeated.

8
Example Ring Election

Election 2, 3,4,0,1
Election 2
Coord(4) 2
Election 2,3
Election 2,3,4
Coord(4) 2,3
Coord(4) 2, 3,0,1
Coord(3) 2, 3,0,1
Election 2, 3,0,1
Coord(3) 2,3,0
Election 2,3,0
Coord(3) 2
Election 2
Election 2,3
Coord(3) 2,3
9
Election by the Bully Algorithm
  • Assumptions
  • Synchronous system
  • All messages arrive within Ttrans units of time.
  • A reply is dispatched within Tprocess units of
    time of the receipt of a message.
  • if no response is received in 2Ttrans
    Tprocess, the node is assumed to be dead.
  • Each process knows which processes have higher
    identifiers and that it can communicate with all
    such processes.
  • If a process knows it has the highest id, it can
    elect itself as the coordinator, it simply sends
    a coordinator message to all processes with lower
    identifiers.
  • A node initiates election by sending an
    election message to the higher numbered nodes.
  • If no answer, announce itself to lower nodes as
    coordinator.
  • if any answer, there is a higher node active,
    and the node waits for announcement of the new
    coordinator.
  • A node that receives an election message
    replies OK and begins another election unless
    it has begun one already.

10
The Bully Algorithm
The election of coordinator p2, after the
failure of p4 and then p3
11
Example Bully Election

12
Performance of Bully Algorithm
  • Best case scenario The process with the second
    highest id notices the failure of the coordinator
    and elects itself.
  • N-2 coordinator messages are sent.
  • Turnaround time is one message transmission time.
  • Worst case scenario When the process with the
    least id detects the failure.
  • N-1 processes altogether begin elections, each
    sending messages to processes with higher ids.
  • The message overhead is O(N2).
  • Turnaround time is approximately 5 message
    transmission times.
Write a Comment
User Comments (0)
About PowerShow.com