Coloring

Parallel Graph Coloring

In parallel scientific computing applications, computational dependency is often modeled using a graph. A vertex coloring of the graph is then used as a routine to identify independent subtasks that can be performed concurrently. Examples of cases where coloring is used for such a purpose include iterative solution of sparse linear systems, preconditioners, sparse tiling, and eigenvalue computation. The computational (model) graph in such contexts is often already distributed among processors and therefore the coloring needs to be performed in parallel. The alternative approach of gathering the graph on one processor for a subsequent sequential coloring (by the same processor) is prohibitively time consuming or even infeasible due to memory constraints.

We designed and developed a scalable shared- and distributed-memory parallel distance-1 and distance-2 coloring algorithms. A (distance-1) coloring of a graph is an assignment of positive integers (colors) to vertices such that every pair of adjacent vertices receives different colors. The distance-2 graph coloring problem aims at partitioning the vertex set of a graph into the fewest sets consisting of vertices pairwise at distance greater than two from each other.

Equivalence among structurally orthogonal column partition of a matrix \(A\), distance-2 coloring of the graph \(G(A)\) of \(A\) and distance-1 coloring of \(G^{2}(A)\). Top: symmetric case. Bottom: non-symmetric case, where \(G_{b}^2[V_2]\) denotes the subgraph of the square graph \(G_{b}^{2}\) induced by the vertex set \(V_2\).

Implementation of our algorithms can be found as part of Zoltan at the Zoltan project web site.

Related Publications

  1. Tech
    On Distributed Graph Coloring with Iterative Recoloring
    Ahmet Erdem Sarıyüce, Erik Saule, and Ümit V. Çatalyürek
    ArXiv arXiv:1407.6745, 2014.
  2. JRNL
    Graph Coloring Algorithms for Multi-core and Massively Multithreaded Architectures
    Ümit V. Çatalyürek, John Feo, Assefaw H. Gebremedhin, Mahantesh Halappanavar, and Alex Pothen
    Parallel Computing, 2012, Also available on ArXiv.
  3. Conf
    An Early Evaluation of the Scalability of Graph Algorithms on the Intel MIC Architecture
    Erik Saule, and Ümit V. Çatalyürek
    In 26th International Parallel and Distributed Processing Symposium, Workshops and PhD Forum (IPDPSW), Workshop on Multithreaded Architectures and Applications (MTAAP), 2012.
  4. Conf
    Scalable Hybrid Implementation of Graph Coloring using MPI and OpenMP
    Ahmet Erdem Sarıyüce, Erik Saule, and Ümit V. Çatalyürek
    In 26th International Parallel and Distributed Processing Symposium, Workshops and PhD Forum (IPDPSW), Workshop on Parallel Computing and Optimization (PCO), 2012.
  5. Misc
    Considerations on Parallel Graph Coloring Algorithms
    Ahmet Erdem Sarıyüce, Erik Saule, and Ümit V. Çatalyürek
    Abstract, SIAM Conference on Parallel Processing for Scientific Computing, 2012.
  6. JRNL
    The Zoltan and Isorropia parallel toolkits for combinatorial scientific computing: Partitioning, ordering and coloring
    Erik G. Boman, Ümit V. Çatalyürek, Cedric Chevalier, and Karen D. Devine
    Scientific Programming, 2012.
  7. Conf
    Improving Graph Coloring on Distributed Memory Parallel Computers
    Ahmet Erdem Sarıyüce, Erik Saule, and Ümit V. Çatalyürek
    In Proceedings of the 18th Annual International Conference on High Performance Computing (HiPC 2011), 2011.
  8. Conf
    Distributed-Memory Parallel Algorithms for Matching and Coloring
    Ümit V. Çatalyürek, Florin Dobrian, Assefaw H. Gebremedhin, Mahantesh Halappanavar, and Alex Pothen
    In 2011 International Parallel and Distributed Processing Symposium, Workshops and PhD Forum (IPDPSW), Workshop on Parallel Computing and Optimization (PCO’11), 2011.
  9. JRNL
    Distributed-memory Parallel Algorithms for Distance-2 Coloring and Related Problems in Derivative Computation
    Doruk Bozdağ, Ümit V. Çatalyürek, Assefaw H. Gebremedhin, F. Manne, Erik G. Boman, and F. Özgüner
    SIAM Journal on Scientific Computing (SISC), 2010.
  10. Misc
    Combinatorial Algorithms Enabling Scientific Computing: Petascale Algorithms for Graph Coloring and Matching
    Doruk Bozdağ, Ümit V. Çatalyürek, F. Dobrian, Assefaw H. Gebremedhin, Mahantesh Halappanavar, and Alex Pothen
    Poster, 21st Supercomputing Conference, 2009.
  11. PhD
    Graph Coloring and Clustering Algorithms for Science and Engineering Applications
    Doruk Bozdağ
    PhD thesis, The Ohio State University, Biomedical Informatics , 2008.
  12. Misc
    Parallel Distance-2 Coloring
    Doruk Bozdağ, Ümit V. Çatalyürek, Assefaw H. Gebremedhin, F. Manne, and Erik G. Boman
    Abstract, Workshop on Combinatorial Scientific Computing and Petascale Simulations, 2008.
  13. JRNL
    A framework for scalable greedy coloring on distributed-memory parallel computers
    Doruk Bozdağ, Assefaw H. Gebremedhin, F. Manne, Erik G. Boman, and Ümit V. Çatalyürek
    Journal of Parallel and Distributed Computing, 2008.
  14. Conf
    Combinatorial algorithms for computational science and engineering
    Erik G. Boman, Doruk Bozdağ, Ümit V. Çatalyürek, K. D. Devine, Assefaw H. Gebremedhin, P. D. Hovland, and Alex Pothen
    In Journal of Physics: Conference Series, 2008.
  15. Conf
    Enabling high performance computational science through combinatorial algorithms
    Erik G. Boman, Doruk Bozdağ, Ümit V. Çatalyürek, K. D. Devine, Assefaw H. Gebremedhin, P. D. Hovland, Alex Pothen, and M. M. Strout
    In Journal of Physics: Conference Series, 2007.
  16. Conf
    A Parallel Distance-2 Graph Coloring Algorithm for Distributed Memory Computers
    Doruk Bozdağ, Ümit V. Çatalyürek, Assefaw H. Gebremedhin, F. Manne, Erik G. Boman, and F. Özgüner
    In Proc. of 1st Int’l. Conf. on High Performance Computing and Communications, 2005.
  17. Conf
    A Scalable Parallel Graph Coloring Algorithm for Distributed Memory Computers
    Erik G. Boman, Doruk Bozdağ, Ümit V. Çatalyürek, Assefaw H. Gebremedhin, and F. Manne
    In Proc. of 11th Int’l. Euro-Par Conf. on Parallel Processing, 2005.