skip to main content
research-article

ColPack: Software for graph coloring and related problems in scientific computing

Published: 03 October 2013 Publication History

Abstract

We present a suite of fast and effective algorithms, encapsulated in a software package called ColPack, for a variety of graph coloring and related problems. Many of the coloring problems model partitioning needs arising in compression-based computation of Jacobian and Hessian matrices using Algorithmic Differentiation. Several of the coloring problems also find important applications in many areas outside derivative computation, including frequency assignment in wireless networks, scheduling, facility location, and concurrency discovery and data movement operations in parallel and distributed computing. The presentation in this article includes a high-level description of the various coloring algorithms within a common design framework, a detailed treatment of the theory and efficient implementation of known as well as new vertex ordering techniques upon which the coloring algorithms rely, a discussion of the package's software design, and an illustration of its usage. The article also includes an extensive experimental study of the major algorithms in the package using real-world as well as synthetically generated graphs.

References

[1]
Albertson, M., Chappell, G., Kierstead, H., Kündgen, A., and Ramamurthi, R. 2004. Coloring with no 2-colored P4's. Electron. J. Combinatorics 11, 1, Article R26.
[2]
Bhowmick, S. and Hovland, P. 2008. Improving the performance of graph coloring algorithms through backtracking. In Proceedings of the International Conference on Computational Science. M. Bubak, G. van Albada, J. Dongarra, and P. Sloot, Eds., Lecture Notes in Computer Science, vol. 5101, Springer Berlin, 873--882.
[3]
Boisvert, R. F., Pozo, R., and Remington, K. A. 1996. The Matrix Market formats: Initial Design. https://math.nist.gov/MatrixMarket/formats.html# MMformat.
[4]
Borodin, O. 1979. On acyclic colorings of planar graphs. Discrete Math. 25, 211--236.
[5]
Bozdağ, D., Catalyurek, U., Gebremedhin, A. H., Manne, F., Boman, E. G., and Ozgunner, F. 2010. Distributed-memory parallel algorithms for distance-2 coloring and related problems in derivative computation. SIAM J. Sci.Comput. 32, 4, 2418--2446.
[6]
Bozdağ, D., Gebremedhin, A. H., Manne, F., Boman, E. G., and Catalyurek, U. V. 2008. A framework for scalable greedy coloring on distributed-memory parallel computers. J. Parallel Distrib. Comput. 68, 4, 515--535.
[7]
Brélaz, D. 1979. New methods to color the vertices of a graph. Comm. ACM 22, 4, 251--256.
[8]
Catalyurek, U., Feo, J., Gebremedhin, A., Halappanavar, M., and Pothen, A. 2012. Graph coloring algorithms for multicore and massively multhithreaded architectures. Parallel Comput. 38, 576--594.
[9]
Chaitin, G., Auslander, M., Chandra, A., Cocke, J., Hopkins, M., and Markstein, P. 1981. Register allocation via coloring. Comput. Lang. 6, 47--57.
[10]
Chakrabarti, D. and Faloutsos, C. 2006. Graph mining: Laws, generators, and algorithms. ACM Comput. Surv. 38, 1, 2.
[11]
Coleman, T. and Cai, J. 1986. The cyclic coloring problem and estimation of sparse Hessian matrices. SIAM J. Alg. Disc. Meth. 7, 2, 221--235.
[12]
Coleman, T., Garbow, B., and Moré, J. 1984. Software for estimating sparse Jacobian matrices. ACM Trans. Math. Softw. 10, 329--347.
[13]
Coleman, T., Garbow, B., and Moré, J. 1985. Software for estimating sparse Hessian matrices. ACM Trans. Math. Softw. 11, 363--377.
[14]
Coleman, T. and Moré, J. 1983. Estimation of sparse Jacobian matrices and graph coloring problems. SIAM J. Numer. Anal. 20, 1, 187--209.
[15]
Coleman, T. and Moré, J. 1984. Estimation of sparse Hessian matrices and graph coloring problems. Math. Program. 28, 243--270.
[16]
Coleman, T. and Verma, A. 1998. The efficient computation of sparse Jacobian matrices using automatic differentiation. SIAM J. Sci. Comput. 19, 4, 1210--1233.
[17]
Culberson, J. C. 1992. Iterated greedy graph coloring and the difficulty landscape. Tech. rep. TR 92-07, Department of Computing Science, University of Alberta, Edmonton, Alberta, Canada.
[18]
Curtis, A., Powell, M., and Reid, J. 1974. On the estimation of sparse Jacobian matrices. J. Inst. Math. Appl. 13, 117--119.
[19]
Davis, T. A. and Hu, Y. 2011. The university of Florida sparse matrix collection. ACM Trans. Math. Softw. 38, 1, 1:1--1:25.
[20]
DeVito, Z., Joubert, N., et al. 2011. Liszt: A domain specific language for building portable mesh-based PDE solvers. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis.
[21]
Diestel, R. 2000. Graph Theory 2nd Ed. Springer, New York.
[22]
Duff, I. S. 1992. User's guide for the Harwell-Boeing sparse matrix collection. https://math.nist.gov/MatrixMarket/formats.html#hb.
[23]
Erdös, P. and Hajnal, A. 1966. On chromatic number of graphs and set systems. Acta. Math. Acad. Sci. Hungar 17, 61--99.
[24]
Finck, H. and Sachs, H. 1969. Über eine von H.S. Wilf angegebene Schranke für die chromatische Zahl endlicher Graphen. Math. Nachr. 39, 373--386.
[25]
Gebremedhin, A., Manne, F., and Pothen, A. 2005. What color is your Jacobian? Graph coloring for computing derivatives. SIAM Rev. 47, 4, 629--705.
[26]
Gebremedhin, A., Pothen, A., Tarafdar, A., and Walther, A. 2009. Efficient computation of sparse Hessians using coloring and automatic differentiation. INFORMS J. Comput. 21, 2, 209--223.
[27]
Gebremedhin, A., Pothen, A., and Walther, A. 2008. Exploiting sparsity in Jacobian computation via coloring and automatic differentiation: A case study in a Simulated Moving Bed process. In Advances in Automatic Differentiation, C. Bischof et al., Ed., Lecture Notes in Computational Science and Engineering, vol. 64, Springer, 339--349.
[28]
Gebremedhin, A., Tarafdar, A., Manne, F., and Pothen, A. 2007. New acyclic and star coloring algorithms with applications to Hessian computation. SIAM J. Sci. Comput. 29, 1042--1072.
[29]
Griewank, A., Juedes, D., and Utke, J. 1996. ADOL-C: A package for the automatic differentiation of algorithms written in C/C++. ACM Trans. Math. Softw. 22, 131--167.
[30]
Griewank, A. and Walther, A. 2008. Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation 2nd Ed. SIAM, Philadelphia, PA.
[31]
Hall, J., Hartline, J., Karlin, A., Saia, J., and Wilkes, J. 2001. On algorithms for efficient data migration. In Proceedings of the 12th Annual ACM-SIAM Symp. on Discrete Algorithms. 620--629.
[32]
Hasan, M., Hossain, S., and Steihaug, T. 2009. DSJM: A software toolkit for direct determination of sparse Jacobian matrices. Extended Abstract at the International Conference on Scientific Computing, SIAM Workshop on Combinatorial Scientific Computing.
[33]
Hossain, S. and Steihaug, T. 1998. Computing a sparse Jacobian matrix by rows and columns. Optimization Meth. Softw. 10, 33--48.
[34]
Hossain, S. and Steihaug, T. 2012. Optimal direct determination of sparse Jacobian matrices. Optimization Meth. Softw.
[35]
Jones, M. and Plassmann, P. 1994. Scalable iterative solution of sparse linear systems. Parallel Comput. 20, 5, 753--773.
[36]
Karypis, G. and Kumar, V. 1998. MeTiS: A software package for partitioning unstructured graphs, partitioning meshes, and computing fill-reducing orderings of sparse matrices. https://people.sc. fsu.edu/∼burkardt/data/metis_graph/metis_graph.html.
[37]
Krumke, S., Marathe, M., and Ravi, S. 2001. Models and approximation algorithms for channel assignment in radio networks. Wirel. Networks 7, 6, 567--574.
[38]
Lick, D. and White, A. 1970. k-degenerate graphs. Canad. J. Math. 22, 1082--1096.
[39]
Matula, D. 1968. A max-min theorem for graphs with application to graph coloring. SIAM Rev. 10, 481--482.
[40]
Matula, D., Marble, G., and Isaacson, J. 1972. Graph coloring algorithms. In Graph Theory and Computing, R. Read, Ed., Academic Press, New York, 109--122.
[41]
McCormick, S. 1983. Optimal approximation of sparse Hessians and its equivalence to a graph coloring problem. Math. Program. 26, 153--171.
[42]
Morgenstern, C. A. and Shapiro, H. D. 1991. Heuristics for rapidly four-coloring large planar graphs. Algorithmica 6, 6, 869--891.
[43]
Narayanan, S. H. K., Norris, B., and Winnicka, B. 2010. ADIC2: Development of a component source transformation system for differentiating C and C++. Procedia Comput. Sci. 1, 1, 1845--1853.
[44]
Naumann, U. 2012. The Art of Differentiating Computer Programs: An Introduction to Algorithmic Differentiation. Software, Environments, and Tools. SIAM, Philadelphia, PA.
[45]
Patwary, M. M. A., Gebremedhin, A. H., and Pothen, A. 2011. New multithreaded ordering and coloring algorithms for multicore architectures. In Proceedings of the International Euro-Par Conference on Parallel Processing. E. Jeannot, R. Namyst, and J. Roman, Eds., Lecture Notes in Computer Science, vol. 6853, Springer, 250--262.
[46]
Powell, M. and Toint, P. 1979. On the estimation of sparse Hessian matrices. SIAM J. Numer. Anal. 16, 6, 1060--1074.
[47]
Saad, Y. 1996. ILUM: A multi-elimination ILU preconditioner for general sparse matrices. SIAM J. Sci. Comput. 17, 830--847.
[48]
Siefert, C. and Sturler, E. 2006. Probing methods for generalized saddle-point problems. Electron. Trans. Numer. Anal. 22, 163--183.
[49]
Szekeres, G. and Wilf, H. 1968. An inequality for the chromatic number of a graph. J. Combin. Theory 4, 1--3.
[50]
Turner, J. 1988. Almost all k-colorable graphs are easy to color. J. Algor. 9, 63--82.
[51]
Walther, A. and Griewank, A. 2012. Getting started with ADOL-C. In Combinatorial Scientific Computing, Chapman-Hall CRC Computational Science, 7, 181--202.
[52]
Welsh, D. and Powell, M. 1967. An upper bound for the chromatic number of a graph and its application to timetabling problems. Comput. J. 10, 85--86.
[53]
Zuckerman, D. 2007. Linear degree extractors and the inapproximability of max clique and chromatic number. Theory Comput. 3, 103--128.

