A new distributed graph coloring algorithm for large graphs - Brighen, Assia; Slimani, Hachem; Rezgui, Abdelmounaam; Kheddouci, Hamamache (Cluster computing, 2024)
The vertex graph coloring problem (VGCP) is one of the most well-known problems in graph theory. It is used for solving several real-world problems such as compiler optimization, map coloring, and frequency assignment. The goal of VGCP is to color all vertices of the graph so that adjacent vertices receive different colors and the number of different colors used is minimized. The main difficulty of this problem resides when the graph size increases, that induces the increase in complexity of the VGCP which gives it the characteristic of being an NP-hard problem. To deal with this problem in the context of large graphs, different options are considered, including new large graph parallel processing frameworks such as Pregel, Graphx and Giraph. The latter is viewed as one of the most popular large graph processing frameworks both in industry and academia. In this work, we propose a new parallel graph coloring algorithm, called DistG, based on the vertex-centric computation model. The main feature of the proposed algorithm is that it colors all the vertices in its second superstep, corresponding to the initial coloration stage, and in the other supersteps takes care of conflict correction. And this allows it to exclude from the computation from the third superstep all the vertices not concerned by conflicts, what makes it several important gains in terms of number of supersteps, number of exchanged messages, and execution time. For its implementation, we have used the Giraph framework but it can be easily adaptable to any vertex-centric system. We have evaluated the DistG algorithm on several datasets from the SNAP graph benchmark using a Hadoop Cluster. The obtained results have shown that the proposed algorithm performs better than concurrent algorithms in terms of number of colors, CPU time, number of supersteps, and communication cost.