Presentation is loading. Please wait.

Presentation is loading. Please wait.

MST in Log-Star Rounds of Congested Clique

Similar presentations


Presentation on theme: "MST in Log-Star Rounds of Congested Clique"โ€” Presentation transcript:

1 MST in Log-Star Rounds of Congested Clique
Mohsen Ghaffari and Merav Parter Ben Gurion Seminar Nov. 2017

2 The Congested Clique Model
๐‘› machines communicating over complete graph. Bandwidth restriction: In every round, send on each link only ๐‘ฉ=๐‘ถ( ๐ฅ๐จ๐  ๐’) bits. Classical multi-party communication, number-in-hand model.

3 The Congested Clique Model
Two Graphs: Problem Graph & Communication Graph โ€“ Clique In every round, every pair of vertices can exchange O(log n) bits. Main complexity parameter: communication rounds.

4 Congested Clique: Practical Motivation
Overlay Networks Large Scale Graph Processing (Every node holds partial information about the graph)

5 Congested Clique: Theoretical Motivation
Congestion Congest Local Model ฮฉ(๐ท๐‘–๐‘Ž๐‘š๐‘’๐‘ก๐‘’๐‘Ÿ) Locality

6 MST in the Congested Clique Model
Boruvka (1926): O(log n) rounds of components merging. Each component, select minimum outgoing edge. Merge components connected by an edge.

7 MST in O(log n) Rounds (Boruvka 1926)
At the beginning of every round, each node knows: Its component ID (leader ID). Components of neighbors. 2 2 a b c d 1 1 1 1 2 e f g h 3 3 3 3 i j k l 2 1 1 1 1 m n o p 2 2

8 MST in O(log n) Rounds (Boruvka 1926)
R1: send lightest outgoing edge to the local leader. R2: local leader picks lightest edge and send to the global leader. R3: global leader merges components. Send to nodes new component ID. R4: each node broadcast its component ID. 2 2 a b c d 1 1 1 1 2 e f g h 3 3 3 3 i j k l 2 1 1 1 1 m n o p 2 2

9 MST in O(log n) Rounds (Boruvka 1926)
Phase 1: a b c d 1 1 1 1 2 e f g h 3 3 3 3 i j k l 1 1 1 1 m n o p 2 2

10 MST in O(log n) Rounds (Boruvka 1926)
Phase 2: a b c d 1 1 1 1 2 e f g h 3 3 3 3 i j k l 1 1 1 1 m n o p 2 2

11 MST in O(log n) Rounds (Boruvka 1926)
Phase 3: 2 2 a b c d 1 1 1 1 2 e f g h 3 3 3 3 2 i j k l 1 1 1 1 m n o p 2 2

12 MST in O(log n) Rounds (Boruvka 1926)
Phase 4: 2 2 a b c d 2 e f g h 3 3 3 3 i j k l 2 1 1 1 1 m n o p 2 2

13 MST in O(log n) Rounds (Boruvka 1926)
c d 2 e f g h 3 3 3 3 i j k l 2 1 1 1 1 m n o p 2 2

14 MST in the Congested Clique Model
Lotker, Pavlov, Patt-Shamir and Peleg [SIGCOMPโ€™05]: O(log log n) rounds of component merging. Quadratic growth rate: In O(1) rounds, component of size ๐‘ฅ to components of size ๐‘ฅ 2 Find ๐‘ฅ minimum outgoing edges Quadratic growth rate

15 Faster MST in the Congested Clique
Hegeman, Pandurangan, Pemmaraju, Sardeshmukh and Scquizzato [PODCโ€™15]: O(log log log n) rounds of components merging. Run Lotker et al. for O(log log log n) rounds. Number of components: O(n/poly-log n). Finish in O(1) rounds using linear sketches.

16 โ€ฆ Faster MST in the Congested Clique
Hegeman, Pandurangan, Pemmaraju, Sardeshmukh and Scquizzato [PODCโ€™15]: O(log log log n) rounds of components merging. โ€ฆ O( log 4 ๐‘›) Leader

17 This Talk: MST in ๐‘‚( log โˆ— ๐‘› ) Rounds
Road Map ๐‘‚( log โˆ— ๐‘› ) graph connectivity algorithm (growing maximal forest) Parallel computation of O(โˆš๐‘›) connectivity instances MST

18 Basic Connectivity (BC) Algorithm
For each node, select an incident edge. Contract selected edges. Repeat until no edges. Lemma: Compute maximal forest within ๐‘‚( log ๐‘›) rounds.

