Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Synchronization (continued) CS-4513 D-Term 2007 (Slides include materials from Operating System Concepts, 7th ed., by Silbershatz, Galvin, & Gagne, Modern Operating Systems, 2nd ed., by Tanenbaum, and Distributed Systems: Principles & Paradigms, 2nd ed. By Tanenbaum and Van Steen) CS-4513, D-Term 2007 Election Algorithms 1 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 CS-4513, D-Term 2007 Election Algorithms 2 NTP (Network Time Protocol) T2 B A T3 T4 T1 • Question: what is = TB – TA? • Assume transit time is approximately the same both ways • Assume that B is the time server that A wants to synchronize to CS-4513, D-Term 2007 Election Algorithms 3 NTP (Network Time Protocol) T2 B A T3 T4 T1 • A knows (T4 – T1) from its own clock • B reports T3 and T2 in response to NTP request • A computes total transit time of T4 T1 T3 T2 CS-4513, D-Term 2007 Election Algorithms 4 NTP (Network Time Protocol) T2 B A T3 T4 T1 • One-way transit time is approximately ½ total, i.e., T4 T1 T3 T2 2 • B’s clock at T4 reads approximately T4 T1 T3 T2 T4 T1 T2 T3 T3 2 2 CS-4513, D-Term 2007 Election Algorithms 5 NTP (Network Time Protocol) T2 B A T3 T4 T1 • B’s clock at T4 reads approximately (from previous slide) T4 T1 T2 T3 2 • Thus, difference between B and A clocks at T4 is T4 T1 T2 T3 T T2 T1 T3 T4 4 2 2 CS-4513, D-Term 2007 Election Algorithms 6 Questions? CS-4513, D-Term 2007 Election Algorithms 7 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 2007 Election Algorithms 8 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 2007 Election Algorithms 9 Election Algorithms • Wired systems • Bully algorithm • Ring algorithm • Wireless systems • Very large-scale systems CS-4513, D-Term 2007 Election Algorithms 10 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 2007 Election Algorithms 11 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 2007 Election Algorithms 12 Bully Algorithm (continued) CS-4513, D-Term 2007 Election Algorithms 13 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 2007 Election Algorithms 14 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 2007 Election Algorithms 15 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 2007 Election Algorithms 16 Ring Algorithm (continued) CS-4513, D-Term 2007 Election Algorithms 17 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 2007 Election Algorithms 18 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 2007 Election Algorithms 19 Questions? CS-4513, D-Term 2007 Election Algorithms 20 Digression Domain Name Service CS-4513, D-Term 2007 Election Algorithms 21 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 2007 Election Algorithms 22 DNS Naming Hierarchy CS-4513, D-Term 2007 Election Algorithms 23 Iterative Resolution of Names CS-4513, D-Term 2007 Election Algorithms 24 Iterative Resolution of Names CS-4513, D-Term 2007 Election Algorithms 25 DNS Domain Registry Database • Text file containing records • Each record is {Name, Type, value(s)} CS-4513, D-Term 2007 Election Algorithms 26 Example CS-4513, D-Term 2007 Election Algorithms 27 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 CS-4513, D-Term 2007 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 2007 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 2007 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 2007 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 2007 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 2007 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 2007 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 2007 Election Algorithms 35 Questions? Next Topic CS-4513, D-Term 2007 Election Algorithms 36