Truss Analytics Algorithms and Integration in Arkouda

Abstract

The K-Truss of a graph is a cohesive subgraph that has been widely used for community detection in applications such as social networks and security analysis. In this paper, we first propose one optimized triangle search kernel with a few operations that can be used in both triangle counting and triangle search to replace the existing list intersection method. Based on the optimized kernel, three truss analytics algorithms, an optimized K-Truss parallel algorithm, a maximal K-Truss parallel algorithm, and a Truss decomposition parallel algorithm, are developed to enable different kinds of graph analysis efficiently. Moreover, all proposed parallel algorithms have been implemented in the highly-productive parallel language Chapel and integrated into the opensource framework Arkouda. Experimental results compared with the existing list intersection-based method show that for both synthetic and real-world graphs, the proposed method can significantly improve the performance of truss analysis on large graphs. The implemented method is publicly available from GitHub (https://github.com/Bears-R-Us/arkouda-njit).

Publication
The 9th Annual Chapel Implementers and Users Workshop