A Scalable Triangle Counting Algorithm on GPU

碩士 === 國立清華大學 === 資訊工程學系 === 103 === Triangle counting of a graph plays an important role in social network and network science, such as finding the clustering coefficients. Hence, a fast triangle counting algorithm and imple-mentation is critical for network analysis. However, different trian...

Full description

Bibliographic Details
Main Authors: Cheng, Ya Ju, 鄭雅如
Other Authors: Lee, Che Rung
Format: Others
Language:en_US
Published: 2015
Online Access:http://ndltd.ncl.edu.tw/handle/87504813789308519316
Description
Summary:碩士 === 國立清華大學 === 資訊工程學系 === 103 === Triangle counting of a graph plays an important role in social network and network science, such as finding the clustering coefficients. Hence, a fast triangle counting algorithm and imple-mentation is critical for network analysis. However, different triangle counting algorithms only work well on some particular graphs with specific properties, such as density. No single algorithm and implementation can satisfy all kinds of graph. In this thesis, we introduce a scalable triangle counting algorithm and its implementation on GPU. This algorithm has three steps. First, it reorders the origin graph based on the degree of vertices. Reordering not only makes it easier to apply different algorithms on graphs with dif-ferent properties, but also achieves load balance between the computing nodes. Second, it parti-tions the graph into several sub-graphs for parallelization and scalability. Last, each sub-problem is solved on different computing nodes and the results are merged. We evaluated our implementation using the graphs from SNAP and DIMACS 10th Graph Challenge. Experimental results show that our implementation is over 20% faster than solving the whole graph with single algorithm.