IEEE INFOCOM 2021 Paper 论文阅读笔记整理
问题
基于容器的微服务已经成为促进边缘计算弹性的一种很有前途的技术,与重型虚拟机(VM)不同,容器与底层主机共享操作系统内核,从而能够以更低的开销更快地启动服务。
基于容器的微服务有两个特点:
-
基于容器的微服务通常是短暂的,需要根据实时需求动态激活和停用。例如,谷歌每秒启动7000多个微服务,其中27%的微服务的生命周期短于5分钟,11%的微服务甚至短于1分钟。需要经常做出基于容器的微服务放置决策。此外,必须将相应的容器映像从远程注册表及时下载到本地磁盘,以便放置微服务[17]。当微服务镜像很大时,频繁的下载会导致巨大的流量开销,导致过大延迟。这严重阻碍了微服务的启动速度,成为微服务编排的主要瓶颈[18]-[20]。
-
基于容器的微服务图像采用分层结构,将所需项目(如运行时工具、系统工具、库、系统依赖项)打包在不同的独立层中。因此,微服务图像可以分层下载和存储[21]。不同图像可以共享共同的基本层,Docker等主流容器产品支持同一服务器上的图像之间的层共享。通过这种方式,只需要从注册表下载共享层的一个副本,这尤其适合资源有限的边缘地区。
本文方法
本文提出了一种层感知的微服务放置和请求调度(LA-MPRS)。通过在同一位置的图像之间进行层共享,显著提高托管微服务的吞吐量和数量。将其公式化为整数线性规划(ILP)问题,并证明是NP困难的,设计了一个具有保证近似率的迭代贪婪算法。
实验验证了方法的有效性,与最先进的微服务放置策略相比,放置的微服务数量可以分别增加27.61%和73.13%。
总结
针对边缘计算场景中基于容器的微服务技术,基于容器的特点,不同微服务可以分层并且共享共同的基本层。本文提出层感知的微服务放置和请求调度(LA-MPRS),将同一位置的容器进行层共享,将问题公式化为整数线性规划问题,设计了保证近似率的迭代贪婪算法进行请求调度。