Engineering Parallel Algorithms for Community Detection in Massive Networks
arXiv:1304.4453 · doi:10.1109/TPDS.2015.2390633
Abstract
The amount of graph-structured data has recently experienced an enormous growth in many applications. To transform such data into useful information, fast analytics algorithms and software tools are necessary. One common graph analytics kernel is disjoint community detection (or graph clustering). Despite extensive research on heuristic solvers for this task, only few parallel codes exist, although parallelism will be necessary to scale to the data volume of real-world applications. We address the deficit in computing capability by a flexible and extensible community detection framework with shared-memory parallelism. Within this framework we design and implement efficient parallel community detection heuristics: A parallel label propagation scheme; the first large-scale parallelization of the well-known Louvain method, as well as an extension of the method adding refinement; and an ensemble scheme combining the above. In extensive experiments driven by the algorithm engineering paradigm, we identify the most successful parameters and combinations of these algorithms. We also compare our implementations with state-of-the-art competitors. The processing rate of our fastest algorithm often reaches 50M edges/second. We recommend the parallel Louvain method and our variant with refinement as both qualitatively strong and fast. Our methods are suitable for massive data sets with billions of edges.
14 pages, first presented at the 2013 International Conference on Parallel Processing, revised accepted for IEEE Transactions on Parallel and Distributed Systems (TPDS)
References in corpus (9)
- Fast unfolding of communities in large networks
- Near linear time algorithm to detect community structures in large-scale networks
- Benchmark graphs for testing community detection algorithms
- Resolution limit in community detection
- Hyperbolic Geometry of Complex Networks
- Mixing local and global information for community detection in large networks
- Recent Advances in Graph Partitioning
- Multi-scale Modularity in Complex Networks
- Static and Dynamic Aspects of Scientific Collaboration Networks
Cited by in corpus (15)
- Mathematical Foundations of the GraphBLAS
- Inferring monopartite projections of bipartite networks: an entropy-based approach
- Sequences of purchases in credit card data reveal life styles in urban populations
- Graphs, Matrices, and the GraphBLAS: Seven Good Reasons
- Generating Simple Directed Social Network Graphs for Information Spreading
- The climatic interdependence of extreme-rainfall events around the globe
- Distributed Graph Clustering using Modularity and Map Equation
- Fast generation of complex networks with underlying hyperbolic geometry
- Scalable Community Detection via Parallel Correlation Clustering
- Towards Semantic Noise Cleansing of Categorical Data based on Semantic Infusion
- GVE-LPA: Fast Label Propagation Algorithm (LPA) for Community Detection in Shared Memory Setting
- Generating realistic scaled complex networks
- A Distributed Algorithm for Overlapped Community Detection in Large-Scale Networks
- Network Sparsification via Degree- and Subgraph-based Edge Sampling
- GraphBreak: Tool for Network Community based Regulatory Medicine, Gene co-expression, Linkage Disequilibrium analysis, functional annotation and more