19
Mohammad Hasanzadeh Mofrad 1 , Rami Melhem 1 and Mohammad Hammoud 2 1 University of Pittsburgh 2 Carnegie Mellon University Qatar July 2, 2018 Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning IEEE International Conference on Cloud Computing (CLOUD 2018)

Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Mohammad Hasanzadeh Mofrad1, Rami Melhem1

and Mohammad Hammoud2

1University of Pittsburgh2Carnegie Mellon University Qatar

July 2, 2018

Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning

IEEE International Conference on Cloud Computing (CLOUD 2018)

Page 2: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Discussion outline

• Motivation

• Background

• Revolver

• Experiments

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 2 / 19

Page 3: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Motivation: Distributed Graph Analytics

1. Distributed graph analytics is the key to process big graphs.

• Dividing a big graph into subgraphs

• Distributing subgraphs across machines of the cluster

2. Example applications

• Google PageRank

• Facebook EdgeRank

• Amazon Item Recommendation

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 3 / 19

Page 4: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Discussion outline

• Motivation

• Background

• Revolver

• Experiments

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 4 / 19

Page 5: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Background: K-way Balanced Graph Partitioning (Definition)

• Given a graph G = (V, E) where V is the set of vertices and E is the set of Edges, k-way balanced graph partitioning divides the graph into ksubgraphs

|E| / k (1 + ε)

where k is the number of partitions

and ε > 0 is the imbalanced ratio

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 5 / 19

Page 6: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Background: K-way Balanced Graph Partitioning (Goals)• Work balance: Assigning partitions to nodes in the cluster

1. Computation: Distributing computation among nodes

2. Communication: Minimizing communication across nodes

3. Memory: Avoid exceeding memory capacity

4. Storage: Utilizing storage mediums

• Random and Hash partitioning algorithms have extremely poor locality and cut-edge

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 6 / 19

Page 7: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Background: Reinforcement Learning

• Reinforcement Learning is a class of machine learning algorithms inspired by stimulus-response principle.

• Examples

• Deep Q-network: A reinforcement learning agent combined with deep neural networks capable of playing Atari 2600 games

• AlphaGo: A game of Go player that beat a world Go champion. It has multiple neural networks trained by supervised learning from human expert moves and by reinforcement learning from self-play.

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 7 / 19

Page 8: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Background: Learning Automata

• Learning Automata (LA) are a subclass of reinforcement learning algorithm that select their new actions using their past experience with certain environments.

• A learning automaton is defined using the quadruple [A, P, R, T]

• A = {a1, …, am} is the action set with m being the number of actions

• P = {p1, …, pm} is the probability vector

• R = {0, 1} is the set of reinforcement signal (Reward and penalty signals)

• T is the linear learning algorithm where P(n + 1) = T[A(n), P(n), R(n)]

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018.

Learning Automaton

Environment

Take actionFeedback

8 / 19

Page 9: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Background: Label Propagation

• Definition: Label Propagation is a semi-supervised machine learning algorithm that assigns labels to the large set of unlabeled data using a small amount of labeled data.

• Let v ∈ V then

Label(v) = Objective(v)

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018.

Label propagation on a graph borrowed from https://ai.googleblog.com/2016/10/graph-powered-machine-learning-at-google.html

9 / 19

Page 10: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Discussion outline

• Motivation

• Background

• Revolver

• Experiments

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 10 / 19

Page 11: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Revolver: Core Idea

• Partition G = (V, E) with LA = (A, P, R) into k partitions

• A network of LA analogous to G is created where |V| = |LA|

• A learning automaton is assigned to each vertex v

• Neighbor LAs can be queried using the set E

• The action set A is the same as the set of available partitions, |A| = k

• The probability vector P is initialized by 1/k

• The reinforcement signal R is calculated using label propagation

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018.

v4v2

v5

v3

v1

G = (V, E) LA4LA2

LA5

LA3

LA1

LA = (A, P, R)

11 / 19

Page 12: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Revolver: Normalized Label Propagation

• Score(v, l): Computing score for lth partition of vertex v

𝑠𝑐𝑜𝑟𝑒 𝑣, 𝑙 =1

2

𝑢∈𝑁(𝑣)

