Election AlgorithmsCS-4513, D-Term Synchronization (continued) CS-4513 D-Term 2007 (Slides include materials from Operating System Concepts, 7 th ed., by Silbershatz, Galvin, & Gagne, Modern Operating Systems, 2 nd ed., by Tanenbaum, and Distributed Systems: Principles & Paradigms, 2 nd ed. By Tanenbaum and Van Steen)
Election AlgorithmsCS-4513, D-Term Review Real time not very good tool for some kinds of synchronization is distributed systems Logical “clocks” Always monotonic Moved forward whenever a “later” message appears Mutual exclusion Centralized control Decentralized & Distributed control Token control
Election AlgorithmsCS-4513, D-Term NTP (Network Time Protocol) Question: what is = T B – T A ? Assume transit time is approximately the same both ways Assume that B is the time server that A wants to synchronize to A B T1T1 T2T2 T3T3 T4T4
Election AlgorithmsCS-4513, D-Term NTP (Network Time Protocol) A knows (T 4 – T 1 ) from its own clock B reports T 3 and T 2 in response to NTP request A computes total transit time of A B T1T1 T2T2 T3T3 T4T4
Election AlgorithmsCS-4513, D-Term One-way transit time is approximately ½ total, i.e., B’s clock at T 4 reads approximately NTP (Network Time Protocol) A B T1T1 T2T2 T3T3 T4T4
Election AlgorithmsCS-4513, D-Term NTP (Network Time Protocol) B’s clock at T 4 reads approximately (from previous slide) Thus, difference between B and A clocks at T 4 is A B T1T1 T2T2 T3T3 T4T4
Election AlgorithmsCS-4513, D-Term Questions?
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)
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 Questions?
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 Iterative Resolution of Names
Election AlgorithmsCS-4513, D-Term Iterative 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 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? Next Topic