Election AlgorithmsCS-4513 D-term Election Algorithms CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz, Galvin, & Gagne, Distributed Systems: Principles & Paradigms, 2 nd ed. By Tanenbaum and Van Steen, and Modern Operating Systems, 2 nd ed., by Tanenbaum)
Election AlgorithmsCS-4513 D-term 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
Election AlgorithmsCS-4513 D-term 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.
Election AlgorithmsCS-4513 D-term Election Algorithms Wired systems Bully algorithm Ring algorithm Wireless systems Very large-scale systems
Election AlgorithmsCS-4513 D-term 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 …
Election AlgorithmsCS-4513 D-term 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
Election AlgorithmsCS-4513 D-term Bully Algorithm (continued)
Election AlgorithmsCS-4513 D-term 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”
Election AlgorithmsCS-4513 D-term 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 …
Election AlgorithmsCS-4513 D-term 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
Election AlgorithmsCS-4513 D-term Ring Algorithm (continued) Coordinator=6
Election AlgorithmsCS-4513 D-term Ring Algorithm (continued) [2,3,4] [2,3,4,5] [5,6,0,1]
Election AlgorithmsCS-4513 D-term Ring Algorithm (continued) [5,6,0,1,2,3,4] [2,3,4,5] [1,2,3,4,5,6,0] [5,6,0,1,2] [2,3,4,5,6] [2,3,4,5,6,0] [5,6,0,1,2,3]
Election AlgorithmsCS-4513 D-term Ring Algorithm (concluded) [5,6,0,1,2,3,4] [1,2,3,4,5,6,0] Coordinator=6
Election AlgorithmsCS-4513 D-term 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
Election AlgorithmsCS-4513 D-term Questions?
Election AlgorithmsCS-4513 D-term 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
Election AlgorithmsCS-4513 D-term 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
Election AlgorithmsCS-4513 D-term Reading Assignment Tanenbaum & van Steen (2 nd ed.) §6.5.2 – Elections in Wireless Systems §6.5.3 – Elections in Large Scale Systems Potential topics for quiz or test!
Election AlgorithmsCS-4513 D-term Digression Domain Name Service
Election AlgorithmsCS-4513 D-term DNS Maps names of the form 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
Election AlgorithmsCS-4513 D-term DNS Naming Hierarchy
Election AlgorithmsCS-4513 D-term Resolving DNS names to IP addresses Two approaches:– –Iterative –Recursive
Election AlgorithmsCS-4513 D-term Iterative Resolution of Names
Election AlgorithmsCS-4513 D-term Recursive Resolution of Names
Election AlgorithmsCS-4513 D-term DNS Domain Registry Database Text file containing records Each record is {Name, Type, value(s)}
Election AlgorithmsCS-4513 D-term Example
Election AlgorithmsCS-4513 D-term 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
Election AlgorithmsCS-4513 D-term Implementation in Linux/Unix BIND — Berkeley Internet Name Domain 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
Election AlgorithmsCS-4513 D-term Example Want to find My DNS contacts DNS server 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
Election AlgorithmsCS-4513 D-term Example (continued) C:\>nslookup cs.wpi.edu Server: cns.chelmsfdrdc2.ma.boston.comcast.net Address: Non-authoritative answer: Name: cs.wpi.edu Address:
Election AlgorithmsCS-4513 D-term 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
Election AlgorithmsCS-4513 D-term Naming Privacy Problem:– corporations need to have own domains 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
Election AlgorithmsCS-4513 D-term 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
Election AlgorithmsCS-4513 D-term 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
Election AlgorithmsCS-4513 D-term Questions?