19 ๐‘‚( log โˆ— ๐‘›) Graph Connectivity Algorithm
Forest Growth: From ๐‘‚(๐‘›/ log 2 ๐‘ฅ) to ๐‘›/๐‘ฅ components in O(1) rounds, w.h.p. The Goal: Simulate locally log ๐‘ฅ merging of components in a ``Boruvka styleโ€ manner. Leader

20 ๐‘‚( log โˆ— ๐‘›) Graph Connectivity Algorithm
Forest Growth: From ๐‘‚(๐‘›/ log 2 ๐‘ฅ) to ๐‘›/๐‘ฅ components. The Challenge: How can vertex know which of its edges is is an outgoing edge? Our Approach: Distinguish between dense and sparse case. Leader

21 Intuition: Dense Scenario
Forest Growth: From ๐‘‚(๐‘›/ log 2 ๐‘ฅ) to ๐‘›/๐‘ฅ components. The Dense Scenario: The outgoing degree of each component is โ‰ฅ ๐‘ฅ 5 . Select a RANDOM edge and send to leader. Leader

22 Intuition: Dense Scenario
Forest Growth: From ๐‘‚(๐‘›/ log 2 ๐‘ฅ) to ๐‘›/๐‘ฅ components. The Dense Scenario: outgoing degree โ‰ฅ ๐‘ฅ 5 . Why random edge works? If the current component size โ‰ค๐‘ฅ then with good prob., a random edge is an outgoing edge. One step of random merging is ``equivalentโ€ to ๐‘‚( log ๐‘ฅ) steps of Boruvka-Style merging.

23 Intuition: Sparse Scenario
Forest Growth: From ๐‘‚(๐‘›/ log 2 ๐‘ฅ) to ๐‘›/๐‘ฅ components. The Sparse Scenario: outgoing degree โ‰ค ๐‘ฅ 5 . Design Sparsity-Sensitive Sketch of size ๐‘ถ( ๐ฅ๐จ๐  ๐Ÿ ๐’™โ‹… ๐ฅ๐จ๐  ๐’) The leader simulates ๐‘‚( log ๐‘ฅ) Boruvka-Style merging. Projecting incident edges into lower dimensional space. linear โ„“ 0 sampler

24 Sparsity Sensitive Sketching
Define the sketch and properties. Show how to locally simulate ๐‘ถ( ๐ฅ๐จ๐  ๐’™) rounds of BC. Show that it can be delivered to leader with O(1) rounds.

25 Sketch of vertex v Each row ๐‘– is XOR of a subset of edges ๐ธ ๐‘– .
An edge is sampled to ๐ธ ๐‘– with prob. 2 โˆ’๐‘– . ฮ˜( log ๐‘› ) bits ๐ผ ๐ท 1 โŠ•๐ผ ๐ท 4 โŠ•๐ผ ๐ท 9 โŠ•โ€ฆโŠ•๐ผ ๐ท โ„“ ๐ผ ๐ท 1 ๐ผ ๐ท 2 โŠ•๐ผ ๐ท 5 โŠ•..โŠ•๐ผ ๐ท โ„“โˆ’1 โ€ฆ ฮ˜( log ๐‘ฅ ) rows ๐‘ฃ ๐ผ ๐ท 6 โŠ•๐ผ ๐ท 12 Row log โ„“ contains the ID of one edge with const. prob. ๐ผ ๐ท 11 โ€ฆ ๐ผ ๐ท โ„“ ๐‘†๐‘˜๐‘’๐‘ก๐‘ โ„Ž ๐‘– (๐‘ฃ)

26 Sketch of component ๐ถ: ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž ๐ถ = โŠ• ๐‘ข ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž ๐‘ข
Sketch of a Component Sketch of component ๐ถ: ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž ๐ถ = โŠ• ๐‘ข ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž ๐‘ข 1000 ๐‘’ 1 1001 0111 ๐‘ฃ ๐‘ข ๐‘’ 4 ๐‘’ 3 0101 ๐‘’ 2 ๐‘’ 1 โŠ• ๐‘’ 2 โŠ• ๐‘’ 4 ๐‘’ 4 1001 ๐‘’ 1 โŠ• ๐‘’ 2 1101 0100 0111 ๐‘’ 1 โŠ• ๐‘’ 3 1111 ๐‘’ 1 1000 ๐‘’ 3 ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž(๐‘ฃ) ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž(๐‘ข) ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž({๐‘ข,๐‘ฃ})= ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž(๐‘ข) โŠ• ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž(๐‘ฃ)

27 Properties of the Sketch
Sketches allows a leader to simulate BC algorithm locally. Linearity The sketch of a component is the sum of its elements. Internal edges cancelled out. For that, the sampling of an edge (u,v) is consistent between endpoints.

