Efficient trimming for strongly connected components calculation
- 17 May 2022
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM) in Proceedings of the 19th ACM International Conference on Computing Frontiers
Abstract
Strongly Connected Components (SCCs) are useful for many applications, such as community detection and personalized recommendation. Determining the SCCs of a graph, however, can be very expensive, and parallelization is not an easy way out: the paral-lelization itself is challenging, and its performance impact varies non-trivially with the input graph structure. This variability is due to trivial components, i.e., SCCs consisting of a single vertex, which lead to significant workload imbalance. Trimming is an effective method to remove trivial components, but is inefficient when used on graphs with few trivial components. In this work, we propose FB-AI-Trim, a parallel SCC algorithm with selective trimming. Our algorithm decides dynamically, at runtime, based on the input graph how to trim the graph. To this end, we train a neural network to predict, using topological graph information, whether trimming is beneficial for performance. We evaluate FB-AI-Trim using 173 unseen graphs, and compare it against four different static trimming models. Our results demonstrate that, over the set of graphs, FB-AI-Trim is the fastest algorithm. Furthermore, FB-AI-Trim is, in 80% of the cases, less than 10% slower than the best performing model on a single graph. Finally, FB-AI-Trim shows significant performance degradation in less than 3% of the graphs.Keywords
This publication has 14 references indexed in Scilit:
- GPU centric extensions for parallel strongly connected components computationPublished by Association for Computing Machinery (ACM) ,2016
- BFS and Coloring-Based Parallel Algorithms for Strongly Connected Components and Related ProblemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2014
- Efficient decomposition of strongly connected components on GPUsJournal of Systems Architecture, 2014
- Computing Strongly Connected Components in Parallel on CUDAPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2011
- Efficient field-sensitive pointer analysis of CACM Transactions on Programming Languages and Systems, 2007
- CHALLENGES IN PARALLEL GRAPH PROCESSINGParallel Processing Letters, 2007
- Finding strongly connected components in distributed graphsJournal of Parallel and Distributed Computing, 2005
- Ecological subsystems via graph theory: the role of strongly connected componentsOikos, 2005
- Transitive closure algorithms based on graph traversalACM Transactions on Database Systems, 1993
- An interval-based approach to exhaustive and incremental interprocedural data-flow analysisACM Transactions on Programming Languages and Systems, 1990