Decomposition-based Constraint Optimization and Distributed Execution
On the Complexity of Distributed Network Decomposition
description
Transcript of On the Complexity of Distributed Network Decomposition
On the Complexity of Distributed Network Decomposition
Open Problems in Distributed Computing (236825) Winter 2013
Eliran Natan
Alessandro Panconesi , Aravind Srinivasan
Definitions Let be an undirected graph.
Definitions Let be an undirected graph.
DiameterThe length of the longest shortest path between any two graph vertices.
Definitions Let be an undirected graph.
DiameterThe length of the longest shortest path between any two graph vertices.
Definitions Let be an undirected graph.
DiameterThe length of the longest shortest path between any two graph vertices.
Definitions Let be an undirected graph.
Induced SubgraphGiven , the Induced Subgraph has exactly the edges that appear in over the vertex set .
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
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
𝐶={𝑎 ,𝑏 ,𝑐 }
Definitions Let be an undirected graph.
Cluster GraphGiven a partition:
the cluster graph is , where:
,
Definitions Let be an undirected graph.
Cluster GraphGiven a partition:
the cluster graph is , where:
,
a b
c
e
d
Definitions Let be an undirected graph.
Cluster GraphGiven a partition:
the cluster graph is , where:
,
a b
c
e
d
Definitions Let be an undirected graph.
Cluster GraphGiven a partition:
the cluster graph is , where:
,
a b
c
e
d 1 2 3
Definitions Let be an undirected graph.
Vertex Coloring Assignment of colors to each vertex such that neighbors do not share the same color.
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
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
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.
Main Idea Given Prove that it is possible to compute a -Network Decomposition in a rounds, where .
𝐺 (𝑉 ,𝐸 )
𝐂𝐃
𝐂𝐃 ′
-Network Decomposition
-Network Decomposition
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
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
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
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
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.
Algorithm
Algorithm InputAn undirected graph such that
Output A -network decomposition of .
Algorithm Compute .
Algorithm Compute .
Algorithm Compute a -ruling forest of with respect to .
Algorithm Compute a -ruling forest of with respect to .
Lbe the graph induced by the resulting forest.
Algorithm Lbe the graph induced by the resulting forest.
.
Algorithm Let be the rest of the graph.
Algorithm Let be the rest of the graph.
Compute a -colouring to the rest of the graph.
Algorithm Merge and to a single decomposition of .
time.
Algorithm Merge and to a single decomposition of .
time.
Algorithm – Complexity
𝑇 𝐶𝐷 (𝑛)≤10log𝑝/2𝑛 ∙𝑂 (𝑝𝑙𝑜𝑔𝑛)
Minimum is attained when:
𝑝=2Θ (√𝑙𝑜𝑔𝑛)
For this choice of we get:
=
Where .
The Trivial Distributed Algorithm
The Trivial Distributed Algorithm Given a graph and its decomposition: • Iterate through the color classes.
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.
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.
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.
Shortcut Graph
Shortcut Graph ,
Shortcut Graph ,
𝐺
Shortcut Graph ,
𝑘=2
𝐺
Shortcut Graph ,
𝑘=2
𝑘=3
𝐺
Algorithm InputAn undirected graph
Output A -network decomposition of .
Algorithm Use to compute a -decomposition of the -shortcut graph of
Algorithm For each :
Algorithm For each :
Iterate over the color classes of so that all clusters of color are being processed in parallel.
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:
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.
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:
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 .
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.
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
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).
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).
Algorithm – Correctness
Algorithm – Correctness • Each is set to be a cluster:
𝐶𝑣={𝑢 :𝑑𝐺(𝑢 ,𝑣)≤ 𝑖 }And, by definition,
Thus, clusters diameter is bounded by .
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 .
Algorithm – Complexity
Algorithm – Complexity
• Calling on the shortcut graph: .
𝑇 (𝑛)=𝑂 (𝑛𝜖(𝑛) log𝑛 )+𝑂 (𝑛𝜖 (𝑛) log𝑛) ∙𝑂 (𝑛𝜖(𝑛) log𝑛 )
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𝑛 )
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𝑛 )
Algorithm – Complexity
𝑇 (𝑛)=𝑂 (𝑛𝜖(𝑛) log𝑛 )+𝑂 (𝑛𝜖 (𝑛) log𝑛) ∙𝑂 (𝑛𝜖(𝑛) log𝑛 )𝑇 (𝑛)=𝑂(𝑛𝜖(𝑛) log¿¿2𝑛)¿
𝑇 (𝑛)=𝑂(𝑛𝜖(𝑛))
More Applications
Maximal Independent Set Edge Coloring Maximal Matching
Vertex Coloring