28 The Sketch of Component is the Sketch of the Contracted Node
1000 ๐‘’ 1 1001 0111 ๐‘ฃ ๐‘ข ๐‘’ 4 ๐‘’ 3 0101 ๐‘’ 2 ๐‘’ 1 โŠ• ๐‘’ 2 โŠ• ๐‘’ 4 ๐‘’ 4 1001 ๐‘’ 1 โŠ• ๐‘’ 2 1101 0100 0111 ๐‘’ 1 โŠ• ๐‘’ 3 1111 ๐‘’ 1 1000 ๐‘’ 3 ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž(๐‘ฃ) ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž(๐‘ข) ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž({๐‘ข,๐‘ฃ})= ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž(๐‘ข) โŠ• ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž(๐‘ฃ)

29 Properties of the Sketch
Sketches allows a leader to simulate BC algorithm locally. Linearity (cancel internal edges) ๐ฟ 0 โˆ’Sampler. Completeness: With constant prob. one row contains single edge. Soundness: With high prob., detect rows containing XOR of more than one edge.

30 Example: Sketch of Components
1000 ๐‘’ 1 1001 0111 ๐‘ฃ ๐‘ข ๐‘’ 4 ๐‘’ 3 0101 ๐‘’ 2 ๐‘’ 1 โŠ• ๐‘’ 2 โŠ• ๐‘’ 4 ๐‘’ 4 1001 ๐‘’ 1 โŠ• ๐‘’ 2 1101 0100 0111 ๐‘’ 1 โŠ• ๐‘’ 3 1111 ๐‘’ 1 1000 ๐‘’ 3 ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž(๐‘ฃ) ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž(๐‘ข) ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž({๐‘ข,๐‘ฃ})= ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž(๐‘ข) โŠ• ๐‘†๐‘˜๐‘’๐‘ก๐‘โ„Ž(๐‘ฃ)

31 Properties of the Sketches: ๐ฟ 0 โˆ’Sampler
Component ๐ถ with ๐’•โ‰ค ๐’™ ๐Ÿ“ outgoing edges. Row ๐ฅ๐จ๐  ๐’• of the sketch: Each outgoing edge is sampled w.p. ๐Ÿ ๐’• . With constant prob., exactly one outgoing edge is sampled.

32 Sparsity Sensitive Sketching
Define the sketch and properties. Show how to locally simulate ๐‘ถ( ๐ฅ๐จ๐  ๐’™) rounds of BC. Show that it can be delivered to leader with O(1) rounds.

33 Simulating ๐‘‚( log ๐‘ฅ) rounds of BC
In iteration ๐‘– use the ๐‘– ๐‘กโ„Ž sketch: Sample & Merge ๐‘†๐‘˜๐‘’๐‘ก๐‘ โ„Ž ๐‘– ( ๐ถ 1 ) ๐ถ 1 ๐ผ ๐ท ๐‘ฅ ๐ถ 1 ๐ถ 3 ๐ผ ๐ท ๐‘ฅ ๐ถ 2 ๐ถ 2 ๐‘†๐‘˜๐‘’๐‘ก๐‘ โ„Ž ๐‘–+1 ๐ถ 3 = ๐‘†๐‘˜๐‘’๐‘ก๐‘ โ„Ž ๐‘–+1 ๐ถ 1 + ๐‘†๐‘˜๐‘’๐‘ก๐‘ โ„Ž ๐‘–+1 ๐ถ 2 ๐‘†๐‘˜๐‘’๐‘ก๐‘ โ„Ž ๐‘– ( ๐ถ 2 )

34 Sparsity Sensitive Sketching
Define the sketch and properties. Show how to locally simulate ๐‘ถ( ๐ฅ๐จ๐  ๐’™) rounds of BC. Show that it can be delivered to leader with O(1) rounds.

35 Delivering Sketches to Leader in O(1) rounds
#Components ๐‘‚(n/ log 2 ๐‘ฅ). Sketch size O( log 2 ๐‘ฅ log ๐‘› ) bits. โ€ฆ โŠ• โŠ• โŠ• โŠ• โŠ• ๐‘‚( log 2 ๐‘ฅ) Leader

36 Putting Things Together: The Graph Connectivity Algorithm
Input: Forest F with ๐‘‚(๐‘›/ log 2 ๐‘ฅ) components. Output: Forest Fโ€™ with ๐‘›/๐‘ฅ components. Types of components in F: 1. Large: with more than 8๐‘ฅ vertices โ€“ Easy! 2. Non growable: small components with no outgoing edge. 3. Growable components: Low-degree (sparse): with less than ๐‘ฅ 5 outgoing edges. High-degree (dense): with more than ๐‘ฅ 5 outgoing edges.

