Aneka에서 사용자 정의 스케줄러를 손쉽게 구현하는 API

Aneka에서 사용자 정의 스케줄러를 손쉽게 구현하는 API
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 PaaS 플랫폼 Aneka에 사용자 정의 스케줄링 알고리즘을 통합할 수 있는 API를 설계·구현한다. 기존 시뮬레이터와 달리 실제 클라우드 환경에서 알고리즘을 검증할 수 있도록, 작업 제출, 자원 조회, 실행 상태 관리 등 핵심 기능을 추상화하고 플러그인 형태로 제공한다. 이를 통해 사설·공용·하이브리드 클라우드와의 연동이 용이해지며, 연구자와 개발자는 자신의 스케줄링 로직을 빠르게 테스트하고 최적화할 수 있다.

상세 분석

Aneka는 .NET 기반의 PaaS 솔루션으로, 다양한 프로그래밍 모델(맵리듀스, 작업 흐름, 파라렐 루프 등)을 지원하고, 물리적·가상적 자원을 추상화하여 서비스 형태로 제공한다. 그러나 기존 Aneka는 기본 제공 스케줄러에 의존했으며, 새로운 알고리즘을 적용하려면 내부 코드를 수정하거나 복잡한 플러그인 구조를 직접 구현해야 하는 한계가 있었다. 본 논문은 이러한 문제를 해결하기 위해 Scheduling API라는 중간 계층을 도입한다.

API는 크게 IProvisioning, IResourceManager, ISchedulingAlgorithm, ISchedulingContext 네 가지 인터페이스로 구성된다. IProvisioning은 클라우드 인프라(예: AWS, Azure, OpenStack)와의 연결을 담당하며, 동적 자원 확장·축소를 위한 메서드(start/stop, getStatus)를 제공한다. IResourceManager는 현재 가용 자원의 메타데이터(CPU, 메모리, 네트워크 대역폭 등)를 실시간으로 수집하고, 스케줄러에게 조회 인터페이스를 제공한다. ISchedulingAlgorithm은 사용자가 구현해야 하는 핵심 추상 클래스이며, schedule(TaskCollection tasks, ResourcePool pool) 메서드에서 작업 배정 로직을 정의한다. 이때 API는 작업 우선순위, 의존성 그래프, SLA(응답 시간, 비용) 등을 파라미터로 전달해 알고리즘이 다중 목표를 동시에 고려하도록 설계되었다. ISchedulingContext는 스케줄링 과정에서 발생하는 이벤트(작업 시작, 완료, 실패, 재시도)를 캡처하고, 로그 및 모니터링 시스템에 전달한다.

특히, 플러그인 메커니즘을 통해 개발자는 JAR·DLL 형태의 패키지를 배포하고, Aneka 관리 콘솔에서 동적으로 로드할 수 있다. 이는 기존에 소스 코드를 재컴파일해야 했던 불편함을 해소한다. 또한, API는 Hybrid Cloud 지원을 기본으로 한다. 예를 들어, 사설 데이터센터의 자원이 포화될 경우 IProvisioning이 자동으로 퍼블릭 클라우드 인스턴스를 프로비저닝하고, ISchedulingAlgorithm이 비용‑성능 트레이드오프를 고려해 작업을 이동시킨다.

성능 평가에서는 대표적인 두 가지 스케줄링 알고리즘(FCFS 기반과 비용‑우선형)을 구현해 비교하였다. 시뮬레이션 환경인 CloudSim과 실제 Aneka 클러스터(8노드, 4코어)에서 동일 워크로드를 실행했을 때, 시뮬레이션에서는 평균 응답 시간이 12% 낮게 측정됐으나 실제 환경에서는 네트워크 지연, VM 부팅 시간 등으로 인해 18% 정도 차이가 발생함을 확인했다. 이는 실제 클라우드 환경에서 알고리즘을 검증하는 필요성을 강조한다.

마지막으로, API의 확장성보안 측면도 논의한다. 인터페이스는 .NET 표준을 따르므로 다른 언어(C#, F#)와도 호환 가능하며, 인증·인가 모듈과 연동해 스케줄러가 자원에 접근할 때 최소 권한 원칙을 적용한다. 다만, 현재는 멀티테넌시 환경에서 스케줄러 간 충돌 방지 메커니즘이 부족하고, 대규모 클러스터(수천 노드)에서의 성능 테스트가 미흡하다는 제한점이 있다. 향후 연구에서는 분산 스케줄러 레이어와 자동 튜닝 기능을 추가해 이러한 문제를 보완할 계획이다.


댓글 및 학술 토론

Loading comments...

의견 남기기