ParK: An efficient algorithm for k-core decomposition on multicore processors
Citations Over TimeTop 10% of 2014 papers
Abstract
The k-core of a graph is the largest induced subgraph with minimum degree k. The k-core decomposition is to find the core number of each vertex in a graph, which is the largest value of k that the vertex belongs to a k-core. k-core decomposition has applications in many areas including network analysis, computational biology and graph visualization. The primary reason for it being widely used is the availability of an O(n + m) algorithm. The algorithm was proposed by Batagelj and Zaversnik and is considered the state-of-the-art algorithm for k-core decomposition. However, the algorithm is not suitable for parallelization and to the best of our knowledge there is no algorithm proposed for k-core decomposition on multicore processors. Also, the algorithm has not been experimentally analyzed for large graphs. Since the working set size of the algorithm is large, and the access pattern is highly random, it can be inefficient for large graphs. In this paper, we present an experimental analysis of the algorithm of Batagelj and Zaversnik and propose a new algorithm, ParK, that significantly reduces the working set size and minimizes the random accesses. We provide an experimental analysis of the algorithm using graphs with up to 65 million vertices and 1.8 billion edges. We compare the ParK algorithm with state-of-the-art algorithm and show that it is up to 6 times faster. We also provide a parallel methodology and show that the algorithm is amenable to parallelization on multicore architectures. We ran our experiments on a 4 socket Nehalem-EX processor which has 8 cores per socket and show that the algorithm scales up to 21 times using 32 cores.
Related Papers
- → Parallelization Strategies for Mixed Regular-Irregular Applications on Multicore-Systems(2009)6 cited
- → Parallelization of the Fast Multipole Method for Molecular Dynamics Simulations on Multicore Computers(2013)1 cited
- → Comparison of serial and parallel searching in multicore systems(2014)1 cited
- → Accelerating the Production of Synthetic Seismograms by a Multicore Processor Cluster with Multiple GPUs(2012)1 cited
- → Parallel Large-Scale Image Processing for Orthorectification(2018)1 cited