390 likes | 523 Views
Decomposing Networks and Polya Urns with the Power of Choice. Presented By: Henry Lin. Joint work with Christos Amanatidis, Richard Karp, Christos Papadimitriou, Martha Sideri. Overview. Motivations Linked Decompositions Preferential Attachment Model Analysis of a Polya Urns Process
E N D
Decomposing Networks and Polya Urns with the Power of Choice Presented By: Henry Lin Joint work with Christos Amanatidis, Richard Karp, Christos Papadimitriou, Martha Sideri
Overview • Motivations • Linked Decompositions • Preferential Attachment Model • Analysis of a Polya Urns Process • Open Problems
Motivations • The Internet is large and growing rapidly • difficult to manage • routers cannot store too much data • Can we divide up the network into distinct regions that can be managed mostly independently and still route efficiently?
Linked Decomposition • Decompose into c connected components • Each node belongs to 1 or 2 components • Each component has size ~ a • Any two components intersect
Linked Decomposition Example Decompose into c = 3 connected (small diameter) components Each node belongs to 1 or 2 components Each component has size ~ a = 6 Any two components intersect
Routing with Linked Decompositions How to route to node v in your component(s)? Store each node in your component(s) v u
Routing with Linked Decompositions How to route to node v in your component(s)? Store each node in your component(s) How to route to node v outside of component? Store an intersection node in your component to reach v v w u
Routing with Linked Decompositions How to route to node v in your component(s)? Store each node in your component(s) How to route to node v outside of component? Store an intersection node in your component to reach v Requires O(a) storage per node v Requires O(n/a) storage per node w u
Linked Decompositions Desiderata Recall: we can route with O(a+n/a) tables Therefore, we want: • size a ~ n • and thus number of components c~ n • and diameter ~log n Can we do this?
Note: Routing with n tables can be achieved by other means • For example, by compact routing [AGMNT ‘04] • But a linked decomposition is much more than a routing scheme: • It breaks down a network into many largely independent components, with no harm to routing capabilities • It is also very simple
What about the Internet? Can we decompose into c~ n components • Each node belongs to 1 or 2 components • Each component has diameter ~log n • Each component has size a ~ n • Any pair of components intersect
Surprise! • Yes! Our experiments show that the actual Internet graph has a linked decomposition with these approximate parameters • Main point of this paper: A theoretical justification for this phenomenon • By analyzing a well-studied random model of the Internet
Preferential Attachment Model PA(m): Nodes arrive one at a time, each new node: selects m nodes iid at random, proportional to degree adds one edge to each of the m selected nodes
Preferential Attachment Model PA(m): Nodes arrive one at a time, each new node: selects m nodes iid at random, proportional to degree adds one edge to each of the m selected nodes
Preferential Attachment Model PA(m): Nodes arrive one at a time, each new node: selects m nodes iid at random, proportional to degree adds one edge to each of the m selected nodes
Preferential Attachment Model PA(m): Nodes arrive one at a time, each new node: selects m nodes iid at random, proportional to degree adds one edge to each of the m selected nodes
Preferential Attachment Model PA(m): Nodes arrive one at a time, each new node: selects m nodes iid at random, proportional to degree adds one edge to each of the m selected nodes
Preferential Attachment Model PA(m): Nodes arrive one at a time, each new node: selects m nodes iid at random, proportional to degree adds one edge to each of the m selected nodes
Preferential Attachment Model PA(m): Nodes arrive one at a time, each new node: selects m nodes iid at random, proportional to degree adds one edge to each of the m selected nodes
Preferential Attachment Model PA(m): Nodes arrive one at a time, each new node: selects m nodes iid at random, proportional to degree adds one edge to each of the m selected nodes
Linked Decomposition in PA(m) Decompose graph into c connected components • Each vertex belongs to 1 or 2 components • Each component has diameter d • Each component has size about a • Any two components intersect Our Main Result:PA(m)graphs have linked decompositions whp with parameters above • (Note: m depends on ε) = Θ(n1/2-ε) = log n = Θ(n1/2+ε)
Decomposing PA(m) graphs • For each node t є {1, ... ,n1/2-ε},we assign node t to its own component 1 … n1/2-ε
Decomposing PA(m) graphs 1. For each node t є {n1/2-ε+ 1, ... ,n/2}, we look at where the m edges of node t point, and assign node t to the component of lowest total degree 1 … n1/2-ε n1/2-ε+1
Decomposing PA(m) graphs 2. For each node t є {n1/2-ε+ 1, ... ,n/2}, we look at where the m edges of node t point, and assign node t to the component of lowest total degree 1 … n1/2-ε n1/2-ε+1 …
Decomposing PA(m) graphs 2. For each node t є {n1/2-ε+ 1, ... ,n/2}, we look at where the m edges of node t point, and assign node t to the component of lowest total degree 1 … n1/2-ε n1/2-ε+1 … n/2
Decomposing PA(m) graphs 3. For each node t є {n/2+ 1, ... ,n}, we look at the first two edges of node t, and assign each node t to two components of the endpoints 1 … n1/2-ε n1/2-ε+1 … n/2 n/2+1
Decomposing PA(m) graphs 3. For each node t є {n/2+ 1, ... ,n}, we look at the first two edges of node t, and assign each node t to two components of the endpoints 1 … n1/2-ε n1/2-ε+1 … n/2 n/2+1
Decomposing PA(m) graphs 3. For each node t є {n/2+ 1, ... ,n}, we look at the first two edges of node t, and assign each node t to two components of the endpoints 1 … n1/2-ε n1/2-ε+1 … n/2 n/2+1
Decomposing PA(m) graphs 3. For each node t є {n/2+ 1, ... ,n}, we look at the first two edges of node t, and assign each node t to two components of the endpoints 1 … n1/2-ε n1/2-ε+1 … n/2 n/2+1
Decomposing PA(m) graphs 3. For each node t є {n/2+ 1, ... ,n}, we look at the first two edges of node t, and assign each node t to two components of the endpoints 1 … n1/2-ε n1/2-ε+1 … n/2 n/2+1
Decomposing PA(m) graphs 3. For each node t є {n/2+ 1, ... ,n}, we look at the first two edges of node t, and assign each node t to two components of the endpoints 1 … n1/2-ε n1/2-ε+1 … n/2 n/2+1 n
Decomposing PA(m) graphs Decompose graph into c=Θ(n1/2-ε) connected components • Each vertex belongs to 1 or 2 components • Each component has diameter d=O(log n) • Each component has size a=Θ(n1/2+ε) • Any two components intersect 1 … n1/2-ε n1/2-ε+1 … n/2 n/2+1 n
Recall: Polya Urns Process • Process starts with: • N bins/urns and1 ball in each bin • At each step, pick a random bin with probability proportional to load • Add one ball to the selected bin • Bin loads become unbalanced whp
Polya Urns with the Power of Choice • Process P starts with: • N bins, O(N) balls • Each bin contains ≥1 ball • Pick m bins iid at random, with replacement, probability proportional to load • Add one ball to the least loaded of the m bins • Does this process balance bin loads?
Our Main Technical Result Theorem: For any ε > 0, there exists an m, s.t. if we run P for Θ(N2+ε) steps, the loads of all bins differ by at most by a factor of (1±ε). • More complicated analysis shows the degree & size of components become balanced after Ω(c2+ε) = n nodes arrive in PA(m) The main result follows
Polya Urns w/ Choice: Two Bins • Lt = fractional load of low bin at time t • Ht = fractional load of high bin at time t Key insight: • Pr[add ball to high bin] = (Ht )m< Ht • Pr[add ball to low bin] = (1 - (1-Lt )m ) > Lt Thus both bins obtain the same load, and stay roughly balanced whp (Azuma’s Inequality) Can use Chernoff bounds to show fractional load of high bin decreases quickly
Very Rough Proof Sketch • Define a marker bin M • Bins with less load than M are low bins • Show fractional load of low bins increase • Bins with more load than M are high bins • Show fractional load of high bins decrease • Eventually every bin obtains the same load as bin M, and subsequently stays roughly balanced with bin M
Open Problems • Does Polya urns with m=2choices balance after O(N2+ε) balls? Our proof for m=2 givesO(N3). • New proof being checked… • What are necessary and sufficient conditions for a linked decomposition to exist? • Show linked decomposition routing has limited congestion and is robust against failures? • Incentives for autonomous systems to form a linked decomposition?
Thanks! • Questions?