𝑤(𝑢, 𝑣)𝛿(𝜓 𝑢 , 𝑙)

σ𝑢∈𝑁(𝑣)𝑤(𝑢, 𝑣)+

1 −𝑏(𝑙𝑖)𝐶

σ𝑖=1𝑘 1 −

𝑏(𝑙𝑖)𝐶

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018.

Weight term Penalty term

12 / 19

Page 13: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Revolver: Training Learning Automata

1. Action selection:• Actions are selected using the probability vector P

2. Scoring function: • For each partition of vertex v, a score is produced

3. Vertex migration:• Vertices migrate to their candidate (new) partition with a probability of migration

4. The reinforcement signal R is calculated as follows:• Reward signal: If ψ(v) has the highest score or it has positive migration probability.

• Penalty signal: Otherwise.

5. Probability update:• The probability vector is updated while taking account of the calculated signal.

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 13 / 19

Page 14: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Discussion outline

• Motivation

• Background

• Revolver

• Experiments

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 14 / 19

Page 15: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Experiments: Setup and Metrics

1. Performance metrics• Ratio of local edges = |local_edges| / |E| • Max normalized load = |max_load| / (|E| / k)

2. Datasets• LiveJournal (LJ): |V| = 4.84M and |E| = 68.99M• Higgs-twitter(TWIT): |V| = 0.45M and |E| = 14.85

3. Partitioning algorithms:• Revolver• Spinner• Hash• Range

4. Number of partitions:• 2, 4, 8, 16, 32, 64, 128 and 192

5. Imbalanced ratio ε = 0.05 for |E|/k (1 + ε)

6. Number of runs: 10

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 15 / 19

Page 16: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Experiments: Performance Results

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018.

1

1.02

1.04

1.06

1.08

1.1

1.12

1.14

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

2 4 8

16

32

64

128

192

256

Max

no

rmal

ized

lo

ad

Rat

io o

f lo

cal

edges

Partition

(A) LiveJournal

Revolver Local Edges Spinner Local Edges Range Local Edges

Hash Local Edges Revolver Max Norm Load Spinner Max Norm Load

Hash Max Norm Load

Revolver produces the best ratio of local edges

while not exceeding the max normalized load

1

1.05

1.1

1.15

1.2

1.25

1.3

1.35

1.4

1.45

1.5

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

2 4 8

16

32

64

128

192

256

Max

no

rmal

ized

lo

ad

Rat

io o

f lo

cal

edges

Partition

(B) Higgs-twitter (TWIT)Revolver Local Edges Spinner Local Edges

Range Local Edges Hash Local Edges

Revolver Max Norm Load Spinner Max Norm Load

Hash Max Norm Load

Spinner produces the best ratio of local edges

while exceeding the max normalized load (9x for 128 partitions)

Revolver does not exceed max normalized load

16 / 19

Page 17: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Experiments: Convergence Characteristics

• For a graph G = (V, E),

𝑠𝑐𝑜𝑟𝑒 𝐺 =σ𝑣∈𝑉 𝑠𝑐𝑜𝑟𝑒(𝑣)

|𝑉|

• For a network of LA = (A, P, R),

𝑝𝑟𝑜𝑏𝑎𝑏𝑖𝑙𝑖𝑡𝑦 𝐿𝐴 =

𝑙𝑎∈𝐿𝐴

𝑃(𝜓 𝑙𝑎 > 0.9)

|𝑉|

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 17 / 19

Page 18: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Conclusion

• Revolver, a graph partitioning algorithm

• Vertex-centric

• Parallel

• Adaptive (LA)

• Learning Automata helps Revolver:

• produce localized partitions (locality)

• produce balanced partitions (scalability)

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 18 / 19

Page 19: Revolver: Vertex-centric Graph Partitioning Using ...people.cs.pitt.edu/~moh18/files/notes/07.02.18_revolver.pdf · Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph

Thank you!

“Those who can imagine anything, can create the impossible.”

― Alan Turing

Mohammad Hasanzadeh Mofrad et al. “Revolver: Vertex-centric Graph Partitioning Using Reinforcement Learning.” IEEE CLOUD 2018. 19 / 19