Imp mproved Par arall allel l Algorit ithms for r Densit - - PowerPoint PPT Presentation

imp mproved par arall allel l algorit ithms for r densit
SMART_READER_LITE
LIVE PREVIEW

Imp mproved Par arall allel l Algorit ithms for r Densit - - PowerPoint PPT Presentation

Imp mproved Par arall allel l Algorit ithms for r Densit ity-Base sed Ne Network rk Clusterin ing Mohsen Ghaffari Silvio Lattanzi Slobodan Mitrovi ETH Google MIT Why density-based network clustering? A wide range of


slide-1
SLIDE 1

Imp mproved Par arall allel l Algorit ithms for r Densit ity-Base sed Ne Network rk Clusterin ing

Slobodan Mitrović MIT Silvio Lattanzi Google Mohsen Ghaffari ETH

slide-2
SLIDE 2

A wide range of applications in data mining:

Why density-based network clustering?

slide-3
SLIDE 3

A wide range of applications in data mining:

Why density-based network clustering?

Community detection

[Leskovec et al. ‘08; Chen & Saad ‘12; Gionis & Tsourakakis’15; Mitzenmacher et al. ‘15]

slide-4
SLIDE 4

A wide range of applications in data mining:

Why density-based network clustering?

Community detection

[Leskovec et al. ‘08; Chen & Saad ‘12; Gionis & Tsourakakis’15; Mitzenmacher et al. ‘15]

Spam detection

[Gibson et al. ‘05]

slide-5
SLIDE 5

A wide range of applications in data mining:

Why density-based network clustering?

Community detection

[Leskovec et al. ‘08; Chen & Saad ‘12; Gionis & Tsourakakis’15; Mitzenmacher et al. ‘15]

Spam detection

[Gibson et al. ‘05]

Computational biology

[Altaf-Ul-Amin et al. ‘06; Fratkin et al. ‘06; Saha et al. ‘10]

slide-6
SLIDE 6

A wide range of applications in data mining:

Why density-based network clustering?

Community detection

[Leskovec et al. ‘08; Chen & Saad ‘12; Gionis & Tsourakakis’15; Mitzenmacher et al. ‘15]

Spam detection

[Gibson et al. ‘05]

Computational biology

[Altaf-Ul-Amin et al. ‘06; Fratkin et al. ‘06; Saha et al. ‘10]

We study: 1.Densest subgraph 2.k-core decomposition 3.Graph orientation

slide-7
SLIDE 7

Densest subgraph

Goal: Given a graph G, find a subgraph H such that |E(H)| / |V(H)| is maximized.

slide-8
SLIDE 8

Densest subgraph

Goal: Given a graph G, find a subgraph H such that |E(H)| / |V(H)| is maximized.

|𝐹 𝐻 | |𝑊 𝐻 | = 17 13

slide-9
SLIDE 9

Densest subgraph

Goal: Given a graph G, find a subgraph H such that |E(H)| / |V(H)| is maximized.

|𝐹 𝐻 | |𝑊 𝐻 | = 17 13 |𝐹 𝐼 | |𝑊 𝐼 | = 11 7

slide-10
SLIDE 10

k-core decomposition

Goal: Given k, find a maximal subgraph of minimum degree at least k. (k-core)

slide-11
SLIDE 11

k-core decomposition

Goal: Given k, find a maximal subgraph of minimum degree at least k. (k-core)

1-core

slide-12
SLIDE 12

k-core decomposition

2-core

Goal: Given k, find a maximal subgraph of minimum degree at least k. (k-core)

slide-13
SLIDE 13

k-core decomposition

2-core

Goal: Given k, find a maximal subgraph of minimum degree at least k. (k-core) The corenessnumber of a vertex v is the maximum k for which v is part of the k-core.

slide-14
SLIDE 14

Hierarchical clustering via k-core

slide-15
SLIDE 15

Hierarchical clustering via k-core

1-core

slide-16
SLIDE 16

