obst: a self-adjusting peer-to-peer overlay based on ...stefan/p2p13slides.pdf · static obst: a...
TRANSCRIPT
![Page 1: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/1.jpg)
OBST: A Self-Adjusting Peer-to-Peer Overlay Based on Multiple BSTs
1
Chen Avin (BGU)
Michael Borokhovich (BGU)
Stefan Schmid (T-Labs)
![Page 2: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/2.jpg)
From “Optimal” Networks to Self-Adjusting Networks
2
Networks become more and more dynamic (e.g., flexible SDN control)
Vision: go beyond classic “optimal” static networks
Example (of this paper): Peer-to-peer
Chord, Pastry, SHELL Koorde, ... Pancake
Hypercubic Log diameter Log degree Log routing
Constant degree Log routing
Log/loglog degree and log/loglog routing
Stefan Schmid (T-Labs)
![Page 3: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/3.jpg)
From “Optimal” Networks to Self-Adjusting Networks
3
Networks become more and more dynamic (e.g., flexible SDN control)
Vision: go beyond classic “optimal” static networks
Example: Peer-to-peer
Chord, Pastry, SHELL Koorde, ... Pancake
Hypercubic Log diameter Log degree Log routing
Constant degree Log routing
Log/loglog degree and log/loglog routing
What if networks could self-adjust depending
on communication pattern?
Stefan Schmid (T-Labs)
![Page 4: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/4.jpg)
An Old Concept: Move-to-front, Splay Trees, …
4
Classic data structures: lists, trees
Linked list: move frequently accessed elements to front!
Trees: move frequently accessed elements closer to root
Stefan Schmid (T-Labs)
![Page 5: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/5.jpg)
An Old Concept: Move-to-front, Splay Trees, …
5
Classic data structures: lists, trees
Linked list: move frequently accessed elements to front!
Trees: move frequently accessed elements closer to root
Stefan Schmid (T-Labs)
![Page 6: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/6.jpg)
An Old Concept: Move-to-front, Splay Trees, …
6
Classic data structures: lists, trees
Linked list: move frequently accessed elements to front!
Trees: move frequently accessed elements closer to root
Stefan Schmid (T-Labs)
Splay Trees!
![Page 7: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/7.jpg)
The Vision: Splay Networks (“Distributed Splay Trees”)
7
Most simple self-adjusting tree network: Binary Search Tree (BST)
Stefan Schmid (T-Labs)
![Page 8: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/8.jpg)
The Vision: Splay Networks (“Distributed Splay Trees”)
8
Most simple self-adjusting tree network: Binary Search Tree (BST)
Stefan Schmid (T-Labs)
![Page 9: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/9.jpg)
The Vision: Splay Networks (“Distributed Splay Trees”)
9
Most simple self-adjusting tree network: Binary Search Tree (BST)
Stefan Schmid (T-Labs)
Communication between peer pairs!
(Not only lookups from root…)
![Page 10: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/10.jpg)
The Vision: Splay Networks (“Distributed Splay Trees”)
10
Most simple self-adjusting tree network: Binary Search Tree (BST)
Stefan Schmid (T-Labs)
Why BST?! - Most simple generalization of
classic data structure - Allows for local routing! - Allows for algebraic gossip
![Page 11: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/11.jpg)
Model: Self-Adjusting SplayNets
11
Input:
communication pattern:
(static or dynamic) graph
Stefan Schmid (T-Labs)
Output:
sequence of network adjustments
Cost metric:
expected path length
# (local) network updates
“Host Graph”
“Guest Graph”
![Page 12: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/12.jpg)
Some Facts: Optimal Algorithm and Amortized Cost
12 Stefan Schmid (T-Labs)
Optimal Static Solution
Dynamic program:
decouple left from right!
Polynomial time
(unlike MLA!)
So: solved M”BST”A
Adaption of Tarjan&Sleator
A-Cost < H(X) + H(Y)
Upper Bound
where H(X) and H(Y) are empirical entropies of sources resp. destinations
A-Cost > H(X|Y) + H(Y|X)
Lower Bound
where H( | ) are conditional entropies.
Assuming that each node is the root for “its tree”
Dynamic Solution
There exists self-adjusting algorithm
Inspired by Splay trees
E.g., optimal under product distribution: P[(u,v)]=P(u)*P(v)
E.g., optimal under directed BST, non-crossing matching, …
Lower bounds…
![Page 13: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/13.jpg)
From One to Multiple BSTs
13
Research Question:
What is the benefit of multiple BSTs?
Focus on amortized communication cost
Stefan Schmid (T-Labs)
Two Models:
Lookup Model: Classic datastructure where requests originate at root
Routing Model: Peer-to-peer communication
![Page 14: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/14.jpg)
Our Contribution
14
Routing:
Static OBST:
A single additional BST can reduce costs from O(log n) to O(1)!
Entropy-based upper bounds on amortized communication costs
Dynamic OBST:
Self-adjusting splay trees
Simulations
Simulations
Stefan Schmid (T-Labs)
Lookup:
Static OBST:
OBST(k) can only improve by additive –log(k) compared to OBST(1)
![Page 15: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/15.jpg)
Routing: OBST(2) vs OBST(1)
15
Easy to embed in two BSTs: one for each (cost O(1))
Hard to embed in one BST: because large interval cut (“crossing-matching”)
Stefan Schmid (T-Labs)
Laminated scenario:
IDs
![Page 16: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/16.jpg)
Self-Adjusting OBST
16 Stefan Schmid (T-Labs)
Splay to Least Common Ancestor (more local!)…
… in best tree!
![Page 17: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/17.jpg)
Simulation
17 Stefan Schmid (T-Labs)
Initially: k independent, random BSTs
Communication models: matching and random walk
(a) More trees help
(b) On Random Graph relatively stable, almost perfect convergence
(c) OBST(2) convergence to perfect tree for “bad example”
![Page 18: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/18.jpg)
Churn
18 Stefan Schmid (T-Labs)
Routing cost under λ joins/leaves between a lookup operation
More plots in full paper…
![Page 19: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/19.jpg)
Conclusion
19 Stefan Schmid (T-Labs)
Vision: self-adjusting networks
Interesting generalization of Splay trees
SplayNets
Formal analysis reveals nice properties
Amortized costs good: but tight?
Competitive ratio remains open
OBST: lookup vs routing
![Page 20: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/20.jpg)
Thank you! Questions?
20 Stefan Schmid (T-Labs)
“Host Graph”
“Guest Graph”
![Page 21: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/21.jpg)
Advertisement
21 Stefan Schmid (T-Labs)
Peer-to-Peer and the Cloud!
Keynote by Rick McGeer, papers by Jen Rexford, Holger Karl, Christof Fetzer, Pietro Michardi, etc.
![Page 22: OBST: A Self-Adjusting Peer-to-Peer Overlay Based on ...stefan/p2p13slides.pdf · Static OBST: A single additional BST can reduce costs from O(log n) to O(1)! Entropy-based upper](https://reader034.vdocument.in/reader034/viewer/2022042412/5f2b53dc06b8b92f3c7f5eff/html5/thumbnails/22.jpg)
Backup: The Optimal Offline Solution
22 Stefan Schmid (T-Labs)
Dynamic program
Binary search:
decouple left from right!
Polynomial time
(unlike MLA!)
So: solved M”BST”A
See also:
Related problem of
phylogenetic trees
OPT
OPT OPT