a pattern aware graph mining system
play

A Pattern-Aware Graph Mining System Kasra Jamshidi Rakesh Mahadasa - PowerPoint PPT Presentation

A Pattern-Aware Graph Mining System Kasra Jamshidi Rakesh Mahadasa Keval Vora Simon Fraser University https://github.com/pdclab/peregrine Why should you pay attention? Peregrine executes 700x faster Peregrine consumes 100x less memory


  1. Symmetry Breaking a e b x b d c y v f g Worker 1 Data Graph 70

  2. Symmetry Breaking a e b x b d c y d f g Worker 1 Data Graph 71

  3. Symmetry Breaking a e u x b x b d c y v y d f g Data Graph Worker 2 Worker 1 72

  4. Symmetry Breaking a e d x b x b d c y v y d f g Data Graph Worker 2 Worker 1 73

  5. Symmetry Breaking a e d x b x b d c y b y d f g Data Graph Worker 2 Worker 1 74

  6. Symmetry Breaking a e d a b a b d c y b y d f g Data Graph Worker 2 Worker 1 75

  7. Symmetry Breaking a e d a b a b d c g b g d f g Data Graph Worker 2 Worker 1 76

  8. Symmetry Breaking a e d a b a b d c g b g d f g Data Graph Worker 2 Worker 1 77

  9. Symmetry Breaking u x y v u < v 78

  10. Symmetry Breaking u x y v x < y 79

  11. Symmetry Breaking u x y v u < v x < y 80

  12. Core Pattern u x y v 81

  13. Core Pattern x u v y 82

  14. Core Pattern x u v y 83

  15. Core Pattern a e b b d c d f g Data Graph Pattern-Unaware 84

  16. Core Pattern a e b a b d c d f g Data Graph Pattern-Unaware 85

  17. Core Pattern a e b a b d c d f g Data Graph Pattern-Unaware 86

  18. Core Pattern a e b a b d c g d f g Data Graph Pattern-Unaware 87

  19. Core Pattern a e b a b d c g d f g Data Graph Pattern-Unaware 88

  20. Core Pattern a e b x b d c y d f g Data Graph Pattern-Aware 89

  21. Core Pattern a e b x b d c y d f g Data Graph Pattern-Aware 90

  22. Core Pattern a e b x b d c y d f g Data Graph Pattern-Aware 91

  23. Core Pattern a e b a b d c g d f g Data Graph Pattern-Aware 92

  24. Core Pattern a e b a b d c g d f h g Data Graph Pattern-Aware 93

  25. Core Pattern a e b a b a b d c g d h d f h g Data Graph Pattern-Aware 94

  26. Core Pattern a e b a b a b d c g d h d f h g Data Graph Pattern-Aware 95

  27. Pattern Awareness • Symmetry breaking (RECOMB ‘07) Pattern • Core pattern reduction Matching (SIGMOD ‘16) 96

  28. Pattern Awareness • Early termination Pattern Matching 97

  29. Early Termination bool globalClusteringCoefficient(int bound) { DataGraph G( “path/to/graph/” ); auto triplet = PatternGenerator::star(3); int numTriplets = count(G, {triplet}); auto countAndCheck = [=](auto &&match, auto &&aggregator) { int numTriangles = aggregator.readValue(match.pattern); if (3*numTriangles/numTriplets > bound) aggregator.stop(); else aggregator.map(match.pattern, 1); } auto triangle = PatternGenerator::clique(3); auto result = match<Pattern, int>(G, triangle, countAndCheck); return 3*result[triangle]/numTriplets > bound; } 98

  30. Early Termination bool globalClusteringCoefficient(int bound) { DataGraph G(“path/to/graph/”); auto triplet = PatternGenerator::star(3); int numTriplets = count(G, {triplet}); auto countAndCheck = [=](auto &&match, auto &&aggregator) { int numTriangles = aggregator.readValue(match.pattern); if (3*numTriangles/numTriplets > bound) aggregator.stop(); else aggregator.map(match.pattern, 1); } auto triangle = PatternGenerator::clique(3); auto result = match<Pattern, int>(G, triangle, countAndCheck); return 3*result[triangle]/numTriplets > bound; } 99

Recommend


More recommend