首页> 中国专利> 一种确保容器化边缘服务请求实时性的调度方法

一种确保容器化边缘服务请求实时性的调度方法

摘要

一种确保容器化边缘服务请求实时性的调度方法,包括:(1)构建以减少服务的截止期错过率和有限开销为条件的最优化问题;(2)建立一个离线模型;(3)提出一种基于的轻量级在线调度算法,以快速提供请求级的执行计划;(4)提出一种瓶颈资源感知的渐进资源分配机制,提高自动扩展周期中的资源效率;(5)提出一个提供解决方案的算法,利用启发式算法在短时间内给出了一个次优但可接受的解决方案。本发明显著降低了请求截止期错失率,同时产生的开销是可接受的。

著录项

  • 公开/公告号CN114827142A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 浙江大学;

    申请/专利号CN202210374826.9

  • 申请日2022-04-11

  • 分类号H04L67/10(2022.01);H04L67/1074(2022.01);H04L67/61(2022.01);H04L67/63(2022.01);

  • 代理机构杭州天正专利事务所有限公司 33201;

  • 代理人舒良

  • 地址 310058 浙江省杭州市西湖区余杭塘路866号

  • 入库时间 2023-06-19 16:12:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-02-28

    授权

    发明专利权授予

  • 2022-08-16

    实质审查的生效 IPC(主分类):H04L67/10 专利申请号:2022103748269 申请日:20220411

    实质审查的生效

说明书

技术领域

本发明涉及容器化边缘服务领域,具体地,涉及确保容器化边缘服务的实时性的调度方法。

背景技术

K8s是一个容器编排框架,用于管理云平台中多个主机上的容器化的应用,协调集群上的容器化工作负载。

容器由于其隔离和易于扩展的特性,已经成为边缘计算平台的流行技术。虽然K8s等容器编排框架为云基础设施提供了高可靠的服务,但确保容器边缘系统的实时服务仍然是一个挑战。

许多边缘服务都是单线程的,就像那些基于深度神经网络的服务一样。接下来的请求可以通过分配的资源利用率来执行,但当请求堆积时,将会遭受很高的等待延迟。然而,K8s只确保这个资源利用率低于阈值,而不保证请求的截止期错失率。K8s是为大规模分布式云系统设计的,其主要关注的是稳定性。较短的同步周期会导致不可靠的资源度量值和副本数的波动,这通常是不可接受的。因此,由于不匹配的时间尺度,请求可能会不断地错过截止期。K8s的自动标量器由于其高同步间隔而无法正确估计适当的资源。

问题和根本原因主要有两个:问题1):请求可能不断超时,但是度量监视器几乎不能发现这些超时的请求。问题2):当前K8s自动扩展机制的资源利用率较差。对于问题1):传统的基于模型的边缘系统和K8s的工作需要大量的离线分析,因此很难适应高度动态的上下文变化;对于问题2):现有的相关调度器通常以请求无意识方式工作,并以粗粒度(例如,副本数、CPU核)分配资源,这很难实现很高的资源利用率。

发明内容

本发明克服了现有技术的上述缺点,提出一种确保容器化边缘服务请求实时性的调度方法,包括以下步骤:

步骤1:构建以减少服务的截止期错失率和有限开销为条件的最优化问题。

步骤2:建立一个离线模型,包括默认可切换的工作负载模型和延迟模型。

步骤3:提出一种基于步骤2的轻量级在线调度算法,以快速提供请求级的执行计划。

步骤4:提出一种瓶颈资源感知的渐进资源分配机制,该机制提高自动扩展周期中的资源效率。

步骤5:提出一个提供解决方案的算法,该方法利用启发式算法在短时间内给出了一个次优但可接受的解决方案,本发明选择使用PSO作为决策算法。

具体地,步骤1包括:

步骤1.1:构造请求延迟,公式如下:

式中请求L

步骤1.2:构造服务的截止期错失率,公式如下:

式中Req

步骤1.3:构建制定和执行自动扩缩容的策略如下:

式中δ

步骤1.4:将实时保证问题表述为问题P即查找Δ,Λ的值。

