skip to main content
10.1145/2612669.2612697acmconferencesArticle/Chapter ViewAbstractPublication PagesspaaConference Proceedingsconference-collections
research-article

Ordering heuristics for parallel graph coloring

Authors Info & Claims
Published:21 June 2014Publication History

ABSTRACT

This paper introduces the largest-log-degree-first (LLF) and smallest-log-degree-last (SLL) ordering heuristics for parallel greedy graph-coloring algorithms, which are inspired by the largest-degree-first (LF) and smallest-degree-last (SL) serial heuristics, respectively. We show that although LF and SL, in practice, generate colorings with relatively small numbers of colors, they are vulnerable to adversarial inputs for which any parallelization yields a poor parallel speedup. In contrast, LLF and SLL allow for provably good speedups on arbitrary inputs while, in practice, producing colorings of competitive quality to their serial analogs.

We applied LLF and SLL to the parallel greedy coloring algorithm introduced by Jones and Plassmann, referred to here as JP. Jones and Plassman analyze the variant of JP that processes the vertices of a graph in a random order, and show that on an O(1)-degree graph G=(V,E), this JP-R variant has an expected parallel running time of O(lgV/lglgV) in a PRAM model. We improve this bound to show, using work-span analysis, that JP-R, augmented to handle arbitrary-degree graphs, colors a graph G=(V,E) with degree Delta using Theta(V+E) work and O(lgV+ lg Delta . min sqrt-E, Delta +lg DeltaVlglgV) expected span. We prove that JP-LLF and JP-SLL --- JP using the LLF and SLL heuristics, respectively --- execute with the same asymptotic work as JP-R and only logarithmically more span while producing higher-quality colorings than JP-R in practice.

We engineered an efficient implementation of JP for modern shared-memory multicore computers and evaluated its performance on a machine with 12 Intel Core-i7 (Nehalem) processor cores. Our implementation of JP-LLF achieves a geometric-mean speedup of 7.83 on eight real-world graphs and a geometric-mean speedup of 8.08 on ten synthetic graphs, while our implementation using SLL achieves a geometric-mean speedup of 5.36 on these real-world graphs and a geometric-mean speedup of 7.02 on these synthetic graphs. Furthermore, on one processor, JP-LLF is slightly faster than a well-engineered serial greedy algorithm using LF, and likewise, JP-SLL is slightly faster than the greedy algorithm using SL.

