Skip to main content
QUICK REVIEW

[논문 리뷰] PMV: Pre-partitioned Generalized Matrix-Vector Multiplication for Scalable Graph Mining

Chiwan Park, Ha-Myung Park|arXiv (Cornell University)|2017. 09. 26.
Graph Theory and Algorithms참고 문헌 41인용 수 3
한 줄 요약

PMV는 분산 시스템에서 확장 가능한 그래프 마이닝을 위한 사전 분할된 일반화된 행렬-벡터 곱셈 프레임워크를 제안한다. 입력 그래프를 사전에 분할하고, 부분행렬의 밀도에 기반한 적응형 수평/수직 블록 배치를 적용함으로써 통신 및 I/O 비용을 감소시켜, 이전의 분산 메모리 시스템보다 최대 16배 더 큰 그래프를 처리하고 디스크 기반 시스템보다 9배 빠른 성능을 달성한다.

ABSTRACT

How can we analyze enormous networks including the Web and social networks which have hundreds of billions of nodes and edges? Network analyses have been conducted by various graph mining methods including shortest path computation, PageRank, connected component computation, random walk with restart, etc. These graph mining methods can be expressed as generalized matrix-vector multiplication which consists of few operations inspired by typical matrix-vector multiplication. Recently, several graph processing systems based on matrix-vector multiplication or their own primitives have been proposed to deal with large graphs; however, they all have failed on Web-scale graphs due to insufficient memory space or the lack of consideration for I/O costs. In this paper, we propose PMV (Pre-partitioned generalized Matrix-Vector multiplication), a scalable distributed graph mining method based on generalized matrix-vector multiplication on distributed systems. PMV significantly decreases the communication cost, which is the main bottleneck of distributed systems, by partitioning the input graph in advance and judiciously applying execution strategies based on the density of the pre-partitioned sub-matrices. Experiments show that PMV succeeds in processing up to 16x larger graphs than existing distributed memory-based graph mining methods, and requires 9x less time than previous disk-based graph mining methods by reducing I/O costs significantly.

연구 동기 및 목표

  • 수백만 개의 에지가 있는 웹 스케일 그래프에서 기존 분산 그래프 마이닝 시스템의 확장성 한계를 해결한다.
  • 반복적 계산 중에 발생하는 랜덤 액세스 및 디스크 접근을 최소화함으로써 분산 행렬-벡터 곱셈에서의 I/O 및 통신 병목 현상을 해결한다.
  • Hadoop 및 Spark와 같은 주요 분산 컴퓨팅 플랫폼과 호환되는 일반 목적의 프레임워크를 설계한다.
  • 기계 수와 그래프 크기에 대해 선형 확장성을 달성하고, 단일 머신 또는 분산 메모리 시스템의 메모리 용량을 초월하는 그래프를 처리할 수 있다.

제안 방법

  • 반복 계산 전에 입력 그래프의 인cidience 행렬을 블록으로 사전 분할하여 반복적인 분할을 제거한다.
  • 임계값 θ를 사용하여 정점의 출발도에 기반해 행렬 블록을 희박 영역과 조밀 영역으로 분류한다.
  • 희박 블록에는 수평 배치를, 조밀 블록에는 수직 배치를 적용하여 I/O 및 통신 비용을 최소화한다.
  • 밀도에 따라 각 블록에 최적의 배치 전략을 선택하는 하이브리드 전략(PMVhybrid)을 사용하여, 수직 전용 전략 대비 최대 44%의 I/O 감소를 달성한다.
  • Hadoop와 Spark에 프레임워크를 구현하여, Hadoop에서는 인-place 업데이트를, Spark에서는 반복 최적화를 활용한다.
  • 특히 MapReduce 시스템에서 병목 현상이 발생하는 고도수 정점에 대한 영향을 줄이기 위해 블록 할당을 워커에 균형 있게 분배한다.

실험 결과

연구 질문

  • RQ1사전 분할된 행렬이 분산 일반화 행렬-벡터 곱셈에서 통신 및 I/O 오버헤드를 줄일 수 있는가?
  • RQ2희박 그래프와 조밀 그래프에서 수평 및 수직 블록 배치 전략의 선택이 I/O 및 성능에 미치는 영향은 어떠한가?
  • RQ3하이브리드 배치 전략에서 I/O와 계산 비용을 균형 있게 유지하기 위한 최적의 임계값 θ는 무엇인가?
  • RQ4PMV는 기계 수와 그래프 크기에 대해 선형 확장성을 달성할 수 있는가?
  • RQ5PMV는 ClueWeb12와 같은 웹 스케일 그래프를 처리할 때 기존 시스템과 비교해 어떻게 성능을 냈는가?

주요 결과

  • PMV는 모든 경쟁 시스템이 메모리 부족 또는 시간 초과 오류를 일으키는 전체 ClueWeb12 그래프(60억 정점, 710억 간선)를 성공적으로 처리한다.
  • PMV는 GraphLab 및 GraphX와 같은 기존 분산 메모리 시스템보다 최대 16배 더 높은 확장성을 달성하며, 이는 메모리 용량을 초과하는 그래프에서 실패하는 것과 대비된다.
  • θ = 200일 때, PMV는 수직 전용 전략(PMVvertical) 대비 최대 44%의 I/O 감소를 기록했으며, 이에 따라 디스크 기반 MapReduce 시스템 대비 9배 빠른 성능을 달성한다.
  • YahooWeb에서 PMV는 기계 수가 두 배로 증가할 때마다 성능 향상이 거의 1.0에 가까이 유지되며 선형 기계 확장성을 보이며, 마지막 리듀서 병목 현상을 피함으로써 PEGASUS를 능가한다.
  • 작은 그래프에서는 Spark 기반 PMV가 Spark의 반복 계산 최적화 덕분에 Hadoop 기반 PMV보다 빠르며, 큰 그래프에서는 Hadoop 기반 PMV가 인-플레이스 업데이트로 인한 낮은 메모리 사용 덕분에 Spark 기반 PMV를 능가한다.
  • 하이브리드 전략(PMVhybrid)은 선택 전략(PMVselective) 대비 최대 18% 높은 성능을 기록하여, 적응형 블록 배치의 효과를 입증한다.

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

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

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

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