Algorithms for balanced graph colorings with applications in parallel computing

Hao Lu, Mahantesh Halappanavar, Daniel Chavarria-Miranda, Assefaw H. Gebremedhin, Ajay Panyala, Ananth Kalyanaraman

Research output: Contribution to journalArticlepeer-review

18 Scopus citations

Abstract

Graph coloring - in a generic sense - is used to identify subsets of independent tasks in parallel scientific computing applications. Traditional coloring heuristics aim to reduce the number of colors used as that number also corresponds to the number of parallel steps in the application. However, if the color classes produced have a skew in their sizes, utilization of hardware resources becomes inefficient, especially for the smaller color classes. Equitable coloring is a theoretical formulation of coloring that guarantees a perfect balance among color classes, and its practical relaxation is referred to here as balanced coloring. In this paper, we consider balanced coloring models in the context of parallel computing. The goal is to achieve a balanced coloring of an input graph without increasing the number of colors that an algorithm oblivious to balance would have used. We propose and study multiple heuristics that aim to achieve such a balanced coloring for two variants of coloring problem, distance-1 coloring (the standard coloring problem) and partial distance-2 coloring (defined on a bipartite graph). We present parallelization approaches for multi-core and manycore architectures and cross-evaluate their effectiveness with respect to the quality of balance achieved and performance. Furthermore, we study the impact of the proposed balanced coloring heuristics on a concrete application-viz. parallel community detection, which is an example of an irregular application. In addition, we propose several extensions to our basic balancing schemes and evaluate their balancing efficacy and performance characteristics. The thorough treatment of balanced coloring presented in this paper from algorithms to application is expected to serve as a valuable resource to parallel application developers who seek to improve parallel performance of their applications using coloring.

Original languageEnglish
Article number7605439
Pages (from-to)1240-1256
Number of pages17
JournalIEEE Transactions on Parallel and Distributed Systems
Volume28
Issue number5
DOIs
StatePublished - May 1 2017
Externally publishedYes

Funding

FundersFunder number
National Science Foundation1553528

    Keywords

    • Balanced coloring
    • Tilera manycore architecture
    • community detection
    • distance-1 coloring
    • graph algorithms
    • parallel graph coloring
    • partial distance-2 coloring

    Fingerprint

    Dive into the research topics of 'Algorithms for balanced graph colorings with applications in parallel computing'. Together they form a unique fingerprint.

    Cite this