Hierarchical clustering via k-core

1-core 2-core

slide-17
SLIDE 17

Hierarchical clustering via k-core

1-core 2-core 3-core

slide-18
SLIDE 18

Hierarchical clustering via k-core

1-core 2-core 3-core 4-core

slide-19
SLIDE 19

How to compute these clusters ?

slide-20
SLIDE 20

Traditional

slide-21
SLIDE 21

Traditional

Algorithms performed sequentially.

slide-22
SLIDE 22

Traditional

Algorithms performed sequentially.

slide-23
SLIDE 23

Traditional Modern

Algorithms performed sequentially.

slide-24
SLIDE 24

Traditional Modern

Algorithms performed sequentially.

slide-25
SLIDE 25

Traditional Modern

Algorithms performed sequentially.

Massively Parallel Computation (MPC) model

Examples:

  • MapReduce [DG, ‘04, ‘08]
  • Hadoop [W, ‘12]
  • Pregel [Google, ’09]
  • Dryad [IBYBF, ‘07]
  • Spark [ZCFSS, ‘10]

An approach to handling massive data

slide-26
SLIDE 26

Massively Parallel Computation (MPC) round

. . . . . .

N machines: Data:

S S S S

slide-27
SLIDE 27

Massively Parallel Computation (MPC) round

. . . . . .

N machines: Data:

S S S S

slide-28
SLIDE 28

Massively Parallel Computation (MPC) round

. . . . . .

N machines: Data:

S S S S

process data locally

slide-29
SLIDE 29

Massively Parallel Computation (MPC) round

. . . . . .

N machines:

. . .

Next-round data: Data:

S S S S

slide-30
SLIDE 30

Massively Parallel Computation (MPC) round

. . . . . .

N machines:

. . .

Next-round data:

One round

Data:

S S S S

slide-31
SLIDE 31

Massively Parallel Computation (MPC) round

. . . . . .

N machines:

. . .

Next-round data: Data:

S S S S

One round

slide-32
SLIDE 32

Related work

  • 1. Densest Subgraph in Streaming and MapReduce

Bahmani, Kumar, Vassilvitskii, VLDB 2012.

  • 2. Space- and Time-Efficient Algorithm for Maintaining Dense Subgraphs on One-Pass Dynamic Streams

Bhattacharya, Henzinger, Nanongkai, Tsourakakis, STOC 2015.

  • 3. Efficient Densest Subgraph Computation in Evolving Graphs

Epasto, Lattanzi, Sozio, WWW 2015.

  • 4. Densest Subgraph in Dynamic Graph Streams

McGregor, Tench, Vorotnikova, Vu, MFCS 2015.

  • 5. Brief Announcement: Applications of Uniform Sampling: Densest Subgraph and Beyond

Esfandiari, Hajiaghayi, Woodruff, SPAA 2016.

  • 6. Efficient primal-dual graph algorithms for MapReduce

Bahmani, Goel, Munagala, Workshop on Algorithms and Models for the Web-Graph 2014.

  • 7. Parallel and streaming algorithms for k-core decomposition

Esfandiari, Lattanzi, and Mirrokni, ICML 2018.

  • 8. Streaming algorithms for k-core decomposition

Saríyüce, Gedik, Jacques, Wu, Çatalyürek, VLDB 2013.

  • 9. Distributed-Core View Materialization and Maintenance for Large Dynamic Graphs

Aksu, Canim, Chang, Korpeoglu, Ulusoy, TKDE 2014.

slide-33
SLIDE 33

Our results

Theorem 1

1 + 𝜗 -approximate k-core decomposition can be obtained in 𝑃 log log 𝑜 MPC rounds with ෨ 𝑃(𝑜) memory per machine.

Theorem 3

1 + 𝜗 -approximate densest subgraph can be

  • btained in ෨

𝑃 log𝑜 MPC rounds with 𝑃 𝑜𝜀 memory per machine and the total memory of ෨ 𝑃 max 𝑜1+𝜀,𝑛 .

