Abstract
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.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Aggarwal, A., Vitter, J.S.: The input/output complexity of sorting and related problems. Communications of the ACM 31(9), 1116–1127 (1988)
Birn, M.: Engineering fast parallel matching algorithms. Diploma Thesis, Karlsruhe Institute of Technology (2012)
Birn, M., Osipov, V., Sanders, P., Schulz, C., Sitchinava, N.: Efficient parallel and external matching. CoRR, abs/1302.4587 (2013)
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)
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)
Davis, T.: The University of Florida Sparse Matrix Collection (2008), http://www.cise.ufl.edu/research/sparse/matrices
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)
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)
Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: FOCS, pp. 285–298 (1999)
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)
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)
Hoepman, J.-H.: Simple distributed weighted matchings. CoRR, cs.DC/0410047 (2004)
Holtgrewe, M., Sanders, P., Schulz, C.: Engineering a Scalable High Quality Graph Partitioner, pp. 1–12 (2010)
Israeli, A., Itai, A.: A fast and simple randomized parallel algorithm for maximal matching. Information Processing Letters 22(2), 77–80 (1986)
Karloff, H.J., Suri, S., Vassilvitskii, S.: A model of computation for mapreduce. In: SODA, pp. 938–948 (2010)
Karpinski, M., Rytter, W.: Fast parallel algorithms for graph matching problems, vol. 98. Clarendon Press (1998)
Luby, M.: A simple parallel algorithm for the maximal independent set problem. SIAM Journal on Computing 15(4), 1036–1053 (1986)
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)
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)
Mehlhorn, K., Sanders, P.: Algorithms and Data Structures — The Basic Toolbox. Springer (2008)
Merrill, D.: Back40computing: Fast and efficient software primitives for GPU computing, http://code.google.com/p/back40computing/
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)
Pettie, S., Sanders, P.: A simpler linear time 2/3 − ε approximation for maximum weight matching. Technical Report MPI-I-2004-1-002, MPII (2004)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Birn, M., Osipov, V., Sanders, P., Schulz, C., Sitchinava, N. (2013). Efficient Parallel and External Matching. In: Wolf, F., Mohr, B., an Mey, D. (eds) Euro-Par 2013 Parallel Processing. Euro-Par 2013. Lecture Notes in Computer Science, vol 8097. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40047-6_66
Download citation
DOI: https://doi.org/10.1007/978-3-642-40047-6_66
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-40046-9
Online ISBN: 978-3-642-40047-6
eBook Packages: Computer ScienceComputer Science (R0)