You are on page 1of 36

Election Algorithms

CS-4513
Distributed Computing Systems
(Slides include materials from Operating System Concepts, 7th ed., by Silbershatz, Galvin, & Gagne,
Distributed Systems: Principles & Paradigms, 2nd ed. By Tanenbaum and Van Steen, and
Modern Operating Systems, 2nd ed., by Tanenbaum)

CS-4513 D-term 2008 Election Algorithms 1


Election Algorithms

• If we are using one process as a coordinator


for a shared resource …

• …how do we select that one process?

• Often, there is no owner or master that is


automatically considered as coordinator
• E.g., Grapevine, there is no owner for a Registry
• By contrast:–DNS has a master for every domain
CS-4513 D-term 2008 Election Algorithms 2
Solution – an Election

• All nodes currently involved get together to


choose a coordinator
• If the coordinator crashes or becomes
isolated, elect a new coordinator
• If a previously crashed or isolated node,
comes on line, a new election may have to
be held.

CS-4513 D-term 2008 Election Algorithms 3


Election Algorithms

• Wired systems
• Bully algorithm
• Ring algorithm

• Wireless systems

• Very large-scale systems

CS-4513 D-term 2008 Election Algorithms 4


Bully Algorithm

• Assume
• All processes know about each other
• Processes numbered uniquely
• Suppose P notices no coordinator
• Sends election message to all higher numbered
processes
• If none response, P takes over as coordinator
• If any responds, P yields
• …
CS-4513 D-term 2008 Election Algorithms 5
Bully Algorithm (continued)

• …
• Suppose Q receives election message
• Replies OK to sender, saying it will take over
• Sends a new election message to higher numbered
processes
• Repeat until only one process left standing
• Announces victory by sending message saying that
it is coordinator

CS-4513 D-term 2008 Election Algorithms 6


Bully Algorithm (continued)

CS-4513 D-term 2008 Election Algorithms 7


Bully Algorithm (continued)

• …
• Suppose R comes back on line
• Sends a new election message to higher numbered
processes
• Repeat until only one process left standing
• Announces victory by sending message saying that
it is coordinator (if not already coordinator)
• Existing (lower numbered) coordinator yields
• Hence the term “bully”
CS-4513 D-term 2008 Election Algorithms 8
Alternative – Ring Algorithm

• All processed organized in ring


• Independent of process number
• Suppose P notices no coordinator
• Sends election message to successor with own
process number in body of message
• (If successor is down, skip to next process, etc.)
• Suppose Q receives an election message
• Adds own process number to list in message body
• …
CS-4513 D-term 2008 Election Algorithms 9
Alternative – Ring Algorithm

• Suppose P receives an election message


with its own process number in body
• Changes message to coordinator message,
preserving body
• All processes recognize highest numbered process as
new coordinator
• If multiple messages circulate …
• …they will all contain same list of processes
(eventually)
• If process comes back on-line
• Calls new election
CS-4513 D-term 2008 Election Algorithms 10
Ring Algorithm (continued)

Coordinator=6

CS-4513 D-term 2008 Election Algorithms 11


Ring Algorithm (continued)

[5,6,0,1]

[2,3,4,5] [2,3,4]

CS-4513 D-term 2008 Election Algorithms 12


Ring Algorithm (continued)

[2,3,4,5,6,0] [1,2,3,4,5,6,0]

[5,6,0,1,2]

[2,3,4,5,6]
[5,6,0,1,2,3]

[2,3,4,5] [5,6,0,1,2,3,4]

CS-4513 D-term 2008 Election Algorithms 13


Ring Algorithm (concluded)

Coordinator=6

[1,2,3,4,5,6,0]

[5,6,0,1,2,3,4]
Coordinator=6

CS-4513 D-term 2008 Election Algorithms 14


Ring Algorithm (concluded)

• Suppose P receives an election message


with its own process number in body
• Changes message to coordinator message,
preserving body
• All processes recognize highest numbered process as
new coordinator
• If multiple messages circulate …
• …they will all contain same list of processes
(eventually)
• If process comes back on-line
• Calls new election
CS-4513 D-term 2008 Election Algorithms 15
Questions?

CS-4513 D-term 2008 Election Algorithms 16


Wireless Networks

• Different assumptions
• Message passing is less reliable
• Network topology constantly changing
• Expanding ring of broadcast
• Election messages
• Decision rules for when to yield

