Layer Aware Microservice Placement and Request Scheduling at the Edge——论文泛读

news/2024/10/19 5:26:16/

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),将同一位置的容器进行层共享,将问题公式化为整数线性规划问题,设计了保证近似率的迭代贪婪算法进行请求调度


http://www.ppmy.cn/news/1432837.html

相关文章

DRF 异常处理源码分析

异常处理源码分析 【1】为什么要异常处理 前端开发中,后端返回统一格式的错误信息有助于前端更方便地处理错误。全局异常处理是后端开发中一种统一处理异常的方式,通过配置或继承等方式实现自定义异常处理逻辑,而不是直接修改源码中的异常处…

【LeetCode热题100】【动态规划】分割等和子集

题目链接:416. 分割等和子集 - 力扣(LeetCode) 判断数组能否被分成两个和相等的子数组,先求数组的和sum,即变成能不能找到一个组合的和是sum/2,每个数最多只能被选择一次,即0-1背包问题 0-1背…

【机器学习】机器学习学习笔记 - 数据预处理 - 01

machine learning 监督学习: 是指在有标记的样本(labeled samples)上建立机器学习的模型无监督学习: 是指在没有标记的样本上建立机器学习的模型semi-supervised learning: 是指在部分标记样本上建立机器学习的模型强化学习: 是指在与环境交互的过程中&…

.NET Core 中的 ORM 框架对比

在 .NET Core 中选择正确的对象关系映射 (ORM) 工具可能是开发生命周期中的关键决策。所选的 ORM 会影响应用程序的性能、可维护性和可伸缩性。在本文中,我们将深入分析三个突出的 ORM 选择:Entity Framework Core、Dapper 和 NHi…

js随机内容学习

public 与private 分配的内存是否相同? 内存分配是一样的,都属于动态分配内存,只是对于安全上面以及访问权限控制上有区别 类型不相同分配内存相同吗? 在类型上分配的内存是有区别的,比如 Array、ArrayBuffer和Float32Array等 在 JavaScr…

翻页电子图书制作小技巧分享给你

当今社会,二维码已经成为了信息传递的重要方式之一,其在电子商务、广告营销、活动推广等领域广泛应用。而如何将二维码巧妙地融入电子画册中,制作出高端、具有吸引力的作品,成为了许多设计师和营销人员关注的焦点 但是很多人却不知…

__init__与args

在Python中,__init__是一个特殊的方法,被称为类的构造函数或初始化方法。它在一个对象被创建时立即调用,用于初始化该对象的属性或执行其他必要的设置。 在以下代码中, def __init__(self, args):self是一个对当前对象的引用&…

每日一题 —— 最大子数组之和(动态规划)

1.链接 53. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; 2.描述 3.思路 4.参考代码 class Solution { public:int maxSubArray(vector<int>& nums) {int n nums.size();vector<int> dp(n1,0);int ret INT_MIN;for(int i 1;i<n;i){dp[i] ma…