1 / 22

Brocade Landmark Routing on P2P Networks

Brocade Landmark Routing on P2P Networks. Gisik Kwon April 9, 2002. Motivation. Problems with existing P2P systems Existing systems : CAN, Chord, Tapestry, Pastry Constrained by the theoretical approach adopted, nodes are treated uniformly

Télécharger la présentation

Brocade Landmark Routing on P2P Networks

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. BrocadeLandmark Routing on P2P Networks Gisik KwonApril 9, 2002

  2. Motivation • Problems with existing P2P systems • Existing systems : CAN, Chord, Tapestry, Pastry • Constrained by the theoretical approach adopted, nodes are treated uniformly • Routing algorithms are decoupled from underlying topology and node capability • Result: Sub-optimal performance • Due to 1) the asymmetry of nodes in reality • Less powerful nodes can be overloaded • Due to 2) the lack of structure • No advantage of the aggregated knowleges of the network • P2P does not need to operate in the pure P2P style • A secondary overlay network on top of existing system(e.g., Tapestry)

  3. Brocade • A philosophy: A system is more efficient when it is organized • Respect the differences and take advantage of those that are more powerful – Supernodes! • Fast/well-connected/situated near network access points • Supernodes have better knowledge of underlying network characteristics. Benefit from aggregation.

  4. Network in reality • Transit-stub topology, disparate resources per node • Result: Inefficient inter-domain routing AS-3 AS-1 S R AS-2 P2P Overlay Network

  5. Landmark Routing • Goals • Eliminate unnecessary wide-area hops for inter-domain messages • Eliminate traffic going through high latency, congested stub links • Reduce wide-area bandwidth utilization

  6. Brocade Architecture Brocade Layer Original Route Brocade Route AS-3 AS-1 S R AS-2 P2P Network

  7. Intuitive mechanisms • Intuition: route quickly to destination domain • Organize group of supernodes into secondary overlay • Sender (S) sends message to local supernode SN1 • SN1 finds and routes message to supernode SN2 near receiver R • SN1 uses Tapestry object location to find SN2 • SN2 sends message to R via normal routing

  8. Overlay nodes are grouped by their supernodes • Supernodes treat their overlay nodes as objects that they possess • Routing on Brocade => Object Location. Use your favorite • mechanism: Tapestry, CAN, Chord, Pastry • Message filtering: only send inter-domain messages to Brocade.

  9. Case Study - Brocade On Tapestry • Tapestry: A novel wide-area fault-tolerant location and routing infrastructure • Construction • Supernode selection • Significant processing power • Minimum number of ip hops to wide-area network • High bandwidth outgoing link  So, gateway routers or machines close by those • Existing connections among supernodes as Brocade links

  10. AS-1 Classifying Traffic S • Brocade not useful for intra-domain messages • P2P layer should exploit some locality (Tapestry) • Undesirable processing overhead • Classifying traffic by destination • Proximity caches: - Every overlay node keeps list of nodes it knows to be local- Need not be optimal • Cover set:- Supernode keeps list of all nodes in its domain- Acts as authority on local vs. distant traffic

  11. Entering the Brocade • Route: Sender  Supernode • Naïve Brocade:Tapestry routing unchanged. Message gets onto the Brocade overlay if a supernode is encountered on its route. • Advantage: simple, no modification to ordinary nodes. • Disadvantage: possibility of hitting a supernode in Tapestry routing small. • IP Snooping Brocade: Supernodes snoop IP packets to intercept Tapestry messages. • Advantage: - No modification to ordinary nodes. - High possibility of encountering supernodes because supernodes are situated near the edge of local networks. • Disadvantage: difficult to implement

  12. Yes Ordinary Tapestry Routing Destination is in my cover set? No Send to supernode Entering the Brocade • Directed Brocade: Each overlay node keep info about • its supernode and decides by its own whether to send a • message to supernode directly. • Feasible: only local information required • Decision Engine: • A small cache storing most frequently used nodes in its cover set will do the trick. • Query locality will make hit rate high • Consequences of mistakes aren’t expensive

  13. Inter-supernode Routing • Route: Supernode (sender)  Supernode (receiver) • Locate receiver’s supernode given destination nodeID • Use Tapestry object location or Bloom filter • Tapestry • Routing mesh w/ built in proximity metrics • Location exploits locality (finds closer objects faster) • Finding supernodes • Supernode “publishes” cover set on brocade layer as locally stored objects • To route to node N, locate server on brocade storing N

  14. Brocade Summary • P2P systems assume uniformity • Extraneous hops through backbone to domains • Routing across congested stubs links • Constrain inter-domain routing • Remove unnecessary routing through stubs • Reduce expected inter-domain hops • Result: lower latency, less bandwidth utilization

  15. Appendix • Tapestry • Bloom filter

  16. Brief Tapestry • Suffix matching ( similar to Plaxton ) • Incrementally routing digital by digital 7598 B4F8 Msg to 4598 4598 9098 6789 B437 • Maximum hops : logb(N)

  17. Routing : Neighbor maps • A table with b*logb(N) entries • The i-th level neighbor share (i-1) suffix chunks • Entry( i, j ) • Pointer to the neighbor • “ j” + (i-1) suffix 0642

  18. Locating : basic procedure • 4 phrases locating • Map the Object ID to a “virtual” Node ID • Route the request to that node • Arrive the surrogate or“root for the object • Direct to the server 6234 <O:1234,S:B4F8> B234 F734 8724 Surrogate Routing Server : B4F8 Client : B4F8 1234

  19. Publishing : basic procedure • Similar to locating • Server send msg and pretends to locate the object • Find the surrogate node as the “root” for the Obj. • Save the related info there, such as <O,S> 6234 <O:1234,S:B4F8> B234 F734 8724 Surrogate Routing Server :B4F8 1234

  20. Insert a new node: basic procedure • Get an Node ID • Begin with a “Gateway node” G • Pretends to route to itself • Establish nearly optimal neighbor map during the “pseudo routing” by coping & Choosing nearest ones. • Go back and notify neighbors 6234 B234 F734 8724 Surrogate Routing Gateway node : B4F8 New node : 1234

  21. Bloom filter(1) •Set S •Query: is x in S? •If filter says no, x is not in S. •If filter says yes, x is probably in S. •Set is bitmap: 010110 •Sequence of hash functions f(x, i) –Independent on x, i –F(x,i) = 0 or 1 •If f(x,i) is 1 for i values: –0,2,3 not present –2,4 probably present

  22. Bloom filter(2) Procedure BloomFilter(set A, hash_functions, integer m) returns filter filter = allocate m bits initialized to 0 foreach ai in A: foreach hash function hj: filter[hj(ai)] = 1 end foreach end foreach return filter Procedure MembershipTest (elm, filter, hash_functions) returns yes/no foreach hash function hj: if filter[hj(elm)] != 1 return No end foreach return Yes

More Related