Efficient Parallel and External Matching
Conference paper
- 9 Citations
- 3k Downloads
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.
Keywords
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.
Download
to read the full conference paper text
References
- 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.Birn, M.: Engineering fast parallel matching algorithms. Diploma Thesis, Karlsruhe Institute of Technology (2012)Google Scholar
- 3.Birn, M., Osipov, V., Sanders, P., Schulz, C., Sitchinava, N.: Efficient parallel and external matching. CoRR, abs/1302.4587 (2013)Google Scholar
- 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.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.Davis, T.: The University of Florida Sparse Matrix Collection (2008), http://www.cise.ufl.edu/research/sparse/matrices
- 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.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.Frigo, M., Leiserson, C.E., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: FOCS, pp. 285–298 (1999)Google Scholar
- 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.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.Hoepman, J.-H.: Simple distributed weighted matchings. CoRR, cs.DC/0410047 (2004)Google Scholar
- 13.Holtgrewe, M., Sanders, P., Schulz, C.: Engineering a Scalable High Quality Graph Partitioner, pp. 1–12 (2010)Google Scholar
- 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.Karloff, H.J., Suri, S., Vassilvitskii, S.: A model of computation for mapreduce. In: SODA, pp. 938–948 (2010)Google Scholar
- 16.Karpinski, M., Rytter, W.: Fast parallel algorithms for graph matching problems, vol. 98. Clarendon Press (1998)Google Scholar
- 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.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.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.Mehlhorn, K., Sanders, P.: Algorithms and Data Structures — The Basic Toolbox. Springer (2008)Google Scholar
- 21.Merrill, D.: Back40computing: Fast and efficient software primitives for GPU computing, http://code.google.com/p/back40computing/
- 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.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.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.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