1 / 33

SkipNet: A Scalable Overlay Network with Practical Locality Properties

SkipNet: A Scalable Overlay Network with Practical Locality Properties. Nick Harvey, Mike Jones, Stefan Saroiu, Marvin Theimer, Alec Wolman Presented by Qingqing Yuan. Overlay Networks. Overlays have achieved several goals: Scalable and decentralized infrastructure

curt
Télécharger la présentation

SkipNet: A Scalable Overlay Network with Practical Locality Properties

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. SkipNet: A Scalable Overlay Network with Practical Locality Properties Nick Harvey, Mike Jones, Stefan Saroiu, Marvin Theimer, Alec Wolman Presented by Qingqing Yuan

  2. Overlay Networks • Overlays have achieved several goals: • Scalable and decentralized infrastructure • Uniform and random load and data distribution • But, at the price of data controllability • Data may be stored far from its users • Data may be stored outside its domain • Local accesses leave local organization

  3. Basic trade-off: data controllability vs. data uniformity • SkipNet: • Traditional overlay functionality • Provides an abstraction to control this trade-off: • Constrained load balancing (CLB)

  4. Outline • Basic SkipNet design • SkipNet locality properties • Performance evaluation • Conclusions

  5. Outline • Basic SkipNet design • SkipNet locality properties • Performance evaluation • Conclusions

  6. Why not a DHT? • Controlling Data Location is not the goal of a DHT • DHT’s provide load balancing at the price of where data is stored • May be stored far away • May be stored out of the domain • Destroy Locality • Discard useful application-specific information

  7. Structure of SkipNet: Perfect Skip Lists

  8. SkipNet • Key property: two address spaces • Name ID space: nodes are sorted by their names (e.g. DNS names) • Numeric ID space: nodes are randomly distributed • Combining both spaces achieves • Content + Path locality • Scalable peer-to-peer overlay network • O(log N) routing performance in both spaces • O(log N) routing state per node

  9. X Z T A D V O M SkipNet Ring • Pointers at level h skip over 2h nodes • Nodes are ordered by names

  10. X Z T A D V O M SkipNet Ring • Pointers at level h skip over 2h nodes • Nodes are ordered by names

  11. S Z H A E M G F SkipNet Ring • Pointers at level h skip over 2h nodes • Nodes are ordered by names

  12. Ring 100 Ring 101 Ring 110 Ring 111 Ring 000 Ring 001 Ring 010 Ring 011 O M D A T Z V X M O D Ring 01 Ring 00 Ring 10 Ring 11 A T V Z X M O D Ring 1 Ring 0 T A Z V X SkipNet Global View L = 3 L = 2 L = 1 M D O Root Ring Level: L = 0 T A Z V X

  13. Two Address Spaces • SkipNet can route efficiently in both address spaces: • Name ID space (e.g. DNS names) • Numeric ID space

  14. Node A’s Routing Table Routing by Name ID Ring 100 Ring 101 Ring 110 Ring 111 Ring 000 Ring 001 Ring 010 Ring 011 M O D L = 3 T A V X Z M O D Ring 01 Ring 00 Ring 10 Ring 11 A T L = 2 V Z X M O D Ring 1 Ring 0 T L = 1 A Z V X M D O Root Ring T A Level: L = 0 Z V X • Example: route from A to V • Simple Rule: Forward the message to node that is closest to dest, without going too far.

  15. Routing by Name ID Ring 100 Ring 101 Ring 110 Ring 111 Ring 000 Ring 001 Ring 010 Ring 011 O M D L = 3 T A Z V X M O D Ring 01 Ring 00 Ring 10 Ring 11 A T L = 2 V Z X M O D Ring 1 Ring 0 T L = 1 A Z V X M D O Root Ring T A Level: L = 0 Z V X • Example: route from A to V • Simple Rule: Forward the message to node that is closest to dest, without going too far.

  16. Node T’s Routing Table Routing by Name ID Ring 100 Ring 101 Ring 110 Ring 111 Ring 000 Ring 001 Ring 010 Ring 011 O M D L = 3 T A V X Z M O D Ring 01 Ring 00 Ring 10 Ring 11 A T L = 2 V Z X M O D Ring 1 Ring 0 T L = 1 A Z V X M D O Root Ring T A Level: L = 0 Z V X • Example: route from A to V • Simple Rule: Forward the message to node that is closest to dest, without going too far.

  17. Node T’s Routing Table Routing by Name ID Ring 100 Ring 101 Ring 110 Ring 111 Ring 000 Ring 001 Ring 010 Ring 011 M O D L = 3 T A V X Z M O D Ring 01 Ring 00 Ring 10 Ring 11 A T L = 2 V Z X M O D Ring 1 Ring 0 T L = 1 A Z V X M D O Root Ring T A Level: L = 0 Z V X • Example: route from A to V • Simple Rule: Forward the message to node that is closest to dest, without going too far.

  18. Node T’s Routing Table Routing by Name ID Ring 100 Ring 101 Ring 110 Ring 111 Ring 000 Ring 001 Ring 010 Ring 011 O M D L = 3 T A V X Z M O D Ring 01 Ring 00 Ring 10 Ring 11 A T L = 2 V Z X M O D Ring 1 Ring 0 T L = 1 A Z V X M D O Root Ring T A Level: L = 0 Z V X • Example: route from A to V • Simple Rule: Forward the message to node that is closest to dest, without going too far.

  19. Routing by Name ID Ring 100 Ring 101 Ring 110 Ring 111 Ring 000 Ring 001 Ring 010 Ring 011 O M D L = 3 T A V X Z M O D Ring 01 Ring 00 Ring 10 Ring 11 A T L = 2 V Z X M O D Ring 1 Ring 0 T L = 1 A Z V X M D O Root Ring T A Level: L = 0 Z V X • Example: route from A to V • Simple Rule: Forward the message to node that is closest to dest, without going too far.

  20. Routing by Numeric ID • Provides the basic DHT primitive • To store file “Foo.c” • Hash(“Foo.c”)  a random numeric ID • Find highest ring matching that numeric ID • Store file on node in that ring • Log N routing efficiency

  21. Foo.c DHT Example Ring 100 Ring 101 Ring 110 Ring 111 Ring 000 Ring 001 Ring 010 Ring 011 • Store file “Foo.c” from node A • Hash(“Foo.c”) = 101… • Route from A to V in numeric space O M D L = 3 T A V Z X M O D Ring 01 Ring 00 Ring 10 Ring 11 A T L = 2 V Z X M O D Ring 1 Ring 0 T L = 1 A Z V X M D O Root Ring T A Level: L = 0 Z V X

  22. Talk Outline • Basic SkipNet design • SkipNet locality properties • Performance evaluation • Conclusions

  23. Key Locality Properties • In practice, two properties are important: • Content Locality – ability to explicitly place data • Placement on a single node or on a set of nodes • Path Locality – ability to guarantee that local traffic remains local • One abstraction is important – CLB:

  24. Numeric Routing Name Routing Constrained Load Balancing (CLB) • Multiple DHTs with differing scopes using a single SkipNet structure • A result of the ability to route in both address spaces • Divide data object names into 2 partsusing the ‘!’ special character CLB DomainCLB Suffix microsoft.com!skipnet.html

  25. skipnet. html CLB Example • To read file “com.microsoft!skipnet.html” • Route by name ID to “com.microsoft” • Route by numeric ID to Hash(“skipnet.html”)within the “com.microsoft” constraint com.microsoft com.sun gov.irs edu.ucb

  26. com.microsoft.research SkipNet Path Locality • Organizations correspond to contiguous SkipNet segments • Internal routing by NameID remains internal • Nodes have left / right pointers com.microsoft com.sun gov.irs edu.ucb

  27. Fault Tolerance • Many failures occur along organizational boundaries: • Gateway/firewall failure, BGP misconfig, physical network cut, … • SkipNet handles organizational disconnect gracefully • Results in two well-connected, partitioned SkipNets • Efficient remerging algorithms • Node independent failures • Same resiliency as systems such as Chord and Pastry

  28. Primary Security Benefit & Weakness • SkipNet + name access control mechanism: • Content locality ensures that content stays within organization • Path locality prevents: • malicious forwarders • analysis of internal traffic • external tampering • Easier to target organizations: • Someone creates one million nodes with name prefixes microsofa.com and microsort.com • Most traffic to/from Microsoft will go through a microsofa / microsort intermediate node

  29. Talk Outline • Basic SkipNet design • SkipNet locality properties • Performance evaluation • Conclusions

  30. Routing by Name ID Performance Benefits come at no extra cost

  31. Surviving Organizational Disconnect Disconnected Org Size = 15% of all nodes

  32. Conclusions • SkipNet: • Traditional overlay functionality • Explicit control of data placement • Constrained load balancing • Content + Path Locality are basic ingredients to: • Data controllability • Manageability • Security • Data availability • Performance

  33. Questions? Thank you!

More Related