References

  1. L. Adams and J. Ortega. A multi-color SOR method for parallel computation. In ICPP, 1982.Google ScholarGoogle Scholar
  2. J. R. Allwright, R. Bordawekar, P. D. Coddington, K. Dincer, and C. L. Martin. A comparison of parallel graph coloring algorithms. Technical report, Northeast Parallel Architecture Center, Syracuse University, 1995.Google ScholarGoogle Scholar
  3. N. Alon, L. Babai, and A. Itai. A fast and simple randomized parallel algorithm for the maximal independent set problem. J. Algorithms, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. E. M. Arkin and E. B. Silverberg. Scheduling jobs with fixed start and end times. Discrete Applied Mathematics, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. L. Barenboim and M. Elkin. Distributed (ΔGoogle ScholarGoogle Scholar
  6. 1)$-coloring in linear (in Δ) time. In ACM STOC, 2009.Google ScholarGoogle Scholar
  7. S. Berchtold, C. Böhm, B. Braunmüller, D. A. Keim, and H.-P. Kriegel. Fast parallel similarity search in multimedia databases. In ACM SIGMOD Int.\@ Conf.\@ on Management of Data, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. D. P. Bertsekas and J. N. Tsitsiklis. Parallel and Distributed Computation: Numerical Methods. Prentice-Hall, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. G. E. Blelloch, J. T. Fineman, and J. Shun. Greedy sequential maximal independent set and matching are parallel on average. In ACM SPAA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. D. Blumofe and C. E. Leiserson. Space-efficient scheduling of multithreaded computations. SICOMP, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. R. D. Blumofe and C. E. Leiserson. Scheduling multithreaded computations by work stealing. JACM, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. D. Brélaz. New methods to color the vertices of a graph. CACM, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. P. Brent. The parallel evaluation of general arithmetic expressions. JACM, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. P. Briggs. Register allocation via graph coloring. PhD thesis, Rice University, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Ü. V. Çatalyürek, J. Feo, A. H. Gebremedhin, M. Halappanavar, and A. Pothen. Graph coloring algorithms for muti-core and massively multithreaded architectures. CoRR, 2012.Google ScholarGoogle Scholar
  16. G. J. Chaitin. Register allocation & spilling via graph coloring. In ACM SIGPLAN Notices, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. G. J. Chaitin, M. A. Auslander, A. K. Chandra, J. Cocke, M. E. Hopkins, and P. W. Markstein. Register allocation via coloring. Computer Languages, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Chakrabarti, Y. Zhan, and C. Faloutsos. R-MAT: A recursive model for graph mining. In SDM. SIAM, 2004.Google ScholarGoogle ScholarCross RefCross Ref
  19. R. Cole and U. Vishkin. Deterministic coin tossing with applications to optimal parallel list ranking. Inf. Control, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. T. Coleman and J. Moré. Estimation of sparse Jacobian matrices and graph coloring problems. SIAM J. Numer. Anal., 1983.Google ScholarGoogle Scholar
  21. M. E. Conway. A multiprocessor system design. In AFIPS, 1963. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to Algorithms. The MIT Press, third edition, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. K. Diks. A fast parallel algorithm for six-colouring of planar graphs. In Mathematical Foundations of Computer Science. 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. C. Dwork, M. Herlihy, and O. Waarts. Contention in shared memory algorithms. In STOC, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. D. L. Eager, J. Zahorjan, and E. D. Lazowska. Speedup versus efficiency in parallel systems. IEEE Trans. Comput., 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Fischetti, S. Martello, and P. Toth. The fixed job schedule problem with spread-time constraints. Operations Research, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. Garey, D. Johnson, and L. Stockmeyer. Some simplified NP-complete graph problems. Theoretical Computer Science, 1976.Google ScholarGoogle Scholar
  28. A. H. Gebremedhin and F. Manne. Scalable parallel graph coloring algorithms. Concurrency: Practice and Experience, 2000.Google ScholarGoogle ScholarCross RefCross Ref
  29. A. H. Gebremedhin, D. Nguyen, M. M. A. Patwary, and A. Pothen. ColPack: Software for graph coloring and related problems in scientific computing. ACM Trans. on Mathematical Software, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. R. K. Gjertsen Jr., M. T. Jones, and P. E. Plassmann. Parallel heuristics for improved, balanced graph colorings. JPDC, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. A. V. Goldberg, S. A. Plotkin, and G. E. Shannon. Parallel symmetry-breaking in sparse graphs. In SIAM J. Disc. Math, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. M. Goldberg and T. Spencer. A new parallel algorithm for the maximal independent set problem. SICOMP, 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. R. L. Graham. Bounds for certain multiprocessing anomalies. The Bell System Technical Journal, 1966.Google ScholarGoogle ScholarCross RefCross Ref
  34. M. Herlihy and N. Shavit. The Art of Multiprocessor Programming. Morgan Kaufmann Publishers Inc., 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Intel. Intel Cilk Plus. Available fromtexttthttp://software.intel.com, 2013.Google ScholarGoogle Scholar
  36. M. T. Jones and P. E. Plassmann. A parallel graph coloring heuristic. SIAM Journal on Scientific Computing, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. M. T. Jones and P. E. Plassmann. Scalable iterative solution of sparse linear systems. Parallel Computing, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. T. Kaler, W. Hasenplaugh, T. B. Schardl, and C. E. Leiserson. Executing dynamic data-graph computations deterministically using chromatic scheduling. In SPAA, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. F. Kuhn. Weak graph colorings: distributed algorithms and applications. In ACM SPAA, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. F. Kuhn and R. Wattenhofer. On the complexity of distributed graph coloring. In PODC, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. J. Leskovec. SNAP: Stanford Network Analysis Platform. Available from http://snap.stanford.edu/data/index.html, 2013.Google ScholarGoogle Scholar
  42. N. Linial. Locality in distributed graph algorithms. SICOMP, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. L. Lo'vasz, M. Saks, and W. T. Trotter. An on-line graph coloring algorithm with sublinear performance ratio. Discrete Math., 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. M. Luby. A simple parallel algorithm for the maximal independent set problem. SIAM J. Comput., 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. D. Marx. Graph colouring problems and their applications in scheduling. John von Neumann Ph.D. Students Conf., 2004.Google ScholarGoogle Scholar
  46. D. W. Matula and L. L. Beck. Smallest-last ordering and clustering and graph coloring algorithms. JACM, 1983. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. J. Mitchem. On various algorithms for estimating the chromatic number of a graph. The Computer Journal, 1976.Google ScholarGoogle ScholarCross RefCross Ref
  48. M. S. Papamarcos and J. H. Patel. A low-overhead coherence solution for multiprocessors with private cache memories. In ISCA, 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Y. Saad. SPARSKIT: A basic toolkit for sparse matrix computations. Research Institute for Advanced Computer Science, NASA Ames Research Center, 1990.Google ScholarGoogle Scholar
  50. A. Sariyuce, E. Saule, and U. Catalyurek. Improving graph coloring on distributed-memory parallel computers. In HiPC, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. J. Shun, G. E. Blelloch, J. T. Fineman, P. B. Gibbons, A. Kyrola, H. V. Simhadri, and K. Tangwongsan. Brief announcement: the Problem Based Benchmark Suite. In SPAA, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. D. J. A. Welsh and M. B. Powell. An upper bound for the chromatic number of a graph and its application to timetabling problems. The Computer Journal, 1967.Google ScholarGoogle Scholar

Index Terms

  1. Ordering heuristics for parallel graph coloring

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          SPAA '14: Proceedings of the 26th ACM symposium on Parallelism in algorithms and architectures
          June 2014
          356 pages
          ISBN:9781450328210
          DOI:10.1145/2612669
          • General Chair:
          • Guy Blelloch,
          • Program Chair:
          • Peter Sanders

          Copyright © 2014 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 21 June 2014

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          SPAA '14 Paper Acceptance Rate30of122submissions,25%Overall Acceptance Rate447of1,461submissions,31%

          Upcoming Conference

          SPAA '24

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader