1 / 63

Naming

Naming. Sandhya Turaga CS-249 Fall-2005. Outline of Chapter. Naming in general Characteristics of distributed naming Bindings Consistency Scaling Approaches to Design a global name service DEC Global Name Service ( by Lampson)

eagan-pitts
Download Presentation

Naming

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. Naming Sandhya Turaga CS-249 Fall-2005

  2. Outline of Chapter • Naming in general • Characteristics of distributed naming Bindings Consistency Scaling • Approaches to Design a global name service • DEC Global Name Service ( by Lampson) • Stanford Design (by DAVID R. CHERITON and TIMOTHY P. MANN)

  3. Naming in general • Names facilitate sharing. • Names are used for communication of objects • Unique identifiers Never reused, always bound to an object, &provides location independence • Pure Names Nothing but a bit pattern that is an identifier Pure names commit one to nothing – Eg: 123065#$21 • Impure Names Carries commitments of one sort or the another Eg: src/dec/ibm

  4. Characteristics • Bindings Machine to address binding Services to machine binding • Consistency How one propagates updates among replicates of a naming database (Explained more in the DEC example)

  5. Characteristics ( contd…) • Scaling Being able to manage indefinite number of machines each providing some part of name lookup service of indefinite size which is managed by a great number of more or less autonomous administrators without any major changes to the existing environment. Managing name Space rather than the avoidance of scale disasters In the implementation

  6. Approaches • DEC Global Naming Service • Has two levels • Client Level • Administration Level • The Stanford Design • Has three levels • Global Level • Administrational Level • Managerial Level

  7. Approach – DEC – client level • Client level • File structure is seen similar to a UNIX file system - like a tree of directories ( Figure 1) • Each directory is identified by a unique Directory Identifier (DI) • Each ARC of the directory is called a directory reference (DR) = DI of the child directory • Directory path relative to the root is Full Name (FN) In the figure1 finance/personal is relative to root src

  8. File system as seen in DEC – client level (Figure 1) DR=#300 DR=#200

  9. DEC – client level (contd…) • In this tree structure each node carries timestamp & a mark which is either absent/present • A node is present/absent can be known by the update operations. • A node is which is absent is denoted by a strike on the circle in figure 2. • Time-stamps are used to allow trees to be updated concurrently.

  10. Figure 2

  11. DEC-Administrational Level • Administrator allocates resources to the implementation of the service and reconfigures it to deal with failures. • It sees a set of directory copies (DC), each one stored on a different server (S) machine. • Figure 3 shows dec/src is stored on four servers.

  12. Figure 3

  13. DEC- Administration level (Contd..) • A lookup can try one or more of the servers to find a copy from which to read. • The values on servers(10,12) are the current time which is called the last sweep time. • Each copy also has nextTS (next time-stamp) it will assign to a new update. • Updates are spread through Sweep operation which has a time-stamp sweepTS. • An update originates at one DC

  14. DEC- Administration level (Contd..) • Sweep operation sets the DC’s nextTS to sweepTS and then reads & collects updates from DC. • Once these updates are written back the lastsweep is set to sweepTS. • Messages are sent among DCs with updates to speed up the update propagation. ( figure 4-a ) • After a successful sweep operation at time 14 Figure 3 would look like Figure 4-b

  15. Figure 4-a

  16. Figure 4-b

  17. DEC- Administration level (Contd..) • To obtain the set of DCs reliably ,all the DCs are linked in a ring with the arrows pointing to other DC (Figure 5). • Sweep starts at one DC follows the arrows and completes the ring . • In case of a server a failure ring must be reformed. In this process updates may lost and a new sweep operation must be started.

  18. Figure 5

  19. DEC-Name Space • Expanding the name space and changing its structure without destroying the usefulness of old names is important in hierarchical naming structure. • Each directory in this hierarchical structure is a context within which names can be generated independently of what is going on in any other directory. • Thus we can have a directory name Finance under two prefixes such as src/dec/Finance & src/ibm/Finance. Each directory can have its own administrator, and they do not have to coordinate their actions.

  20. Figure 6 #444 #222

  21. DEC-Name Space • Growth of name space in by combining existing name services ,each with its own root is: add a new root by making the existing root nodes as its children (Figure 6).

  22. Figure 7

  23. DEC-Name Space (Contd..) • How can a directory be found from its DI? • Root keeps a table of well-known directories that maps certain DIs into links which are FNs relative to the root. • See figure 7.

  24. DEC-Name Space (Contd..) • Sometimes restructuring (Moving a subtree) is required. • For example DEC buys IBM then the path for IBM changes as shown in figure 8. • Old paths as ansi/ibm won’t work now. Users should be forwarded from ansi/ibm to ansi/dec/ibm to access IBM.

  25. Figure 8

  26. DEC-Name Space - Caching • Caching is a good idea for lookups. • Caching is achieved by: 1) Slow rate of change on the naming database 2) Or Tolerating some inaccuracy in caching data • Enforcing slow rate of change can be achieved with: expiration time (TX) on entries in the database with an exception.

  27. DEC-Name Space (Figure 9) #999/DEC =311 Valid until 20 Nov 2006

  28. DEC Name Space • For example in figure 7 the result of looking up ansi/dec/src is valid until 20 Nov 2006

  29. Stanford Naming System Design • It has three levels Global Level Administrational level Managerial level • In lower levels, naming is handled by object managers • How do administrational & global levels differ?

  30. Stanford Naming System Design (Contd..) –(Figure 10) Fig 10

  31. Managerial level • Each directory is stored by a single object manager • Any kind of object can be named using a directory implemented by its object manager. Eg: Files • Object manager stores the absolute name of the root of each subtree

  32. Managerial level (contd ..) • For example (in Figure l0), the subtrees rooted at the directories edu/stanford/dsg/bin and %edu/stanford/dsg/1ib are both implemented by DSG file server 1, which thus covers all the names with prefixes %edu/stanford/dsg/bin and %edu/stanford/dsg/lib. • Accordingly, file server 1 stores all the files and directories under these two subtrees

  33. Managerial level (Contd..) • Object manager implements all operations on the names it covers. • What are the advantages of integrating names with object management? • Managerial directories record every name-object binding

  34. Managerial level (contd..) • Requirements to construct a complete naming service: • Clients should know to which manager it should send the messages • Clients should know which name is unbound and which name is unavailable • Separate mechanism is needed to implement operations on directories above the managerial level.

  35. Managerial level (contd..) • Finding manager location can be provided by prefix caches & multicasting. • Each client in a naming system maintains a name prefix cache. • Each entry of cache associates a name prefix with a directory identifier. • Directory identifier has two fields: (m,s) m- Manager identifier S-Specific directory identifier

  36. Managerial level (contd..) • Hit when a cache search returns a cache entry containing the name of the managerial directory it is called “Hit” • near miss When a cache search doesn’t return the name of the directory but does return something is called near miss.

  37. Managerial level (contd..) • If cache search returns a local administrational entry then the client multicasts a “Probe” request to a group of managers specified by the cache entry. • If the cache search returns a directory identifier that specifies a ‘liaison server” then the client multicasts a probe request on the given name to liaison server. • What is liaison server?

  38. Managerial level (contd..) • What if the liaison server crashes in between? • What happens when the liaison server receives the probe? • Cache consistency is maintained by discarding stale cache entries. • What is Stale cache entry?

  39. Managerial level (contd..) • Advantages of name prefix caching mechanism: 1) High cache-hit ratio & Performance. 2) Near miss reduces the amount of work required for the shared naming system. 3) The longer the prefix returned by the near miss the more work is saved. 4) Correctness of cache information is automatically checked.

  40. Administrational level • Administrational directories are implemented using object managers and administrational directory managers. • Administrational directory manager covers the unbound names • Bound names are covered by object managers

  41. Administrational level (contd..) • The administrational directory manager holds a list of bound names, but it is not considered to cover these names • Figure 11 illustrates how information is distributed in the directory %edu/stanford/dsg/user of Figure10

  42. Figure 11 Fig 11

  43. Figure 10(Same as in slide 30)

  44. Administrational level (Contd..) • Managers that cooperate in implementing an administrational directory are called its participants & they form a participant group. • Each participant in the admin directory responds to probes on the names it covers. • Every name is covered by at least one participant.

  45. Administrational level (Contd..) • Directory listing is maintained by directory’s manager. • Clients obtain list of names from directory manager • What if directory managers fail? • Directory’s manager can coordinate access to the directory by clients located outside the local administration

  46. Administrational level (Contd..) • Remote administrational directory can be accessed through local liaison server and the global directory system. • Advantages of this technique – Even if directory manager is down the corresponding file server can respond to name-mapping requests ( see figure 12)

  47. Figure 12 Global level Administration level managerial level

  48. Global level • This design is similar to Global directory system of DEC implementation proposed by Lampson. • Interfacing to the global directory system • Liaison servers act as intermediaries for all client operations at the global level. • Caching performed by liaison servers improves the response time for global level queries

  49. Global level (Contd..) • Also reduces load on the global directory system. • What happens if a global directory system becomes unavailable within some administration?

  50. Performance of name prefix caching • Load per operation 1) A packet event is transmission or reception of network packet. 2) Multicast with g recipients costs g+1pkt events 3)The avg number of pkt events required to map an event Cmap=4h + (r + m + 7)(1 - h)

More Related