Asynchronous n-Level Hypergraph Partitioning

Moritz Laupichler
2021
In this thesis, we introduce a novel approach to scalable high-quality parallel hypergraph partitioning. The balanced k-way hypergraph partitioning problem consists of partitioning the vertices of a hypergraph into k blocks of almost equal size s.t. an objective function is optimized (usually the sum of the number of blocks that each hyperedge spans should be minimized). In the n-level variant of the popular multilevel scheme, ≈ n vertex contractions are performed on the hypergraph before
more » ... g an initial partitioning and then reverting the contractions. In the uncoarsening phase, after every uncontraction, localized refinement is applied around the region of the uncontraction, which leads to partitions of very high quality. In this work, we present asynchronous uncoarsening, a highly scalable parallelization of the n-level uncoarsening phase in which uncontractions and localized refinement happen concurrently. We introduce a framework that requires no global synchronization during the uncoarsening phase and allows fine-grained control of cross-dependencies between concurrent uncontractions and refinement. We implement asynchronous uncoarsening in the Mt-KaHyPar framework and experimentally compare our approach with Mt-KaHyPar's previous batch synchronous uncoarsening phase. Our extensive experiments on more than 500 real-world hypergraphs with up to 190 million vertices and 2 billion pins (sum of hyperedge sizes) show that our approach scales better on large hypergraphs with only a small loss of quality. We find that Mt-KaHyPar with asynchronous uncoarsening is on average 26% faster than Mt-KaHyPar with batch uncoarsening for large instances using 64 threads. Our uncoarsening phase reaches average self-relative speedups of 39 for 64 threads on difficult instances for which the average speedups of Mt-KaHyPar's batch uncoarsening are limited to less than 24. Deutsche Zusammenfassung Wir stellen eine neue Technik für skalierbare, parallele Hypergraph-Partitionierung für Partitionen hoher Qualität vor. Das Problem balancierter k-Wege Hypergraph-Partitionierung besteht aus der Verteilung der Knoten eines Hypergraphen auf k disjunkte Blöcke etwa gleicher Größe, so dass eine Zielfunktion optimiert wird (üblicherweise soll die Summe der Anzahl Blöcke, die jede Kante berührt, minimiert werden). In der n-Level Variante des Multilevel-Schemas werden ≈ n Knotenkontraktionen ausgeführt bevor eine initiale Partition gefunden wird und die Kontraktionen rückgängig gemacht werden. In der Uncoarsening-Phase, wird dann lokalisiertes Refinement um jede Entkontraktion angewendet, was zu Partitionen sehr hoher Qualität führt. In dieser Arbeit führen wir Asynchronous Uncoarsening ein, eine skalierbare Parallelisierung der n-Level Uncoarsening-Phase, in der Entkontraktionen und Refinement gleichzeitig ausgeführt werden. Wir stellen ein Framework für Asynchronous Uncoarsening vor, das keine Synchronisierung benötigt, und eine kleinschrittige Kontrolle von Abhängigkeiten zwischen Entkontraktionen und Refinement ermöglicht. Wir implementieren unseren Algorithmus im Mt-KaHyPar Framework und vergleichen unsere Uncoarsening-Phase mit der vorherigen n-Level Uncoarsening Phase von Mt-KaHyPar, welche auf Batches von Entkontraktionen basiert. Unsere Experimente an mehr als 500 Hypergraphen aus echten Anwendungen zeigen, dass Asynchronous Uncoarsening mit nur geringem Qualitätsverlust die Skalierbarkeit paralleler Hypergraph-Partitionierung für große Hypergraphen erhöhen kann. Mit 64 Threads ist Mt-KaHyPar mit Asynchronous Uncoarsening auf großen Instanzen durchschnittlich 26% schneller als Mt-KaHyPar mit Batches. Asynchronous Uncoarsening erreicht mit 64 Threads durchschnittliche Speedups von 39 auf großen Instanzen, für die Mt-KaHyPar's Batch Uncoarsening durchschnittliche Speedups von weniger als 24 erreicht.
doi:10.5445/ir/1000150362 fatcat:5bns6himsvchjl4v7ae35hhcda