Engineering Graph Partitioning Algorithms

  • Vitaly Osipov
  • Peter Sanders
  • Christian Schulz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7276)

Abstract

The paper gives an overview of our recent work on balanced graph partitioning – partition the nodes of a graph into k blocks such that all blocks have approximately equal size and such that the number of cut edges is small. This problem has numerous applications for example in parallel processing. We report on a scalable parallelization and a number of improvements on the classical multi-level approach which leads to improved partitioning quality. This includes an integration of flow methods, improved local search, several improved coarsening schemes, repeated runs similar to the approaches used in multigrid solvers, and an integration into a distributed evolutionary algorithm. Overall this leads to a system that for many common benchmarks leads to both the best quality solution known and favorable tradeoffs between running time and solution quality.

Keywords

Local Search Priority Queue Graph Partitioning Quotient Graph Border Node 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Fjallstrom, P.: Algorithms for graph partitioning: A survey. Linkoping Electronic Articles in Computer and Information Science 3(10) (1998)Google Scholar
  2. 2.
    Karypis, G., Kumar, V.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM Journal on Scientific Computing 20(1), 359–392 (1998)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Schloegel, K., Karypis, G., Kumar, V.: Graph partitioning for high performance scientific simulations. Technical Report 00-018, University of Minnesota (2000)Google Scholar
  4. 4.
    Walshaw, C., Cross, M.: JOSTLE: Parallel Multilevel Graph-Partitioning Software – An Overview. In: Magoules, F. (ed.) Mesh Partitioning Techniques and Domain Decomposition Techniques, pp. 27–58. Civil-Comp Ltd. (2007) (invited chapter)Google Scholar
  5. 5.
    Holtgrewe, M., Sanders, P., Schulz, C.: Engineering a Scalable High Quality Graph Partitioner. In: 24th IEEE International Parallal and Distributed Processing Symposium (2010)Google Scholar
  6. 6.
    Osipov, V., Sanders, P.: n-Level Graph Partitioning. In: de Berg, M., Meyer, U. (eds.) ESA 2010. LNCS, vol. 6346, pp. 278–289. Springer, Heidelberg (2010) see also arxiv preprint arXiv:1004.4024CrossRefGoogle Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    Sanders, P., Schulz, C.: Distributed Evolutionary Graph Partitioning. In: 12th Workshop on Algorithm Engineering and Experimentation (2011)Google Scholar
  9. 9.
    Soper, A., Walshaw, C., Cross, M.: A combined evolutionary search and multilevel optimisation approach to graph-partitioning. Journal of Global Optimization 29(2), 225–241 (2004)MathSciNetMATHCrossRefGoogle Scholar
  10. 10.
    Bentley, J.L.: Multidimensional binary search trees used for associative searching. Commun. ACM 18(9), 509–517 (1975)MathSciNetMATHCrossRefGoogle Scholar
  11. 11.
    Berger, M.J., Bokhari, S.H.: A partitioning strategy for pdes across multiprocessors. In: ICPP, pp. 166–170 (1985)Google Scholar
  12. 12.
    Manne, F., Bisseling, R.H.: A Parallel Approximation Algorithm for the Weighted Maximum Matching Problem. In: Wyrzykowski, R., Dongarra, J., Karczewski, K., Wasniewski, J. (eds.) PPAM 2007. LNCS, vol. 4967, pp. 708–717. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  13. 13.
    Abou-Rjeili, A., Karypis, G.: Multilevel algorithms for partitioning power-law graphs. In: International Parallel & Distributed Processing Symposium (2006)Google Scholar
  14. 14.
    Maue, J., Sanders, P.: Engineering Algorithms for Approximate Weighted Matching. In: Demetrescu, C. (ed.) WEA 2007. LNCS, vol. 4525, pp. 242–255. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  15. 15.
    Drake, D., Hougardy, S.: A simple approximation algorithm for the weighted matching problem. Information Processing Letters 85, 211–213 (2003)MathSciNetMATHCrossRefGoogle Scholar
  16. 16.
    Pellegrini, F.: Scotch home page, http://www.labri.fr/pelegrin/scotch
  17. 17.
    Fiduccia, C.M., Mattheyses, R.M.: A Linear-Time Heuristic for Improving Network Partitions. In: 19th Conference on Design Automation, pp. 175–181 (1982)Google Scholar
  18. 18.
    Geisberger, R., Sanders, P., Schultes, D., Vetter, C.: Exact routing in large road networks using contraction hierarchies. Transportation Science (to appear, 2012)Google Scholar
  19. 19.
    Birn, M., Holtgrewe, M., Sanders, P., Singler, J.: Simple and fast nearest neighbor search. In: 11th Workshop on Algorithm Engineering and Experiments, ALENEX (2010)Google Scholar
  20. 20.
    Osipov, V., Sanders, P.: n-Level Graph Partitioning. In: de Berg, M., Meyer, U. (eds.) ESA 2010. LNCS, vol. 6346, pp. 278–289. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  21. 21.
    Dementiev, R., Sanders, P., Schultes, D., Sibeyn, J.: Engineering an external memory minimum spanning tree algorithm. In: IFIP TCS, Toulouse, pp. 195–208 (2004)Google Scholar
  22. 22.
    Walshaw, C.: Multilevel refinement for combinatorial optimisation problems. Annals of Operations Research 131(1), 325–372 (2004)MathSciNetMATHCrossRefGoogle Scholar
  23. 23.
    Safro, I., Sanders, P., Schulz, C.: Advanced Coarsening Schemes for Graph Partitioning. In: Klasing, R. (ed.) SEA 2012. LNCS, vol. 7276, pp. 369–380. Springer, Heidelberg (2012)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Vitaly Osipov
    • 1
  • Peter Sanders
    • 1
  • Christian Schulz
    • 1
  1. 1.Karlsruhe Institute of Technology (KIT)KarlsruheGermany

Personalised recommendations