Theorem 2

2 + 𝜗 -approximate k-core decomposition can be obtained in ෨ 𝑃 log 𝑜 MPC rounds with 𝑃 𝑜𝜀 memory per machine and the total memory of ෨ 𝑃 max 𝑜1+𝜀,𝑛 .

Theorem 4

For a graph of arboricity 𝜇, a 2 + 𝜗 𝜇 orientation can be obtained in ෨ 𝑃 log 𝑜 MPC rounds with 𝑃 𝑜𝜀 memory per machine and the total memory of ෨ 𝑃 𝜇𝑜 .

n = number of vertices

slide-34
SLIDE 34

n = number of vertices

Our results

Theorem 1

1 + 𝜗 -approximate k-core decomposition can be obtained in 𝑃 log log 𝑜 MPC rounds with ෨ 𝑃(𝑜) memory per machine.

Theorem 3

1 + 𝜗 -approximate densest subgraph can be

  • btained in ෨

𝑃 log𝑜 MPC rounds with 𝑃 𝑜𝜀 memory per machine and the total memory of ෨ 𝑃 max 𝑜1+𝜀,𝑛 .

Theorem 2

2 + 𝜗 -approximate k-core decomposition can be obtained in ෨ 𝑃 log 𝑜 MPC rounds with 𝑃 𝑜𝜀 memory per machine and the total memory of ෨ 𝑃 max 𝑜1+𝜀,𝑛 .

Theorem 4

For a graph of arboricity 𝜇, a 2 + 𝜗 𝜇 orientation can be obtained in ෨ 𝑃 log 𝑜 MPC rounds with 𝑃 𝑜𝜀 memory per machine and the total memory of ෨ 𝑃 𝜇𝑜 .

Poster: Wed, Pacific Ballroom #166

slide-35
SLIDE 35

Theorem 1

(1 + 𝜗)-approximate k-core decomposition can be obtained in 𝑃 log log 𝑜 MPC rounds with ෨ 𝑃 𝑜 memory per machine.

Next

slide-36
SLIDE 36

Theorem 1

(1 + 𝜗)-approximate k-core decomposition can be obtained in 𝑃 log log 𝑜 MPC rounds with ෨ 𝑃 𝑜 memory per machine.

Next

High-level idea: Simulate the sequential algorithm.

slide-37
SLIDE 37

The sequential algorithm

  • Given a threshold k, repeatedly

remove all the vertices of degree less than k.

  • The coreness value of a vertex is

the largest k for which it is not removed.

slide-38
SLIDE 38

The sequential algorithm

k=2

  • Given a threshold k, repeatedly

remove all the vertices of degree less than k.

  • The coreness value of a vertex is

the largest k for which it is not removed.

slide-39
SLIDE 39

The sequential algorithm

k=2

  • Given a threshold k, repeatedly

remove all the vertices of degree less than k.

  • The coreness value of a vertex is

the largest k for which it is not removed.

slide-40
SLIDE 40

The sequential algorithm

k=2

  • Given a threshold k, repeatedly

remove all the vertices of degree less than k.

  • The coreness value of a vertex is

the largest k for which it is not removed.

slide-41
SLIDE 41

The sequential algorithm

k=2

  • Given a threshold k, repeatedly

remove all the vertices of degree less than k.

  • The coreness value of a vertex is

the largest k for which it is not removed.

slide-42
SLIDE 42

The sequential algorithm

  • Given a threshold k, repeatedly

remove all the vertices of degree less than k.

  • The coreness value of a vertex is

the largest k for which it is not removed.

k=2

Coreness value of all remaining vertices >= 2.

slide-43
SLIDE 43

The sequential algorithm

  • Given a threshold k, repeatedly

remove all the vertices of degree less than k.

  • The coreness value of a vertex is

the largest k for which it is not removed.

k=2

Coreness value of all remaining vertices >= 2. Implementing this approach directly can take too many rounds.

slide-44
SLIDE 44

