DOI QR코드

DOI QR Code

동적 그래프에서 GPU 기반의 점진적 연결 요소 처리

GPU Based Incremental Connected Component Processing in Dynamic Graphs

  • 김남영 (충북대학교 빅데이터협동과정) ;
  • 최도진 (창원대학교 컴퓨터공학과) ;
  • 복경수 (원광대학교 인공지능융합학과) ;
  • 유재수 (충북대학교 정보통신공학부)
  • 투고 : 2022.03.25
  • 심사 : 2022.04.12
  • 발행 : 2022.06.28

초록

최근 실시간 처리의 요구가 증가하면서 시간에 따라서 변화하는 동적 그래프에 관한 연구가 활발하게 진행되고 있다. 동적 그래프를 분석하기 위한 알고리즘의 하나로 연결 요소가 있다. GPU는 높은 메모리 대역폭, 연산 성능으로 대규모의 그래프 계산에 적합하다. 그러나 동적 그래프의 연결 요소를 GPU를 이용하여 처리할 때, GPU의 제한된 메모리로 인해 실제 그래프 처리 시 CPU와 GPU 간에 잦은 데이터 교환이 발생한다. 본 논문에서는 동적 그래프에서 GPU 기반의 효율적인 점진적 연결 요소 처리 기법을 제안한다. 제안하는 기법은 Weighted-Quick-Union 알고리즘을 기반으로 연결 요소 레이블에 구성 요소의 개수를 이용하여 연결 요소를 빠르게 계산한다. 또한, 재계산할 부분을 판별하여 GPU로 전송할 데이터를 최소화하여 대규모 그래프에 대하여 CPU와 GPU 간의 데이터 교환 횟수를 감소시킨다. 뿐만 아니라 GPU와 CPU 간에 데이터 전송 시간 낭비를 줄이기 위해 GPU와 CPU가 비동기로 실행하는 처리 구조를 제안한다. 실제 데이터 집합을 사용한 성능 평가를 통해 제안하는 기법의 우수성을 입증한다.

Recently, as the demand for real-time processing increases, studies on a dynamic graph that changes over time has been actively done. There is a connected components processing algorithm as one of the algorithms for analyzing dynamic graphs. GPUs are suitable for large-scale graph calculations due to their high memory bandwidth and computational performance. However, when computing the connected components of a dynamic graph using the GPU, frequent data exchange occurs between the CPU and the GPU during real graph processing due to the limited memory of the GPU. The proposed scheme utilizes the Weighted-Quick-Union algorithm to process large-scale graphs on the GPU. It supports fast connected components computation by applying the size to the connected component label. It computes the connected component by determining the parts to be recalculated and minimizing the data to be transmitted to the GPU. In addition, we propose a processing structure in which the GPU and the CPU execute asynchronously to reduce the data transfer time between GPU and CPU. We show the excellence of the proposed scheme through performance evaluation using real dataset.

키워드

과제정보

본 논문은 농촌진흥청 연구사업 (세부과제번호: PJ016247012022), 정부(과학기술정보통신부)의 재원으로 정보통신기획평가원의 지원(No.2014-3-00123, 실시간 대규모 영상 데이터 이해·예측을 위한 고성능 비주얼 디스커버리 플랫폼 개발), 과학기술정보통신부 및 정보통신기획평가원의 지역지능화혁신인재양성(Grand ICT연구센터) 사업 (IITP-2022-2020-0-01462), 정부(과학기술정보통신부)의 재원으로 한국연구재단(No. 2022R1A2B5B02002456)의 지원을 받아 수행된 연구임.

참고문헌

  1. A. Roy, I. Mihailovic, and W. Zwaenepoel, "X-Stream: edge-centric graph processing using streaming partitions," Proc. ACM Symposium on Operating Systems Principles, pp.472-488, 2013.
  2. D. Ediger, R. McColl, E. J. Riedy, and D. A. Bader, "STINGER: High performance data structure for streaming graphs," Proc. IEEE Conference on High Performance Extreme Computing, pp.1-5, 2012.
  3. T. Suzumura, S. Nishii, and M. Ganse, "Towards large-scale graph stream processing platform," Proc. International World Wide Web Conference, pp.1321-1326, 2014.
  4. M. Ester, H. Kriegel, J. Sander, and X. Xu, "A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise," Proc. International Conference on Knowledge Discovery and Data Mining, pp.226-231, 1996.
  5. Md. M. A. Patwary, D. Palsetia, A. Agrawal, W. Liao, F. Manne, and A. N. Choudhary, "A new scalable parallel DBSCAN algorithm using the disjoint-set data structure," Proc. SC Conference on High Performance Computing Networking, Storage and Analysis, p.62, 2012.
  6. D. Wen, L. Qin, Y. Zhang, L. Chang, and X. Lin, "Efficient structural graph clustering: an index-based approach," VLDB Journal, Vol.28, No.3, pp.377-399, 2019. https://doi.org/10.1007/s00778-019-00541-4
  7. D. Sengupta, N. Sundaram, X. Zhu, T. L. Willke, J. S. Young, M. Wolf, and K. Schwan, "GraphIn: An Online High Performance Incremental Graph Processing Framework," Proc. International Conference on Parallel and Distributed Computing, pp.319-333, 2016.
  8. C. Hong, L. Dhulipala, and J. Shun, "Exploring the Design Space of Static and Incremental Graph Connectivity Algorithms on GPUs," Proc. International Conference on Parallel Architectures and Compilation Techniques, pp.55-69, 2020.
  9. D. Sengupta and S. L. Song, "EvoGraph: On-the-Fly Efficient Mining of Evolving Graphs on GPU," Proc. International Supercomputing Conference, pp.97-119, 2017.
  10. M. Sha, Y. Li, B. He, and K. Tan, "Accelerating Dynamic Graph Analytics on GPUs," Proceedings of the VLDB Endowment, Vol.11, No.1, pp.107-120, 2017. https://doi.org/10.14778/3151113.3151122
  11. M. A. Bender and H. Hu, "An adaptive packed-memory array," ACM Transactions on Database Systems, Vol.32, No.4, p.26, 2007. https://doi.org/10.1145/1292609.1292616
  12. L. Dhulipala, C. Hong, and J. Shun, "ConnectIt: A Framework for Static and Incremental Parallel Graph Connectivity Algorithms," Proceedings of the VLDB Endowment, Vol.14, No.4, pp.653-667, 2020. https://doi.org/10.14778/3436905.3436923
  13. https://snap.stanford.edu/data/
  14. L. Takac and M. Zabovsky, "Data analysis in public social networks," Proc. International scientific conference and international workshop present day trends of innovations, 2012.
  15. http://snap.stanford.edu/data/soc-LiveJournal1.html
  16. Muhammad A. Awad, et al. "Dynamic graphs on the GPU," 2020 IEEE International Parallel and Distributed Processing Symposium (IPDPS), IEEE, 2020.
  17. B. Goodarzi, et al. "High Performance Multilevel Graph Partitioning on GPU," 2019 International Conference on High Performance Computing & Simulation (HPCS), IEEE, 2019.
  18. H. Z. Zhu, et al. "Wolfpath: accelerating iterative traversing-based graph processing algorithms on GPU," International Journal of Parallel Programming, Vol.47, No.4, pp.644-667, 2019. https://doi.org/10.1007/s10766-017-0533-y