[논문 리뷰] Canary: A Scheduling Architecture for High Performance Cloud Computing
Canary는 중앙 집중식 컨트롤러에서 작업 스케줄링 책임을 개별 워커로 이관함으로써 수천 코어에서 고성능 분석을 가능하게 하는 탈중앙화된 스케줄링 아키텍처를 제안한다. 데이터 파artitions를 작업을 수행할 워커에 할당하고, 워커가 로컬에서 작업을 스케줄링함으로써 Canary는 Spark 대비 최대 90배의 성능 향상을 달성했으며, GraphX 대비 4배의 성능 향상을 기록했으며, 64개의 워커에서 1초당 1억 2천만 건 이상의 작업 스케줄링을 선형적으로 확장 가능하다.
We present Canary, a scheduling architecture that allows high performance analytics workloads to scale out to run on thousands of cores. Canary is motivated by the observation that a central scheduler is a bottleneck for high performance codes: a handful of multicore workers can execute tasks faster than a controller can schedule them. The key insight in Canary is to reverse the responsibilities between controllers and workers. Rather than dispatch tasks to workers, which then fetch data as necessary, in Canary the controller assigns data partitions to workers, which then spawn and schedule tasks locally. We evaluate three benchmark applications in Canary on up to 64 servers and 1,152 cores on Amazon EC2. Canary achieves up to 9-90X speedup over Spark and up to 4X speedup over GraphX, a highly optimized graph analytics engine. While current centralized schedulers can schedule 2,500 tasks/second, each Canary worker can schedule 136,000 tasks/second per core and experiments show this scales out linearly, with 64 workers scheduling over 120 million tasks per second, allowing Canary to support optimized jobs running on thousands of cores.
연구 동기 및 목표
- 고성능 분석 워크로드에서 중앙 집중식 스케줄러의 확장성 한계를 해결하기 위해.
- 클라우드 환경에서 수천 코어에서 효율적인 워크로드 실행을 가능하게 하기 위해.
- 컨트롤러에서 워커로 스케줄링 책임을 이관함으로써 스케줄링 오버헤드를 감소시키기 위해.
- 실제 분석 벤치마크를 기반으로 제안된 아키텍처의 성능을 평가하기 위해.
제안 방법
- 기존의 스케줄링 방식을 뒤집어, 중앙 컨트롤러에서 작업을 디스패치하는 대신 데이터 파artitions를 워커에 할당한다.
- 각 워커는 할당된 데이터 파artitions에서 로컬로 작업을 스케줄링하고 실행함으로써 컨트롤러의 부담을 감소시킨다.
- 워커가 할당된 데이터 세그먼트 내에서 작업 스케줄링을 자율적으로 관리하는 탈중앙화된 아키텍처를 채택한다.
- 워커 간 선형 확장이 가능하며, 각 코어는 1초당 136,000개의 작업을 스케줄링할 수 있다.
- 최대 64台의 서버와 1,152개의 코어에서 성능을 평가하기 위해 Amazon EC2를 사용한다.
- 세 가지 벤치마크 애플리케이션을 사용하여 Spark 및 GraphX와의 성능을 비교한다.
실험 결과
연구 질문
- RQ1탈중앙화된 스케줄링 모델이 대규모 분석 워크로드에서 중앙 집중식 스케줄러를 크게 능가할 수 있는가?
- RQ2분산 환경에서 여러 워커 간 작업 스케줄링 처리량은 어떻게 확장되는가?
- RQ3고성능 컴퓨팅 환경에서 탈중앙화된 스케줄링이 컨트롤러의 병목 현상을 어느 정도 감소시킬 수 있는가?
- RQ4제안된 아키텍처는 Spark 및 GraphX와 같은 기존 시스템에 비해 어떤 성능 향상을 달성하는가?
주요 결과
- Canary는 평가된 벤치마크에서 Spark 대비 최대 90배의 성능 향상을 기록했다.
- Canary는 매우 최적화된 그래프 분석 엔진인 GraphX 대비 최대 4배의 성능 향상을 기록했다.
- 각 Canary 워커는 1초당 코어당 136,000개의 작업을 스케줄링할 수 있어 높은 스케줄링 처리량을 입증했다.
- 64개의 워커를 사용할 경우, Canary는 1초당 1억 2천만 개 이상의 작업 스케줄링을 달성했으며, 선형 확장성이 입증되었다.
- 중앙 스케줄러의 병목 현상이 제거되어 수천 코어에서 효율적인 실행이 가능해졌다.
- 클라우드 환경에서 다양한 벤치마크 애플리케이션에 걸쳐 일관된 성능 향상이 관찰되었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.