[논문 리뷰] Archipelago: A Scalable Low-Latency Serverless Platform
Archipelago는 클러스터를 워커 풀로 분할하고, 반구역적 스케줄러(SGS)가 이를 관리하는 확장성 있고 저지연 시간의 서버리스 플랫폼이다. 이 플랫폼은 지연 시간 인식 스케줄링과 능동적 사전 할당 사전 환경을 사용하며, 사전 환경 인식 로드 밸런싱을 통해 요청을 라우팅한다. 99퍼센트의 요청에 대해 300ms 이내의 꼬리 지연 시간을 달성하며, 최신 기술 수준의 플랫폼 대비 최대 36배 낮은 꼬리 지연 시간을 기록한다.
The increased use of micro-services to build web applications has spurred the rapid growth of Function-as-a-Service (FaaS) or serverless computing platforms. While FaaS simplifies provisioning and scaling for application developers, it introduces new challenges in resource management that need to be handled by the cloud provider. Our analysis of popular serverless workloads indicates that schedulers need to handle functions that are very short-lived, have unpredictable arrival patterns, and require expensive setup of sandboxes. The challenge of running a large number of such functions in a multi-tenant cluster makes existing scheduling frameworks unsuitable. We present Archipelago, a platform that enables low latency request execution in a multi-tenant serverless setting. Archipelago views each application as a DAG of functions, and every DAG in associated with a latency deadline. Archipelago achieves its per-DAG request latency goals by: (1) partitioning a given cluster into a number of smaller worker pools, and associating each pool with a semi-global scheduler (SGS), (2) using a latency-aware scheduler within each SGS along with proactive sandbox allocation to reduce overheads, and (3) using a load balancing layer to route requests for different DAGs to the appropriate SGS, and automatically scale the number of SGSs per DAG. Our testbed results show that Archipelago meets the latency deadline for more than 99% of realistic application request workloads, and reduces tail latencies by up to 36X compared to state-of-the-art serverless platforms.
연구 동기 및 목표
- 멀티테넌트 클러스터에서 짧고 생기적이고 사전 환경 기반의 서버리스 함수를 저지연 시간, 고처리량으로 실행하는 데 도전하는 것.
- 동적 워크로드 하에서 DAG 기반 서버리스 애플리케이션의 종단 간 요청 마감일을 충족시키는 것.
- 확장성 있고 분산된 스케줄링을 통해 대규모 서버리스 환경에서의 스케줄링 오버헤드와 콜드 스타트를 줄이는 것.
- 워크로드 수요와 지연 시간 요구 사항에 따라 스케줄러의 자동 사전 환경 인식 스케일링을 가능하게 하는 것.
제안 방법
- Archipelago는 클러스터를 여러 워커 풀로 분할하고, 각 워커 풀은 반구역적 스케줄러(SGS)가 관리하여 스케줄링 오버헤드를 줄이고 확장성을 향상시킨다.
- 각 SGS는 지연 시간 인식 스케줄링 알고리즘을 사용하며, 각 DAG 요청에 대해 '슬랙'(남은 시간)을 계산하고, 나머지 시간이 가장 짧은 작업 우선 순위를 정하는 SRTF(Single Remaining Time First) 변종 알고리즘을 적용한다.
- 각 SGS 내에서 능동적 사전 환경 할당을 시행하여, DAG 요청 빈도에 기반해 소프트 상태 사전 환경을 사전 할당함으로써 콜드 스타트와 설정 오버헤드를 최소화한다.
- 사전 환경 인식 로드 밸런서는 가용한 사전 환경과 워크로드 분포를 기반으로 들어오는 요청을 적절한 SGS로 라우팅하여, 각 DAG에 대해 SGS 인스턴스의 동적 스케일링을 가능하게 한다.
- 시스템은 소프트 상태 사전 환경을 사용하며, 메모리만 소비하고 정확성 손실 없이 제거될 수 있어 자원 재사용을 효율적으로 가능하게 한다.
- 다양한 지연 시간 요구 사항을 가진 애플리케이션 간의 공존을 허용함으로써 멀티테넌시를 지원하며, 각 DAG에 대해 엄격한 마감일 보장을 제공한다.
실험 결과
연구 질문
- RQ1멀티테넌시 클러스터에서 짧고 동적 워크로드가 많은 환경에서 서버리스 플랫폼이 어떻게 저꼬리 지연 시간을 달성할 수 있는가?
- RQ2대규모 서버리스 시스템에서 스케줄러의 세분성과 스케줄링 오버헤드 사이의 최적의 트레이드오프는 무엇인가?
- RQ3능동적 사전 환경 할당이 서버리스 실행에서 콜드 스타트를 크게 줄이고 종단 간 지연 시간을 향상시킬 수 있는가?
- RQ4분산 스케줄링 아키텍처는 DAG 기반 워크로드에 대해 마감일 준수를 보장하면서도 저지연 시간을 유지할 수 있는가?
- RQ5사전 환경 인식 로드 밸런싱은 자동 스케일링과 저지연 시간 요청 라우팅을 가능하게 하는 데 어떤 역할을 하는가?
주요 결과
- Archipelago는 동적이고 급격한 트래픽 패턴 하에서 실제 애플리케이션 요청 워크로드의 99퍼센트 이상에 대해 종단 간 지연 시간 마감일을 충족한다.
- 플랫폼은 최신 기술 수준의 서버리스 플랫폼 대비 꼬리 지연 시간을 최대 36배 감소시켜 반응성을 크게 향상시킨다.
- 세분화된 파artitioning(예: 각 SGS당 워커 1개로 20개의 SGS)는 과도한 콜드 스타트와 스케일링 오버헤드로 인해 꼬리 지연 시간을 약 4배 증가시킨다.
- SGS당 64台를 초과하면 스케줄링 오버헤드가 지배적이 되어 불필요한 스케일링과 워커의 저활성화가 발생한다.
- 능동적 사전 환경 할당은 콜드 스타트 수를 줄이고, 특히 요청 변동성이 높을 경우 요청 완료 시간을 향상시킨다.
- 사전 환경 인식 로드 밸런서는 DAG당 SGS 인스턴스의 효율적이고 자동적인 스케일링을 가능하게 하여 요청 도착률과 사전 환경 가용성에 적응한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.