37 The Graph Connectivity Algorithm
Input: Forest with ๐‘‚(๐‘›/ log 2 ๐‘ฅ) growable components. Output: Forest with ๐‘›/๐‘ฅ growable components. Step S1: Handling low-degree components (โ‰ค ๐’™ ๐Ÿ“ ) Every vertex ๐‘ฃ computes L=๐‘‚( log ๐‘ฅ) sketches: ๐‘บ๐’Œ๐’†๐’•๐’„ ๐’‰ ๐Ÿ ๐’— ,โ€ฆ๐‘บ๐’Œ๐’†๐’•๐’„ ๐’‰ ๐‘ณ ๐’— . Compute the sketch of each component ๐ถ Route ๐‘†๐‘˜๐‘’๐‘ก๐‘ โ„Ž ๐‘– ๐ถ of growable component to leader. The leader locally simulates ๐‘‚( log ๐‘ฅ) BC merging. ๐‘†๐‘˜๐‘’๐‘ก๐‘ โ„Ž ๐‘– ๐ถ = โŠ• ๐‘ข ๐‘†๐‘˜๐‘’๐‘ก๐‘ โ„Ž ๐‘– (๐‘ข), 1โ‰ค๐‘–โ‰ค๐ฟ.

38 The Graph Connectivity Algorithm
Input: Forest F with ๐‘‚(๐‘›/ log 2 ๐‘ฅ) growable components. Output: Forest Fโ€™ with ๐‘›/๐‘ฅ growable components. Step S2: Handling high-degree components (โ‰ฅ ๐’™ ๐Ÿ“ ) Every vertex ๐‘ฃ sends a random edge to the leader. The Leader merges components into forest Fโ€™. Step S3: Cleanup The leader identifies and deactivates components in Fโ€™ that are smaller than ๐‘ฅ and non-growable.

