High-Quality Shared-Memory Graph Partitioning

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11014)


Partitioning graphs into blocks of roughly equal size such that few edges run between blocks is a frequently needed operation in processing graphs. Recently, size, variety, and structural complexity of these networks has grown dramatically. Unfortunately, previous approaches to parallel graph partitioning have problems in this context since they often show a negative trade-off between speed and quality. We present an approach to multi-level shared-memory parallel graph partitioning that guarantees balanced solutions, shows high speed-ups for a variety of large graphs and yields very good quality independently of the number of cores used. For example, on 31 cores, our algorithm partitions our largest test instance into 16 blocks cutting less than half the number of edges than our main competitor when both algorithms are given the same amount of time. Important ingredients include parallel label propagation, parallel initial partitioning, a simple yet effective approach to parallel localized local search, and cache-aware hash tables.


  1. 1.
    Intel threading building blocks.
  2. 2.
    Akhremtsev, Y., Sanders, P., Schulz, C.: High-quality shared-memory graph partitioning. CoRR abs/1710.08231 (2017)Google Scholar
  3. 3.
    Axtmann, M., Witt, S., Ferizovic, D., Sanders, P.: In-place parallel super scalar samplesort (IPSSSSo). In: Proceedings of the 25th ESA, pp. 9:1–9:14 (2017)Google Scholar
  4. 4.
    Buluç, A., Meyerhenke, H., Safro, I., Sanders, P., Schulz, C.: Recent advances in graph partitioning. In: Kliemann, L., Sanders, P. (eds.) Algorithm Engineering. LNCS, vol. 9220, pp. 117–158. Springer, Cham (2016). Scholar
  5. 5.
    Karypis, G., Kumar, V.: Parallel multilevel \(k\)-way partitioning scheme for irregular graphs. In: Proceedings of the ACM/IEEE Conference on Supercomputing (1996)Google Scholar
  6. 6.
    LaSalle, D., Karypis, G.: Multi-threaded graph partitioning. In: Proceedings of the 27th IPDPS, pp. 225–236 (2013)Google Scholar
  7. 7.
    LaSalle, D., Karypis, G.: A parallel hill-climbing refinement algorithm for graph partitioning. In: Proceedings of the 45th ICPP, pp. 236–241 (2016)Google Scholar
  8. 8.
    Meyerhenke, H., Sanders, P., Schulz, C.: Partitioning complex networks via size-constrained clustering. In: Gudmundsson, J., Katajainen, J. (eds.) SEA 2014. LNCS, vol. 8504, pp. 351–363. Springer, Cham (2014). Scholar
  9. 9.
    Meyerhenke, H., Sanders, P., Schulz, C.: Parallel graph partitioning for complex networks. In: IEEE Transactions on Parallel and Distributed Systems, pp. 2625–2638 (2017)CrossRefGoogle Scholar
  10. 10.
    Sanders, P., Schulz, C.: Engineering multilevel graph partitioning algorithms. In: Demetrescu, C., Halldórsson, M.M. (eds.) ESA 2011. LNCS, vol. 6942, pp. 469–480. Springer, Heidelberg (2011). Scholar
  11. 11.
    Shun, J., Blelloch, G.E., Fineman, J.T., Gibbons, P.B.: Reducing contention through priority updates. In: Proceedings of the 25th SPAA, pp. 152–163 (2013)Google Scholar
  12. 12.
    Staudt, C.L., Meyerhenke, H.: Engineering parallel algorithms for community detection in massive networks. IEEE Trans. Parallel Distrib. Syst. 27(1), 171–184 (2016)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Karlsruhe Institute of Technology (KIT)KarlsruheGermany
  2. 2.University of ViennaViennaAustria

Personalised recommendations