Skip to main content
QUICK REVIEW

[논문 리뷰] Pregelix: Big(ger) Graph Analytics on A Dataflow Engine

Yingyi Bu, Vinayak Borkar|arXiv (Cornell University)|2014. 07. 02.
Graph Theory and Algorithms참고 문헌 32인용 수 9
한 줄 요약

Pregelix는 Hyracks 데이터플로우 엔진 기반의 데이터플로우 아키텍처를 사용하여 Pregel 프로그래밍 모델을 재구성한 혁신적인 분산 그래프 처리 시스템이다. 정점 상태와 메시지를 관계형 튜플로 모델링하고, 최적화된 물리 계획을 적용한 반복적 데이터플로우로 Pregel 워크로드를 실행함으로써, 분산 GraphLab 대비 최대 35배, Apache Giraph 대비 최대 15배의 성능 향상을 달성하며, 사용자 개입 없이도 메모리 내 및 외부 메모리 워크로드를 효율적으로 지원하는 투명한 런타임 유연성을 제공한다.

ABSTRACT

There is a growing need for distributed graph processing systems that are capable of gracefully scaling to very large graph datasets. Unfortunately, this challenge has not been easily met due to the intense memory pressure imposed by process-centric, message passing designs that many graph processing systems follow. Pregelix is a new open source distributed graph processing system that is based on an iterative dataflow design that is better tuned to handle both in-memory and out-of-core workloads. As such, Pregelix offers improved performance characteristics and scaling properties over current open source systems (e.g., we have seen up to 15x speedup compared to Apache Giraph and up to 35x speedup compared to distributed GraphLab), and makes more effective use of available machine resources to support Big(ger) Graph Analytics.

연구 동기 및 목표

  • 메모리 압박과 열악한 외부 메모리 지원으로 인해 어려움을 겪는 프로세스 중심의 메시지 전달 기반 그래프 처리 시스템의 한계를 해결하기 위해.
  • 사용자 개입 없이도 메모리 내 및 외부 메모리 워크로드를 모두 투명하게 지원할 수 있는 단일 시스템을 제공하기 위해.
  • 다양한 그래프 워크로드 및 클러스터 구성에 적합한 여러 물리적 실행 전략을 노출시켜 런타임의 유연성을 제공하기 위해.
  • Hyracks의 기존 데이터베이스 쿼리 실행 기법과 연산자들을 재사용함으로써 구현 복잡성을 줄이기 위해.
  • 공유 없는 클러스터에서 효율적으로 확장되며 다중 사용자 워크로드를 지원하는 시스템을 구축하기 위해.

제안 방법

  • 정의된 스키마를 가진 관계형 튜플로 Pregel의 정점 및 메시지 의미 체계를 모델링하여, SQL 유사한 논리적 쿼리 계획을 가능하게 한다.
  • 메시지 전달을 시뮬레이션하기 위해 조인과 그룹바이 연산을 포함한 관계형 연산자로 구성된 반복적 데이터플로우로 전체 Pregel 계산을 표현한다.
  • Hyracks를 기반 데이터플로우 엔진으로 활용하여, 외부 메모리 처리, 버퍼 관리, 데이터 샤프링을 네이티브로 지원한다.
  • 분할 전략, 저장 형식, 데이터 재분배 방법 등 다양한 전략을 런타임에서 선택할 수 있도록 물리적 실행 계획을 구현한다.
  • 추론 데이터베이스에서 유래한 반반나이브 평가 기법을 사용하여 반복적 그래프 알고리즘을 효율적으로 평가한다.
  • Giraph와 동일한 Pregel API를 노출하여 기존 호환성을 유지하면서도 새로운 최적화 기회를 제공한다.

실험 결과

연구 질문

  • RQ1데이터플로우 기반 아키텍처가 Pregel 유사 그래프 처리 시스템의 성능과 확장성에 향상 효과를 줄 수 있는가?
  • RQ2성능을 희생시키지 않고도 Pregel 스타일 시스템에서 외부 메모리 워크로드를 효율적으로 지원할 수 있는가?
  • RQ3기존 데이터베이스 쿼리 최적화 및 실행 기법들이 반복적 그래프 분석을 지원하기 위해 얼마나 잘 적응될 수 있는가?
  • RQ4통합된 시스템이 사용자에게 성능 튜닝을 투명하게 제공하면서도 메모리 내 및 외부 메모리 실행을 모두 지원할 수 있는가?
  • RQ5물리적 계획의 유연성이 대규모 그래프 워크로드에서 실행 시간과 자원 활용도에 미치는 영향은 어느 정도인가?

주요 결과

  • Pregelix는 대규모 그래프 워크로드에서 Apache Giraph 대비 최대 15배, 분산 GraphLab 대비 최대 35배의 성능 향상을 달성한다.
  • 사용자 코드의 변경 없이도 시스템이 메모리 내 및 외부 메모리 워크로드를 효율적으로 투명하게 지원한다.
  • Pregel을 데이터플로우로 모델링함으로써 Pregelix는 여러 가지 물리적 실행 계획을 제공하여, 다양한 워크로드 및 클러스터 특성에 런타임에서 적응할 수 있다.
  • Hyracks의 사용은 샤프링, 버퍼링, 저장을 위한 최적화된 연산자 재사용을 가능하게 하여 구현 노력 감소와 신뢰성 향상을 이룬다.
  • Pregelix는 다중 사용자 워크로드를 지원하며 높은 처리량을 유지하여 실환경에서의 적합성을 입증한다.
  • 시스템은 실제 사용 사례에 성공적으로 도입되었으며, 2012년부터 안정적인 오픈소스 릴리스를 제공하고 있다.

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

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

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

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