1 / 36

Synchronization (continued)

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).

cisco
Download Presentation

Synchronization (continued)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Synchronization (continued) CS-4513D-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) Election Algorithms

  2. 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 Algorithms

  3. NTP (Network Time Protocol) T2 T3 B A 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 Election Algorithms

  4. NTP (Network Time Protocol) T2 T3 B A 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 Election Algorithms

  5. NTP (Network Time Protocol) T2 T3 B A T4 T1 • One-way transit time is approximately ½ total, i.e., • B’s clock at T4 reads approximately Election Algorithms

  6. NTP (Network Time Protocol) T2 T3 B A T4 T1 • B’s clock at T4 reads approximately (from previous slide) • Thus, difference between B and A clocks at T4 is Election Algorithms

  7. Questions? Election Algorithms

  8. 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 Algorithms

  9. 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 Algorithms

  10. Election Algorithms • Wired systems • Bully algorithm • Ring algorithm • Wireless systems • Very large-scale systems Election Algorithms

  11. 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 Algorithms

  12. 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 Algorithms

  13. Bully Algorithm (continued) Election Algorithms

  14. 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 Algorithms

  15. 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 Algorithms

  16. 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 Algorithms

  17. Ring Algorithm (continued) Election Algorithms

  18. 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 Algorithms

  19. 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 Algorithms

  20. Questions? Election Algorithms

  21. Digression Domain Name Service Election Algorithms

  22. 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 Election Algorithms

  23. DNS Naming Hierarchy Election Algorithms

  24. Iterative Resolution of Names Election Algorithms

  25. Iterative Resolution of Names Election Algorithms

  26. DNS Domain Registry Database • Text file containing records • Each record is {Name, Type, value(s)} Election Algorithms

  27. Example Election Algorithms

  28. 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 Algorithms

  29. 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 Election Algorithms

  30. 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 Election Algorithms

  31. 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 Election Algorithms

  32. 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 Algorithms

  33. 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 Election Algorithms

  34. 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 Algorithms

  35. 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 Algorithms

  36. Questions? Next Topic Election Algorithms

More Related