介绍
移动和实时应用程序的普及,如增强现实和无人机(UAV)支持系统,挑战了云计算作为托管应用程序标准架构的主导地位,因为即使是现代网络基础设施也无法缓解数据中心和终端设备之间的物理距离造成的明显的端到端延迟(Shi和Dustdar,2016)。这些限制为一种称为边缘计算的新范式铺平了道路(Satyanarayanan等人,2009),该范式将数据处理带到网络边缘,靠近数据源,以耦合现代应用程序的实时要求。
边缘计算继承自云的特性之一是虚拟化,它支持多租户并改进了资源管理过程。一旦边缘资源被虚拟化,就可以跨边缘基础架构动态重新定位应用程序,以便在最终用户跨环境移动时为他们提供低延迟。
虽然虚拟化对最终用户是透明的,但它通常以两种可能的方式进行:虚拟机(VM)和容器。一方面,基于虚拟机的应用程序位于自己的操作系统之上,以相当大的开销为代价增加了环境的隔离性。另一方面,基于容器的应用程序共享来自主机操作系统的库和二进制文件,与VM相比减少了隔离,但带来了更大的灵活性和更低的资源使用率(Xavier等人,2013)。
虚拟机和容器是基于映像组装的,映像是包含应用程序使用的二进制文件和依赖项的模板。虽然VM映像通常是单层的,但容器映像基于分层的文件系统,其中顶层承载用户可写的内容,其他层传递容器依赖项。由于底层是只读的,因此在同一主机上运行的容器可以共享这些层的映像,从而减少了资源使用并缩短了在主机上使用缓存映像配置容器所需的时间。
考虑到虚拟机和容器之间的显著差异,应用程序的迁移因其所依赖的虚拟化类型而异。基于虚拟机的应用程序通过冷迁移和实时迁移技术进行重新定位,这通常会将应用程序的数据从源主机传输到目标主机。相反,基于容器的应用程序通常在目标主机中生成,而其底层容器映像则从附近的容器映像存储库(称为容器注册表)中提取。
尽管虚拟机增加了隔离,但容器已成为在边缘部署应用程序的主要选择(Pallewatta等人,2019年)。除了比虚拟机占用更少的空间外,与虚拟机相比,容器还将资源调配时间从几分钟减少到几秒钟,这满足了现代软件架构的灵活性和可处置性要求(Gannon等人,2017)。
在这种情况下,每当需要重新设置应用程序时,都会在目标位置生成一个容器,并从称为容器注册表的集中式存储库中提取应用程序的二进制文件和依赖项。因此,在基础设施中定义注册表位置是确保及时供应应用程序的关键决策(Knob等人,2021)。
在通过管理容器注册表来减少边缘基础结构中容器的供应时间方面,以前已经做了大量工作。总体而言,现有解决方案集中于(i)优化集装箱登记处的内部运营(Anwar等人,2018年,Harter等人,2016年,Chen等人,2022年),(ii)采用对等协议来缓解容器注册表和边缘服务器之间的网络需求(Nathan et al.,2017,Becker et al.,2021,Ahmed和Pierre,2019),或(iii)为基础设施内的容器注册表定义优化的放置策略(Knob et al.,2021)。尽管它们做出了贡献,但最先进的方法在满足边缘环境的动态需求方面仍存在不足,即在基础设施中为注册中心采用了静态布局方案,而这些方案忽视了某些地区对容器图像的需求可能会随时间而变化,这取决于用户的移动性。
本文提出了一种基于阈值的方法,基于用户的移动性在边缘基础设施中动态提供容器注册的新策略。每当我们的方法检测到供应时间过度增长时,它就会在用户附近启动新的注册中心。相反,空闲的注册表被取消配置以避免资源浪费。仿真表明,与静态分配注册表的现有方法相比,我们的方法可以减少33.19%的配置时间问题。
本文的其余部分安排如下。第2节详细介绍了相关工作。第3节系统模型,第4节提出的策略描述了所接近的场景和我们提出的策略。第5节介绍了用于根据现有战略验证我们的方法的评估。最后,第6节对本文进行了总结。