当前位置: X-MOL 学术Softw. Pract. Exp. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Container lifecycle-aware scheduling for serverless computing
Software: Practice and Experience ( IF 3.5 ) Pub Date : 2021-07-09 , DOI: 10.1002/spe.3016
Song Wu 1 , Zhiheng Tao 1 , Hao Fan 1 , Zhuo Huang 1 , Xinmin Zhang 1 , Hai Jin 1 , Chen Yu 1 , Chun Cao 2
Affiliation  

Elastic scaling in response to changes on demand is a main benefit of serverless computing. When bursty workloads arrive, a serverless platform launches many new containers and initializes function environments (known as cold starts), which incurs significant startup latency. To reduce cold starts, platforms usually pause a container after it serves a request, and reuse this container for subsequent requests. However, this reuse strategy cannot efficiently reduce cold starts because the schedulers are agnostic of container lifecycle. For example, it may ignore soon available containers or evict soon needed containers. We propose a container lifecycle-aware scheduling strategy for serverless computing, CAS. The key idea is to control distribution of requests and determine creation or eviction of containers according to different lifecycle phases of containers. We implement a prototype of CAS on OpenWhisk. Our evaluation shows that CAS reduces 81% cold starts and therefore brings a 63% reduction at 95th percentile latency compared with native scheduling strategy in OpenWhisk when there is worker contention between workloads, and does not add significant performance overhead.

中文翻译:

无服务器计算的容器生命周期感知调度

响应需求变化的弹性扩展是无服务器计算的主要优势。当突发性工作负载到来时,无服务器平台会启动许多新容器并初始化功能环境(称为冷启动),这会导致显着的启动延迟。为了减少冷启动,平台通常会在服务请求后暂停容器,并将此容器重用于后续请求。但是,这种重用策略不能有效地减少冷启动,因为调度程序与容器生命周期无关。例如,它可能会忽略很快可用的容器或驱逐很快需要的容器。我们提出了一种用于无服务器计算的容器生命周期感知调度策略 CAS。其核心思想是控制请求的分布,根据容器的不同生命周期阶段确定容器的创建或驱逐。我们在 OpenWhisk 上实现了一个 CAS 原型。我们的评估表明CAS降低了81%冷启动,因此与 OpenWhisk 中的本地调度策略相比,当工作负载之间存在工作争用时,95% 的延迟减少了 63%,并且不会增加显着的性能开销。
更新日期:2021-07-09
down
wechat
bug