Chordal graphs are triangulated graphs where any cycle larger than three is bisected by a chord. Many combinatorial optimization problems such as computing the minimum fill-in, the size of the maximum clique and the chromatic number are NP-hard on general graphs but have polynomial time solutions on chordal graphs. In this paper, we present a novel multithreaded algorithm to extract a maximal chordal subgraph from a general graph. Our algorithm is based on an iterative approach where each thread can asynchronously update a subset of edges that are dynamically assigned to it. We implement our algorithm on two different multithreaded architectures – Cray XMT, a massively multithreaded platform, and AMD Magny-Cours, a shared memory multicore platform. In addition to the proof of correctness, we present the performance of our algorithm using a testset of carefully generated synthetical graphs with up to half-a-billion edges and real world networks from gene correlation studies. We demonstrate that our algorithm achieves high scalability for all inputs on both types of architectures.
Revised: November 6, 2012 |
Published: October 25, 2012
Citation
Halappanavar M., J.T. Feo, K. Dempsey, H. Ali, and S. Bhowmick. 2012.A Novel Multithreaded Algorithm For Extracting Maximal Chordal Subgraphs. In 41st International Conference on Parallel Processing (ICPP), September 10-13, 2012, Pittsburgh, Pennsylvania, 58-67. Piscataway, New Jersey:Institute of Electrical and Electronics Engineers.PNNL-SA-85602.doi:10.1109/ICPP.2012.10