DOI QR코드

DOI QR Code

A Comparative Analysis of Recursive Query Algorithm Implementations based on High Performance Distributed In-Memory Big Data Processing Platforms

대용량 데이터 처리를 위한 고속 분산 인메모리 플랫폼 기반 재귀적 질의 알고리즘들의 구현 및 비교분석

  • Received : 2016.02.04
  • Accepted : 2016.04.05
  • Published : 2016.06.15

Abstract

Recursive query algorithm is used in many social network services, e.g., reachability queries in social networks. Recently, the size of social network data has increased as social network services evolve. As a result, it is almost impossible to use the recursive query algorithm on a single machine. In this paper, we implement recursive query on two popular in-memory distributed platforms, Spark and Twister, to solve this problem. We evaluate the performance of two implementations using 50 machines on Amazon EC2, and real-world data sets: LiveJournal and ClueWeb. The result shows that recursive query algorithm shows better performance on Spark for the Livejournal input data set with relatively high average degree, but smaller vertices. However, recursive query on Twister is superior to Spark for the ClueWeb input data set with relatively low average degree, but many vertices.

재귀적 질의 알고리즘은 소셜네트워크 서비스의 도달가능 질의와 같은 많은 응용프로그램에 사용된다. 하지만 최근에 소셜네트워크 서비스의 규모가 커짐에 따라 그래프 데이터의 크기 또한 커지고 있다. 따라서 재귀적 질의 알고리즘을 싱글 머신에서 가동하는 것이 거의 불가능해졌다. 본 논문에서는 이러한 문제점을 해결하기 위해서 고속 분산 인메모리 플랫폼인 스파크와 트위스터에서 재귀적 질의 알고리즘을 구현하였다. 구현된 알고리즘은 아마존 EC2 머신 50대에서 Real-world 데이터 셋인 LiveJournal과 ClueWeb으로 실험하였다. 실험결과 상대적으로 노드 수는 적고 평균 차수(degree)는 높은 LiveJournal 데이터 셋에서는 스파크에서 구현된 재귀적 알고리즘의 성능이 트위스터의 것보다 좋았다. 그리고 상대적으로 노드 수는 많고 평균 차수는 낮은 ClueWeb 데이터 셋에서는 트위스터에서 구현된 재귀적 알고리즘의 성능이 스파크의 것보다 좋았다.

Keywords

Acknowledgement

Grant : WiseKB: 빅데이터 이해 기반 자가학습형 지식 베이스 및 추론 기술 개발

Supported by : 정보통신기술진흥센터

References

  1. M. Zaharia, M. Chowdhury, M. J. Franklin, S. Shenker, and I. Stoica, "Spark: Cluster computing with working sets," HotCloud, 2010.
  2. J. Ekanayake, H. Li, B. Zhang, T. Gunarathne, S. Bae, J. Qiu, and G. Fox, "Twister: A runtime for iterative MapReduce," HPDC, pp. 810-818, 2010.
  3. Zaharia, M., Chowdhury, M., Das, T., Dave, A., Ma, J., McCauley, M., and Stoica, I., "Resilient distributed datasets: A fault-tolerant abstraction for in-memory cluster computing," Proc. of the 9th USENIX conference on Networked Systems Design and Implementation, pp. 2-2, Apr. 2012.
  4. Guava: Google Core Libraries for Java. [Online]. Available: https://github.com/google/guava/. Accessed: 2016-3-27.
  5. J. Leskovec and A. Krevl. SNAP Datasets: Stanford large network dataset collection. [Online]. Available: http://snap.stanford.edu/data/. Accessed: 2016-2-3.
  6. Lemur. The ClueWeb09 Dataset. [Online]. Available: http://lemurproject.org/clueweb09/. Accessed: 2016-2-3.
  7. Y. Bu, B. Howe, M. Balazinska, and M. D. Ernst. "HaLoop: Efficient iterative data processing on large clusters," PVLDB, Vol. 3, No. 1, pp. 285-296, 2010.
  8. H. Karau, A. Konwinski, P. Wendell, and M. Zaharia, Learning Spark, O'Reilly Media, 2015.