Parallel Algorithm for Coloring Large-Scale Graphs Using Pregel API of Graphx
摘要
The problem of graph coloring is a well-known problem in graph theory. This problem is to attribute a color to each one of the vertices of a graph in the way that the neighbor vertices have different colors. The graph coloring problem has many practical applications in real-world data analytics, such as scheduling and frequency assignment. Finding optimal solutions for the graph coloring problem is a well-known NP-Hard class problem. However, when it comes to large graph analytics, the speed of graph coloring is very important. In this setting, graph processing systems, such as Graphx and Giraph, are useful and they are considered among the best solutions for getting more processing speed and performance. In this setting, Graphx is massively used for parallel and distributed large graph processing. It acquired popularity due to its superior performance of data analytics on graph-structured data. In this work, we propose a novel Graphx-based algorithm for large graph coloring called the GPA algorithm. We experimented with the GPA algorithm using synthetic random graphs and on a set of real-world graph datasets and it is compared to other concurrent system-based distributed graph coloring algorithms. The results have shown that the GPA algorithm performs much better than other system-based algorithms, in terms of solution quality.