Cited By

View all
  • (2024)Rotating Stall Inception Prediction Using an Eigenvalue-Based Global Instability Analysis MethodInternational Journal of Turbomachinery, Propulsion and Power10.3390/ijtpp90200209:2(20)Online publication date: 4-Jun-2024
  • (2024)Optimizing Multi-Grid Preconditioned Conjugate Gradient Method on Multi-CoresIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.337247335:5(768-779)Online publication date: 1-May-2024
  • (2023)Optimizing Multi-grid Computation and Parallelization on Multi-coresProceedings of the 37th International Conference on Supercomputing10.1145/3577193.3593726(227-239)Online publication date: 21-Jun-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Mathematical Software
ACM Transactions on Mathematical Software  Volume 40, Issue 1
September 2013
165 pages
ISSN:0098-3500
EISSN:1557-7295
DOI:10.1145/2513109
Issue’s Table of Contents
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: 03 October 2013
Accepted: 01 February 2013
Revised: 01 March 2012
Received: 01 October 2010
Published in TOMS Volume 40, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Automatic differentiation
  2. combinatorial optimization
  3. graph coloring
  4. greedy coloring algorithms
  5. nonlinear optimization
  6. sparse derivative computation
  7. vertex ordering techniques

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)31
  • Downloads (Last 6 weeks)3
