Skip to main content
QUICK REVIEW

[논문 리뷰] Two stage cluster for resource optimization with Apache Mesos

Gourav Rattihalli, Pankaj Saha|arXiv (Cornell University)|2019. 05. 22.
Cloud Computing and Resource Management참고 문헌 10인용 수 5
한 줄 요약

이 논문은 먼저 작은 '리틀' 클러스터에서 작업을 프로파일링하여 실제 자원 필요량을 추정한 후 대규모 '빅' 클러스터에서 실행하기 위해 Apache Mesos와 Aurora를 사용하는 이중 클러스터 아키텍처를 제안한다. 짧은 실행 기간 동안의 통계적 프로파일링을 통해 CPU 사용량을 94%, 메모리 사용량을 90%의 정확도로 예측함으로써, 기본 Mesos/Aurora 스케줄링 대비 CPU 활용도를 53% 향상시키고 메모리 활용도를 22% 향상시켜 처리량을 크게 증가시키고 낭비되는 자원을 줄인다.

ABSTRACT

As resource estimation for jobs is difficult, users often overestimate their requirements. Both commercial clouds and academic campus clusters suffer from low resource utilization and long wait times as the resource estimates for jobs, provided by users, is inaccurate. We present an approach to statistically estimate the actual resource requirement of a job in a Little cluster before the run in a Big cluster. The initial estimation on the little cluster gives us a view of how much actual resources a job requires. This initial estimate allows us to accurately allocate resources for the pending jobs in the queue and thereby improve throughput and resource utilization. In our experiments, we determined resource utilization estimates with an average accuracy of 90% for memory and 94% for CPU, while we make better utilization of memory by an average of 22% and CPU by 53%, compared to the default job submission methods on Apache Aurora and Apache Mesos.

연구 동기 및 목표

  • 사용자가 제공한 자원 추정이 부정확하여 발생하는 Mesos 및 Aurora 클러스터의 낮은 자원 활용도와 긴 작업 대기 시간 문제를 해결하기 위해.
  • 클라우드 및 HPC 환경에서의 CPU 및 메모리 자원 과다 할당을 줄여 비용 증가와 자원 낭비를 방지하기 위해.
  • 이전 데이터나 작업 그룹화 없이도 동적으로 경량의 프로파일링 시스템을 설계하여 작업의 자원 필요량을 추정하기 위해.
  • 이중 클러스터 모델을 사용하여 CPU 및 메모리 활용도, 처리량, 스케줄링 효율성 향상을 정량화하기 위해.
  • 최적의 자원 활용도를 위해 프로파일링용(리틀) 클러스터와 생산용(빅) 클러스터 간의 최적의 크기 비율을 규명하기 위해.

제안 방법

  • 작은 '리틀' 클러스터에서 초기 프로파일링을 수행하고, 대규모 '빅' 클러스터에서 생산 실행을 수행하는 이중 클러스터 아키텍처를 구현한다.
  • 각 작업은 먼저 리틀 클러스터에서 몇 초 동안 실행되어 Docker API를 통해 실시간 CPU 및 메모리 사용량 메트릭을 수집한다.
  • 단기 실행 동안의 자원 소비에 대한 통계 분석을 통해 전체 작업 실행에 필요한 실제 자원 요구량을 추정한다.
  • 추정된 자원 값은 Apache Aurora를 통해 빅 클러스터에 작업을 제출하는 데 사용되어 보다 정확한 할당이 이루어지도록 한다.
  • 성능 및 오버헤드를 비교하기 위해 두 가지 스케줄링 전략인 '독점적 액세스'와 '공동 스케줄링'을 평가한다.
  • 실시간 프로파일링 기반으로 자원 할당을 동적으로 조정하여 과다 예약을 방지하고 클러스터 스케줄링 효율성을 향상시킨다.

실험 결과

연구 질문

  • RQ1프로파일링용(리틀) 클러스터와 생산용(빅) 클러스터 간의 최적의 크기 비율은 자원 활용도와 처리량을 극대화하기 위해 얼마인가?
  • RQ2작은 클러스터에서 짧은 기간 실행된 작업이 전체 규모의 작업에 대한 실제 CPU 및 메모리 요구량을 얼마나 정확하게 예측할 수 있는가?
  • RQ3이중 클러스터 모델에서 '독점적 액세스'와 '공동 스케줄링' 방식 간의 성능 및 오버헤드 트레이드오���은 어떠한가?
  • RQ4이 프로파일링 기반 접근법은 기본 Mesos/Aurora 스케줄링 대비 CPU 및 메모리 활용도를 얼마나 향상시킬 수 있는가?
  • RQ5실제 클러스터 환경에서 이중 클러스터 방식은 전체 시스템 처리량과 작업 대기 시간에 어떤 영향을 미치는가?

주요 결과

  • 짧은 프로파일링 실행 기반으로 이중 클러스터 방식은 CPU 자원 요구량 예측 정확도가 94%에 달했고, 메모리 사용량 예측 정확도는 90%였다.
  • 기본 Mesos/Aurora 스케줄링 대비, 공동 스케줄링 방식은 10노드 빅 클러스터에서 CPU 활용도를 53% 향상시키고 메모리 활용도를 22% 향상시켰다.
  • 독점적 액세스 방식은 6노드 빅 클러스터를 사용할 경우 기본 Mesos/Aurora 스케줄링 대비 처리량이 81% 높았다.
  • 최적의 클러스터 크기 비율은 독점적 액세스 방식에서 1:6에서 1:8, 공동 스케줄링 방식에서는 1:10로 확인되었다.
  • 공동 스케줄링 방식은 독점적 액세스 방식보다 스케줄링 오버헤드를 줄이고 처리량 향상 효과가 더 뚜렷했으며, 클러스터 크기가 커질수록 그 효과가 커졌다.
  • 이 방법은 클라우드 및 HPC 클러스터에서 효율성 저하의 주요 원인인 자원 과다 할당을 크게 감소시켰다.

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

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

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

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