Skip to main content
QUICK REVIEW

[논문 리뷰] Distributed Data Placement via Graph Partitioning

Lukasz Golab, Marios Hadjieleftheriou|arXiv (Cornell University)|2013. 12. 01.
Cloud Computing and Resource Management참고 문헌 14인용 수 4
한 줄 요약

이 논문은 분산 데이터 배치 문제를 그래프 분할 문제로의 새로운 감소를 제안하며, METIS와 같은 표준 그래프 분할 라이브러리를 통해 효율적이고 거의 최적의 데이터 배치를 가능하게 한다. 쿼리 워크로드를 이분 그래프로 모델링하고 그래프 분할을 통해 통신 비용을 최소화함으로써, 몇 초 내에 고성능 솔루션을 도출한다. 이는 최적 결과를 얻기 위해 수주가 걸릴 수 있는 정수계획법 소프트웨어보다 뚜렷이 뛰어난 성능을 발휘한다.

ABSTRACT

With the widespread use of shared-nothing clusters of servers, there has been a proliferation of distributed object stores that offer high availability, reliability and enhanced performance for MapReduce-style workloads. However, relational workloads cannot always be evaluated efficiently using MapReduce without extensive data migrations, which cause network congestion and reduced query throughput. We study the problem of computing data placement strategies that minimize the data communication costs incurred by typical relational query workloads in a distributed setting. Our main contribution is a reduction of the data placement problem to the well-studied problem of {\sc Graph Partitioning}, which is NP-Hard but for which efficient approximation algorithms exist. The novelty and significance of this result lie in representing the communication cost exactly and using standard graphs instead of hypergraphs, which were used in prior work on data placement that optimized for different objectives (not communication cost). We study several practical extensions of the problem: with load balancing, with replication, with materialized views, and with complex query plans consisting of sequences of intermediate operations that may be computed on different servers. We provide integer linear programs (IPs) that may be used with any IP solver to find an optimal data placement. For the no-replication case, we use publicly available graph partitioning libraries (e.g., METIS) to efficiently compute nearly-optimal solutions. For the versions with replication, we introduce two heuristics that utilize the {\sc Graph Partitioning} solution of the no-replication case. Using the TPC-DS workload, it may take an IP solver weeks to compute an optimal data placement, whereas our reduction produces nearly-optimal solutions in seconds.

연구 동기 및 목표

  • 복잡한 조인과 materialized view를 포함한 분산 관계형 쿼리 처리에서 높은 통신 비용을 해결하기 위해.
  • 이전의 초그래프 분할 접근 방식이 통신 비용을 정확히 모델링하지 못하는 한계를 극복하기 위해.
  • 네트워크 트래픽을 최소화하면서도 복제, 로드 밸런싱, 복잡한 쿼리 계획을 지원하기 위해 데이터 배치 결정을 자동화하기 위해.
  • 정확한 최적화 방법보다 런타임에서 뛰어나도록 확장 가능한 실용적인 알고리즘을 제공하기 위해, 특히 대규모 워크로드에서 성능을 높이기 위해.
  • 지속적인 데이터 업데이트와 뷰 유지보수를 수반하는 온라인 스트리밍 데이터 웨어하우스의 효율적 구현을 가능하게 하기 위해.

제안 방법

  • 테이블과 쿼리가 노드가 되고, 간선이 데이터 액세스 요구 사항을 나타내는 이분 그래프로 데이터 배치 문제를 모델링한다.
  • 통신 비용 최소화 문제를 표준 그래프 분할 문제로 감소시켜, METIS와 같은 효율적인 라이브러리의 사용을 가능하게 한다.
  • 복제, 로드 밸런싱, materialized view를 지원하는 정수선형계획법(IP)으로 최적의 데이터 배치를 수식화하고, 상용 솔버를 통해 해결할 수 있도록 한다.
  • 복제된 경우를 대비해, 비복제된 그래프 분할 솔루션을 서브루틴으로 재사용하는 두 가지 휴리스틱을 설계한다.
  • 다른 서버에서 계산된 중간 결과를 포함하는 복잡한 쿼리 계획을 포괄하는 이분 그래프 표현을 구축한다.
  • 공개된 그래프 분할 도구를 사용하여, 대규모 워크로드에서도 몇 초 내에 거의 최적의 솔루션을 도출한다.

실험 결과

연구 질문

  • RQ1관계형 워크로드를 위한 데이터 배치 문제를 정확한 통신 비용 모델링을 유지하면서 그래프 분할 문제로 효과적으로 감소시킬 수 있는가?
  • RQ2분산 데이터 배치에서 데이터 통신 비용을 모델링할 때, 그래프 분할이 초그래프 분할보다 어떤가?
  • RQ3실제 워크로드에서 그래프 분할 기반의 효율적 근사 알고리즘이 정확한 정수계획법 솔버보다 실용적으로 뛰어나게 성능을 냈는가?
  • RQ4복제, 로드 밸런싱, materialized view는 데이터 배치 전략의 확장성과 품질에 어떤 영향을 미치는가?
  • RQ5TPC-DS와 같은 대규모 실세계 워크로드에서 제안된 방법의 성능 및 확장성은 어떠한가?

주요 결과

  • 그래프 분할로의 감소를 통해 몇 초 내에 거의 최적의 데이터 배치를 달성할 수 있으며, 정수계획법 솔버는 동일한 문제에 대해 수주가 걸릴 수 있다.
  • 제안된 그래프 분할 접근 방식은 이전의 초그래프 기반 방법보다 통신 비용을 더 정확히 모델링하며, 초그래프는 이를 정확히 포착하지 못한다.
  • TPC-DS 벤치마크에서, 특히 높은 복제 요소를 가진 경우 기준 휴리스틱보다 상당히 낮은 데이터 통신 비용을 기록한다.
  • 휴리스틱 H2는 항상 H1보다 더 나은 로드 밸런싱과 더 낮은 최대 파art 크기를 제공하며, 이상적인 복제 분포에 가까워진다.
  • METIS는 현대 하드웨어에서 대규모 워크로드에 대해 효율적으로 확장되며, 최대 16,000개의 테이블과 16,000개의 쿼리에 대해 밀리초 수준의 성능을 달성한다.
  • 중간 결과를 포함하는 복잡한 쿼리 계획이 있는 경우에도 이론적으로나 실질적으로 안정적인 성능을 보이며, 실제 분산 환경에서의 강건성을 입증한다.

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

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

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

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