Download presentation
Presentation is loading. Please wait.
Published byAllyson Watts Modified over 9 years ago
1
1 Plaxton Routing
2
2 Introduction Plaxton routing is a scalable mechanism for accessing nearby copies of objects. Plaxton mesh is a data structure that allows messages to locate objects and route to them across an arbitrarily-sized network, while using a small constant-sized routing map at each hop.
3
3 Role of each node Each node serves as a server, a client, and a router.
4
4 Object and node names In an n-node Plaxton mesh, both objects and nodes have randomly chosen names (better call the them labels) of size log n bits independent of their location and semantic properties
5
5 Important issues Routing to a node / object Reading an object Inserting an object Deleting an object Each node has a small routing table and a set of pointers pointing to nodes containing objects
6
6 Routing table Each routing table has entries for (1)primary neighbors, (2)secondary neighbors and (3) Back pointers
7
7 Routing table (1) xxxxx 0 xxxxx 1 xxxx 0 0xxxx 1 0 xxx 0 00xxx 1 00 xx 0 000xx 1 000 x 0 0000x 1 0000 0 000001 00000 01 The primary neighbors in the routing table of node 000000. X means wildcard. However, neighbors with least communication cost are the preferred primary neighbors. Up to a known constant of neighbors in each slot can be secondary neighbors
8
8 Routing table (2) x x 0 x x 1x x 2x x 3 x 0 0x 1 0x 2 0x 3 0 0 0 01 0 02 0 03 0 0 0123 Let N be a power of B=2 b. The above table is for b=2 and N=64. The routing table will have at most B.log B N entries for the primary neighbors
9
9 Routing table (3) From each node x, there is a back pointer to another node y if x is a primary neighbor of y. It simplifies the searching of the root of an object by crawling backwards.
10
10 Suffix routing Each node incrementally relays the messages to the destination id digit by digit, like ***1 --> **31 --> *031 --> 2031 Each step picks a neighbor whose suffix has the largest match with that of the destination node, Note that suffix and prefix routing are equivalent
11
11 Another example of routing Example: Octal digits, 2 18 namespace, 005712 627510 005712 012 3 45 6 7 340880 012 3 45 6 7 943210 012 3 45 6 7 834510 012 3 45 6 7 387510 012 3 45 6 7 727510 012 3 45 6 7 627510 012 3 45 6 7 005712 340880 943210 387510 834510 727510 627510
12
12 Inserting an object A server S publishes that it has an object O by routing a message to the “root node” of O The root node is identified by applying a hash function on O. A real node whose id matches with this hash by the maximum number of trailing bits is the root of O. The publishing process consists of sending a message toward the root node. At each hop along the way, the publish message stores location information in the form of a mapping
13
13 Inserting an object Object O Pointer to O Secondary neighbors
14
14 Insertion continued Where multiple copies of objects exist, only the reference to the closest object is saved at each hop to the root. The insertion procedure maintains this invariant. This is where the cost component of the pointers comes in.
15
15 Inserting an object Object O Copy of O
16
16 Deleting an object Object O Copy of O Steps similar to insertion. The pointers should be updated to reflect access to the closest copy.
17
17 Read Object O Copy of O Read tries to locate the root of the object. If a pointer to O is discovered en route, then the object is retrieved following that pointer Read
18
18 Benefits and Limitations (-) While the intermediate hops are not absolutely necessary, the unique root node serves a critical purpose. The downside of having a unique root is that it becomes a single point of failure. (-) Assumes the network to be static. Does not handle topology changes.
19
19 Benefits and limitations + Simple fault handling 1234 -->1238 --> 1278 --> 1678 --> 5678 3128 --> 3178 --> 3678 + Optimal routing distance of O(log B N) between any pair of nodes
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.