Reflects downloads up to 26 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Rotating Stall Inception Prediction Using an Eigenvalue-Based Global Instability Analysis MethodInternational Journal of Turbomachinery, Propulsion and Power10.3390/ijtpp90200209:2(20)Online publication date: 4-Jun-2024
  • (2024)Optimizing Multi-Grid Preconditioned Conjugate Gradient Method on Multi-CoresIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.337247335:5(768-779)Online publication date: 1-May-2024
  • (2023)Optimizing Multi-grid Computation and Parallelization on Multi-coresProceedings of the 37th International Conference on Supercomputing10.1145/3577193.3593726(227-239)Online publication date: 21-Jun-2023
  • (2023)Memory-aware Optimization for Sequences of Sparse Matrix-Vector Multiplications2023 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS54959.2023.00046(379-389)Online publication date: May-2023
  • (2023)Fast and Scalable Gate-Level Simulation in Massively Parallel Systems2023 IEEE/ACM International Conference on Computer Aided Design (ICCAD)10.1109/ICCAD57390.2023.10323959(1-9)Online publication date: 28-Oct-2023
  • (2022)Unified Modeling for Emulating Electric Energy SystemsResearch Anthology on BIM and Digital Twins in Smart Cities10.4018/978-1-6684-7548-5.ch007(107-135)Online publication date: 16-Sep-2022
  • (2022)Improving the Speed and Quality of Parallel Graph ColoringACM Transactions on Parallel Computing10.1145/35435459:3(1-35)Online publication date: 18-Aug-2022
  • (2022)Parallel graph coloring algorithms for distributed GPU environmentsParallel Computing10.1016/j.parco.2022.102896110:COnline publication date: 1-May-2022
  • (2022)The complexity of restricted star colouringDiscrete Applied Mathematics10.1016/j.dam.2021.05.015319:C(327-350)Online publication date: 15-Oct-2022
  • (2022)High-Performance Graph Coloring on Intel CPUs and GPUs Using SYCL and KOKKOSMathematical Modeling and Supercomputer Technologies10.1007/978-3-031-24145-1_21(253-265)Online publication date: 24-Dec-2022
  • Show More Cited By

View Options

Get Access

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media