Skip to main content
QUICK REVIEW

[논문 리뷰] Partial Key Grouping: Load-Balanced Partitioning of Distributed Streams

Muhammad Anis Uddin Nasir, Gianmarco De Francisci Morales|arXiv (Cornell University)|2015. 10. 26.
Cloud Computing and Resource Management참고 문헌 27인용 수 8
한 줄 요약

이 논문은 분산 스트림 처리에서 키 분포의 비균형으로 인한 로드 불균형 문제를 해결하기 위해 키 분할과 국소적 로드 추정을 조합한 '파워 오브 투 죽스' 원리를 적용하는 새로운 스트림 파artitioning 기법인 Partial Key Grouping (pkg)을 제안한다. pkg는 실제 Storm 클러스터에서 데이터 스트레스 상황에서도 균형 잡힌 로드 분배를 달성하여 불균형을 수개의 지수 수준으로 감소시키며, 스루풋은 최대 175% 향상되고 지연 시간은 최대 45% 감소시킨다. 이는 Apache Storm v0.10에 통합된 바 있다.

ABSTRACT

We study the problem of load balancing in distributed stream processing engines, which is exacerbated in the presence of skew. We introduce Partial Key Grouping (PKG), a new stream partitioning scheme that adapts the classical "power of two choices" to a distributed streaming setting by leveraging two novel techniques: key splitting and local load estimation. In so doing, it achieves better load balancing than key grouping while being more scalable than shuffle grouping. We test PKG on several large datasets, both real-world and synthetic. Compared to standard hashing, PKG reduces the load imbalance by up to several orders of magnitude, and often achieves nearly-perfect load balance. This result translates into an improvement of up to 175% in throughput and up to 45% in latency when deployed on a real Storm cluster. PKG has been integrated in Apache Storm v0.10.

연구 동기 및 목표

  • 실세계 워크로드에서 키 분포의 비균형으로 인해 발생하는 분산 스트림 처리 엔진(DSPEs)의 로드 불균형 문제를 해결하기 위해.
  • 기존의 단일 선택 해싱 방식으로 약화되는 키 그룹화와 키 의미를 상실하고 상태 기반 처리에 메모리 사용을 증가시키는 셔플 그룹화에 비해 개선된 스케일러블하고 분산된 파artitioning 기법을 설계하기 위해.
  • 전역 조율이나 각 키별 상태 추적 없이도 실용적인 로드 균형을 달성하여 저지연과 고스루풋을 보장하기 위해.
  • 국소적 로드 추정과 키 분할이 스트리밍 및 분산 환경에서 근사 최적의 로드 균형을 달성하는 데 얼마나 효과적인지 평가하기 위해.

제안 방법

  • 기존의 키 그룹화 방식에서의 엄격한 '한 키당 한 PEI' 제약 조건을 완화하기 위해, 각 키가 두 개의 후보 처리 요소 인스턴스(PEI)에서 처리될 수 있도록 허용하는 새로운 스트림 파artitioning 전략인 Partial Key Grouping(pkg)을 도입한다.
  • 동일한 키의 메시지를 두 개의 무작위로 선택된 PEI에 분산하는 키 분할을 활용하여, 전역 조율이나 라우팅 테이블 유지 관리 없이도 '파워 오브 투 죽스' 원리를 적용할 수 있도록 한다.
  • 각 소스가 하류 PEI의 로드를 독립적으로 모니터링하는 국소적 로드 추정을 사용하여, 전역 로드 지식이 필요 없고 조율 오버헤드를 줄인다.
  • 파워 오브 투 죽스 파라다임을 적용: 각 키에 대해 두 개의 무작위로 선택된 PEI 중 로드가 덜한 쪽을 선택하여, 국소적 추정치를 기반으로 라우팅 결정을 유도한다.
  • Apache Storm에 배포할 경우 20줄 미만의 코드 오버헤드와 단일 함수로만 구성되어 최소한의 코드 변경으로도 구현 가능하다.
  • 레플리카 할당을 위한 무작위 선택 메커니즘을 활용하며, 안정성을 향상시키기 위해 일관된 해싱으로 개선할 수 있으며, 이로 인해 낮은 메모리 사용과 조율 비용을 유지한다.

실험 결과

연구 질문

  • RQ1전역 조율 없이도 분산 스트리밍 환경에서 '파워 오브 투 죽스' 원리가 효과적으로 적용될 수 있는가?
  • RQ2키 분할과 국소적 로드 추정이 키 스트레스 상황에서 함께 근사 최적의 로드 균형을 달성할 수 있는가?
  • RQ3상태 기반 스트림 처리를 위한 키 그룹화 의미를 유지하면서도 좋은 로드 균형을 유지할 수 있는가?
  • RQ4로드 균형 성능 측면에서 국소적 로드 추정은 전역 로드 오라클에 비해 얼마나 우수한가?
  • RQ5메모리 사용, 조율 비용, 로드 균형 사이의 상호 교환 관계는 스트림 파artitioning 기법에서 어떻게 나타나는가?

주요 결과

  • Partial Key Grouping은 표준 해싱 기반 키 그룹화 대비 로드 불균형을 수개의 지수 수준으로 감소시킨다.
  • pkg는 비균형 워크로드 상황에서 실제 Storm 클러스터에 배포된 결과 스루풋은 최대 175% 향상되고 지연 시간은 최대 45% 감소시킨다.
  • 국소적 로드 추정은 전역 로드 오라클과 거의 동일한 성능을 보이며, 분산 시스템에서 실용적이고 확장 가능한 대안이 된다.
  • 키 분할은 전역 조율이나 각 키별 상태 추적 없이도 '파워 오브 투 죽스'를 적용할 수 있도록 해주며, 이는 확장성 향상에 기여한다.
  • pkg는 최소한의 조율으로도 PEI 간 로드를 효과적으로 균형 잡아, 고도의 스트레스 상황에서도 실질적으로 완벽한 로드 균형을 달성한다.
  • 이 기법은 Apache Storm v0.10에 성공적으로 통합되어 실용성과 프로덕션 준비 상태를 입증했다.

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

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

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

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