The sequential algorithm

  • Given a threshold k, repeatedly

remove all the vertices of degree less than k.

  • The coreness value of a vertex is

the largest k for which it is not removed.

k=2

Coreness value of all remaining vertices >= 2. Implementing this approach directly can take too many rounds. Idea: Process only large thresholds.

slide-45
SLIDE 45

Partition vertices and process induced graphs

slide-46
SLIDE 46

Partition vertices and process induced graphs

slide-47
SLIDE 47

Partition vertices and process induced graphs

Apply the sequential algorithm locally.

slide-48
SLIDE 48

Partition vertices and process induced graphs

Partition the graph across 𝑜 machines. Apply the sequential algorithm locally.

slide-49
SLIDE 49

Partition vertices and process induced graphs

Partition the graph across 𝑜 machines. The local degree of each vertex v with dv ≥ 𝑜 log 𝑜 is sharply concentrated around its

  • expectation. (Chernoff bound)

Apply the sequential algorithm locally.

slide-50
SLIDE 50

Partition vertices and process induced graphs

Partition the graph across 𝑜 machines. The local degree of each vertex v with dv ≥ 𝑜 log 𝑜 is sharply concentrated around its

  • expectation. (Chernoff bound)

Run the sequential algorithm locally to find (1 + 𝜗)- approximate k-cores for 𝑙 ≥ 𝑜 log 𝑜. Apply the sequential algorithm locally.

slide-51
SLIDE 51

Detecting all approximate k-cores

Partitioning across 𝑜 machines detects the k-cores for 𝑙 ≥ 𝑜 log 𝑜. How about 𝑙 < 𝑜 log 𝑜?

slide-52
SLIDE 52

Detecting all approximate k-cores

Partitioning across 𝑜 machines detects the k-cores for 𝑙 ≥ 𝑜 log 𝑜. How about 𝑙 < 𝑜 log 𝑜? Ignore all the edges between vertices of coreness ≥ 𝑜 log 𝑜.

slide-53
SLIDE 53

Detecting all approximate k-cores

Partitioning across 𝑜 machines detects the k-cores for 𝑙 ≥ 𝑜 log 𝑜. How about 𝑙 < 𝑜 log 𝑜? Ignore all the edges between vertices of coreness ≥ 𝑜 log 𝑜. The number of remaining edges is ෨ 𝑃(𝑜 𝑜).

slide-54
SLIDE 54

Detecting all approximate k-cores

Partitioning across 𝑜 machines detects the k-cores for 𝑙 ≥ 𝑜 log 𝑜. How about 𝑙 < 𝑜 log 𝑜? Ignore all the edges between vertices of coreness ≥ 𝑜 log 𝑜. The number of remaining edges is ෨ 𝑃(𝑜 𝑜). Partition the vertices across 𝑜

1 4 machines.

slide-55
SLIDE 55

Detecting all approximate k-cores

Partitioning across 𝑜 machines detects the k-cores for 𝑙 ≥ 𝑜 log 𝑜. How about 𝑙 < 𝑜 log 𝑜? Ignore all the edges between vertices of coreness ≥ 𝑜 log 𝑜. The number of remaining edges is ෨ 𝑃(𝑜 𝑜). Partition the vertices across 𝑜

1 4 machines.

Detect k-cores for k ≥ 𝑜

1 4 log 𝑜.

slide-56
SLIDE 56

Detecting all approximate k-cores

Partitioning across 𝑜 machines detects the k-cores for 𝑙 ≥ 𝑜 log 𝑜. How about 𝑙 < 𝑜 log 𝑜? Ignore all the edges between vertices of coreness ≥ 𝑜 log 𝑜. The number of remaining edges is ෨ 𝑃(𝑜 𝑜). Partition the vertices across 𝑜

1 4 machines.

Detect k-cores for k ≥ 𝑜

1 4 log 𝑜.

Repeat.

slide-57
SLIDE 57

Detecting all approximate k-cores

