[논문 리뷰] A Scheduling Algorithm to Maximize Storm Throughput in Heterogeneous Cluster
이 논문은 Apache Storm에서 스트림 처리 토폴로지 내 각 컴포넌트에 대한 최적의 인스턴스 수를 동적으로 결정하고, 계산 능력에 기반해 이를 적절한 클러스터 노드에 매핑하는 이질성 인지 스케줄링 알고리즘을 제안한다. CPU 사용률 예측 모델과 반복적 토폴로지 스케일링을 활용하여, Storm의 기본 스케줄러 대비 7–44% 높은 처리량을 달성하면서도 92%의 정확도를 유지하고 최적 성능의 4% 이내에서 운영된다.
In the most popular distributed stream processing frameworks (DSPFs), programs are modeled as a directed acyclic graph. This model allows a DSPF to benefit from the parallelism power of distributed clusters. However, choosing the proper number of vertices for each operator and finding an appropriate mapping between these vertices and processing resources have a determinative effect on overall throughput and resource utilization; while the simplicity of current DSPFs' schedulers leads these frameworks to perform poorly on large-scale clusters. In this paper, we present the design and implementation of a heterogeneity-aware scheduling algorithm that finds the proper number of the vertices of an application graph and maps them to the most suitable cluster node. We start to scale up the application graph over a given cluster gradually, by increasing the topology input rate and taking new instances from bottlenecked vertices. Our experimental results on Storm Micro-Benchmark show that 1) the prediction model estimate CPU utilization with 92% accuracy. 2) Compared to default scheduler of Storm, our scheduler provides 7% to 44% throughput enhancement. 3) The proposed method can find the solution within 4% (worst case) of the optimal scheduler which obtains the best scheduling scenario using an exhaustive search on problem design space.
연구 동기 및 목표
- 노드의 이질성을 忽시하는 Storm의 기본 라운드로빈 스케줄러가 이질적 클러스터에서 낮은 성능을 보이는 문제를 해결하기 위해.
- 대규모 이질적 스트림 처리 환경에서 애플리케이션의 처리량과 자원 활용도를 극대화하기 위해.
- 각 컴포넌트당 최적의 인스턴스 수를 결정하고 이를 클러스터 노드에 효율적으로 매핑하는 스케줄링 알고리즘을 개발하기 위해.
- 기계의 능력에 기반한 예측 모델을 사용해 어떤 노드도 과도하게 활용되지 않도록 보장하기 위해.
- 최적 스케줄링을 위한 전수 검색의 고비용 대안으로서, 낮은 오버헤드로 근사 최적 성능에 도달하는 확장 가능한 효율적 대안을 제공하기 위해.
제안 방법
- 알고리즘은 기본 토폴로지에서 시작하여, 입력 속도를 증가시키고 병목 지점에 있는 정점에 새로운 인스턴스를 추가함으로써 점진적으로 스케일링한다.
- 프로파일링 데이터를 기반으로 각 작업이 다양한 머신에서 소비할 CPU 사용률을 추정하기 위해 이질성 인지 예측 모델을 사용한다.
- 처리 능력을 고려하여 클러스터 노드에 인스턴스를 동적으로 할당함으로써 부하를 균형 있게 분산하고 과도한 할당을 방지한다.
- 병목을 식별하고 해결하는 반복적, 속도 기반 스케일링 전략을 적용한다.
- 이론적 스케줄링을 지원하기 위해 소스 코드를 확장하여 이질성 인지 작업 할당을 구현한 수정된 Storm 스케줄러로 알고리즘을 구현한다.
- 성능 격차 평가를 위해 해밀턴 검색 기반 최적 스케줄러와의 비교를 수행한다.
실험 결과
연구 질문
- RQ1어떻게 스트림 처리 스케줄러가 Storm에서 이질적 클러스터 자원을 효과적으로 활용하여 처리량을 극대화할 수 있는가?
- RQ2Storm의 기본 스케줄러에서 노드의 이질성을 忽시할 경우 처리량과 자원 활용도에 어떤 영향을 미치는가?
- RQ3다양한 기계 유형 간 스트리밍 워크로드에서 CPU 사용률을 정확하게 예측할 수 있는가?
- RQ4히우리스틱 스케줄링 알고리즘이 처리량과 자원 균형 측면에서 최적 솔루션에 얼마나 가까이 도달할 수 있는가?
- RQ5이질적 스트림 처리 환경에서 스케줄링 복잡도와 성능 향상 간의 상충 관계는 어떠한가?
주요 결과
- 제안된 스케줄러는 다양한 토폴로지에서 Storm의 기본 라운드로빈 스케줄러 대비 7%에서 44% 높은 처리량을 달성한다.
- CPU 사용률 예측 모델은 실제 사용률을 92%의 정확도로 추정하여 신뢰할 수 있는 부하 추정이 가능하다.
- 전체 설계 공간에 대한 전수 검색 기반 최적 스케줄러와 비교해 본 알고리즘의 성능는 최적 성능의 4% 이내에 머문다.
- 기계별 프로파일링 데이터를 활용함으로써 어떤 클러스터 노드의 과도한 활용도 효과적으로 방지한다.
- 클러스터의 이질성과 입력 속도 증가에 따라도 잘 스케일링되며, 높은 처리량과 균형 잡힌 자원 사용을 유지한다.
- 기본 자원이 동일한 것으로 가정하는 기존 솔루션들과는 달리, 명시적인 이질성 모델링을 통해 R-Storm과 D-Storm보다 뛰어난 성능을 발휘한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.