Zoltan User's Guide  |  Next  |  Previous

Parallel Coloring

The parallel coloring algorithm in Zoltan is based on the work of Boman et al. for distance-1 coloring and Bozdag et al. for distance-2 coloring. It was implemented in Zoltan by Doruk Bozdag and Umit Catalyurek, Department of Biomedical Informatics, Ohio State University. Distance-1 coloring algorithm is an iterative data parallel algorithm that proceeds in two-phased rounds. In the first phase, processors concurrently color the vertices assigned to them. Adjacent vertices colored in the same parallel step of this phase may result in inconsistencies. In the second phase, processors concurrently check the validity of the colors assigned to their respective vertices and identify a set of vertices that needs to be re-colored in the next round to resolve the detected inconsistencies. The algorithm terminates when every vertex has been colored correctly. To reduce communication frequency, the coloring phase is further decomposed into computation and communication sub-phases. In a communication sub-phase processors exchange recent color information. During a computation sub-phase, a number of vertices determined by the SUPERSTEP_SIZE parameter, rather than a single vertex, is colored based on currently available color information. With an appropriate choice of a value for SUPERSTEP_SIZE, the number of ensuing conflicts can be kept low while at the same time preventing the runtime from being dominated by the sending of a large number of small messages. 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. The algorithm is an extension of the parallel distance-1 coloring algorithm.
 
 
Parameters:
   See Coloring Algorithms.
Required Query Functions:
ZOLTAN_NUM_OBJ_FN
ZOLTAN_OBJ_LIST_FN
ZOLTAN_NUM_EDGES_MULTI_F N or ZOLTAN_NUM_EDGES_FN
ZOLTAN_EDGE_LIST_MULTI_F N or ZOLTAN_EDGE_LIST_FN


[Table of Contents  | Next:  Data Services and UtilitiesPrevious:  Coloring Algorithms]