[논문 리뷰] Do the Hard Stuff First: Scheduling Dependent Computations in Data-Analytics Clusters
DagPS는 데이터 분석 클러스터를 위한 새로운 스케줄러로, 자원-시간 공간 내에서 장기 실행 또는 난이도 높은 자원 프로필을 가진 작업을 먼저 우선순위를 두어 작업 완료 시간과 클러스터 활용도를 향상시킨다. 문제 해결을 위한 탐색 기반 접근법을 사용해 최적의 어려운 작업을 선택하고, 사전에 사고를 방지하는 배치 알고리즘을 적용함으로써, 생산 환경 트레이스에서 절반 이상의 작업에 대해 작업 완료 시간을 30퍼센트 이상 감소시키며 최신 스케줄러를 능가한다. 이는 사용자가 설정한 범위 내에서 공정성을 유지한다.
We present a scheduler that improves cluster utilization and job completion times by packing tasks having multi-resource requirements and inter-dependencies. While the problem is algorithmically very hard, we achieve near-optimality on the job DAGs that appear in production clusters at a large enterprise and in benchmarks such as TPC-DS. A key insight is that carefully handling the long-running tasks and those with tough-to-pack resource needs will produce good-enough schedules. However, which subset of tasks to treat carefully is not clear (and intractable to discover). Hence, we offer a search procedure that evaluates various possibilities and outputs a preferred schedule order over tasks. An online component enforces the schedule orders desired by the various jobs running on the cluster. In addition, it packs tasks, overbooks the fungible resources and guarantees bounded unfairness for a variety of desirable fairness schemes. Relative to the state-of-the art schedulers, we speed up 50% of the jobs by over 30% each.
연구 동기 및 목표
- 기존 스케줄러가 자원 분할과 복잡한 DAG 아키텍처로 인해 성능이 떨어지는 데이터 분석 클러스터에서 복잡하고 다중 자원을 요구하며 종속 관계가 있는 워크로드를 스케줄링하는 문제를 해결하기 위해.
- 작업 DAG가 자원 요구량, 실행 시간, 종속성 복잡도 측면에서 높은 변동성을 보이는 실생산 환경에서 작업 완료 시간과 클러스터 활용도를 향상시키기 위해.
- 동시 작업 처리, 동적 도착, 다중 목표(예: 패킹 효율성, 지연 시간 감소)를 고려할 때도 공정성과 낮은 불공정성을 유지하면서 확장 가능하고 온라인으로 동작하는 스케줄러를 설계하기 위해.
- 일반적인 DAG 스케줄링 문제의 NP-완전성에도 불구하고 실제 DAG에 대해 거의 최적에 가까운 실용적인 스케줄링 솔루션을 개발하기 위해.
제안 방법
- DagPS는 두 구성 요소로 이루어진 아키텍처를 사용한다: 각 DAG에 대해 '문제를 일으키는' 작업(장기 실행 또는 자원 프로필이 어려운 작업)을 d+1차원 자원-시간 공간에서 먼저 배치함으로써 최적의 스케줄을 수립하는 배치 스케줄러.
- 다양한 작업 순서 히وري스틱(예: OPC, OCP, COP, POC)을 평가하기 위한 고성능 탐색 절차를 활용하여, 그 중에서 가장 컴act한 배치를 선택함으로써 열악한 스케줄링을 방지한다.
- 데이터 종속성과 자원 활용도를 최대화하는 방식으로 부모, 자식, 기타 작업의 순서를 신중히 정렬함으로써 사전에 사고를 방지하는 배치 알고리즘을 구현한다.
- 공정성(예: DRF)과 패킹 효율성 등의 충돌하는 목표를 조율하기 위해 온라인 조율 컴포넌트가 주로 목표를 따르되, 사용자가 설정한 임계값 내에서 불공정성을 제한한다.
- 자원 적합도, 로컬리티, SRPT 유사 긴급도를 조합한 성능 점수를 사용해 각 머신에서 작업 선택을 안내하며, 공정성 카운터와 오버부킹 페널티를 통해 부하 균형을 유지하고 기아 현상을 방지한다.
- 시스템은 Apache YARN과 Tez에 구현되었으며, 자원-시간 공간 내 영역 선택을 가속화하기 위해 효율적인 데이터 구조(예: 시간 및 자원 인덱스가 붙은 해시 맵)를 사용한다.
실험 결과
연구 질문
- RQ1다중 자원과 시간 인식이 가능한 공간에서 어려운 작업을 우선 스케줄링하는 스케줄러가 실제 데이터 분석 DAG에서 거의 최적의 성능을 달성할 수 있는가?
- RQ2복잡한 DAG, 상호 작업 종속성, 다중 자원 요구량, 공정성 제약 조건을 고려할 때, 높은 스케줄링 오버헤드 없이도 확장 가능하고 온라인으로 동작하는 스케줄러는 어떻게 처리할 수 있는가?
- RQ3특히 장시간 실행되거나 패킹이 어려운 작업을 조기에 배치하는 스케줄링 전략이 실생산 워크로드에서 작업 완료 시간과 클러스터 활용도에 어떤 영향을 미치는가?
- RQ4오프라인 최적화와 온라인 조율을 조합한 하이브리드 스케줄링 접근법이 실세계 클러스터 트레이스에서 기존 온라인 히وري스틱보다 얼마나 뛰어나게 성능을 높일 수 있는가?
주요 결과
- 대규모 기업의 생산 클러스터에서 수집한 트레이스를 기반으로 한 200대 서버 클러스터에서 평가한 결과, DagPS는 절반 이상의 작업에 대해 작업 완료 시간을 30퍼센트 이상 감소시켰다.
- 일반적인 DAG 스케줄링 문제의 NP-완전성에도 불구하고, 실제 DAG에서 중앙값 작업 깊이가 7이며 1,000개 이상의 작업을 처리할 수 있는 거의 최적의 성능을 달성했다.
- 문제를 일으키는 작업을 먼저 배치함으로써 자원 분할을 효과적으로 줄이고, 남은 작업들이 자원-시간 공간 내의 빈 공간에 더 잘 맞출 수 있도록 했다.
- 조율 히وري스틱은 불공정성을 사용자가 설정한 범위 내에서 제한하면서도, 패킹 및 지연 시간 등의 다중 목표가 충돌할 경우 엄격한 공정성에서의 이탈을 허용한다.
- 시스템은 효과적으로 확장 가능하다: 생산 DAG의 24퍼센트는 네 개 이상의 순서화된 파artition으로 나누어 스케줄링 복잡도를 낮추며, 스테이지 수준의 추론을 통해 스케줄링 대상 작업 수를 추가로 줄였다.
- 생산 트레이스에서 수집한 20,000개의 DAG에 대한 실증 평가 결과, DagPS는 작업 완료 시간과 자원 활용도 측면에서 최신 스케줄러를 크게 능가했다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.