Efficient Parallel and External Matching

  • Marcel Birn
  • Vitaly Osipov
  • Peter Sanders
  • Christian Schulz
  • Nodari Sitchinava
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8097)


We study a simple parallel algorithm for computing matchings in a graph. A variant for unweighted graphs finds a maximal matching using linear expected work and \({\mathcal O}{\log^2 n}\) expected running time in the CREW PRAM model. Similar results also apply to External Memory, MapReduce and distributed memory models. In the maximum weight case the algorithm guarantees a 1/2-approximation. Although the parallel execution time is linear for worst case weights, an experimental evaluation indicates good scalabilty on distributed memory machines and on GPUs. Furthermore, the solution quality is very good in practice.


Random Geometric Graph Logarithmic Number Linear Work Distribute Memory Machine Distribute Memory Model 
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.


  1. 1.
    Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Communications of the ACM 31(9), 1116–1127 (1988)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Birn, M.: Engineering fast parallel matching algorithms. Diploma Thesis, Karlsruhe Institute of Technology (2012)Google Scholar
  3. 3.
    Birn, M., Osipov, V., Sanders, P., Schulz, C., Sitchinava, N.: Efficient parallel and external matching. CoRR, abs/1302.4587 (2013)Google Scholar
  4. 4.
    Blelloch, G.E., Fineman, J.T., Shun, J.: Greedy sequential maximal independent set and matching are parallel on average. In: SPAA, pp. 308–317 (2012)Google Scholar
  5. 5.
    Chiang, Y.-J., Goodrich, M.T., Grove, E.F., Tamassia, R., Vengroff, D.E., Vitter, J.S.: External-memory graph algorithms. In: SODA, pp. 139–149 (1995)Google Scholar
  6. 6.
    Davis, T.: The University of Florida Sparse Matrix Collection (2008),
  7. 7.
    Drake, D.E., Hougardy, S.: Improved linear time approximation algorithms for weighted matchings. In: Arora, S., Jansen, K., Rolim, J.D.P., Sahai, A. (eds.) APPROX 2003+RANDOM 2003. LNCS, vol. 2764, pp. 14–23. Springer, Heidelberg (2003)Google Scholar
  8. 8.
    Fagginger Auer, B.O., Bisseling, R.H.: A GPU algorithm for greedy graph matching. In: Keller, R., Kramer, D., Weiss, J.-P. (eds.) Facing Multicore-Challenge II 2011. LNCS, vol. 7174, pp. 108–119. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  9. 9.
    Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: FOCS, pp. 285–298 (1999)Google Scholar
  10. 10.
    Kumar, V., Karypis, G.: A fast and high quality multilevel scheme for partitioning irregular graphs. SIAM Journal on Scientific Computing 20(1), 359–392 (1998)MathSciNetCrossRefGoogle Scholar
  11. 11.
    Goodrich, M.T., Sitchinava, N., Zhang, Q.: Sorting, searching and simulation in the mapreduce framework. In: Asano, T., Nakano, S.-I., Okamoto, Y., Watanabe, O. (eds.) ISAAC 2011. LNCS, vol. 7074, pp. 374–383. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  12. 12.
    Hoepman, J.-H.: Simple distributed weighted matchings. CoRR, cs.DC/0410047 (2004)Google Scholar
  13. 13.
    Holtgrewe, M., Sanders, P., Schulz, C.: Engineering a Scalable High Quality Graph Partitioner, pp. 1–12 (2010)Google Scholar
  14. 14.
    Israeli, A., Itai, A.: A fast and simple randomized parallel algorithm for maximal matching. Information Processing Letters 22(2), 77–80 (1986)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Karloff, H.J., Suri, S., Vassilvitskii, S.: A model of computation for mapreduce. In: SODA, pp. 938–948 (2010)Google Scholar
  16. 16.
    Karpinski, M., Rytter, W.: Fast parallel algorithms for graph matching problems, vol. 98. Clarendon Press (1998)Google Scholar
  17. 17.
    Luby, M.: A simple parallel algorithm for the maximal independent set problem. SIAM Journal on Computing 15(4), 1036–1053 (1986)MathSciNetzbMATHCrossRefGoogle Scholar
  18. 18.
    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
  19. 19.
    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
  20. 20.
    Mehlhorn, K., Sanders, P.: Algorithms and Data Structures — The Basic Toolbox. Springer (2008)Google Scholar
  21. 21.
    Merrill, D.: Back40computing: Fast and efficient software primitives for GPU computing,
  22. 22.
    Yves, M., Robson, J.M., Nasser, S.-D., Zemmari, A.: An optimal bit complexity randomized distributed MIS algorithm (Extended abstract). In: Kutten, S., Žerovnik, J. (eds.) SIROCCO 2009. LNCS, vol. 5869, pp. 323–337. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  23. 23.
    Pettie, S., Sanders, P.: A simpler linear time 2/3 − ε approximation for maximum weight matching. Technical Report MPI-I-2004-1-002, MPII (2004)Google Scholar
  24. 24.
    Preis, R.: Linear time \(\frac{1}{2}\)-approximation algorithm for maximum weighted matching in general graphs. In: Meinel, C., Tison, S. (eds.) STACS 1999. LNCS, vol. 1563, pp. 259–269. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  25. 25.
    Sanders, P., Schulz, C.: High Quality Graph Partitioning. In: Proceedings of the 10th DIMACS Implementation Challenge – Graph Partitioning and Graph Clustering, pp. 1–17. AMS (2013)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Marcel Birn
    • 1
  • Vitaly Osipov
    • 1
  • Peter Sanders
    • 1
  • Christian Schulz
    • 1
  • Nodari Sitchinava
    • 1
  1. 1.Karlsruhe Institute of TechnologyKarlsruheGermany

Personalised recommendations