当前位置: 首页 > 专利查询>之江实验室专利>正文

一种基于强化学习的Serverless高效资源分配方法及系统技术方案

技术编号:37505434 阅读:22 留言:0更新日期:2023-05-07 09:41
本发明专利技术提公开了一种基于强化学习的Serverless高效资源分配方法及系统,该方法是通过对尾延迟、决策频率以及资源效率关系的观察,在最小化无服务器系统的资源配置消耗的同时,保障设置的性能延迟目标。该方法充分利用高频率管理带来的资源高效管理优点,通过观察每个请求的状态,利用强化学习模型对处理请求的实例资源配置做出决策。针对函数工作流多阶段运行的特性并对决策模型的轻量化设计,使得高频率控制层隐藏了时间开销并降低了资源开销。本发明专利技术与最新的工作流任务调度系统作比较,提升了CPU利用率,并提供了99%的请求时延SLO(Service Level Objective,服务水平目标)保证,降低了端到端延迟方差。降低了端到端延迟方差。降低了端到端延迟方差。

【技术实现步骤摘要】
一种基于强化学习的Serverless高效资源分配方法及系统


[0001]本专利技术属于云计算
,尤其涉及一种基于强化学习的Serverless高效资源分配方法及系统。

技术介绍

[0002]无服务器计算的高扩展、易开发、细粒度以及低成本的特性使其成为当今微服务架构的主流方式,其被各大主流云提供商如亚马逊等所支持并迅速推广,其被广泛使用在Web应用、视频处理、机器学习推理等多种面向用户的应用场景。为了满足这些应用高扩展、高弹性的需求,这些复杂的应用服务被解构成一组无服务器函数,组成一个有向无环图。
[0003]在大部分情况下,这些面向用户的应用都有严苛的时间延迟需求。然而由于各种因素的影响,应用产生了较大的尾延迟,这使得这些应用的性能预测变得极其困难。当前的商业平台如亚马逊的无服务器平台Lambda,或开源平台如Open Whisk等,对应用的相应延迟不提供任何保证,而是依赖于开发人员决定函数的资源配置。因此在这些平台上,开发人员不得不选择较大资源配置(如内存、CPU等)来保障应用的SLO(Service Level Objective,服务水平目标),造成了资源利用率低下的问题。
[0004]为了减少应用延迟的不确定性,平台需要有一个控制层进行管理。现有工作主要分成了定时或提前决定配置的主动类和阈值触发的被动类,这两类工作主流解决方式都依赖机器学习模型对资源配置。然而在现有工作的基础上,在进一步观察到1)被动类控制很难在资源效率和尾延迟之间进行权衡,高效的资源利用以高尾延迟为代价,反之亦然;2)主动类控制依赖机器学习模型的精准度,当预测误差较低时主动类资源效率将高于被动类;3)高频率的控制可以有效提高无服务器系统的资源效率;4)资源和时间开销会随着控制频率增加而增加,这可能会抵消高频率带来的好处。并且这些现象在函数工作流任务中变得更加明显与严峻。
[0005]此外发现,函数工作流组成的有向无环图DAG(Directed Acyclic Graph)图本身是马尔可夫过程。不同函数阶段在状态转移的每一步中,函数可以选择几种配置中的一个,并且转移概率取决于所选择的配置。与传统的监督学习或非监督学习不同,这个过程不存在所谓的对错,也无需对非最优解的精确地纠正。这是一种强调如何基于环境而行动,以取得最大化的预期利益的强化学习过程,其关注点在于寻找探索和利用的平衡,强调学习中的“探索

利用”的交换,这与探求Serverless资源高效分配技术的目标是一致的。

技术实现思路

