簡易檢索 / 詳目顯示

研究生: 鄭雅如
Cheng, Ya Ju
論文名稱: GPU上具擴充性的三角形計數演算法
A Scalable Triangle Counting Algorithm on GPU
指導教授: 李哲榮
Lee, Che Rung
口試委員: 蕭宏章
周志遠
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊工程學系
Computer Science
論文出版年: 2015
畢業學年度: 103
語文別: 英文
論文頁數: 27
中文關鍵詞: GPU三角形計數
外文關鍵詞: GPU, triangle counting
相關次數: 點閱:1下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 計算一個圖中的三角形個數在社會網路和網路科學中扮演了重要的角色,例如計算集聚係數。因此,一個快速的三角形計數演算法及其實作是網路分析的關鍵。然而不同的三角形計數演算法只在具有某些特定性質(例如密度)的圖中有較好的表現,沒有任何一種演算法及實作方法能夠迅速處理各種不同性質的圖。
    在本篇論文中,我們將介紹一個具有可擴充性的GPU三角形計數演算法及其實作方法。這個演算法可以大略分成三個步驟。首先將原圖重新排序,將圖中密度較高和較低的部分區隔開。重新排序不只能讓我們更容易將不同的演算法應用在圖中具有不同特性的部分,也能使各個計算節點達到較平均的負載。再來將排序後的圖分成數個子圖以便平行化及增加演算法的可擴展性。最後在不同的計算節點上解決各個子問題。
    我們使用SNAP和DIMACS 10th Graph Challenge內的圖做實驗以評估我們的實作成果。其結果顯示我們的實作方式比直接使用同一種演算法解出整個圖的三角形還要快超過20%。


    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.

    摘要 i Abstract ii Table of Contents iii 1. Introduction 1 2. Algorithm 4 2.1. Preprocessing 5 2.1.1. Reducing Adjacency List 5 2.1.2. Reordering 5 2.2. Graph Partition 8 2.3. Find Triangles 8 2.3.1. Solve Subgraph 9 2.3.2. 2-Way Merge 10 2.3.3. 3-Way Merge 12 2.4. Scheduler 14 3. Implementation and Performance Optimization 16 3.1. Graph Partitioning 16 3.2. Data Format Transformation 17 3.2.1. Transform to List Array 17 3.2.2. Transform to Bit Matrix 18 3.3. Intersection on GPU 19 3.3.1. List Intersection 19 3.3.2. Vector Intersection 20 3.4. GPU Consideration 22 3.4.1. Shared Memory 22 3.4.2. Memory Coalescing 23 4. Experiments 24 4.1. Overall Runtime 25 5. Conclusions and Future Work 26 6. References 26

    [1] T. Schank and D. Wagner, “Finding, Counting and Listing All Triangles in Large Graphs, an Experimental Study,” Experimental and Efficient Algorithms. Springer, 2005, pp. 606–609.
    [2] R. D. Luce and A. D. Perry, “A method of matrix analysis of group structure,” in Psychometrika, vol. 14, issue 2, pp. 95-116, 1949
    [3] S. Wasserman, and K. Faust, Social Network Analysis: Methods and Applications, 1 edition. Cambrige University Press, Cambridge, 1994
    [4] D. J. Watts and S. H. Strogatz, “Collective Dynamics of “Small-World” Networks,” Nature, vol. 393, no. 6684, pp. 440–442, 1998
    [5] O. Green and D. A. Bader, “Faster Clustering Coefficient Using Vertex Covers,” in 5th ASE/IEEE International Conference on Social Computing, SocialCom, 2013
    [6] N. Alon, R. Yuster, and U. Zwick, “Finding and counting given length cycles,” Algorithmica, vol. 17, issue 3, pp.209-223, 1997.
    [7] A. Leist, K. A. Hawick, and D. P. Playne, “GPGPU and Multi-Core Architectures for Computing Clustering Coefficients of Irregular Graphs,” in Proceedings International Conf. on Scientific Computing (SCS’11), 2011
    [8] O. Green, L. M. Munguía, and D. A. Bader. “Load balanced clustering coefficients,” in Proceedings of the first workshop on Parallel programming for analytics applications (PPAA '14). 2014
    [9] O Green, P Yalamanchili, and L. M. Munguia, “Fast Triangle Counting on the GPU,” in Proceedings of the Fourth Workshop on Irregular Applications: Architectures and Algorithms (IA3 '14), pp. 1-8, 2014.
    [10] C. E. Tsourakakis, “Fast Counting of Triangles in Large Real Networks without Counting: Algorithms and Laws,” In Proceedings of the 2008 Eighth IEEE International Conference on Data Mining (ICDM '08). IEEE Computer Society, 2008
    [11] C. Seshadhri, A. Pinar, and T. G. Kolda, "Triadic measures on graphs: The power of wedge sampling," in Proceedings of the 2013 SIAM International Conference on Data Mining, (SDM13), pp. 10-18, 2013.
    [12] C. E. Tsourakakis, U. Kang, G. L. Miller, and C. Faloutsos, “DOULION: counting triangles in massive graphs with a coin,” in Proceedings of the 15th ACM SIGKDD international conference on Knowledge discovery and data mining, (KDD '09). ACM, 2009
    [13] Standford, Standford Network Analysis Project (SNAP) [Online]. Available: http://snap.stanford.edu/
    [14] D. W. Matula and L. L. Beck, “Smallest-last ordering and clustering and graph coloring algo-rithms,” in Journal of ACM (J. ACM), pp. 417-427, 1983
    [15] Wikipedia, (2014) Degeneracy (graph theory) [Online]. Available: https://en.wikipedia.org/wiki/Degeneracy
    [16] Wikipedia, (2010) Erdős–Rényi model [Online]. Available: https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93R%C3%A9nyi_model
    [17] F. Thomson Leighton. Introduction to Parallel Algorithms and Architectures: Array, Trees, Hypercubes. Morgan Kaufmann Publishers Inc., 1991
    [18] Tim Davis, The University of Florida Sparse Matrix Collection [Online]. Avaliable: https://www.cise.ufl.edu/research/sparse/matrices/

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)
    全文公開日期 本全文未授權公開 (國家圖書館:臺灣博碩士論文系統)
    QR CODE