Skip to main content
QUICK REVIEW

[논문 리뷰] BriskStream: Scaling Data Stream Processing on Shared-Memory Multicore Architectures

Shuhao Zhang, Jiong He|arXiv (Cornell University)|2019. 01. 01.
Advanced Database Systems and Queries참고 문헌 46인용 수 5
한 줄 요약

BriskStream는 공유 메모리 데이터 스트림 처리 시스템으로, 상호 연산자 간 메모리 액세스 거리를 모델링함으로써 NUMA 영향을 고려하는 새로운 최적화 패러다임인 상대적 위치 인식 스케줄링(RLAS)을 도입한다. 브랜치 앤 바운드 기법과 세 가지 휴리스틱을 조합하여 연산자 복제와 배치를 공동 최적화함으로써, 대규모 다중코어 서버에서 기존 시스템보다 최대 10배 높은 처리량과 뛰어난 확장성을 달성한다.

ABSTRACT

We introduce BriskStream, an in-memory data stream processing system (DSPSs) specifically designed for modern shared-memory multicore architectures. BriskStream's key contribution is an execution plan optimization paradigm, namely RLAS, which takes relative-location (i.e., NUMA distance) of each pair of producer-consumer operators into consideration. We propose a branch and bound based approach with three heuristics to resolve the resulting nontrivial optimization problem. The experimental evaluations demonstrate that BriskStream yields much higher throughput and better scalability than existing DSPSs on multi-core architectures when processing different types of workloads.

연구 동기 및 목표

  • 기존 데이터 스트림 처리 시스템(DSPS)에서 현대의 공유 메모리 다중코어 아키텍처의 낮은 확장성과 자원 미사용 문제를 해결하기 위해.
  • 다양한 메모리 액세스 지연을 고려하지 못하는 휴리스틱 기반 또는 비-NUMA 인식 배치 및 복제 전략의 한계를 극복하기 위해.
  • 생산자-소비자 연산자 간 상대적 위치(NUMA 거리)를 고려하여 연산자 복제와 배치를 공동 최적화하는 모델 기반 체계적 접근법을 개발하기 위해.
  • 원격 메모리 액세스 패널티를 최소화하여 대규모 멀티소켓 서버에서 고처리량, 확장 가능한 스트림 처리를 가능하게 하기 위해.
  • 현대의 공유 메모리 다중코어 시스템에서 실행되는 메모리 기반 파이프라인 DSPS에 적용 가능한 일반화 가능한 최적화 프레임워크를 제공하기 위해.

제안 방법

  • NUMA 거리가 연산자 처리량과 자원 수요에 미치는 영향을 모델링하는 새로운 실행 계획 최적화 패러다임인 RLAS(Relative-Location Aware Scheduling)를 제안한다.
  • 다양한 NUMA 구성에서의 성능 예측 모델을 기반으로 하여, 연산자 배치 및 복제의 솔루션 공간을 탐색하는 브랜치 앤 바운드 알고리즘을 사용한다.
  • 세 가지 핵심 휴리스틱을 도입한다: (1) 연결된 연산자 쌍에 중점을 둔 엣지 기반 의사결정, (2) 최적 배치 및 중복 제거를 통한 탐색 공간 축소, (3) 최적화 깊이와 효율성 사이의 트레이드오프를 위한 조절 가능한 세분성 제어.
  • 동적 병목 감지 및 반복적 복제 스케일링을 통합하여, 현재 배치 성능에 기반해 병목 연산자를 식별하고 그 복제 수준을 증가시킨다.
  • Storm/Heron 호환 API를 갖춘 새로운 DSPS로 BriskStream을 구현하였으며, 락 프리 데이터 구조 및 캐시 인식 메모리 관리와 같은 공유 메모리 최적화 기법을 통합하였다.
  • 배치 결정에 기반해 연산자 처리량을 추정하는 예측 성능 모델을 활용하여, 후보 실행 계획의 정확한 평가를 가능하게 한다.

실험 결과

연구 질문

  • RQ1공유 메모리 다중코어 스트림 처리 시스템에서 NUMA 영향을 고려할 때, 연산자 배치와 복제를 공동 최적화하여 처리량을 극대화할 수 있는 방법은 무엇인가?
  • RQ2기존의 전통적 배치 전략 대비 생산자-소비자 연산자 간 상대적 위치(NUMA 거리)를 고려함으로써 시스템의 확장성과 성능 향상은 어느 정도 이루어지는가?
  • RQ3모델 기반의 브랜치 앤 바운드 기반 최적화 접근법은 NUMA 영향으로 인해 발생하는 복잡하고 확률적인 솔루션 공간을 효과적으로 탐색할 수 있는가?
  • RQ4대규모 멀티소켓 서버에서 라운드로빈 또는 프리패스 기반의 휴리스틱 전략과 비교해 RLAS는 처리량과 확장성 측면에서 어떤가?
  • RQ5배치 인식 기반 병목 감지에 기반한 연산자 복제 튜닝이 전체 시스템 처리량에 어떤 영향을 미치는가?

주요 결과

  • BriskStream는 256개의 코어와 2TB의 메모리가 탑재된 8소켓 서버에서 기존 오픈소스 DSPS인 Storm과 Flink보다 최대 10배 높은 처리량을 달성한다.
  • 시스템은 코어 수가 증가함에 따라 높은 처리량을 유지하며, 휴리스틱 기반 및 기본 NUMA 간섭 없는 시스템을 모두 능가하는 뛰어난 확장성을 보여준다.
  • RLAS는 생산자-소비자 연산자 쌍을 더 가까운 NUMA 노드에 전략적으로 배치하여 원격 메모리 액세스 패널티를 크게 감소시켜 명확한 성능 향상을 이룬다.
  • RLAS의 세 가지 휴리스틱은 솔루션 공간 크기를 줄이고 탐색 효율을 향상시켜, 솔루션 품질을 희생시키지 않은 채 확장 가능한 최적화를 가능하게 한다.
  • 이전 연구에서 제안한 휴리스틱 기반 접근법과 비교해 RLAS는 다양한 워크로드에서 더 뛰어난 성능을 달성하며 局부 최적화를 피하고 워크로드 특화 병목을 적절히 대응한다.
  • 동적 병목 감지와 복제 스케일링의 통합은 더 효과적인 로드 밸런싱과 높은 종단 간 처리량을 이끌어낸다.

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

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

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

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