[0006]针对现有技术的不足,本专利技术提供一种基于强化学习的Serverless高效资源分配方法及系统,该方法利用强化学习对每个请求进行针对性的资源配置决策调控,在有效提高资源利用率的同时保障99%的请求时间延迟目标。同时本专利技术利用流水线决策和容器管理机制,有效避免资源和时间开销对系统的影响。
[0007]本专利技术是通过以下技术方案来实现的:
[0008]一种基于强化学习的Serverless高效资源分配方法,该方法包括以下步骤:
[0009](1)构建强化学习决策器:所述强化学习决策器是利用强化学习模型预测的,所述强化学习模型包含状态模块、策略模块、动作模块和奖励模块;
[0010](2)决策流水线化:利用步骤(1)构建得到的强化学习决策器将流水线决策每个阶段函数的资源配置,并在每个决策过程中,强化学习决策器都会采用距离目标时间的剩余作为输入,并导出下一个函数的资源配置,使用当前执行函数的所记录的最大执行时间进行预估;
[0011](3)容器管理:当步骤(2)强化学习决策出非一致的函数资源配置,则利用预热式的容器管理系统使函数执行实例在调度过程中转发到目标容器上执行;所述该预热式的容器管理系统包含负责未来请求到达率预测的预测模块、负责节点容器管理的代理模块和负责执行请求快速调度的转发模块;
[0012](4)在每个请求到来时,利用步骤(2)的方法依次进行每个阶段的资源配置,在每次得到对应阶段资源配置后,利用步骤(3)中的转发模块调度请求到相应配置容器上执行计算。
[0013]进一步地,所述步骤(1)中状态模块主要由应用状态、请求状态、集群状态三种类型组成,状态模块利用图神经网络对应用DAG信息进行维度压缩;
[0014]所述应用状态用于描述工作流应用的情况,包括工作流有向无环图DAG的结构、每个函数的平均执行时间以及每个函数的平均资源利用率,即通过函数的离线分析获得的CPU、内存的平均资源利用率;
[0015]所述请求状态,用于描述访问负载的情况,包括每秒请求数QPS(Query Per Second),即每秒请求数、到达目标时延SLO之前剩余时间以及工作流中尚未执行的函数数量,它们由请求监视器获取;
[0016]所述集群状态,用于描述物理资源的状况,包括可用的CPU、内存,它们由群集监视器获取。
[0017]进一步地,所述状态模块利用图神经网络对应用DAG信息进行维度压缩,具体为,使用GCN图卷积神经网络中的GraphSAGE方法,所述方法采用节点嵌入的方式,将节点图邻域的高维信息提取到密集向量嵌入中,快速生成全新图形嵌入的归纳能力,对各种工作流应用程序的资源分配需求;在应用状态信息被刻画获得后,系统将从其DAG图的尾部节点开始传递其应用状态信息,通过递归的方式,将各节点的信息传递给父节点以及根节点。
[0018]具体地,所述步骤(1)中策略模块基于Actor

