DOI QR코드

DOI QR Code

디스크 기반 그래프 엔진의 입출력 성능 향상을 위한 그래프 오더링

Improving the I/O Performance of Disk-Based Graph Engine by Graph Ordering

  • 투고 : 2017.10.11
  • 심사 : 2017.11.23
  • 발행 : 2018.01.15

초록

빅데이터와 소셜 네트워크의 발전과 더불어 거대한 그래프를 처리하는 연구도 활발하게 진행되고 있다. 최근 그래프 처리의 성능 향상을 위해 Gorder 라는 그래프 오더링 기법이 제안되었다. 이 기법은 메모리 상의 그래프 레이아웃을 변형하여 데이터 접근 패턴을 CPU 캐시에 적합하게 바꿈으로써 성능을 향상시킨다. 하지만 그래프 알고리즘의 캐시 지역성에만 초점을 두고 설계되었기 때문에 디스크 기반 그래프 엔진에서는 적합하지 않고 전처리 비용도 크다는 문제점이 있다. 제시한 문제점을 해결하기 위해, 본 논문에서는 새로운 그래프 오더링인 I/O Order를 제안하였다. I/O Order는 디스크 기반의 그래프 엔진에서 지역성 외에 입출력 부하를 고려하여 설계되었다. 또한, 오더링 비용을 줄이기 위해 간단한 scheme을 사용한다. 본 논문에서 제시된 I/O Order는 Gorder와 비교해 전처리 비용이 최대 9.6배 감소하였고 성능은 지역성이 낮은 그래프 알고리즘에서 Random 대비 최대 2배 이상 향상되었다.

With the advent of big data and social networks, large-scale graph processing becomes popular research topic. Recently, an optimization technique called Gorder has been proposed to improve the performance of in-memory graph processing. This technique improves performance by optimizing the graph layout on memory to have better cache locality. However, since it is designed for in-memory graph processing systems, the technique is not suitable for disk-based graph engines; also the cost for applying the technique is significantly high. To solve the problem, we propose a new graph ordering called I/O Order. I/O Order considers the characteristics of I/O accesses for SSDs and HDDs to improve the performance of disk-based graph engine. In addition, the algorithmic complexity of I/O Order is simple compared to Gorder, hence it is cheaper to apply I/O Ordering. I/O order reduces the cost of pre-processing up to 9.6 times compared to that of Gorder's, still its performance is 2 times higher compared to the Random in low-locality graph algorithms.

키워드

과제정보

연구 과제 주관 기관 : 미래창조과학부

참고문헌

  1. W. S. Han, S. Lee, K. Park, J. H. Lee, M. S. Kim, J. Kim, H. Yu, "TurboGraph: A fast parallel graph engine handling billion-scale graphs in a single PC," Proc. of the 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, pp. 77-85, 2013.
  2. D. Zheng, D. Mhembere, R. Burns, J. Vogelstein, C. E. Priebe, A. S. Szalay, "FlashGraph: Processing Billion-Node Graphs on an Array of commodity SSDs," Proc. of the 13th USENIX Conference on File and Storage Technologies, pp. 45-58, 2015.
  3. H. Wei, J. X. Yu, C. Lu, X. Lin, "Speedup Graph Processing by Graph Ordering," Proc. of the 2016 ACM International Conference on Management of Data, pp. 1813-1828, 2016.
  4. G. Malewicz , M. H. Austern, A. J. C. Bik, J. C. Dehnert, I. Horn, N. Leiser, G. Czajkowski, "Pregel: a system for large-scale graph processing," Proc. of the 2010 ACM International Conference on Management of Data, pp. 135-146, 2010.
  5. R. R. McCune, T. Weninger, G. Madey "Thinking Like a Vertex: A Survey of Vertex-Centric Frameworks for Large-Scale Distributed Graph Processing," ACM Computing Surveys (CSUR), Vol. 48, No. 25, pp. 1-39, Nov. 2015.
  6. Konect Graph, [Online]. Available: http://konect.uni-koblenz.de/ (downloaded 2017. Sep. 20)