Title: Naming
1Naming
- Sandhya Turaga
- CS-249
- Fall-2005
2Outline 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)
3Naming 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 12306521
- Impure Names
- Carries commitments of one sort or the
another - Eg src/dec/ibm
-
4Characteristics
- 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)
5Characteristics ( 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
6Approaches
- DEC Global Naming Service
- Has two levels
- Client Level
- Administration Level
- The Stanford Design
- Has three levels
- Global Level
- Administrational Level
- Managerial Level
7Approach 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
8File system as seen in DEC client level (Figure
1)
DR300
DR200
9DEC 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.
10Figure 2
11DEC-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.
12Figure 3
13DEC- 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
14DEC- Administration level (Contd..)
- Sweep operation sets the DCs 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
15Figure 4-a
16Figure 4-b
17DEC- 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.
18Figure 5
19DEC-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.
20Figure 6
444
222
21DEC-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).
22Figure 7
23DEC-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.
24DEC-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 wont work now. Users
should be forwarded from ansi/ibm to ansi/dec/ibm
to access IBM.
25Figure 8
26DEC-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.
27DEC-Name Space (Figure 9)
999/DEC 311 Valid until 20 Nov 2006
28DEC Name Space
- For example in figure 7 the result of looking up
ansi/dec/src is valid until 20 Nov 2006
29Stanford 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?
30Stanford Naming System Design (Contd..) (Figure
10)
Fig 10
31Managerial 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
32Managerial 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
33Managerial 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
34Managerial 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.
35Managerial 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
36Managerial 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 doesnt return the name
of the directory but does return something is
called near miss.
37Managerial 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?
38Managerial 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?
-
39Managerial 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.
40Administrational 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
41Administrational 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/use
r of Figure10
42Figure 11
Fig 11
43Figure 10(Same as in slide 30)
44Administrational 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.
45Administrational level (Contd..)
- Directory listing is maintained by directorys
manager. - Clients obtain list of names from directory
manager - What if directory managers fail?
- Directorys manager can coordinate access to the
directory by clients located outside the local
administration
46Administrational 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)
47Figure 12
Global level
Administration level
managerial level
48Global 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
49Global level (Contd..)
- Also reduces load on the global directory system.
- What happens if a global directory system becomes
unavailable within some administration?
50Performance of name prefix caching
- Load per operation
- 1) A packet event is transmission or reception
of network packet. - 2) Multicast with g recipients costs g1pkt
events - 3)The avg number of pkt events required to
map an event - Cmap4h (r m 7)(1 - h)
51Performance of name prefix caching
- h- Cache hit ratio
- r- No.of retransmissions required to know the
host is down - m-No.of object managers in the system
- Derivation of the above equation
- when there is cache hit name mapping costs -4
pkt events - when there is a cache miss rm7pkt events
52Performance of name prefix caching
- When can Cmap reach the optimum value?
- What is this rm7?
- Is there a statistical model for computing a
cache-hit ratio? (See next slide) - Cache-performance model
53Cache-performance model
- Input parameters
- 1) No.of name-mapping requests issued per
unit time - 2) The average length of time a name-cache
entry is valid - 3)The average length of time a client cache
remains in use before it is discarded - 4)The locality of reference
54Cache-performance model
- Avg. steady-state hit ratio of all clients
- h1-? ? ß/( ßj,k vk )
- j k
- ßj,k Avg interarrival time for requests
generated by client j that reference a name in
managerial sub tree k. - Vk Validity time for cache entry of a managerial
sub tree k. - ß-Global Avg interarrival time for name-mapping
requests.
55Cache-performance model
- Steady-state ratio for single pair is
- hj,k 1- ßj,k /( ßj,k vk )
- Miss-ratiototal no.of misses/total no.of
requests - Hit-ratio1-(Miss-ratio)
-
56Cache performance model (Contd..) (Figure 13)
Fig 13
57Cache performance model (Contd..)
- Is it reasonable to expect the ratio of h
- in the range 99.00-99.98?
- The following graph shows h for each
- client, sub tree pair
- Vk varies from 100-5000(on x-axis)
- Hit-ratio is 0.9901 at Vk 100 0.9998 for Vk is
5000.
58Cache performance model (Contd..) Figure 14
Fig 14
59Cache performance model (Contd..)
- What is startup misses ?
- Will startup misses effect hit-ratio ?
- Depends on validity time
- ( see figures 15 )
60Hit Ratio as a function of Time ( figure 15 )
61Conclusions
- How large can a system be built with this design
? - Depends on load per operation
- Load on managers
- ( see figure 16 )
62Load per server as a function of system size -
Figure 16
63Questions ?