big graphs for big data parallel matching and
play

Big graphs for big data: parallel matching and Outline clustering - PowerPoint PPT Presentation

Big graphs for big data: parallel matching and Outline clustering on billion-vertex graphs Matching Introduction Greedy Parallelisable BSP algorithm GPU algorithm Rob H. Bisseling Results Clustering Introduction Mathematical Institute,


  1. Big graphs for big data: parallel matching and Outline clustering on billion-vertex graphs Matching Introduction Greedy Parallelisable BSP algorithm GPU algorithm Rob H. Bisseling Results Clustering Introduction Mathematical Institute, Utrecht University Sequential GPU algorithm Results 2D partitioning Collaborators: Bas Fagginger Auer, Fredrik Manne, Mostofa Patwary, 2D matching Daan Pelt, Albert-Jan Yzelman Conclusion References Workshop AMLaGAP, Orl´ eans, May 19, 2014 1

  2. Graph Matching Introduction Greedy algorithm Parallelisable 1/2-approximation algorithm Outline BSP algorithm Matching Introduction GPU algorithm Greedy Parallelisable Results BSP algorithm GPU algorithm Results Clustering Clustering Introduction Introduction Sequential Sequential algorithm GPU algorithm Results GPU algorithm 2D partitioning Results 2D matching Conclusion 2D sparse matrix partitioning References 2D (edge-based) matching Conclusion 2

  3. Matchmaker, Matchmaker, Make me a match Outline Matching Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results Clustering Introduction Sequential GPU algorithm Results 2D partitioning From the film Fiddler on the roof 2D matching ◮ Hodel: Well, somebody has to arrange the matches. Conclusion References Young people can’t decide these things themselves. ◮ Hodel: For Papa, make him a scholar. ◮ Chava: For Mama, make him rich as a king. 3

  4. Matching can win you a Nobel prize Outline Matching Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results Clustering Introduction Sequential GPU algorithm Results 2D partitioning 2D matching Conclusion References Source: Slate magazine October 15, 2012 4

  5. Motivation of graph matching Outline ◮ Graph matching is a pairing of neighbouring vertices. Matching Introduction ◮ It has applications in Greedy Parallelisable • medicine: finding suitable donors for organs BSP algorithm GPU algorithm • social networks: finding partners Results • scientific computing: finding pivot elements in matrix Clustering Introduction computations Sequential GPU algorithm • graph coarsening: making the graph smaller by merging Results similar vertices before partitioning it for parallel 2D partitioning computations 2D matching • bioinformatics: finding similarity in Protein-Protein Conclusion Interaction networks References 5

  6. Motivation of greedy/approximation graph matching Outline Matching ◮ Optimal solution is possible in polynomial time. Introduction Greedy ◮ Time for weighted matching in graph G = ( V , E ) is Parallelisable BSP algorithm O ( mn + n 2 log n ) with n = | V | the number of vertices, GPU algorithm Results and m = | E | the number of edges (Gabow 1990). Clustering Introduction ◮ The aim is a billion vertices, n = 10 9 , with 100 edges per Sequential GPU algorithm vertex, i.e. m = 10 11 . Results 2D partitioning ◮ Thus, a time of O (10 20 ) = 100 , 000 Petaflop units is far 2D matching too long. Fastest supercomputer today, the Tianhe-2, Conclusion performs 33.8 Petaflop/s. References ◮ We need linear-time greedy or approximation algorithms. 6

  7. Formal definition of graph matching Outline Matching Introduction Greedy ◮ A graph is a pair G = ( V , E ) with vertices V and edges E . Parallelisable BSP algorithm GPU algorithm ◮ All edges e ∈ E are of the form e = ( v , w ) for vertices Results v , w ∈ V . Clustering Introduction ◮ A matching is a collection M ⊆ E of disjoint edges. Sequential GPU algorithm Results ◮ Here, the graph is undirected, so ( v , w ) = ( w , v ). 2D partitioning 2D matching Conclusion References 7

  8. Maximal matching Outline Matching Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results Clustering Introduction Sequential GPU algorithm Results 2D partitioning 2D matching ◮ A matching is maximal if we cannot enlarge it further by Conclusion References adding another edge to it. 8

  9. Maximum matching Outline Matching Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results Clustering Introduction Sequential GPU algorithm Results 2D partitioning 2D matching ◮ A matching is maximum if it possesses the largest possible Conclusion References number of edges, compared to all other matchings. 9

  10. Edge-weighted matching Outline Matching ◮ If the edges are provided with weights ω : E → R > 0 , Introduction Greedy finding a matching M which maximises Parallelisable BSP algorithm GPU algorithm Results � ω ( M ) = ω ( e ) , Clustering Introduction e ∈ M Sequential GPU algorithm is called edge-weighted matching. Results 2D partitioning ◮ Greedy matching provides us with maximal matchings, 2D matching but not necessarily with maximum possible weight. Conclusion References 10

  11. Sequential greedy matching Outline ◮ In random order, vertices v ∈ V select and match Matching Introduction neighbours one-by-one. Greedy Parallelisable ◮ Here, we can pick BSP algorithm GPU algorithm • the first available neighbour w of v , Results Clustering greedy random matching Introduction • the neighbour w with maximum ω ( v , w ), Sequential GPU algorithm greedy weighted matching Results 2D partitioning ◮ Or: we sort all the edges by weight, and successively match 2D matching the vertices v and w of the heaviest available edge ( v , w ). Conclusion This is commonly called greedy matching. References 11

  12. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  13. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  14. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  15. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  16. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  17. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  18. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  19. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  20. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  21. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  22. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  23. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  24. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

  25. Sequential greedy random matching Outline 8 1 Matching 2 Introduction Greedy Parallelisable BSP algorithm GPU algorithm Results 4 Clustering 3 Introduction 7 Sequential GPU algorithm Results 9 2D partitioning 5 2D matching 6 Conclusion References 12

Recommend


More recommend