Mesh partitioning is an indispensable tool for efficient parallel numerical simulations. Its goal is to minimize communication between the processes of a simulation while achieving load balance. Established graph-based partitioning tools yield a high solution quality; however, their scalability is limited. Geometric approaches usually scale better, but their solution quality may be unsatisfactory for "non-trivial" mesh topologies. In this paper, we present a scalable version of k-means that is adapted to yield balanced clusters. Balanced k-means constitutes the core of our new partitioning algorithm Geographer. Bootstrapping of initial centers is performed with space-filling curves, leading to fast convergence of the subsequent balanced k-means algorithm. Our experiments with up to 16 384 MPI processes on numerous benchmark meshes show the following: (i) Geographer produces partitions with a lower communication volume than state-of-the-art geometric partitioners from the Zoltan package; (ii) Geographer scales well on large inputs; (iii) a Delaunay mesh with a few billion vertices and edges can be partitioned in a few seconds.
Shape optimization with Bubble-FOS C @cite_43 , a variation of the bubble framework with diffusion distances for the part resembling @math -means, has been shown to have some theoretical foundation @cite_4 : similar to spectral partitioning, it computes the global optimum of a relaxed edge cut optimization problem. At the same time, the quality of diffusive partitioning is in practice typically higher than that of spectral methods.
@cite_43 @cite_4
2038164234 1995006434
The NP-hard graph partitioning problem is an important subtask in load balancing and many other applications. It requires the division of a graph's vertex set into P equally sized subsets such that some objective function is optimized. State-of-the-art libraries addressing this problem show several deficiencies: they are hard to parallelize, focus on small edge-cuts instead of few boundary vertices, and often produce disconnected partitions. This work introduces our novel graph partitioning and repartitioning heuristic Bubble-FOS C. In contrast to other libraries, Bubble-FOS C does not try to minimize the edge-cut explicitly, but focuses instead implicitly on good partition shapes. The shapes are optimized by diffusion processes that are embedded into an iterative framework. This approach incorporates a high degree of parallelism. Besides describing the evolution process that led to the new diffusion scheme FOS C used by Bubble-FOS C, we reveal some of FOS C's properties and propose a number of enhancements for a fast and reliable implementation. Our experiments, in which we compare sequential and parallel Bubble-FOS C implementations to the state-of-the-art libraries Metis and Jostle, reveal that our new heuristic is slower, but generates high-quality solutions that are often superior. In this paper we study the prevalent problem of graph partitioning by analyzing the diffusion-based partitioning heuristic Bubble-FOS C, a key component of a practical successful graph partitioner ( in J. Parallel Distrib. Comput. 69(9):750---761, 2009). We begin by studying the disturbed diffusion scheme FOS C, which computes the similarity measure used in Bubble-FOS C and is therefore the most crucial component. By relating FOS C to random walks, we obtain precise characterizations of the behavior of FOS C on tori and hypercubes. Besides leading to new knowledge on FOS C (and therefore also on Bubble-FOS C), these characterizations have been recently used for the analysis of load balancing algorithms ( in Proceedings of the 22nd Annual Symposium on Discrete Algorithms, pp. 429---439, 2011). We then regard Bubble-FOS C, which has been shown in previous experiments to produce solutions with good partition shapes and other favorable properties. In this paper we prove that it computes a relaxed solution to an edge cut minimizing binary quadratic program (BQP). This result provides the first substantial theoretical insight why Bubble-FOS C yields good experimental results in terms of graph partitioning metrics. Moreover, we show that in bisections computed by Bubble-FOS C, at least one of the two parts is connected. Using the aforementioned relation between FOS C and random walks, we prove that in vertex-transitive graphs both parts must be connected components.