Partitioning across 𝑜 machines detects the k-cores for 𝑙 ≥ 𝑜 log 𝑜. How about 𝑙 < 𝑜 log 𝑜? Ignore all the edges between vertices of coreness ≥ 𝑜 log 𝑜. The number of remaining edges is ෨ 𝑃(𝑜 𝑜). Partition the vertices across 𝑜

1 4 machines.

Detect k-cores for k ≥ 𝑜

1 4 log 𝑜.

Repeat.

n → n1/2 → n1/4 → … → n1/log n log log n rounds

slide-58
SLIDE 58

Experiments

SKC = the algorithm in [Esfandiari et al. 2018] VKC = Theorem 1

slide-59
SLIDE 59

Experiments

SKC = the algorithm in [Esfandiari et al. 2018] VKC = Theorem 2

slide-60
SLIDE 60
slide-61
SLIDE 61

Theorem 2

(2 + 𝜗)-approximate k-core decomposition can be obtained in ෨ 𝑃 log 𝑜 MPC rounds with 𝑃 𝑜𝜀 memory per machine and the total memory of ෨ 𝑃 max 𝑜1+𝜀,𝑛 .

Next

slide-62
SLIDE 62

(2 + 𝜗)-approximate algorithm in log 𝑜 iterations

  • Given a threshold k, repeatedly

remove all the vertices of degree less than (2 + 𝜗)k.

  • The approximate coreness value
  • f a vertex is the largest k for

which it is not removed.

k=1

slide-63
SLIDE 63

(2 + 𝜗)-approximate algorithm in log 𝑜 iterations

  • Given a threshold k, repeatedly

remove all the vertices of degree less than (2 + 𝜗)k.

  • The approximate coreness value
  • f a vertex is the largest k for

which it is not removed.

k=1

1-coreness

slide-64
SLIDE 64

(2 + 𝜗)-approximate algorithm in log 𝑜 iterations

  • Given a threshold k, repeatedly

remove all the vertices of degree less than (2 + 𝜗)k.

  • The approximate coreness value
  • f a vertex is the largest k for

which it is not removed.

k=1

slide-65
SLIDE 65

(2 + 𝜗)-approximate algorithm in log 𝑜 iterations

  • Given a threshold k, repeatedly

remove all the vertices of degree less than (2 + 𝜗)k.

  • The approximate coreness value
  • f a vertex is the largest k for

which it is not removed.

k=1

slide-66
SLIDE 66

(2 + 𝜗)-approximate algorithm in log 𝑜 iterations

  • Given a threshold k, repeatedly

remove all the vertices of degree less than (2 + 𝜗)k.

  • The approximate coreness value
  • f a vertex is the largest k for

which it is not removed.

k=1

slide-67
SLIDE 67

(2 + 𝜗)-approximate algorithm in log 𝑜 iterations

  • Given a threshold k, repeatedly

remove all the vertices of degree less than (2 + 𝜗)k.

  • The approximate coreness value
  • f a vertex is the largest k for

which it is not removed.

k=1

slide-68
SLIDE 68

(2 + 𝜗)-approximate algorithm in log 𝑜 iterations

1-coreness 𝟑 + 𝝑 -approximate 1-coreness

slide-69
SLIDE 69

(2 + 𝜗)-approximate algorithm in log 𝑜 iterations

The algorithm terminates in 𝑃 log 𝑜 iterations!

High-level idea: Simulate 𝑃 log 𝑜 sequential in ෨ 𝑃 log 𝑜 MPC iterations.

𝟑 + 𝝑 -approximate 1-coreness

slide-70
SLIDE 70

Simulation of the log 𝑜-iteration algorithm

Split the log 𝑜 iterations into log 𝑜 phase, each phase consisting of log 𝑜 iterations.

slide-71
SLIDE 71

Simulation of the log 𝑜-iteration algorithm

Split the log 𝑜 iterations into log 𝑜 phase, each phase consisting of log 𝑜 iterations. Simulate each phase for each vertex by gathering its log 𝑜-hop neighborhood.

