TOS 2024 Paper 论文阅读笔记整理
问题
企业越来越需要敏捷和弹性的计算基础设施来快速响应现实世界的情况。容器通过提供高效的基于流程的虚拟化和分层映像系统,可以实现灵活和弹性的应用程序部署。然而,由于图像下载和解包过程,创建或更新大型容器集群的速度仍然很慢。Verma等人[41]报告称,容器的启动延迟是高度变化的,典型的中值约为25秒,拉动层(包)约占总时间的80%。
现有方法局限性
-
通过点对点(P2P)方法加速图像下载过程来减少容器启动时间[22,24,26,34,41]。但启动延迟仍然不令人满意。
-
从远程图像中按需读取数据[10,18,20,21,23,37,45]。因为容器映像被组织为文件的覆盖层,并在运行时作为文件系统目录呈现给容器,所以之前的所有工作都遵循文件系统接口。但使用基于文件的图层有几个缺点。
-
更新大文件(或其属性)很慢,因为在执行更新操作之前,系统必须将整个文件复制到可写层。
-
创建硬链接的速度较慢,因为图像不支持跨层引用,也会触发复制操作。
-
文件可能有大量的类型、属性和扩展属性,但并非所有平台都支持这些属性。此外,即使在一个平台上,对硬链接、稀疏文件等功能的支持也往往在文件系统之间不一致。
-
本文方法
本文提出了针对分离式基础架构的数据加速图像服务(DADI),一种块级图像服务,用于提高部署应用程序的灵活性和弹性。DADI基于观察结果,即增量图像可以用基于块的层来实现,其中每个层对应于一组文件更改,但在物理上是给定文件系统下块级别的更改集。
DADI的核心是称为叠加式块设备(OverlayBD)的新结构,它提供了一系列块层的合并视图。从概念上讲,它可以被视为当今通常用于合并容器映像的联合文件系统。它比联合文件系统更简单,可以实现扁平的层,以避免具有多个层的容器的性能下降。其优势包括:
-
远程图像的细粒度按需数据传输
-
具有高效编解码器和压缩感知缓存的在线解压缩
-
基于跟踪的预取
-
基于P2P的去中心化图像共享架构,具有协作块预取以处理突发工作负载
-
灵活选择访客文件系统和主机系统
-
高效修改大文件(跨层块引用)
-
轻松与容器生态系统集成
通过OverlayBD实现的DADI包括以下技术:
-
用远程镜像的细粒度按需传输取代了启动容器(下载镜像、开箱镜像、启动容器)的瀑布模型,实现了容器的迅速启动。
-
具有高效编解码器和压缩感知缓存的在线解压缩。
-
为了加速容器的冷启动,设计了基于拉取的预取机制,允许主机以图像层的粒度预先读取必要的图像数据。
-
基于P2P的去中心化图像共享架构,以平衡所有参与主机之间的流量。
-
用于处理突发工作负载的拉推协作块预取。
DADI已在阿里巴巴的生产环境中大规模部署,服务于全球最大的电子商务平台之一。性能结果表明,DADI可以在4秒内冷启动1000台主机上的10000个容器。
总结
针对容器启动的优化,本文提出了针对分离式基础架构的数据加速图像服务(DADI),包括以下优化点:(1)远程镜像的细粒度按需传输。(2)具有高效编解码器和压缩感知缓存的在线解压缩。(3)基于拉取的预取机制,允许主机以图像层的粒度预先读取必要的图像数据。(4)基于P2P的去中心化图像共享架构,以平衡所有参与主机之间的流量。(5)用于处理突发工作负载的拉推协作块预取。