On the Complexity of Distributed Network Decomposition
description
Transcript of On the Complexity of Distributed Network Decomposition
![Page 1: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/1.jpg)
On the Complexity of Distributed Network Decomposition
Open Problems in Distributed Computing (236825) Winter 2013
Eliran Natan
Alessandro Panconesi , Aravind Srinivasan
![Page 2: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/2.jpg)
Definitions Let be an undirected graph.
![Page 3: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/3.jpg)
Definitions Let be an undirected graph.
DiameterThe length of the longest shortest path between any two graph vertices.
![Page 4: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/4.jpg)
Definitions Let be an undirected graph.
DiameterThe length of the longest shortest path between any two graph vertices.
![Page 5: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/5.jpg)
Definitions Let be an undirected graph.
DiameterThe length of the longest shortest path between any two graph vertices.
![Page 6: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/6.jpg)
Definitions Let be an undirected graph.
Induced SubgraphGiven , the Induced Subgraph has exactly the edges that appear in over the vertex set .
![Page 7: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/7.jpg)
Definitions Let be an undirected graph.
Induced SubgraphGiven , the Induced Subgraph has exactly the edges that appear in over the vertex set .
a b
c
e
d
![Page 8: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/8.jpg)
Definitions Let be an undirected graph.
Induced SubgraphGiven , the Induced Subgraph has exactly the edges that appear in over the vertex set .
a b
e
d
c
𝐶={𝑎 ,𝑏 ,𝑐 }
![Page 9: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/9.jpg)
Definitions Let be an undirected graph.
Cluster GraphGiven a partition:
the cluster graph is , where:
,
![Page 10: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/10.jpg)
Definitions Let be an undirected graph.
Cluster GraphGiven a partition:
the cluster graph is , where:
,
a b
c
e
d
![Page 11: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/11.jpg)
Definitions Let be an undirected graph.
Cluster GraphGiven a partition:
the cluster graph is , where:
,
a b
c
e
d
![Page 12: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/12.jpg)
Definitions Let be an undirected graph.
Cluster GraphGiven a partition:
the cluster graph is , where:
,
a b
c
e
d 1 2 3
![Page 13: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/13.jpg)
Definitions Let be an undirected graph.
Vertex Coloring Assignment of colors to each vertex such that neighbors do not share the same color.
![Page 14: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/14.jpg)
Definitions Let be an undirected graph.
Vertex Coloring Assignment of colors to each vertex such that neighbors do not share the same color.
a b
c
e
d
![Page 15: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/15.jpg)
Definitions Let be an undirected graph.
Vertex Coloring Assignment of colors to each vertex such that neighbors do not share the same color.
a b
c
e
d
![Page 16: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/16.jpg)
Definitions Let be an undirected graph.
- Graph DecompositionA partition of such that:
• Every is of diameter.
• The cluster graph is vertex colored with colors.
-coloring is a -decomposition.
![Page 17: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/17.jpg)
Main Idea Given Prove that it is possible to compute a -Network Decomposition in a rounds, where .
𝐺 (𝑉 ,𝐸 )
𝐂𝐃
𝐂𝐃 ′
-Network Decomposition
-Network Decomposition
![Page 18: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/18.jpg)
Ruling ForestA forest of rooted trees , where each tree is a subgraph of , such that:
• For every , the root of , called leader of and donated by , is in . • Every vertex in belongs to a unique tree.
• Trees are vertex-disjoint.
• for every
• Trees depth is at most
![Page 19: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/19.jpg)
Ruling ForestA forest of rooted trees , where each tree is a subgraph of , such that:
• For every , the root of , called leader of and donated by , is in . • Every vertex in belongs to a unique tree.
• Trees are vertex-disjoint.
• for every
• Trees depth is at most
![Page 20: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/20.jpg)
Ruling ForestA forest of rooted trees , where each tree is a subgraph of , such that:
• For every , the root of , called leader of and donated by , is in . • Every vertex in belongs to a unique tree.
• Trees are vertex-disjoint.
• for every
• Trees depth is at most
![Page 21: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/21.jpg)
Ruling ForestA forest of rooted trees , where each tree is a subgraph of , such that:
• For every , the root of , called leader of and donated by , is in . • Every vertex in belongs to a unique tree.
• Trees are vertex-disjoint.
• for every
• Trees depth is at most
![Page 22: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/22.jpg)
Merging Decompositions Let be an undirected graph, where is partitioned to such that:
:
Given:-decomposition of
-coloring of
We can compute -decomposition of in time.
![Page 23: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/23.jpg)
Algorithm
![Page 24: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/24.jpg)
Algorithm InputAn undirected graph such that
Output A -network decomposition of .
![Page 25: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/25.jpg)
Algorithm Compute .
![Page 26: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/26.jpg)
Algorithm Compute .
![Page 27: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/27.jpg)
Algorithm Compute a -ruling forest of with respect to .
![Page 28: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/28.jpg)
Algorithm Compute a -ruling forest of with respect to .
Lbe the graph induced by the resulting forest.
![Page 29: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/29.jpg)
Algorithm Lbe the graph induced by the resulting forest.
.
![Page 30: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/30.jpg)
Algorithm Let be the rest of the graph.
![Page 31: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/31.jpg)
Algorithm Let be the rest of the graph.
Compute a -colouring to the rest of the graph.
![Page 32: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/32.jpg)
Algorithm Merge and to a single decomposition of .
time.
![Page 33: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/33.jpg)
Algorithm Merge and to a single decomposition of .
time.
![Page 34: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/34.jpg)
Algorithm – Complexity
𝑇 𝐶𝐷 (𝑛)≤10log𝑝/2𝑛 ∙𝑂 (𝑝𝑙𝑜𝑔𝑛)
Minimum is attained when:
𝑝=2Θ (√𝑙𝑜𝑔𝑛)
For this choice of we get:
=
Where .
![Page 35: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/35.jpg)
The Trivial Distributed Algorithm
![Page 36: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/36.jpg)
The Trivial Distributed Algorithm Given a graph and its decomposition: • Iterate through the color classes.
![Page 37: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/37.jpg)
The Trivial Distributed Algorithm Given a graph and its decomposition: • Iterate through the color classes. • All clusters from the same color computes a local solution in parallel.
![Page 38: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/38.jpg)
The Trivial Distributed Algorithm Given a graph and its decomposition: • Iterate through the color classes. • All clusters from the same color computes a local solution in parallel. • Inside each cluster: the leader computes a solution.
![Page 39: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/39.jpg)
The Trivial Distributed Algorithm Given a graph and its decomposition: • Iterate through the color classes. • All clusters from the same color computes a local solution in parallel. • Inside each cluster: the leader computes a solution.
Efficient when the clusters are crowded, so massage passing is fast.
![Page 40: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/40.jpg)
Shortcut Graph
![Page 41: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/41.jpg)
Shortcut Graph ,
![Page 42: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/42.jpg)
Shortcut Graph ,
𝐺
![Page 43: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/43.jpg)
Shortcut Graph ,
𝑘=2
𝐺
![Page 44: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/44.jpg)
Shortcut Graph ,
𝑘=2
𝑘=3
𝐺
![Page 45: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/45.jpg)
Algorithm InputAn undirected graph
Output A -network decomposition of .
![Page 46: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/46.jpg)
Algorithm Use to compute a -decomposition of the -shortcut graph of
![Page 47: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/47.jpg)
Algorithm For each :
![Page 48: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/48.jpg)
Algorithm For each :
Iterate over the color classes of so that all clusters of color are being processed in parallel.
![Page 49: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/49.jpg)
Algorithm For each :
Iterate over the color classes of so that all clusters of color are being processed in parallel.
For each cluster keep a copy of , and execute the following routine:
![Page 50: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/50.jpg)
Algorithm For each :
Iterate over the color classes of so that all clusters of color are being processed in parallel.
For each cluster keep a copy of , and execute the following routine:
(1) Choose an unvisited vertex.
![Page 51: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/51.jpg)
Algorithm For each :
Iterate over the color classes of so that all clusters of color are being processed in parallel.
For each cluster keep a copy of , and execute the following routine:
(1) Choose an unvisited vertex.
𝐶𝑣={𝑢 :𝑑𝐺(𝑢 ,𝑣)≤ 𝑖 }𝐵𝑣={𝑢 :𝑑𝐺 (𝑢 ,𝑣 )=𝑖+1 }|𝐵𝑣|≤|𝐶𝑣|
𝑣𝐶𝑣
𝐵𝑣
𝐶
(2) Check if there exists an index such that:
![Page 52: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/52.jpg)
Algorithm For each :
Iterate over the color classes of so that all clusters of color are being processed in parallel.
For each cluster keep a copy of , and execute the following routine:
(1) Choose an unvisited vertex.
𝐶𝑣={𝑢 :𝑑𝐺(𝑢 ,𝑣)≤ 𝑖 }𝐵𝑣={𝑢 :𝑑𝐺 (𝑢 ,𝑣 )=𝑖+1 }|𝐵𝑣|≤|𝐶𝑣|
𝑣𝐶𝑣
𝐵𝑣
𝐶
(2) Check if there exists an index such that:
If not exist, then use the trivial algorithm for this cluster (electing a leader and computing global information) and finish with cluster .
![Page 53: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/53.jpg)
Algorithm For each :
Iterate over the color classes of so that all clusters of color are being processed in parallel.
For each cluster keep a copy of , and execute the following routine:
(1) Choose an unvisited vertex.
(2) Check if there exists an index such that:
𝐶𝑣={𝑢 :𝑑𝐺(𝑢 ,𝑣)≤ 𝑖 }𝐵𝑣={𝑢 :𝑑𝐺 (𝑢 ,𝑣 )=𝑖+1 }|𝐵𝑣|≤|𝐶𝑣|
𝑣𝐶𝑣
𝐵𝑣
𝐶
If exist, let be the smallest such index.
![Page 54: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/54.jpg)
Algorithm For each :
Iterate over the color classes of so that all clusters of color are being processed in parallel.
For each cluster keep a copy of , and execute the following routine:
(1) Choose an unvisited vertex.
(2) Check if there exists an index such that:
(3) Remove the vertices from
![Page 55: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/55.jpg)
Algorithm For each :
Iterate over the color classes of so that all clusters of color are being processed in parallel.
For each cluster keep a copy of , and execute the following routine:
(1) Choose an unvisited vertex.
(2) Check if there exists an index such that:
(3) Remove the vertices from
(4) Remove from , and store as a new cluster with color Then, Return to (1).
![Page 56: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/56.jpg)
Algorithm For each :
Iterate over the color classes of so that all clusters of color are being processed in parallel.
For each cluster keep a copy of , and execute the following routine:
(1) Choose an unvisited vertex.
(2) Check if there exists an index such that:
(3) Remove the vertices from
(4) Remove from , and store as a new cluster with color Then, Return to (1).
![Page 57: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/57.jpg)
Algorithm – Correctness
![Page 58: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/58.jpg)
Algorithm – Correctness • Each is set to be a cluster:
𝐶𝑣={𝑢 :𝑑𝐺(𝑢 ,𝑣)≤ 𝑖 }And, by definition,
Thus, clusters diameter is bounded by .
![Page 59: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/59.jpg)
Algorithm – Correctness • Each is set to be a cluster:
𝐶𝑣={𝑢 :𝑑𝐺(𝑢 ,𝑣)≤ 𝑖 }And, by definition,
Diameter is bounded by .
• For every : |𝐵𝑣|≤|𝐶𝑣|
Thus, after removing all the , the number of vertexes in the new graph is is at most half that of Number of color classes is bounded by .
![Page 60: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/60.jpg)
Algorithm – Complexity
![Page 61: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/61.jpg)
Algorithm – Complexity
• Calling on the shortcut graph: .
𝑇 (𝑛)=𝑂 (𝑛𝜖(𝑛) log𝑛 )+𝑂 (𝑛𝜖 (𝑛) log𝑛) ∙𝑂 (𝑛𝜖(𝑛) log𝑛 )
![Page 62: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/62.jpg)
Algorithm – Complexity
• Calling on the shortcut graph takes time.
• Iterating over new colors takes time.
• For each new color, we iterate over all the color classes of , which takes time.
𝑇 (𝑛)=𝑂 (𝑛𝜖(𝑛) log𝑛 )+𝑂 (𝑛𝜖 (𝑛) log𝑛) ∙𝑂 (𝑛𝜖(𝑛) log𝑛 )
![Page 63: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/63.jpg)
Algorithm – Complexity
• Calling on the shortcut graph takes time.
• Iterating over new colors takes time.
• For each new color, we iterate over all the color classes of , which takes time.
• In each cluster, we iterate over all its vertexes. The actual cluster diameter in is
𝑇 (𝑛)=𝑂 (𝑛𝜖(𝑛) log𝑛 )+𝑂 (𝑛𝜖 (𝑛) log𝑛) ∙𝑂 (𝑛𝜖(𝑛) log𝑛 )
![Page 64: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/64.jpg)
Algorithm – Complexity
𝑇 (𝑛)=𝑂 (𝑛𝜖(𝑛) log𝑛 )+𝑂 (𝑛𝜖 (𝑛) log𝑛) ∙𝑂 (𝑛𝜖(𝑛) log𝑛 )𝑇 (𝑛)=𝑂(𝑛𝜖(𝑛) log¿¿2𝑛)¿
𝑇 (𝑛)=𝑂(𝑛𝜖(𝑛))
![Page 65: On the Complexity of Distributed Network Decomposition](https://reader035.fdocuments.net/reader035/viewer/2022070421/568161b1550346895dd175e9/html5/thumbnails/65.jpg)
More Applications
Maximal Independent Set Edge Coloring Maximal Matching
Vertex Coloring