slide-72
SLIDE 72

Simulation of the log 𝑜-iteration algorithm

Split the log 𝑜 iterations into log 𝑜 phase, each phase consisting of log 𝑜 iterations. Simulate each phase for each vertex by gathering its log 𝑜-hop neighborhood.

slide-73
SLIDE 73

Simulation of the log 𝑜-iteration algorithm

v

Split the log 𝑜 iterations into log 𝑜 phase, each phase consisting of log 𝑜 iterations. Simulate each phase for each vertex by gathering its log 𝑜-hop neighborhood.

slide-74
SLIDE 74

Simulation of the log 𝑜-iteration algorithm

v

Split the log 𝑜 iterations into log 𝑜 phase, each phase consisting of log 𝑜 iterations. Simulate each phase for each vertex by gathering its log 𝑜-hop neighborhood.

2-hop

slide-75
SLIDE 75

Simulation of the log 𝑜-iteration algorithm

v

Split the log 𝑜 iterations into log 𝑜 phase, each phase consisting of log 𝑜 iterations. Simulate each phase for each vertex by gathering its log 𝑜-hop neighborhood.

2-hop

A log𝑜-hop neighborhood might be too big! E.g., a vertex has degree n.

slide-76
SLIDE 76

Simulation of the log 𝑜-iteration algorithm

v

Split the log 𝑜 iterations into log 𝑜 phase, each phase consisting of log 𝑜 iterations. Simulate each phase for each vertex by gathering its log 𝑜-hop neighborhood.

2-hop

A log𝑜-hop neighborhood might be too big! E.g., a vertex has degree n.

Idea: Sparsify the graph.

slide-77
SLIDE 77

Sparsification

Given a parameter k, sparsify the graph by keeping each edge with probability Θ

log 𝑜 𝑙

.

slide-78
SLIDE 78

Sparsification

Given a parameter k, sparsify the graph by keeping each edge with probability Θ

log 𝑜 𝑙

. The approximate k-core is preserved after the

  • sparsification. (Chernoff bound)
slide-79
SLIDE 79

Sparsification

Given a parameter k, sparsify the graph by keeping each edge with probability Θ

log 𝑜 𝑙

. Some vertices still might have too large degree. E.g., vertex of degree n for k=n0.1. The approximate k-core is preserved after the

  • sparsification. (Chernoff bound)
slide-80
SLIDE 80

Sparsification

Given a parameter k, sparsify the graph by keeping each edge with probability Θ

log 𝑜 𝑙

. Some vertices still might have too large degree. E.g., vertex of degree n for k=n0.1. “Freeze” all the vertices of degree more than 2 𝜀 log 𝑜 after the sparsification. The approximate k-core is preserved after the

  • sparsification. (Chernoff bound)
slide-81
SLIDE 81

Sparsification

Given a parameter k, sparsify the graph by keeping each edge with probability Θ

log 𝑜 𝑙

. Some vertices still might have too large degree. E.g., vertex of degree n for k=n0.1. “Freeze” all the vertices of degree more than 2 𝜀 log 𝑜 after the sparsification. The number of frozen vertices is small and affects the round complexity only by a constant. The approximate k-core is preserved after the

  • sparsification. (Chernoff bound)
slide-82
SLIDE 82

Densest subgraph vs. k-core decomposition

Is the non-empty k-core for the largest k the same as the densest subgraph?

slide-83
SLIDE 83

Densest subgraph vs. k-core decomposition

Is the non-empty k-core for the largest k the same as the densest subgraph?

slide-84
SLIDE 84

Densest subgraph vs. k-core decomposition

Is the non-empty k-core for the largest k the same as the densest subgraph?

2-core 3-core

slide-85
SLIDE 85

Densest subgraph vs. k-core decomposition

Is the non-empty k-core for the largest k the same as the densest subgraph?

2-core 3-core density = 11/7 density = 3/2