式中pri(s

具体地,所述步骤2包括:

步骤2.1:根据容器化的边缘服务的请求率,将服务的工作负载分为长期服务和短期服务两种类型。该方法默认将所有服务的阈值设置为1分钟/请求,用户可以自由地更改阈值。

步骤2.2:对于长期服务:该方法提出了一个增量优化算法。该算法实现如下:当一个新服务被标记为长期服务时,该方法通过数据分布进行快速拟合,并利用成熟的工具(Fitter、fit、Gonum)选择最优的一个。随着请求的不断出现,该方法会周期性地选择在本地或云端运行更精细的拟合。

步骤2.3:对于短期服务:为了权衡预测时间敏感度和错误率,该方法实现了三个具有特定处理时间、错误率和资源占用的工作负载模型,包括:(1)一个统计模型,该模型将几个先前样本的平均值/最大值作为预测的工作量;(2)一个传统的ARIMA模型;(3)一个LSTM模型。

步骤2.4:对于权利要求1中的延迟模型本发明使用树外回归作为该方法的默认解决方案,并且该方法会定期更新或重新选择服务的延迟模型。

具体地,所述步骤3包括:

步骤3.1:先将具有相同优先级的请求分组在一起。

步骤3.2:计算每一组的公平性指数,并相应地对该组进行分类。该方法聚合已排序的组,并得到分配序列。

我们重新定义公平性指数如下:

其中x

步骤3.3:迭代每个优先级组中的每个请求,以边缘直接处理、转发到云端处理、添加到队列等待处理、丢弃请求的顺序生成执行计划。具体来说,将检查请求所属的服务是否已分配给一个工作节点。

步骤3.4:当请求可以满足其截止期时,它将被在边缘直接处理。否则,尝试将请求转发到云端处理,因为转发到云端处理不需要对本地节点进行调整。

步骤3.5:如果当前的网络条件较差或传输数据太大,尝试将请求添加到队列等待处理。

步骤3.6:如果添加到队列等待处理不可行,那么将评估扩缩容服务的可行性。

步骤3.7:如果上述方法仍然不能执行请求以满足其截止时间,该请求将被拒绝。

具体地,所述步骤4包括:

步骤4.1:提出一种渐进的瓶颈度量建模方法,该方法测量延迟和资源之间的梯度。将资源划分为不同的级别,在此之后,该方法合并具有相似值的级别,并得到最终序列。

步骤4.2:提出一种可扩展的资源分配机制,该机制是以一种感知瓶颈的方式搜索资源分配空间,并利用离线模型获得反馈。

具体地,步骤5包括:对于请求执行计划的决策,该方法利用启发式算法在短时间内给出了一个次优但可接受的解决方案。目前有多种算法可供选择,如差分进化(DE)、遗传算法(GA)、模拟退火(SA)、免疫算法(IA)、粒子群优化(PSO)等,PSO在MAE、处理时间和内存占用等方面优于其他算法,所以该方法选择使用PSO作为决策者。

优选地,步骤1.4所述的时间t内计算资源是CPU或内存。

优选地,步骤2.2所述的成熟的工具是Fitter或fit或Gonum。

优选地,步骤5所述的启发式算法采用粒子群优化算法PSO。

本发明的优点:显著降低了请求截止期错失率,同时产生的开销是可接受的。

附图说明

图1是本发明的流程图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

许多边缘服务都是单线程的,就像那些基于深度神经网络的服务一样。接下来的请求可以通过分配的资源利用率来执行,但当请求堆积时,将会遭受很高的等待延迟。然而,K8s只知道这个资源利用率低于阈值,而不担心请求的高最后期限错失率。K8s是为大规模分布式云系统设计的,其主要关注的是稳定性。较短的同步周期会导致不可靠的资源度量值和副本数的波动,这通常是不可接受的。因此,由于不匹配的时间尺度,请求可能会不断地错过截止期。K8s自动标量器由于其高同步间隔而无法正确估计适当的资源。

本实施例提出了K8s系统的确保容器化边缘服务请求实时性的调度方法的解决方案,该解决方案如下:

步骤1:构建以减少服务的截止期错失率和有限开销为条件的最优化问题。

步骤2:建立一个离线模型,包括默认可切换的工作负载模型和延迟模型。

步骤3:提出一种基于步骤2的轻量级在线调度算法,以快速提供请求级的执行计划。

步骤4:提出一种瓶颈资源感知的渐进资源分配机制,该机制提高自动扩展周期中的资源效率。

步骤5:提出一个提供解决方案的算法,该方法利用启发式算法在短时间内给出了一个次优但可接受的解决方案,本发明选择使用PSO作为决策算法。

步骤6:将步骤5得到的解决方案作为扩展组件部署。

首先,步骤1包括如下:

步骤1.1:构造服务的请求延迟,公式如下:

式中请求L

步骤1.2:构造服务的截止期错失率,公式如下:

式中Req

步骤1.3:构建制定和执行自动扩缩容的策略如下:

式中δ

步骤1.4:将实时保证问题表述为问题P即查找Δ,Λ的值。

式中pri(s

步骤2包括:

步骤2.1:根据容器化的边缘服务的请求率,将服务的工作负载分为长期服务和短期服务两种类型。该方法默认将所有服务的阈值设置为1分钟/请求,用户可以自由地更改阈值。

步骤2.2:对于长期服务:提出了一个增量优化算法。该算法实现如下:当一个新服务被标记为长期服务时,该方法通过数据分布进行快速拟合,并利用成熟的工具(Fitter、fit、Gonum)选择最优的一个。随着请求的不断出现,该方法会周期性地选择在本地或云端运行更精细的拟合。

步骤2.3:对于短期服务:提出了三个具有特定处理时间、错误率和资源占用的工作负载模型,包括:(1)一个统计模型,该模型将几个先前样本的平均值/最大值作为预测的工作量;(2)一个传统的ARIMA模型;(3)一个LSTM模型。

步骤2.4:对于步骤2中延迟模型本发明使用树外回归作为该方法的默认解决方案,并且该方法会定期更新或重新选择服务的延迟模型。

步骤3包括:

步骤3.1:先将具有相同优先级的请求分组在一起。

步骤3.2:计算每一组的公平性指数,并相应地对该组进行分类。聚合已排序的组,并得到分配序列,公平性指数计算公式如下:

其中x

步骤3.3:迭代每个优先级组中的每个请求,以边缘直接处理、转发到云端处理、添加到队列等待处理、丢弃请求的顺序生成执行计划。具体来说,将检查请求所属的服务是否已分配给一个工作节点。

步骤3.4:当请求可以满足其截止期时,它将被在边缘直接处理。否则,首先尝试转发到云端处理,因为转发到云端处理不需要对本地节点进行调整。

步骤3.5:如果当前的网络条件较差或传输数据太大,会将请求添加到队列等待处理。

步骤3.6:如果添加到队列等待处理不可行,那么将评估是否进行扩缩容服务。

步骤3.7:如果上述方法仍然不能执行请求以满足其截止期,该请求将被拒绝。

步骤4:提出一种瓶颈资源感知的渐进资源分配机制,以提高自动扩展周期中的资源效率。包括:

步骤4.1:提出一种渐进的瓶颈度量建模方法,该方法测量延迟和资源之间的梯度。将资源划分为不同的级别,在此之后,该方法合并具有相似值的级别,并得到最终序列。

步骤4.2:提出一种可扩展的资源分配机制,该机制是以一种感知瓶颈的方式搜索资源分配空间,并利用离线模型获得反馈。

步骤5包括:对于请求执行计划的决策,该方法利用启发式算法在短时间内给出了一个次优但可接受的解决方案。目前有多种算法可供选择,如差分进化(DE)、遗传算法(GA)、模拟退火(SA)、免疫算法(IA)、粒子群优化(PSO)等,PSO在平均绝对无差(MAE)、处理时间和内存占用等方面优于其他算法,所以该方法选择使用PSO作为决策者。

步骤6包括:将已注册服务的所有请求接收到请求队列中,并等待本发明的执行计划。本发明返回的结果包括服务级别和请求级别。服务级别由服务分配计划、复制副本编号和资源配额组成。请求级别包括请求执行计划,即边缘直接处理、转发到云端处理、添加到队列等待处理、丢弃请求,结果将被发送到负责执行的相应模块。

________________________________________________________________

然后,本发明构建了一个测试台,该平台安装了三个具有不同延迟敏感度的容器服务,以进行具体评估。此外,本发明采用阿里巴巴和Twitter的真实数据跟踪进行大规模仿真。大量实验证明,在CESs服务中,该方法显著降低了请求截止期错失率。

本发明以事件驱动的方式工作,具体地说,本发明的调度将由以下三种类型的内置信号触发:

1)请求-到达:每当有一个新的请求到达时。

2)分配资源更改:当典型的资源(例如,CPU、内存、带宽等时)变化很大(由用户定义的阈值决定)。

3)时间过期:用户可以定义定时器,定期执行本发明的调度工作;当定时器过期时,信号将触发本发明的调度工作。

本发明提供了两个方案,默认的是K8s的版本,K8s会定期的同步和改变资源分配,另一个是用户定制版本,用户可以自己定义触发器,例如:如果

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号