阅读笔记:Elastic Scheduling for Microservice Applications in Clouds-云中微服务应用程序的弹性调度

原文连接:https://ieeexplore.ieee.org/document/9149819

来源: IEEE Transactions on Parallel and Distributed Systems ( Volume: 32 , Issue: 1 , Jan. 1 2021 )

 

一、动机

不同的调度策略将导致对资源的不同需求,从而需要不同的扩展方案。在不结合调度的情况下缩放算法的预测结果与调度的实际资源量之间存在差异。这种差异可能由于资源不足而导致性能下降,或者由于过度供应而导致不必要的额外成本。因此,我们有动力将自动扩展与云中微服务的任务调度相集成,从而在最小化服务部署成本的同时获得准确的扩展资源需求并满足服务性能要求

二、主要贡献

  1. 提出了一种微服务的弹性调度算法,该算法将任务调度和自动缩放集成在一起。基于紧急度的调度算法用于获取调度方案并准确确定要扩展的新实例。然后通过两层缩放算法获得缩放方案。

  2. 为了提高微服务流工作量下的利用率,设计了一种基于统计信息的配置求解算法。生成的配置用于创建新容器并分配期限,以提高期限分配的准确性。

  3. 为了解决虚拟机和容器的两层扩展问题,我们在任务调度中考虑了容器映像对容器初始化时间的影响。自动扩展问题被构造为VSBPP,以获得虚拟机的最佳扩展方案和容器的部署,从而最大程度地降低了虚拟机的成本。

  4. 通过在现实世界中的工作流应用程序的仿真实验,在满足期限和虚拟机成本的比率上,该算法优于三种具有代表性的任务调度和自动缩放算法。

三、系统模型及问题表述

1、系统模型

系统模型如下图。有两个要解决的优化问题:1)将工作流中的任务调度到微服务实例,以满足截止期限的约束并减少了使用的资源;2)创建新的容器和VM,并将新的容器映射到VM,从而减少了在云中租用VM的总成本。

主要变量及参数总结如下图。 

 2、问题表述

子任务ti的执行时间(ET)、结束时间(FT):

容器的租用开始时间(LST)、租用结束时间(LFT): 

子任务ti最早开始执行时间(EST):

微服务ms可用时间(Avail): 

 微服务ms初始化时间(IT):

响应时间rt及VM花费cost:

在满足所有请求的截止日期约束的同时最大程度地降低VM的成本:

 

四、基于紧急度的工作流调度(UWS)

 ESMS(Elastic Scheduling for Microservice)框图如下,分为三部分:配置求解,基于紧急程度的工作流调度和自动扩展。

 

1、容器配置

CE是容器配置方案,包含多个向量cej,每个向量表示不同类型微服务的配置,如CPU内核数等。

1)使用最少资源初始化CE。举例:假设离散化后的内存资源最小单位为500MB,使用500MB进行初始化。

2)计算当前CE的完成时间。

3)若完成时间 > 截止时间,遍历每一个cej,增加其最小资源单位并计算gain,选取gain最大的CE*,返回步骤2

4)若完成时间 < 截止时间,返回当前CE

2、截止时间分配、紧急度计算

计算每个子任务ti的截止时间sdi,其中rank可理解为ti到退出任务的预期执行时间的长度:

紧急度计算,紧急度的值越低,任务优先级越高。其中,hop为从ti到退出任务的关键路径上未分配的任务数。背后的逻辑是,预计完成时间越接近子任务截止时间,任务越紧急。hop越大,后续子任务越依赖ti,任务越紧急。

 

3、任务-微服务映射

Laxity>=0,可在截止时间前完成任务,将子任务ti分配到具有最小incrCost的容器。

Laxity<0,不能在截止时间前完成任务,根据minSpeed分配容器。

1)minSpeed<0minSpeed<VM最大速度,选择EFT较小方案:a)将任务分配给现有容器    b)创建最大速度容器,并将任务分配给它

2minSpeed<当前容器速度,将任务分配给当前容器

3)当前容器速度<minSpeed<VM最大速度,创建满足条件的新容器

四、自动缩放

1、容器-VM的映射:

 选择VM的剩余资源与容器的所需资源之间的差异最小的VMBest Fit

 剩余未分配容器建模为可变大小的装箱问题,IFFD策略求解

2、IFFD策略:

1)任选一类VM,容器通过FFD策略装入VM

2)选取最后创建的VM,将其所有微服务取出,通过FFD策略装入其他类型的VM遍历选择最节约的方案并加入原方案

3)遍历现有方案的每一个VM,将其所有微服务取出,寻找是否存在能容纳所有微服务且更节约的映射方案

(PS.关于IFFD算法原文讲的不太详细,欢迎讨论及指正)

实验部分略。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值