Published August 26, 2009 | Version v1

A scalable coarsening phase for a multi-level graph partitioning algorithm

Authors/Creators

  • 1. University of Karlsruhe

Contributors

Supervisor:

  • 1. University of Karlsruhe

Description

Graph Partitioning is an important load balancing problem in parallel processing. The simplest case of graph partitioning is as follows: Given a graph G = (V, E) and an integer k, the vertex set is to be partitioned such that each partition block has the same size and minimize the edges adjacent to vertices in different blocks. The problem can be extended to graphs with weighted vertices and edges.

Since the graph partitioning problem is N P-hard, real-world problem instances are solved using approximation algorithms. Beginning from the mid 1990s, the most successful practicable codes use a multi-level approach.

We present a scalable coarsening phase for a distributed memory, parallel multi-level partitioner and an experimental evaluation thereof. The main contribution is using high-quality matching algorithm with objective functions (which we call edge ratings) different from the edge weight. Also, the algorithm for finding matchings of vertices that are not local to one process is more advanced than other partitioning codes we are aware of.

We identify five promising edge ratings. Two of them yield better initial partitions of the coarsest graph in terms of edge cut than the one of KMETIS. We are using approximate matching algorithms that are more expensive in terms of running time. However, we achieve a lower running time of our coarsening algorithm than PARMETIS from 256 or 512 processes for large graphs, depending on the graph.

Files

2009_Holtgrewe_Dipl_A_scalable_coarsening_phase_for_a_multi_level_graph_partitioning_algorithm.pdf