클라우드 스케줄러 분산 컴퓨팅 클라우드를 위한 가상 머신 자원 관리기
클라우드 스케줄러는 사용자가 제출한 배치 작업에 따라 자동으로 가상 머신(VM)을 생성·제거하고, IaaS 클라우드 환경에서 과학 애플리케이션을 투명하게 실행하도록 설계된 자원 관리 시스템이다. 사용자 정의 이미지와 정책 기반 스케줄링을 통해 퍼블릭·프라이빗 클라우드 모두에서 대규모 작업을 효율적으로 처리한다.
초록
클라우드 스케줄러는 사용자가 제출한 배치 작업에 따라 자동으로 가상 머신(VM)을 생성·제거하고, IaaS 클라우드 환경에서 과학 애플리케이션을 투명하게 실행하도록 설계된 자원 관리 시스템이다. 사용자 정의 이미지와 정책 기반 스케줄링을 통해 퍼블릭·프라이빗 클라우드 모두에서 대규모 작업을 효율적으로 처리한다.
상세 요약
본 논문은 과학 워크플로우가 요구하는 대규모 컴퓨팅 자원을 클라우드 환경에 매핑하는 과정에서 발생하는 복잡성을 최소화하기 위해 설계된 “Cloud Scheduler”의 구조와 동작 메커니즘을 상세히 분석한다. 먼저, 시스템은 기존 배치 시스템(예: HTCondor, PBS)과의 인터페이스를 통해 사용자의 작업을 수집하고, 작업 메타데이터(필요 CPU, 메모리, 스토리지, 이미지 ID 등)를 파싱한다. 파싱된 정보는 “VM 요청 큐”에 삽입되며, Scheduler는 사전에 정의된 정책(우선순위, 비용 제한, 클라우드 제공자 별 가용성)과 현재 클라우드 인프라의 상태를 종합해 최적의 VM 배치를 결정한다.
VM 배치는 OpenStack, Amazon EC2, Google Compute Engine 등 다양한 IaaS API를 추상화한 “Cloud Adapter” 모듈을 통해 수행된다. 이 모듈은 이미지 선택, 인스턴스 유형 매핑, 보안 그룹 설정, 키 페어 관리 등을 자동화한다. VM이 부팅되면 내부에 배치 시스템 에이전트가 설치되어 작업을 받아 실행한다. 작업이 완료되면 에이전트는 결과를 중앙 스토리지에 전송하고, Scheduler는 사용량 통계를 업데이트한 뒤 정책에 따라 VM을 종료하거나 재사용한다.
핵심 설계 포인트는 “동적 스케일링”과 “자원 회수”이다. Scheduler는 작업 큐의 길이와 대기 시간을 실시간으로 모니터링하고, 임계값을 초과하면 추가 VM을 요청한다. 반대로, 유휴 VM이 일정 시간 이상 사용되지 않으면 자동으로 종료시켜 비용을 최소화한다. 또한, 장애 상황(네트워크 단절, API 오류, VM 부팅 실패 등)에 대비해 재시도 로직과 백업 클라우드 선택 메커니즘을 구현해 서비스 연속성을 확보한다.
성능 평가에서는 물리적 클러스터와 비교했을 때 평균 대기 시간이 30 % 감소하고, 비용 효율성 측면에서는 작업당 비용이 20 % 이하로 감소함을 보였다. 특히, 대규모 입자 물리학 시뮬레이션과 천문 데이터 처리 워크플로우에서 수천 개의 동시 작업을 안정적으로 처리했으며, 퍼블릭 클라우드와 사내 프라이빗 클라우드 간의 하이브리드 운영도 원활히 수행되었다.
한계점으로는 이미지 관리의 복잡성, 클라우드 제공자 간 API 차이로 인한 추가 어댑터 개발 비용, 그리고 비용 최적화를 위한 정교한 정책 설계가 필요함을 지적한다. 향후 연구에서는 머신러닝 기반 예측 모델을 도입해 자원 요청을 사전 예측하고, 컨테이너 기반 경량화 전략을 결합해 부팅 시간을 더욱 단축하는 방향을 제시한다.
📜 논문 원문 (영문)
🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...