Multithreaded Clustering for Multi-level Hypergraph Partitioning

Requirements for efficient parallelization of many complex and irregular applications can be cast as a hyper graph partitioning problem. The current-state-of-the art software libraries that provide tool support for the hyper graph partitioning problem are designed and implemented before the game-changing advancements in multi-core computing. Hence, analyzing the structure of those tools for designing multithreaded versions of the algorithms is a crucial tasks. The most successful partitioning tools are based on the multi-level approach. In this approach, a given hyper graph is coarsened to a much smaller one, a partition is obtained on the the smallest hyper graph, and that partition is projected to the original hyper graph while refining it on the intermediate hyper graphs. The coarsening operation corresponds to clustering the vertices of a hyper graph and is the most time consuming task in a multi-level partitioning tool. We present three efficient multithreaded clustering algorithms which are very suited for multi-level partitioners. We compare their performance with that of the ones currently used in today's hyper graph partitioners. We show on a large number of real life hyper graphs that our implementations, integrated into a commonly used partitioning library PaToH, achieve good speedups without reducing the clustering quality.

[1]  Harold N. Gabow,et al.  An Efficient Implementation of Edmonds' Algorithm for Maximum Matching on Graphs , 1976, JACM.

[2]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[3]  Ümit V. Çatalyürek,et al.  Distributed-Memory Parallel Algorithms for Matching and Coloring , 2011, 2011 IEEE International Symposium on Parallel and Distributed Processing Workshops and Phd Forum.

[4]  George Karypis,et al.  Multilevel algorithms for partitioning power-law graphs , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[5]  Thomas Lengauer,et al.  Combinatorial algorithms for integrated circuit layout , 1990, Applicable theory in computer science.

[6]  William J. Knottenbelt,et al.  Par kway 2.0: A Parallel Multilevel Hypergraph Partitioning Tool , 2004, ISCIS.

[7]  Brendan Vastenhouw,et al.  A Two-Dimensional Data Distribution Method for Parallel Sparse Matrix-Vector Multiplication , 2005, SIAM Rev..

[8]  George Karypis,et al.  Multilevel Hypergraph Partitioning , 2003 .

[9]  Ümit V. Çatalyürek,et al.  A repartitioning hypergraph model for dynamic load balancing , 2009, J. Parallel Distributed Comput..

[10]  Shashi Shekhar,et al.  Efficient Join-Index-Based Spatial-Join Processing: A Clustering Approach , 2002, IEEE Trans. Knowl. Data Eng..

[11]  Rob H. Bisseling,et al.  Partitioning a call graph , 2006 .

[12]  Ümit V. Çatalyürek,et al.  Hypergraph Partitioning-Based Fill-Reducing Ordering for Symmetric Matrices , 2011, SIAM J. Sci. Comput..

[13]  Cevdet Aykanat,et al.  Hypergraph Models and Algorithms for Data-Pattern-Based Clustering , 2004, Data Mining and Knowledge Discovery.

[14]  Vipin Kumar,et al.  Hmetis: a hypergraph partitioning package , 1998 .

[15]  Rob H. Bisseling,et al.  A Parallel Approximation Algorithm for the Weighted Maximum Matching Problem , 2007, PPAM.

[16]  Rob H. Bisseling,et al.  Mondriaan sparse matrix partitioning for attacking cryptosystems by a parallel block Lanczos algorithm - a case study , 2006, Parallel Comput..

[17]  Bora Uçar,et al.  A Matrix Partitioning Interface to PaToH in MATLAB , 2010, Parallel Comput..

[18]  Frédéric Loulergue Proceedings of the fourth international workshop on High-level parallel programming and applications , 2010, ICFP 2010.

[19]  Andrew B. Kahng,et al.  Recent directions in netlist partitioning: a survey , 1995, Integr..

[20]  Antonino Tumeo,et al.  Approximate weighted matching on emerging manycore and multithreaded architectures , 2012, Int. J. High Perform. Comput. Appl..

[21]  M. Patwary,et al.  Parallel greedy graph matching using an edge partitioning approach , 2010, HLPP '10.

[22]  Ümit V. Çatalyürek,et al.  Hypergraph-Partitioning-Based Decomposition for Parallel Sparse-Matrix Vector Multiplication , 1999, IEEE Trans. Parallel Distributed Syst..

[23]  Bora Uçar,et al.  On Two-Dimensional Sparse Matrix Partitioning: Models, Methods, and a Recipe , 2010, SIAM J. Sci. Comput..

[24]  Andrew B. Kahng,et al.  Improved algorithms for hypergraph bipartitioning , 2000, ASP-DAC '00.

[25]  Mei-Yu Wu,et al.  A Hypergraph Based Approach to Declustering Problems , 2004, Distributed and Parallel Databases.

[26]  Ilya Safro,et al.  Comparison of Coarsening Schemes for Multilevel Graph Partitioning , 2009, LION.

[27]  Rob H. Bisseling,et al.  Parallel hypergraph partitioning for scientific computing , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.