• Not very well developed.


• Topic of current research
CS-4513 D-term 2008 Election Algorithms 17
Very Large Scale Networks

• Sometimes more than one node should be


selected
• Nodes organized as peers and super-peers
• Elections held within each peer group
• Super-peers coordinate among themselves

CS-4513 D-term 2008 Election Algorithms 18


Reading Assignment

• Tanenbaum & van Steen (2nd ed.)


• §6.5.2 – Elections in Wireless Systems
• §6.5.3 – Elections in Large Scale Systems

• Potential topics for quiz or test!

CS-4513 D-term 2008 Election Algorithms 19


Digression

Domain Name Service

CS-4513 D-term 2008 Election Algorithms 20


DNS

• Maps names of the form


www.cs.wpi.edu
to IP addresses
• Maps aliases to names
• Maps mailbox requests to names
• Maps service requests to names
• Maps IP addresses to names
• I.e., reverse mapping
CS-4513 D-term 2008 Election Algorithms 21
DNS Naming Hierarchy

CS-4513 D-term 2008 Election Algorithms 22


Resolving DNS names to IP addresses

• Two approaches:–
– Iterative
– Recursive

CS-4513 D-term 2008 Election Algorithms 23


Iterative Resolution of Names

CS-4513 D-term 2008 Election Algorithms 24


Recursive Resolution of Names

CS-4513 D-term 2008 Election Algorithms 25


DNS Domain Registry Database

• Text file containing records


• Each record is {Name, Type, value(s)}

CS-4513 D-term 2008 Election Algorithms 26


Example

CS-4513 D-term 2008 Election Algorithms 27


DNS Implementation

• One master copy per domain or subdomain


• Edited manually by system administrator
– Using text editor or GUI tool
• Multiple slave copies
• Automatically copied / updated periodically from
master
• Stored in file on slave server, reloaded up restart
• Caching in DNS clients
• Lots and lots of caching
• Entries include TTL (time-to-live) specification

CS-4513 D-term 2008 Election Algorithms 28


Implementation in Linux/Unix

• BIND — Berkeley Internet Name Domain


• http://www.bind9.net/
• named — the Name Daemon
– Implements local DNS service
– Multiple databases
• Primary or secondary
• Secondary database points back to primary
– Pointer to “higher level” service
• For resolving names not in own database
CS-4513 D-term 2008 Election Algorithms 29
Example

• Want to find www.cs.wpi.edu


• My DNS contacts DNS server 68.87.71.226
• A Comcast server specified in my DHCP lease
• Comcast DNS service
• Almost certainly has root (global) domain in cache
• Probably has many .edu entries in cache (very large)
• Possibly has .wpi.edu in cache (many local users)
• May have .cs.wpi.edu
• Consults cache or official server for IP address
• nslookup

CS-4513 D-term 2008 Election Algorithms 30


Example (continued)
C:\>nslookup cs.wpi.edu
Server: cns.chelmsfdrdc2.ma.boston.comcast.net
Address: 68.87.71.226

Non-authoritative answer:
Name: cs.wpi.edu
Address: 130.215.28.181

CS-4513 D-term 2008 Election Algorithms 31


Some Special Cases

• Google
• Yahoo
• MSN
• Need to distribute names geographically
• Need to distribute different addresses for same name
• Special handling of replicated databases

• More (perhaps) later in term


CS-4513 D-term 2008 Election Algorithms 32
Naming Privacy

• Problem:– corporations need to have own


domains
• www.merl.com
• Some public hosts – mail server, web server, etc.
• Does not want to expose names of internal
hosts to outside world
• E.g., proprietary stuff
• But wants to make them visible internally
• hotspur.merl.com
CS-4513 D-term 2008 Election Algorithms 33
Solution

• Two name services for same domain name!


• Internal
• External
• External — visible to Internet (DMZ)
• Database contains only a few names
• Points to other internet DNS’s for resolution of internet names
• Internal — seen only by internal hosts
• Database contains all internal names
• Points to external version for resolution of internet names

CS-4513 D-term 2008 Election Algorithms 34


Result

• Internal names can be resolved internally,


not externally
• hotspur.merl.com
• Internal names and IP addresses are
invisible on Internet
• All external names can be resolved
internally
• Two levels of indirection

CS-4513 D-term 2008 Election Algorithms 35


Questions?

CS-4513 D-term 2008 Election Algorithms 36

You might also like