一句话:提出面向 Serverless 的 FaaSMem 内存卸载机制,通过分阶段页分桶与半温期策略,降低本地内存占用并提升部署密度。
Serverless 计算中,空闲容器为缓解冷启动开销而不被立即回收,但仍占用大量内存,加剧数据中心内存短缺。将冷内存卸载到远程内存池有望缓解该问题,但现有卸载策略要么损害 QoS,要么在 Serverless 场景下粒度过粗。本文提出 FaaSMem,一种面向 Serverless 计算与内存贫乏架构的专用内存卸载机制。基于容器内存在不同阶段具有不同使用模式这一发现,FaaSMem 设计 Page Bucket(Pucket)按段隔离内存页,并施加分段卸载策略;同时在 keep-alive 阶段引入半温期,以权衡卸载开销与远程访问惩罚。实验显示,FaaSMem 将平均本地内存占用降低 9.9%–79.8%,容器部署密度提升 108%–218%,且 95 分位延迟增加可忽略。
In serverless computing, an idle container is not recycled directly, in order to mitigate time-consuming cold container startup. These idle containers still occupy the memory, exasperating the memory shortage of today's data centers. By offloading their cold memory to remote memory pool could potentially resolve this problem. However, existing offloading policies either hurt the Quality of Service (QoS) or are too coarse-grained in serverless computing scenarios. We therefore propose FaaSMem, a dedicated memory offloading mechanism tailored for serverless computing with memory poor architecture. It is proposed based on our finding that the memory of a serverless container allocated in different stages has different usage patterns. Specifically, FaaSMem proposes Page Bucket (Pucket) to segregate the memory pages in different segments, and applies segment-wise offloading policies for them. FaaSMem also proposes a semi-warm period during keep-alive stage, to seek a sweet spot between the offloading effort and the remote access penalty. Experimental results show that FaaSMem reduces the average local memory footprint by 9.9% - 79.8% and improves the container deployment density to 108% - 218%, with negligible 95%-ile latency increase.
@inproceedings{XuLLCZZPWZFG24,
title = {FaaSMem: Improving Memory Efficiency of Serverless Computing with Memory Pool Architecture},
author = {Chuhao Xu and Yiyu Liu and Zijun Li and Quan Chen and Han Zhao and Deze Zeng and Qian Peng and Xueqi Wu and Haifeng Zhao and Senbo Fu and Minyi Guo},
booktitle = {ASPLOS},
year = {2024},
doi = {10.1145/3620666.3651355}
}