39 Analysis of (S1): The Sparse Case
Lemma[Low-Deg]: After Step (S1), w.h.p., there are โ‰ค๐‘›/4๐‘ฅ growable low-degree components. Leader simulates ๐‘‚( log ๐‘ฅ) of BC algorithm. iโ€™th phase: ๐‘ฆ ๐‘– low-deg components. ๐”ผ(#edges decoded successfully using ๐‘– โ€ฒ ๐‘กโ„Ž sketch)= ๐‘ฆ ๐‘– /10 W.h.p., we get ๐‘ฆ ๐‘– /20 outgoing edges. W.h.p., ๐‘ฆ ๐‘–+1 โ‰ค39/40 ๐‘ฆ ๐‘–

40 Analysis of (S2): The Dense Case
Lemma[High-Deg]: After Step (S2), there are โ‰ค๐‘›/4๐‘ฅ growable high-degree components. Assume the current size of the component is less than 8๐‘ฅ. The prob. that a random edge is internal is (8๐‘ฅ) 2 / ๐‘ฅ 4 =1/ ๐‘ฅ 2 . Hence, the probability that the final component has size less than 8๐‘ฅ is at most 1/๐‘๐‘ฅ. Overall, in expectation, ๐‘‚(๐‘›/ ๐‘ฅ ) components of size โ‰ค8๐‘ฅ. ๐‘ฅ 5 โ‰ค8๐‘ฅ vertices

41 Analysis of (S2): The Dense Case
Lemma[High-Deg]: After Step (S2), there are โ‰ค๐‘›/4๐‘ฅ growable high-degree components. ๐‘–=1 ๐œ…=1 ๐œ…โ‰” bound on number of small components that do not contain low-degree components ๐‘–=2 ๐œ…=1 ๐œ…=2 ๐‘–=3

42 The Graph Connectivity Algorithm
Input: Forest with ๐‘‚(๐‘›/ log 2 ๐‘ฅ) growable components. Output: Forest with ๐‘›/๐‘ฅ growable components. Step S1: Handling low-degree components (โ‰ค ๐’™ ๐Ÿ“ ) Every vertex ๐‘ฃ computes L=๐‘‚( log ๐‘ฅ) sketches: ๐‘บ๐’Œ๐’†๐’•๐’„ ๐’‰ ๐Ÿ ๐’— ,โ€ฆ๐‘บ๐’Œ๐’†๐’•๐’„ ๐’‰ ๐‘ณ ๐’— . Compute the sketch of each component ๐ถ Route ๐‘†๐‘˜๐‘’๐‘ก๐‘ โ„Ž ๐‘– ๐ถ of growable component to leader. The leader locally simulates ๐‘‚( log ๐‘ฅ) BC merging. ๐‘†๐‘˜๐‘’๐‘ก๐‘ โ„Ž ๐‘– ๐ถ = โŠ• ๐‘ข ๐‘†๐‘˜๐‘’๐‘ก๐‘ โ„Ž ๐‘– (๐‘ข), 1โ‰ค๐‘–โ‰ค๐ฟ.

43 The Graph Connectivity Algorithm
Input: Forest F with ๐‘‚(๐‘›/ log 2 ๐‘ฅ) growable components. Output: Forest Fโ€™ with ๐‘›/๐‘ฅ growable components. Step S2: Handling high-degree components (โ‰ฅ ๐’™ ๐Ÿ“ ) Every vertex ๐‘ฃ sends a random edge to the leader. The Leader merges components into forest Fโ€™. Step S3: Cleanup The leader identifies and deactivates components in Fโ€™ that are smaller than ๐‘ฅ and non-growable.

44 ๐‘‚( log โˆ— ๐‘›) MST Algorithm
Karger-Klein-Tarjan (KKT) Sampling: Reduce the problem into solving two MST problems, each on graph with ๐‘‚( ๐‘› 3/2 ) edges. 1. Sample edges ๐‘ฏโŠ†๐‘ฎ with probability ๐’‘= ๐Ÿ ๐’ . 2. Compute MSF ๐น on the subgraph ๐‘ฏ. Def: Edge ๐’†=(๐’™,๐’š) in G is ๐‘ญโˆ’๐’๐’Š๐’ˆ๐’‰๐’• if it is not the heaviest on ๐’™โˆ’๐’š path in ๐‘ญ. 3. W.h.p, there are ๐‘ถ ๐’ ๐’‘ =๐‘ถ( ๐’ ๐Ÿ‘/๐Ÿ ) F-light edges ๐‘ณ. 4. Compute MST tree on ๐‘ฏโˆช๐‘ณ. ๐‘ฅ 3 5 ๐‘ฆ 4

45 ๐‘‚( log โˆ— ๐‘›) MST Algorithm
Karger-Klein-Tarjan (KKT) Sampling: Reduce the problem into solving two MST problems, each on graph with ๐‘‚( ๐‘› 3/2 ) edges. Sorting Edges into ๐‘› buckets: By Lenzenโ€™12, within O(1) rounds: Every vertex knows the bucket of each of its edges. For every bucket ๐‘–, there is a node ๐‘ข ๐‘– that knows ๐ธ ๐‘– ๐‘’ 1 , ๐‘’ 2 ,โ€ฆ ๐‘’ ๐‘› ,โ€ฆ, ๐‘’ ๐‘–๐‘› , โ€ฆ.., ๐‘’ ๐‘–+1 ๐‘› , โ€ฆ., ๐‘’ ๐‘› 3/2 ๐ธ 1 โ€ฆ ๐ธ ๐‘– โ€ฆ ๐ธ ๐‘›

46 From MST to ๐‘› Connectivity Problems
Key Observation: An edge ๐‘’ ๐‘–๐‘› = x,y in MST if ๐’™ and ๐’š are not connected in ๐ธ 1 โˆช ๐ธ 2 โ€ฆโˆช ๐ธ ๐‘–โˆ’1 ๐’† ๐Ÿ , ๐’† ๐Ÿ ,โ€ฆ ๐’† ๐’ ,โ€ฆ, ๐’† ๐’Š๐’ , โ€ฆ.., ๐’† ๐’Š+๐Ÿ ๐’ , โ€ฆ., ๐’† ๐’ ๐Ÿ‘/๐Ÿ ๐ธ ๐‘– Leader ๐‘ข ๐‘– should know the connected components of ๐ป ๐‘– =๐ธ 1 โˆช ๐ธ 2 โ€ฆโˆช ๐ธ ๐‘–โˆ’1 . Nodes compute ๐’ connectivity problems for ๐ป 1 ,โ€ฆ, ๐ป ๐‘› in parallel.

47 Key Result -Summary A Minimum Spanning Tree (Forest) can be computed within ๐‘‚( log โˆ— ๐‘›) Congested Clique rounds. Corollaries: Can be done within ๐‘‚( log โˆ— ๐‘›) rounds: Testing bipartiteness, cut verification, s-t connectivity, and cycle containment.


Download ppt "MST in Log-Star Rounds of Congested Clique"

Similar presentations


Ads by Google