Skip to main content
QUICK REVIEW

[논문 리뷰] BigSparse: High-performance external graph analytics

Sang Woo Jun, Andy Wright|arXiv (Cornell University)|2017. 10. 21.
Graph Theory and Algorithms참고 문헌 16인용 수 9
한 줄 요약

BigSparse는 DRAM이 제한된 머신에서 테라바이트 규모의 그래프를 고성능으로 처리할 수 있도록 설계된 완전 외부 그래프 분석 시스템이다. 이는 엣지 및 버텍스 데이터를 모두 SSD에 저장함으로써 달성되며, 버텍스 업데이트를 로깅하고 I/O 오버헤드를 최소화하기 위해 정렬과 감소를 겹치는 방식을 사용한다. 이로 인해 메모리 기반 및 반외부 시스템보다 대규모 그래프에서 뛰어난 성능을 발휘하며, DRAM이 32–64GB에 불과한 환경에서도 성능을 유지한다.

ABSTRACT

We present BigSparse, a fully external graph analytics system that picks up where semi-external systems like FlashGraph and X-Stream, which only store vertex data in memory, left off. BigSparse stores both edge and vertex data in an array of SSDs and avoids random updates to the vertex data, by first logging the vertex updates and then sorting the log to sequentialize accesses to the SSDs. This newly introduced sorting overhead is reduced significantly by interleaving sorting with vertex reduction operations. In our experiments on a server with 32GB to 64GB of DRAM, BigSparse outperforms other in-memory and semi-external graph analytics systems for algorithms such as PageRank, BreadthFirst Search, and Betweenness-Centrality for terabyte-size graphs with billions of vertices. BigSparse is capable of highspeed analytics of much larger graphs, on the same machine configuration.

연구 동기 및 목표

  • 버텍스 데이터를 저장하기 위해 대량의 DRAM이 필요한 메모리 기반 및 반외부 그래프 시스템의 확장성 한계를 해결한다.
  • 보조 저장소에서의 세밀한 랜덤 I/O 성능 저하 문제를 해결하기 위해 순차적 액세스 패턴을 가능하게 한다.
  • 버텍스 데이터가 가용 DRAM 용량을 초과할 경우에도 고성능을 유지하는 완전 외부 시스템을 설계한다.
  • 버텍스 업데이트 정렬에 따른 I/O 오버헤드를 최소화하기 위해 정렬과 감소 작업을 겹친다.
  • 비용 효율적인 단일 노드 분석을 가능하게 하여, 비싼 메모리 확장 대신 저렴한 SSD 스토리지로 빌리언 버텍스 그래프를 처리한다.

제안 방법

  • 버텍스 데이터를 메모리에 저장하지 않고, SSD 어레이에 엣지 및 버텍스 데이터를 모두 저장한다.
  • 랜덤 쓰기 작동을 줄이기 위해 모든 버텍스 업데이트를 외부로 로깅한다.
  • 랜덤 액세스 패턴을 순차적 I/O로 전환하기 위해 업데이트 로그를 블록 단위로 정렬한다.
  • 병합 단계 동안 정렬과 감소 작업을 겹쳐서 중간 데이터 크기를 점진적으로 줄인다.
  • 메모리 내 병합 정렬 단계를 수행한 후 외부 병합-감소를 수행하여 SSD로의 데이터 이동을 최소화한다.
  • 실제 그래프에서 높은 국지성을 활용해 감소를 가속화하여 첫 번째 병합 단계 이후 중간 데이터 크기를 최대 90%까지 감소시킨다.

실험 결과

연구 질문

  • RQ1완전 외부 그래프 시스템이 메모리 기반 시스템과 경쟁 가능한 성능을 달성하면서도 상당히 적은 DRAM을 요구할 수 있는가?
  • RQ2버텍스 업데이트 처리에 있어 정렬과 감소를 겹치는 방식이 I/O 오버헤드를 얼마나 효과적으로 줄이는가?
  • RQ3버텍스 데이터가 메모리 용량을 초과할 경우, 최소한의 DRAM(예: 32–64GB)을 가진 시스템이 반외부 시스템보다 얼마나 뛰어난 성능을 보이는가?
  • RQ4BigSparse는 대규모 그래프에서 PageRank 및 Betweenness-Centrality와 같은 희박 알고리즘을 어떻게 고성능으로 유지하는가?
  • RQ5외부 그래프 처리에서 데이터 감소가 플래시 스토리지 내구성과 시스템 I/O 효율성에 미치는 영향은 무엇인가?

주요 결과

  • DRAM이 32–64GB로 제한된 조건에서, BigSparse는 Web Data Commons(35억 개 버텍스 포함)와 같은 테라바이트 규모 그래프에서 메모리 기반 및 반외부 시스템인 FlashGraph 및 X-Stream을 능가하는 성능을 보였다.
  • 48GB의 메모리가 있는 Web Data Commons 그래프에서, BigSparse는 테스트된 모든 알고리즘(PageRank, BFS, Betweenness-Centrality)에 대해 유일하게 고속 분석을 수행할 수 있었다.
  • 정렬과 감소를 겹친 방식은 정렬 후 감소를 수행하는 것보다 총 저장소 이동 데이터량을 최대 90%까지 줄였다.
  • 첫 번째 메모리 내 병합 단계 이후, 트위터 그래프에서는 중간 데이터가 80% 이상 감소했고, WDC 그래프에서는 90% 감소하여 I/O 부하가 크게 감소했다.
  • BigSparse는 CPU 활용률이 1800%에 도달했으며, FlashGraph(3200%) 및 X-Stream(3200%)보다 훨씬 낮아 저장소 기반 성능에 의해 자원 활용도가 뛰어나다는 것을 시사한다.
  • 시스템은 SSD에 원본 중간 데이터 크기의 5–10%만 기록하여 플래시 쓰기 증폭을 줄였으며, 이는 플래시 수명 연장과 I/O 효율성 향상에 기여한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.