文献阅读:Camp-INC-面向网络计算云边连续体的组件感知微服务放置,2022 IEEE Global Communications Conference

  • 研究现状

在带有各种分布式应用程序(包括机器学习)的互联网连接设备数量快速增长的背景下,中心化的云计算模型在满足新兴应用程序需求方面有它自身的不足。云计算最初是为部署在具有高度可用资源的数据中心的单体应用程序而设计的。此外,当前的多路接入边缘计算旨在通过将应用程序的功能分布到多个边缘设备,来满足一些新的性能需求,以取代在远距离的数据中心单独运行。与此同时,工业和学术界已经在密切关注利用网络设备完成计算任务的网内计算模式(INC)。INC已经被证明在降低延迟和网络流量以及增加吞吐量方面有效。因此,将来的计算基础设施将横跨云、核心网以及边缘端。在包含INC的云边连续体中,设备的异构性需要微服务架构,因为微服务能够在不同大小的主机上进行部署。微服务架构的成功需要具备五个主要条件:①微服务复制,②服务注册表,③专用数据库,④弹性以及⑤负载均衡。

首先,为了确保微服务复制,应设置一套允许微服务根据传入请求在不同节点上进行扩展的机制。第二,允许服务发现,在微服务架构中,服务注册表起到了一个关键性作用,其是一个包含可用微服务位置的数据库。当一个新的微服务被部署时,它必须首先注册到这个服务注册表中。第三,为了与其他微服务解耦,每一个微服务都应该具有自己的专用数据库。然而,它们可以部署在单独的节点中,因为它们可以独立扩展。第四,微服务的分布式特性使其更具容错性和弹性。然而,依赖微服务可能会受到物理节点故障的干扰。为了增强弹性,应该为微服务架构提供故障检测机制和恢复能力。第五,需要一个负载均衡器来平衡相同微服务之间的请求负载。

关于微服务放置问题,已有文献中出现了一些研究工作。[10]研究了微服务的动态竞争与可用性,以及微服务实例之间的共享依赖库问题。然而,它们只考虑了负载均衡。[11]的作者在基于微服务之间的通信考虑了内部服务构成的前提下,引入了一个新的微服务放置策略。论文[12]研究了端到端(E2E)服务延迟估计算法,并研究了如何提高微服务的放置能力。尽管如此,但是[11]和[12]主要聚焦于满足性能需求,而不是解决微服务架构需求。现有微服务放置方法通常专注于把微服务当作一个组件而忽略了它们的数据库与服务注册表。此外,很多研究仅关注云、边或者INC模式,但忽视了它们结合起来的可能性。

考虑到现有方法的局限性,本文旨在确保受延迟约束的应用程序的QoS的前提下,同时最小化成本和考虑面向INC云边连续体的微服务架构需求(即前面提到的②,③以及④)。据我们所知,这是首个破除现有方法局限性的研究工作。

  • 现有工作面临的问题

在边缘和网络设备中部署微服务比在云上部署更昂贵。此外,一些工作没有考虑微服务架构的主要需求,例如服务注册、故障检测和每个微服务的特定数据库。

  • 本文主要贡献

在考虑物理节点故障和到服务注册中心距离的情况下,本文研究了组件放置问题,即微服务及其相应数据库的放置问题。提出了面向网络计算云边连续体的组件感知微服务放置算法(CaMP-INC)。该文构想出一个以成本最小化为目标的整数线性规划(ILP)问题。由于该问题是NP困难的,所以该文提出了一种启发式解决方法。

  • 实现结果

数值仿真结果表明:该文提出的CaMP-NIC算法将总成本平均降低了15.8%,而且相比于基准系统,该算法在延迟最小化方面有更出色的性能。

  • 下一步工作

作者计划通过集成其余的微服务架构需求来扩展本文提出的CaMP-INC解决方案,比如微服务的复制和负载均衡。此外,计划在更大的拓扑结构上进行仿真,并计划在 kubernetes进行实验评估。

  • 系统模型

1.设计目标

①如果微服务以数据作为输入或者将结果存储到数据库,那么此微服务应该拥有一个数据库。

②利用弹性机制来检测故障节点,避免将其用于微服务的放置;

③确保微服务与注册表之间的通信不受延迟阈值的干扰。

    2.远程诊疗

为了更好的说明系统模型,该文考虑了一个完整患者用例,通过全息患者,医生可以探查身体、查看视觉指示,并通过远程检查验证健康问题。此外,全息技术允许医生从患者那边获得触觉、听觉以及视觉反馈,并能评估全息患者的不同病理及其症状。为了给医生和患者提供一次愉快的经历,必须选择处理的最佳位置,以提供实时交互。

像摄像机、麦克风、机器人以及触觉手套等内容生产设备产生患者的相关数据,即在完整的患者用例中,麦克风记录、摄像机记录、机器人传感数据以及触觉手套传感器数据。终端用户发送请求在内容数据上运行服务。这个服务是一个需要被执行的微服务序列。每个微服务通过读/写操作与私有数据库通信。这些微服务被部署在服务器和网络设备上。

如图1所示,一个微服务请求到达编排器(step 1),其是负责管理微服务的组件。这个编排器包括三个主要的组件:①故障检测器(FD),②放置管理器(PM),③注册管理器(RM)。

FD定期检查是否检测到网络故障,其周期性检查网络状态与保持对列表中故障节点的跟踪。每当这个列表要更新时,FD通知PM(step2)。然后,PM相应地决定微服务与其数据在网络节点上的放置。放置了微服务链之后,RM对托管这些新微服务的节点与现有服务注册表之间的距离进行验证(step3)。如果上述距离超出特定阈值,那么RM将会决定在这些微服务附近放置一个新的服务注册表。再然后,这个编排器在PM决定的节点上分发微服务及其数据库(step4)。放置结束之后,服务注册表触发新部署的微服务以进行服务发现。最后,这些微服务发送它们的位置(即IP地址)到服务注册表(step6)。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lijie6677

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值