Critic算法以及优势函数对状态信息进行计算;所述Actor为策略网络,所述Actor选用全连接神经网络,对每个动作都输出一个值,并使用SoftMax函数将值转换成对应的概率,并按照概率选取动作,负责选择行动并与环境进行互动;Critic为评价网络,即利用优势函数作为评价网络Critic,其和分别指累积经验的轨迹和平均经验的模拟逼近,用于对Actor的行为进行评分,Actor再根据Critic的打分情况,对自身的参数进行调整;所述动作模块对每种函数资源实现了独自的策略网络,并由各网络决定对应资源配置量。
[0019]具体地,所述步骤(1)中奖励模块利用资源配置量以及请求端到端执行时间作为奖惩值训练决策模块的准确性,其构建如下所示的函数进行奖励,其表达式为:
[0020][0021]其中R代表函数分配的资源数量, W代表实际的资源浪费数量;代表请求到达后经过的时间,代表应用设置的目标时延,n代表该函数剩余的子函数数量。
[0022]具体地,所述步骤(2)中流水线决策即为在第一阶段执行时,决策器同时决策第二阶段的资源配置;在执行二阶段时决策第三阶段的资源配置,以此类推。
[0023]进一步地,所述步骤(3)中预热式的容器管理系统具体为,所述预测模块通过读取历史QPS数据,利用指数加权平均模型进行预测,在得到未来最大到达率后,使用在训练阶段以QPS划分的动作概率表,并将最大到达率与动作概率一一相乘得到未来一段时间窗口的容器实例数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于强化学习的Serverless高效资源分配方法,其特征在于,该方法包括以下步骤:(1)构建强化学习决策器:所述强化学习决策器是利用强化学习模型预测的,所述强化学习模型包含状态模块、策略模块、动作模块和奖励模块;(2)决策流水线化:利用步骤(1)构建得到的强化学习决策器将流水线决策每个阶段函数的资源配置,并在每个决策过程中,强化学习决策器都会采用距离目标时间的剩余作为输入,并导出下一个函数的资源配置,使用当前执行函数的所记录的最大执行时间进行预估;(3)容器管理:当步骤(2)强化学习决策出非一致的函数资源配置,则利用预热式的容器管理系统使函数执行实例在调度过程中转发到目标容器上执行;所述该预热式的容器管理系统包含负责未来请求到达率预测的预测模块、负责节点容器管理的代理模块和负责执行请求快速调度的转发模块;(4)在每个请求到来时,利用步骤(2)的方法依次进行每个阶段的资源配置,在每次得到对应阶段资源配置后,利用步骤(3)中的转发模块调度请求到相应配置容器上执行计算。2.根据权利要求1所述的一种基于强化学习的Serverless高效资源分配方法,其特征在于,所述步骤(1)中状态模块主要由应用状态、请求状态、集群状态三种类型组成,状态模块利用图神经网络对应用DAG信息进行维度压缩;所述应用状态用于描述工作流应用的情况,包括工作流有向无环图DAG的结构、每个函数的平均执行时间以及每个函数的平均资源利用率,即通过函数的离线分析获得的CPU、内存的平均资源利用率;所述请求状态,用于描述访问负载的情况,包括每秒请求数QPS(Query Per Second),即每秒请求数、到达目标时延SLO之前剩余时间以及工作流中尚未执行的函数数量,它们由请求监视器获取;所述集群状态,用于描述物理资源的状况,包括可用的CPU、内存,它们由群集监视器获取。3.根据权利要求2所述的一种基于强化学习的Serverless高效资源分配方法,其特征在于,所述状态模块利用图神经网络对应用DAG信息进行维度压缩,具体为,使用GCN图卷积神经网络中的GraphSAGE方法,所述方法采用节点嵌入的方式,将节点图邻域的高维信息提取到密集向量嵌入中,快速生成全新图形嵌入的归纳能力,对各种工作流应用程序的资源分配需求;在应用状态信息被刻画获得后,系统将从其DAG图的尾部节点开始传递其应用状态信息,通过递归的方式,将各节点的信息传递给父节点以及根节点。4.根据权利要求1所述的一种基于强化学习的Serverless高效资源分配方法,其特征在于,所述步骤(1)中策略模块基于Actor

Critic算法以及优势函数对状态信息进行计算;所述Actor为策略网络,所述Actor选用全连接神经网络,对每个动作都输出一个值,并使用SoftMax函数将值转换成对应的概率,并按照概率选取动作,负责选择行动并与环境进行互动;Critic为评价网络,即利用优势函数作为评价网络Critic,其和分别指累积经验的轨迹和平均经验的模拟逼近,用于对Actor的行为进行评分,Actor再根据Critic的打分情况,对自身的参数进行调整;所述动作模块对每种函数资源实现了独自的策略网络,并由各网络决定对应资源配置量。
5.根据权利要求1所述的一种基于强化学习的Serverless高效资源分配方法,其特征在于,所述步骤(1)中奖励模块利用资源配置量以及请求端到端执行时间作为奖惩值训练决策模块的准确性,其构建如下所示的函数进行奖...

【专利技术属性】
技术研发人员:李勇赵来平张环禹陈光曾令仿程稳
申请(专利权)人:之江实验室
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1