클라우드 환경에서 Hadoop MapReduce 스케줄링 개선 방안 연구

클라우드 환경에서 Hadoop MapReduce 스케줄링 개선 방안 연구
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 클라우드 기반 Hadoop MapReduce 클러스터에서 기본 FIFO 스케줄러의 한계를 분석하고, Capacity Scheduler, Fair Scheduler 등 기존 대안들을 검토한다. 이를 바탕으로 자원 가용성, 작업 우선순위, 멀티테넌시, 지연시간 보장 등을 고려한 스케줄링 개선 지침을 제시한다.

상세 분석

Hadoop MapReduce는 대규모 데이터 처리를 위한 대표적인 배치 처리 프레임워크이며, 클라우드 환경에서는 가변적인 자원 풀과 다중 사용자 요구를 동시에 만족시켜야 한다. 기존 Hadoop 배포판은 FIFO 스케줄러를 기본으로 제공하는데, 이는 작업을 제출 순서대로 실행하므로 고우선순위 작업이 뒤에 밀리는 현상이 빈번하다. 이러한 구조적 한계는 특히 SLA(서비스 수준 계약) 기반의 클라우드 서비스에서 허용될 수 없으며, 자원 활용 효율성도 저하시킨다.

논문은 먼저 Capacity Scheduler와 Fair Scheduler 두 가지 대안을 상세히 비교한다. Capacity Scheduler는 테넌트별로 할당량을 사전에 정의하고, 할당량 초과 시 다른 테넌트의 여유 자원을 활용하도록 설계돼 있어 다중 조직이 동시에 클러스터를 공유할 때 유용하다. 반면 Fair Scheduler는 모든 작업에 공정한 공유 비율을 보장하려는 목표로, 작업이 오래 대기하면 자동으로 더 많은 슬롯을 할당받는다. 두 스케줄러 모두 슬롯 기반 할당 모델을 사용하므로, 클라우드의 탄력적 자원(예: VM 자동 스케일링)과 직접 연동하기 어렵다.

핵심 개선 포인트는 다음과 같다. 첫째, 동적 슬롯 할당을 도입해 YARN(ResourceManager)과 연계, 현재 클러스터 부하와 작업 특성에 따라 슬롯 수를 실시간으로 조정한다. 둘째, 우선순위와 QoS 기반 스케줄링을 구현해 작업 메타데이터(예: deadline, 비용 제한)를 파싱하고, 이를 기반으로 자원 배분 정책을 가중치 형태로 적용한다. 셋째, 선점(preemption) 메커니즘을 강화해 고우선순위 작업이 필요 시 현재 실행 중인 저우선순위 작업을 중단하고, 중단된 작업은 체크포인트를 저장해 재시작한다. 넷째, 예측 기반 스펙터티브 실행을 활용해 동일한 입력에 대해 여러 복제본을 동시에 실행하고, 가장 빠른 복제본이 완료되면 나머지는 취소함으로써 전체 지연시간을 감소시킨다. 다섯째, 에너지 효율 스케줄링을 위해 저부하 구간에는 저전력 노드로 작업을 이동시키고, 고부하 구간에는 고성능 노드를 우선 활용한다.

또한, 클라우드 특유의 멀티테넌시와 비용 모델을 반영해 사용자는 작업 제출 시 예상 비용을 선언하고, 스케줄러는 비용 한도 내에서 최적의 자원 배치를 수행한다. 이를 위해 YARN의 Capacity Scheduler를 확장해 테넌트별 비용 할당량을 관리하고, 초과 시 자동으로 비용 초과 알림을 발생시킨다. 마지막으로, 데이터 로컬리티를 고려한 스케줄링 정책을 제안한다. HDFS 블록 위치 정보를 실시간으로 조회해, 가능한 경우 동일 노드 혹은 동일 랙에 작업을 배치함으로써 네트워크 대역폭 사용을 최소화한다.

이러한 개선 방안은 모두 Hadoop MapReduce가 기존의 배치 중심 모델을 넘어, 클라우드 환경에서 실시간성, 비용 효율성, 서비스 품질을 동시에 만족시킬 수 있는 기반을 제공한다.


댓글 및 학술 토론

Loading comments...

의견 남기기