decomposing networks and polya urns with the power of choice joint work with christos amanatidis,...
TRANSCRIPT
Decomposing Networks and Polya Urns with the Power of Choice
Joint work with Christos Amanatidis, Richard Karp, Christos Papadimitriou, Martha Sideri
Presented By:
Henry Lin
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)
uv
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
u
v
w
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
u
v
w
Requires O(a) storage per node
Requires O(n/a) storage per node
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+ε)
= Θ(n1/2-ε)
= log n
Decomposing PA(m) graphs
For each node t є {1, ... ,n1/2-ε}, we assign node t to its own component
n1/2-ε1 …
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
n1/2-ε1 … n1/2-ε+1
Decomposing PA(m) graphs
n1/2-ε1 … n1/2-ε+1 …
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
Decomposing PA(m) graphs
n1/2-ε1 … n1/2-ε+1 … n/2
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
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
n1/2-ε1 … 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
n1/2-ε1 … 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
n1/2-ε1 … 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
n1/2-ε1 … 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
n1/2-ε1 … 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
n1/2-ε1 … 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
n1/2-ε1 … 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=2 choices balance after O(N2+ε) balls? Our proof for m=2 gives O(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?