[논문 리뷰] Affinity-aware Serverless Function Scheduling
이 논문은 서버리스 함수형 서비스(FaaS) 환경에서 유사도 기반 스케줄링을 가능하게 하는, 선언적이고 플랫폼에 종속되지 않는 언어 확장인 aAPP을 제안한다. 개발자가 다른 함수의 런타임 존재 여부에 기반해 함수를 함께 위치시키거나 분리시키는 정책을 표현할 수 있도록 함으로써, 지연 시간에 민감하고 보안이 중요한 시나리오에서 성능을 향상시키며, 비유사도 워크로드에서는 거의 영향을 주지 않는다.
Functions-as-a-Service (FaaS) is a Serverless Cloud paradigm where a platform manages the scheduling (e.g., resource allocation, runtime environments) of stateless functions. Recent work proposed using domain-specific languages to express per-function policies, e.g., policies that enforce the allocation on nodes that enjoy lower latencies to databases and services used by the function. Here, we focus on affinity-aware scenarios, i.e., where, for performance and functional requirements, the allocation of a function depends on the presence/absence of other functions on nodes. We present aAPP, an extension of a declarative, platform-agnostic language that captures affinity-aware scheduling at the FaaS level. We implement an aAPP-based prototype on Apache OpenWhisk. Besides proving that a FaaS platform can capture affinity awareness using aAPP and improve performance in affinity-aware scenarios, we use our prototype to show that aAPP imposes no noticeable overhead in scenarios without affinity constraints.
연구 동기 및 목표
- FaaS 플랫폼에서 함수(반)유사도 제약 조건에 대한 내장된 지원 부족 문제를 해결하기 위해.
- 개발자가 런타임 시 함수의 공통 위치 또는 분리 기반으로 스케줄링 정책을 표현할 수 있도록 하기 위해.
- 기존 FaaS 런타임과 원활하게 통합되는 선언적이고 플랫폼에 종속되지 않는 언어 확장을 설계하기 위해.
- aAPP의 성능 영향을 유사도 기반 및 비유사도 시나리오 모두에서 평가하기 위해.
- aAPP가 복잡한 스케줄링 정책을 허용하면서도 실행 시 오버헤드가 거의 없음을 입증하기 위해.
제안 방법
- 기존의 APP 언어에 함수 유사도 및 반유사도 제약 조건을 표현할 수 있는 새로운 구문을 추가한다.
- aAPP 정책에 기반해 함수가 워커에 할당될 수 있는지 확인하는 선형 시간 스케줄링 알고리즘을 설계한다.
- Apache OpenWhisk에 기반한 aAPP 프로토타입을 구현하며, 정책 평가를 스케줄링 파이프라인에 통합한다.
- 함수별로 선언적 구문을 사용해 정책을 정의하여, 대상 워커에서 다른 함수의 필수 존재 또는 제외를 지정한다.
- 다중 컨트롤러 배포 환경에서 스케줄링 경쟁을 방지하기 위해 중앙 집중식 스케줄러를 사용한다.
- 7개의 벤치마크를 사용해 프로토타입을 검증하고, 성능 오버헤드를 측정하기 위해 일반 OpenWhisk와 비교한다.
실험 결과
연구 질문
- RQ1aAPP는 FaaS 수준에서 유사도 기반 스케줄링 정책을 효과적으로 표현할 수 있는가, 예를 들어 데이터베이스 연결을 공유하는 함수들을 함께 위치시키는 것과 같은가?
- RQ2Apache OpenWhisk에 aAPP를 통합할 경우 비유사도 시나리오에서 측정 가능한 성능 오버헤드가 발생하는가?
- RQ3aAPP 기반 스케줄링은 유사도 기반 사용 사례에서 성능을 어떻게 향상시키는가, 예를 들어 계산 집약적인 함수와의 자원 경쟁을 피하기 위한가?
- RQ4aAPP는 런타임에서 효율적으로 평가될 수 있는가, 확장성과 낮은 지연 시간을 보장하는가?
- RQ5(반)유사도 제약 조건이 실제 FaaS 워크로드에서 함수 스케줄링에 어떤 영향을 미치는가?
주요 결과
- aAPP 기반 프로토타입은 FaaS 스케줄링에서 (반)유사도 제약 조건을 성공적으로 강제하며, 유사도 기반 시나리오에서 상호 함수 간 지연 시간과 자원 경쟁을 줄여 성능을 향상시킨다.
- 비유사도 워크로드에서는 aAPP가 거의 영향을 주지 않으며, 7개의 벤치마크 전반에서 측정 가능한 임계값 이하의 성능 저하가 발생한다.
- 스케줄링 알고리즘은 워커 수와 스크립트 길이에 대해 선형 시간 내에 작동하여 확장성을 보장한다.
- 프로토타입은 FaaS 수준의 유사도 기반 스케줄링이 VM/컨테이너 재사용을 훼손하지 않으며 인프라 추상화 누출을 유발하지 않으면서도 실현 가능하고 효율적임을 입증한다.
- 평가 결과 aAPP는 플랫폼 성능을 손상시키지 않으면서도 표현력 있고 안전하며 효율적인 스케줄링 정책을 가능하게 한다.
- 이 연구는 aAPP를 다른 FaaS 플랫폼에 통합할 잠재력을 강조하며, 초기 지원이 이미 FunLess에 확장되어 있다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.