On the Complexity of Distributed Network Decomposition

65
On the Complexity of Distributed Network Decomposition Open Problems in Distributed Computing (236825) Winter 2013 Eliran Natan ssandro Panconesi , Aravind Srinivasan

description

Eliran Natan . On the Complexity of Distributed Network Decomposition. Alessandro Panconesi , Aravind Srinivasan. - PowerPoint PPT Presentation

Transcript of On the Complexity of Distributed Network Decomposition

Page 1: 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

Page 2: On the Complexity of  Distributed Network  Decomposition

Definitions Let be an undirected graph.

Page 3: On the Complexity of  Distributed Network  Decomposition

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

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

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

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

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

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

Definitions Let be an undirected graph.

Cluster GraphGiven a partition:

the cluster graph is , where:

,

Page 10: On the Complexity of  Distributed Network  Decomposition

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

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

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

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

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

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

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

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

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

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

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

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

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

Algorithm

Page 24: On the Complexity of  Distributed Network  Decomposition

Algorithm InputAn undirected graph such that

Output A -network decomposition of .

Page 25: On the Complexity of  Distributed Network  Decomposition

Algorithm Compute .

Page 26: On the Complexity of  Distributed Network  Decomposition

Algorithm Compute .

Page 27: On the Complexity of  Distributed Network  Decomposition

Algorithm Compute a -ruling forest of with respect to .

Page 28: On the Complexity of  Distributed Network  Decomposition

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

Algorithm Lbe the graph induced by the resulting forest.

.

Page 30: On the Complexity of  Distributed Network  Decomposition

Algorithm Let be the rest of the graph.

Page 31: On the Complexity of  Distributed Network  Decomposition

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

Algorithm Merge and to a single decomposition of .

time.

Page 33: On the Complexity of  Distributed Network  Decomposition

Algorithm Merge and to a single decomposition of .

time.

Page 34: On the Complexity of  Distributed Network  Decomposition

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

The Trivial Distributed Algorithm

Page 36: On the Complexity of  Distributed Network  Decomposition

The Trivial Distributed Algorithm Given a graph and its decomposition: • Iterate through the color classes.

Page 37: On the Complexity of  Distributed Network  Decomposition

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

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

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

Shortcut Graph

Page 41: On the Complexity of  Distributed Network  Decomposition

Shortcut Graph ,

Page 42: On the Complexity of  Distributed Network  Decomposition

Shortcut Graph ,

𝐺

Page 43: On the Complexity of  Distributed Network  Decomposition

Shortcut Graph ,

𝑘=2

𝐺

Page 44: On the Complexity of  Distributed Network  Decomposition

Shortcut Graph ,

𝑘=2

𝑘=3

𝐺

Page 45: On the Complexity of  Distributed Network  Decomposition

Algorithm InputAn undirected graph

Output A -network decomposition of .

Page 46: On the Complexity of  Distributed Network  Decomposition

Algorithm Use to compute a -decomposition of the -shortcut graph of

Page 47: On the Complexity of  Distributed Network  Decomposition

Algorithm For each :

Page 48: On the Complexity of  Distributed Network  Decomposition

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

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

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

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

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

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

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

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

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

Algorithm – Correctness

Page 58: On the Complexity of  Distributed Network  Decomposition

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

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

Algorithm – Complexity

Page 61: On the Complexity of  Distributed Network  Decomposition

Algorithm – Complexity

• Calling on the shortcut graph: .

𝑇 (𝑛)=𝑂 (𝑛𝜖(𝑛) log𝑛 )+𝑂 (𝑛𝜖 (𝑛) log𝑛) ∙𝑂 (𝑛𝜖(𝑛) log𝑛 )

Page 62: On the Complexity of  Distributed Network  Decomposition

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

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

Algorithm – Complexity

𝑇 (𝑛)=𝑂 (𝑛𝜖(𝑛) log𝑛 )+𝑂 (𝑛𝜖 (𝑛) log𝑛) ∙𝑂 (𝑛𝜖(𝑛) log𝑛 )𝑇 (𝑛)=𝑂(𝑛𝜖(𝑛) log¿¿2𝑛)¿

𝑇 (𝑛)=𝑂(𝑛𝜖(𝑛))

Page 65: On the Complexity of  Distributed Network  Decomposition

More Applications

Maximal Independent Set Edge Coloring Maximal Matching

Vertex Coloring