A parallel graph coloring heuristic
SIAM Journal on Scientific Computing
Limits to parallel computation: P-completeness theory
Limits to parallel computation: P-completeness theory
The Efficient Computation of Sparse Jacobian Matrices Using Automatic Differentiation
SIAM Journal on Scientific Computing
Approximation algorithms
Experimental analysis of simple, distributed vertex coloring algorithms
SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms
Coloring the Internet: IP Traceback
ICPADS '06 Proceedings of the 12th International Conference on Parallel and Distributed Systems - Volume 1
A framework for scalable greedy coloring on distributed-memory parallel computers
Journal of Parallel and Distributed Computing
SIAM Journal on Scientific Computing
A parallel distance-2 graph coloring algorithm for distributed memory computers
HPCC'05 Proceedings of the First international conference on High Performance Computing and Communications
A scalable parallel graph coloring algorithm for distributed memory computers
Euro-Par'05 Proceedings of the 11th international Euro-Par conference on Parallel Processing
Speeding up parallel graph coloring
PARA'04 Proceedings of the 7th international conference on Applied Parallel Computing: state of the Art in Scientific Computing
Hi-index | 0.00 |
Matrix partitioning problems that arise in the efficient estimation of sparse Jacobians and Hessians can be modeled using variants of graph coloring problems. In a previous work [6], we argue that distance-2 and distance-3/2 graph coloring are robust andflexible formulations of the respective matrix estimation problems. The problem size in large-scale optimization contexts makes the matrix estimation phase an expensive part of the entire computation both in terms of execution time and memory space. Hence, there is a need for both shared-and distributed-memory parallel algorithms for the stated graph coloring problems. In the current work, we present the first practical shared address space parallel algorithms for these problems. The main idea in our algorithms is to randomly partition the vertex set equally among the available processors, let each processor speculatively color its vertices using information about already colored vertices, detect eventual conflicts in parallel, and finally re-color conflicting vertices sequentially. Randomization is also used in the coloring phases to further reduce conflicts. Our PRAM-analysis shows that the algorithms should give almost linear speedup for sparse graphs that are large relative to the number of processors. Experimental results from our OpenMP implementations on a Cray Origin2000 using various large graphs show that the algorithms indeed yield reasonable speedup for modest numbers of processors.