TY - GEN
T1 - Exact and Parallel Triangle Counting in Dynamic Graphs
AU - Makkar, Devavret
AU - Bader, David A.
AU - Green, Oded
N1 - Publisher Copyright:
© 2017 IEEE.
PY - 2017/7/2
Y1 - 2017/7/2
N2 - Triangle counting is an important building block for finding key players in a graph. It is an integral part of the popular clustering coefficient analytic and can be used for pattern matching in social networks. A triangle, which is also a 3-clique, represents a strong connection between three players that are all connected. While counting triangles is not overly expensive from a computational standpoint, especially in comparison to centrality metrics (such as betweenness centrality and closeness centrality), it can still prove to be prohibitive for large scale networks, especially for those with a power-law distribution. This problem only deepens for dynamic graphs where the network is constantly changing, requiring constant updating of the graph and the analytic. In this paper, we present a new dynamic graph algorithm for counting triangles that is based on an inclusion-exclusion formulation. While our algorithm is independent of the computing platform, we show performance results on an NVIDIA GPU. Our approach handles 32 million updates per second, or up to 11 million updates per second if the graph data structure is also updated. In past approaches, when a vertex was affected due to an edge insertion or deletion, it was necessary to find the triangles from scratch for that given vertex. Our new formulation does not need this and only requires considering the affected edges. As such our algorithm is typically several hundred times faster than the past approach - in some cases up to 819X faster.
AB - Triangle counting is an important building block for finding key players in a graph. It is an integral part of the popular clustering coefficient analytic and can be used for pattern matching in social networks. A triangle, which is also a 3-clique, represents a strong connection between three players that are all connected. While counting triangles is not overly expensive from a computational standpoint, especially in comparison to centrality metrics (such as betweenness centrality and closeness centrality), it can still prove to be prohibitive for large scale networks, especially for those with a power-law distribution. This problem only deepens for dynamic graphs where the network is constantly changing, requiring constant updating of the graph and the analytic. In this paper, we present a new dynamic graph algorithm for counting triangles that is based on an inclusion-exclusion formulation. While our algorithm is independent of the computing platform, we show performance results on an NVIDIA GPU. Our approach handles 32 million updates per second, or up to 11 million updates per second if the graph data structure is also updated. In past approaches, when a vertex was affected due to an edge insertion or deletion, it was necessary to find the triangles from scratch for that given vertex. Our new formulation does not need this and only requires considering the affected edges. As such our algorithm is typically several hundred times faster than the past approach - in some cases up to 819X faster.
KW - Dynamic data
KW - Scalable analytics
UR - http://www.scopus.com/inward/record.url?scp=85050347581&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85050347581&partnerID=8YFLogxK
U2 - 10.1109/HiPC.2017.00011
DO - 10.1109/HiPC.2017.00011
M3 - Conference contribution
AN - SCOPUS:85050347581
T3 - Proceedings - 24th IEEE International Conference on High Performance Computing, HiPC 2017
SP - 2
EP - 12
BT - Proceedings - 24th IEEE International Conference on High Performance Computing, HiPC 2017
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 24th IEEE International Conference on High Performance Computing, HiPC 2017
Y2 - 18 December 2017 through 21 December 2017
ER -