Parallel Graph Coloring
In large-scale parallel applications a graph coloring is often carried out to schedule computational tasks.Graph coloring problem is to assign colors to certain elements of a graph subject to certain constraints. The algorithm operates in an iterative fashion, in each round vertices are speculatively colored based on limited information, and then a set of incorrectly colored vertices, to be recolored in the next round, is identified.Parallel speedup is achieved in part by using openmp.
Objective
1) To study parallelism in graph coloring algorithm by using Distance 1 coloring .
2) Analysis of no. of colors used and the time required with variation of densities of graph as well as varying the number of threads in process.
3) Plot the graph for the performance comparison with different graphs and different no.of thread used.
Region of Parallelism
1) Assigning colors to vertices.
2) Detecting conflicts between adjacent vertices.
3) Forbid the coloring.
Input files
Download the input files via search of input file from https://sparse.tamu.edu/
Execution
Run the following command:
make -f Makefile
For parallel
./coloring inputfile.mtx no.ofthreads
eg: ./coloring bone010.mtx 4
For series
./coloring inputfile.mtx