Skip to main content
QUICK REVIEW

[논문 리뷰] Elasticutor: Rapid Elasticity for Realtime Stateful Stream Processing

Li Wang, Tom Z. J. Fu|arXiv (Cornell University)|2017. 11. 03.
Advanced Database Systems and Queries참고 문헌 18인용 수 3
한 줄 요약

Elasticutor는 상태 기반 스트림 처리에서 실행자 중심의 접근 방식을 제안하여 전역 동기화를 피하고, 키 재분할 대신 과부하가 걸린 실행자에게 CPU 코어를 동적으로 재할당함으로써 빠른 유연성 확장을 실현한다. 실제 워크로드에서 자원 중심 방법 대비 최대 2배 높은 처리량과 최대 두 계급 수준의 낮은 지연을 달성한다.

ABSTRACT

Elasticity is highly desirable for stream processing systems to guarantee low latency against workload dynamics, such as surges in data arrival rate and fluctuations in data distribution. Existing systems achieve elasticity following a resource-centric approach that uses dynamic key partitioning across the parallel instances, i.e. executors, to balance the workload and scale operators. However, such operator-level key repartitioning needs global synchronization and prohibits rapid elasticity. To address this problem, we propose an executor-centric approach, whose core idea is to avoid operator-level key repartitioning while implementing each executor as the building block of elasticity. Following this new approach, we design the Elasticutor framework with two level of optimizations: i) a novel implementation of executors, i.e., elastic executors, that perform elastic multi-core execution via efficient intra-executor load balancing and executor scaling and ii) a global model-based scheduler that dynamically allocates CPU cores to executors based on the instantaneous workloads. We implemented a prototype of Elasticutor and conducted extensive experiments. Our results show that Elasticutor doubles the throughput and achieves an average processing latency up to 2 orders of magnitude lower than previous methods, for a dynamic workload of real-world applications.

연구 동기 및 목표

  • 스트림 처리를 위한 기존 자원 중심의 확장 메커니즘에서 발생하는 전역 동기화로 인한 성능 저하 문제를 해결한다.
  • 상태 이관 및 라우팅 업데이트로 인해 발생하는 키 스페이스 재분할에 따른 수초의 지연을 해결한다.
  • 실행자 수준의 키 파artitioning과 동적 자원 제공를 분리함으로써 빠르고 낮은 지연의 유연성 확장을 가능하게 한다.
  • 효율적인 내부 실행자 로드 밸런싱과 동적 코어 스케일링을 지원하는 프레임워크를 설계한다.
  • 워크로드 재균형 과정에서 상태 일관성을 유지하면서 이관 및 통신 오버헤드를 최소화한다.

제안 방법

  • 할당된 CPU 코어 간 동적 로드 밸런싱을 수행하고 코어가 추가되거나 제거될 경우 효율적으로 확장되는 유연한 실행자를 도입한다.
  • 실시간 워크로드 메트릭을 기반으로 CPU 코어를 실행자에 할당하는 모델 기반 동적 스케줄러를 구현한다.
  • 키 스페이스 바인딩을 자원 할당에서 분리하여 실행자가 고정된 키 부분집합을 유지하고 상태 이관을 피한다.
  • 코어 재할당 중 실행자 간 통신을 최소화하기 위해 경량 원격 작업 조율 기법을 사용한다.
  • 실행자 간 상태 이동을 방지함으로써 계산 국소성 향상과 원격 데이터 전송 및 상태 이관 감소를 최적화한다.
  • Apache Storm에 프로토타입을 구현하고 합성 및 실제 주식 거래 워크로드를 사용해 평가한다.

실험 결과

연구 질문

  • RQ1실행자 중심 접근 방식이 상태 기반 스트림 처리에서 확장 시 전역 동기화가 필요 없음을 입증할 수 있는가?
  • RQ2지연과 처리량 측면에서 동적 코어 재할당은 기존의 키 스페이스 재분할 방식보다 어떻게 비교되는가?
  • RQ3모델 기반 스케줄러가 자원 활용도 향상과 스케줄링 오버헤드 감소에 얼마나 기여하는가?
  • RQ4상태 이관 및 원격 데이터 전송 감소가 시스템 성능과 확장성에 미치는 영향은 어떠한가?
  • RQ5동적이고 비균형 워크로드 하에서 프레임워크가 낮은 지연과 높은 처리량을 유지할 수 있는가?

주요 결과

  • Elasticutor는 실제 주식 거래 워크로드에서 기존 자원 중심의 확장 방법 대비 처리량을 두 배로 늘린다.
  • 프레임워크는 이전 방법 대비 평균 처리 지연을 최대 두 계급 수준 낮춘다.
  • Elasticutor 하에서 상태 이관 비율은 단순한 유연한 코어(나이브-EC) 접근 방식 대비 5배 낮다.
  • Elasticutor 하에서 원격 데이터 전송은 나이브-EC 대비 10배 낮아져 네트워크 대역폭을 실행자 간 통신에 할애할 수 있게 된다.
  • 처리량은 클러스터 크기에 거의 선형적으로 증가하며, 각 재할당당 스케줄링 비용은 약 몇 밀리초 수준을 유지한다.
  • 시스템은 수 밀리초 내로 빠른 유연성을 실현하여 키 재분할 방식에서 흔히 발생하는 수 초의 지연을 피한다.

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

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

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

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