CN113176947B - 无服务器计算中基于延迟和成本均衡的动态任务放置方法 - Google Patents
无服务器计算中基于延迟和成本均衡的动态任务放置方法 Download PDFInfo
- Publication number
- CN113176947B CN113176947B CN202110501341.7A CN202110501341A CN113176947B CN 113176947 B CN113176947 B CN 113176947B CN 202110501341 A CN202110501341 A CN 202110501341A CN 113176947 B CN113176947 B CN 113176947B
- Authority
- CN
- China
- Prior art keywords
- task
- time
- server
- cost
- calculation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000006870 function Effects 0.000 claims abstract description 25
- 230000002787 reinforcement Effects 0.000 claims abstract description 8
- 238000013135 deep learning Methods 0.000 claims abstract description 5
- 238000012549 training Methods 0.000 claims description 20
- 230000006378 damage Effects 0.000 claims description 3
- 238000005457 optimization Methods 0.000 claims description 2
- 230000009471 action Effects 0.000 abstract description 10
- 239000011159 matrix material Substances 0.000 description 7
- 230000000694 effects Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012905 input function Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种无服务器计算中基于延迟和成本均衡的动态任务放置方法,根据强化学习的结果对任务放置进行决策:将任务放置在边缘设备的任务执行队列中等待计算;或将任务上传至无服务器中计算。时间预测步骤中利用基于深度学习的小批量随机梯度下降算法对线性预测模型进行迭代更新,在任务放置方法中使用基于强化学习的Q‑Learning算法进行决策。Q‑Learning算法通过构建Q‑Table表格,对任务执行的状态动作值函数进行维护和更新,依此综合考虑任务的延迟和成本均衡,作出合理预测。本发明成量级地降低任务的延迟,并同时考虑了成本的控制,达到了在无服务器计算中对延迟和成本均衡的动态任务放置。
Description
技术领域
本发明涉及无服务器计算技术领域,具体地指一种无服务器计算中基于延迟和成本均衡的动态任务放置方法。
技术背景
云计算概念自2006年被谷歌提出以来,各种计算机资源,比如基础设施、平台、软件等都被当做一种服务提供给用户。先后出现了SaaS(软件即服务)、PaaS(平台即服务)、IaaS(基础设施即服务)等多种云服务。云计算的核心思想,是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户按需服务。它具有如下特点:计算资源集成提高设备计算能力;分布式数据中心保证系统容灾能力;软硬件相互隔离可以减少设备依赖性;平台模块化设计体现高可扩展性;虚拟资源池为用户提供弹性服务;按需付费降低使用成本。如今,FaaS(函数即服务)以其独特的付费方式(甚至可以精确至毫秒级),简单易用的开发模式吸引了许多开发人员。
无服务器计算,是一种在使用的基础上提供后端服务的云计算方法。无服务器提供程序允许用户编写和部署代码,而无需担心底层基础架构。从无服务器供应商处获得后端服务的公司将根据其计算收费,并且无需预留和支付固定数量的带宽或服务器数量产生的费用,因为该服务是自动扩展的。因此,无服务器计算具备诸多以往传统云计算所不具备的特性和优势:因为无服务器仅提供后端服务,成本可以比以往控制的更精准;无服务器架构是自动扩展的,无需开发人员担心底层架构;使用无服务器计算,开发人员可以创建独立执行单一目的的简单函数,例如进行API调用;无服务器架构显然可以加快程序开发周期,可以有效缩短产品上市时间。
无服务器计算正在逐渐成为一种进行云应用程序部署时被优先考虑的模式。但是它依然有一些尚需解决的问题,如资源调度中的冷启动问题,任务放置与事件派发中的算法效率仍有待提高等等。我们在无服务器计算的背景下研究任务放置问题,在无服务器计算模型中,开发人员编写可由各种事件触发的无状态函数。每个函数在自己的容器中执行。开发人员指定容器资源分配,云中的容器由云提供商进行编排和配置。而任务放置是无服务器计算的第一道门槛,是一块尚需优化的技术领域。
无服务器计算的功能性能取决于输入和应用特性、从边缘设备到云的网络传输、容器资源以及存储功能结果的时间,一些云平台还提供了在边缘设备上执行函数的框架。然而以往边缘设备作为终端设备都扮演着数据消费者的角色,但随着物联网与云计算技术的不断发展,智能终端设备也具有生产数据的能力,因此,边缘设备利用云计算网络的边缘节点,或者说数据产生源的附近节点进行计算是一个可行的研究方向。
发明内容
本发明的目的在于克服现有技术的不足,本发明的目的是针对现有无服务器平台任务放置策略效率的不足的问题,而提出一种无服务器计算中基于延迟和成本均衡的动态任务放置方法。
为实现上述目的,本发明所设计的无服务器计算中基于延迟和成本均衡的动态任务放置方法,其特殊之处在于,所述方法包括步骤:
1)输入一个新的待处理任务至边缘设备,由预测器分别预测所述任务在边缘设备中与在无服务器中的执行时间与成本,将结果送至决策引擎;
2)在决策引擎中,根据延迟与成本均衡的算法决定将所述任务留在边缘设备或送至无服务器中进行计算,并且会将决策数据传回预测器中以更新服务器状态;如果在边缘设备的运算器中计算,则将所述任务送至边缘设备运算器队列末尾等待执行,转步骤3.1);如果在无服务器中进行计算,将所述任务上传至无服务器中,转步骤3.2)。
3.1)在边缘设备运算器队列中出列后,由运算器计算得出所述任务执行结果。
3.2)将所述任务上传至无服务器平台,选择合适的容器进行计算,优先选择尚未销毁且满足配置需求的最小容器;
4)计算完成后,将结果上传至云服务器中的存储桶中。
优选地,所述任务在无服务器中的执行时间TS(fi)与成本CostS(fi)分别定义为:
TS(fi)=UpS(fi)+StartS(fi)+CompS(fi)+StoreS(fi)
CostS(fi)
其中,UpS(fi)是上传时间;StratS(fi)是容器启动时间;CompS(fi)是在无服务器中的计算时间;StoreS(fi)是将运算结果上传至云服务器所需的时间;CostS(fi)是在任务中计算的成本。
优选地,所述任务在边缘设备中与在无服务器中的执行时间TE(fi)与成本CostE分别定义为:
TE(fi)=CompE(fi)+UpE(fi)+StoreE(fi)
CostE
其中,CompE(fi)是边缘设备上的计算时间;UpE(fi)是计算结果的上传时间;StoreE(fi)把是运算结果上传至云服务器所需要的时间;CostE是在边缘计算中的成本。
优选地,所述任务在无服务器中的TS(fi)与成本CostS(fi)的预测方法为:
1.1)上传时间UpS(fi)与函数si的大小成线性关系,通过对训练集的回归训练得到参数a1和b1:
UpS(fi)=a1si+b1
1.2)容器启动时间StratS(fi)分为冷启动和热启动,如果云端有在启动状态并且满足性能要求的容器,StratS(fi)采用热启动时间;否则容器就在云端新产生一个符合要求的容器并采用冷启动时间;冷启动时间和热启动时间取样本集的平均值;
1.3)无服务器中的计算时间CompS(fi)与函数si的大小成线性关系,通过对训练集的回归训练得到参数a2和b2:
CompS(fi)=a2si+b2
1.4)将运算结果上传至云服务器所需的时间StoreS(fi)取样本集的平均值;
1.5)在任务中计算的成本CostS(fi)与占用服务器资源的数量与时间成正比:
CostS(fi)=δ*si*CompS(fi)
其中δ代表占用服务器收费系数;
1.6)容器从调用函数结束到销毁之间的时间,预测器使用一个UpdateCIL数据结构来维护无服务器中所有容器的状态。
优选地,所述任务在边缘设备中的执行时间TE(fi)与成本CostE的预测方法为:
2.1)边缘设备上的计算时间CompE(fi)与函数si的大小成线性关系,通过对训练集的回归训练得到参数a3和b3:
CompE(fi)=a3si+b3
2.2)计算结果的上传时间UpE(fi)取上传时间的样本集的平均值;
2.3)将是运算结果上传至云服务器所需时间StoreE(fi),取样本集的平均值;
2.4)在边缘计算中的成本CostE取固定值;
2.5)对于边缘设备中的任务,由预测器维护一个边缘设备任务的队列,并以T0表示当前队列完成所需的剩余时间。
优选地,所述步骤2)在决策引擎中,优化目标如下:
其中,TS(fi)为任务在无服务器中的执行时间;CostS(fi)为任务在无服务器中的成本;TE(fi)为任务在边缘设备中的执行时间;CostE为任务在边缘设备中的成本;n为任务的数量。
优选地,所述无服务器任务的上传时间UpS(fi)、计算时间CompS(fi),边缘设备任务的计算时间CompE(fi)采用基于深度学习的小批量随机梯度下降算法实现对任务的预测。
优选地,所述延迟与成本均衡的算法采用基于强化学习的Q-Learning算法对任务放置进行预测。
优选地,所述无服务器中使用的容器启动时间StratS(fi)、存储时间StoreS(fi),边缘设备中计算的上传时间UpE(fi)、存储时间StoreE(fi)的数据呈正态分布,采用样本集的平均值进行预测。
优选地,所述训练集的参数ai和bi的更新公式如下,每次迭代以学习率λ向反方向更新参数a、b:
现有技术中,无服务器计算中使用的传统任务放置算法通常只考虑在成本约束下的延迟最小化或在延迟约束下的成本最小化。但是用户通常并不会这么极端地要求延迟或成本的最小化,而是更愿意在牺牲一部分延迟或成本的条件下,充分考虑它们之间的关系,以求达到最平衡的效果。另外,无服务器计算中的任务放置方法少有考虑组合边缘计算以减少成本的方法。现如今,智能设备相当普及,智能设备的算力也愈发强大,充分利用智能边缘设备的算力,减少任务延迟,降低成本是合理的选择。
本发明提出的无服务器计算中基于延迟和成本均衡的动态任务放置方法,是一种结合了边缘计算的优势,综合考虑了延迟和成本均衡问题的方法;它根据无服务器与边缘设备的状态动态地决策如何放置任务,尤其适合运用在采用智能边缘设备输入的无服务器计算环境中,可以有效提高完成任务的效率,对于端到端之间的延迟,可以获得近三个数量级的延迟减少;并且对于成本也有很好的控制效果。
附图说明
图1为无服务器计算中基于延迟和成本均衡的动态任务放置方法的流程图。
图2为无服务器计算中基于延迟和成本均衡的动态任务放置方法的模型。
具体实施方式
以下结合附图和具体实施例对本发明作进一步的详细描述。
本发明提出的无服务器计算中基于延迟和成本均衡的动态任务放置方法,如图1和图2所示,包括如下步骤:
1)输入一个新的待处理任务至边缘设备,由预测器分别预测所述任务在边缘设备中与在无服务器中的执行时间与成本,将结果送至决策引擎。
任务在无服务器中的执行时间TS(fi)与成本CostS(fi)分别定义为:
TS(fi)=UpS(fi)+StartS(fi)+CompS(fi)+StoreS(fi)
CostS(fi)
其中,UpS(fi)是上传时间;StratS(fi)是容器启动时间;CompS(fi)是在无服务器中的计算时间;StoreS(fi)是将运算结果上传至云服务器所需的时间;CostS(fi)是在任务中计算的成本。
任务在无服务器中的执行时间TS(fi)与成本CostS(fi)的预测方法为:
1.1)上传时间UpS(fi)与函数si的大小成线性关系,通过对训练集的回归训练得到参数a1和b1:
UpS(fi)=a1si+b1
1.2)StratS(fi)是容器启动时间,分为冷启动和热启动,如果云端有在启动状态并且满足性能要求的容器,StratS(fi)采用热启动时间;没有合适的容器就在云端新产生一个符合要求的容器并采用冷启动时间。冷启动时间和热启动时间取样本集的平均值;
1.3)无服务器中的计算时间CompS(fi)与函数si的大小成线性关系,通过对训练集的回归训练得到参数a2和b2:
CompS(fi)=a2si+b2
1.4)StoreS(fi)是将运算结果上传至云服务器所需的时间,与输入函数大小没有直接关系,并且通常数据结果占内存空间很小,基本不影响最终结果。取样本集的平均值;
1.5)在任务中计算的成本CostS(fi)与占用服务器资源的数量与时间成正比:
CostS(fi)=δ*si*CompS(fi)
其中δ代表占用服务器收费系数,可以根据无服务器供应商的收费要求可以很简单的得出;
1.6)此外,容器从调用函数结束到销毁之间的时间,预测器使用一个UpdateCIL数据结构来维护无服务器中所有容器的状态。
边缘设备中计算不占用服务器资源,成本是固定成本。仅计算边缘设备对函数计算所需的时间,因此,任务在边缘设备中与在无服务器中的执行时间TE(fi)与成本CostE分别定义为:
TE(fi)=CompE(fi)+UpE(fi)+StoreE(fi)
CostE
其中,CompE(fi)是边缘设备上的计算时间;UpE(fi)是计算结果的上传时间;StoreE(fi)把是运算结果上传至云服务器所需要的时间;CostE是在边缘计算中的成本。
任务在边缘设备中的执行时间TE(fi)与成本CostE的预测方法为:
2.1)边缘设备上的计算时间CompE(fi)与函数si的大小成线性关系,通过对训练集的回归训练得到参数a3和b3:
CompE(fi)=a3si+b3
2.2)UpE(fi)是计算结果的上传时间,因为函数结果的数据通常很小,对结果影响也非常小,因此取上传时间的样本集的平均值;
2.3)StoreE(fi)把是运算结果上传至云服务器所需要的时间,同样与输入函数大小没有直接关系,取样本集的平均值;
2.4)CostE是在边缘计算中的花费,而边缘云仅需要对设备注册进行缴费,定价根据云服务提供商而定,取固定值;
2.5)对于边缘设备中的任务,由预测器维护一个边缘设备任务的队列,并以T0表示当前队列完成所需的剩余时间。
2)在决策引擎中,根据延迟与成本均衡的算法决定将所述任务留在边缘设备或送至无服务器中进行计算,并且会将决策数据传回预测器中以更新服务器状态;如果在边缘设备的运算器中计算,则将所述任务送至边缘设备运算器队列末尾等待执行,转步骤3.1);如果在无服务器中进行计算,将所述任务上传至无服务器中,转步骤3.2)。
从上述步骤1)与2)中分别得到了TS(fi)、CostS(fi)、TE(fi)和CostE,我们的优化目标如下:
为了平衡延迟和成本之间的关系,我们使用基于强化学习的Q-Learning算法将延迟和成本的关系公式化。通过构建并维护Q-Table表格,得到结果的最大期望估计。
3.1)在边缘设备运算器队列中出列后,由运算器计算得出所述任务执行结果。
3.2)将所述任务上传至无服务器平台,选择合适的容器进行计算,优先选择尚未销毁且满足配置需求的最小容器;
4)计算完成后,将结果上传至云服务器中的存储桶中。
无服务器任务的上传时间UpS(fi)、计算时间CompS(fi),边缘设备任务的计算时间CompE(fi)基本与任务的大小成线性关系,又因为我们的模型基于大批量的任务执行,因此采用基于深度学习的小批量随机梯度下降算法不仅实现对任务的预测,同时又对模型不断迭代优化,从而不断接近最理想的预测效果。
线性预测
无服务器任务的上传时间UpS(fi)、计算时间CompS(fi),边缘设备任务的计算时间CompE(fi)采用基于深度学习的小批量随机梯度下降算法实现对任务的预测:
第i个任务fi的线性预测公式如下:
Ti+1=asi+b
其中si表示任务i的大小,T表示任务的预计完成时间。a、b是线性模型的参数。
以均方差公式作损失函数如下:
其中n是一批任务的数量,如果n太小甚至等于1,均方差公式的波动可能很大;如果n取全部样本集,可以保证公式的稳定性,但随着任务数量的增加,每次迭代都要将所有样本数据重新计算,计算压力会随之增加。因此我们折中取n=20,即最近20次任务用于计算,不仅一定程度上确保loss的计算和参数更新具有代表性,又减少了计算资源的使用。
将Ti+1=asi+b代入公式,并对参数a、b分别求偏导:
参数更新公式如下,每次迭代就按照一定学习率λ向反方向更新参数a、b。学习率λ:
均值预测
无服务器中使用的容器启动时间StratS(fi)、存储时间StoreS(fi),边缘设备中计算的上传时间UpE(fi)、存储时间StoreE(fi)的数据基本呈正态分布,且本身数据量较小,对预测结果的影响几乎可以忽略不计。为了减少计算资源的使用,在不影响最终预测结果的前提下,对它们的预测采用样本集的平均值,如下式:
利用强化学习对任务放置进行预测
首先通过下式得到TS(fi)、CostS(fi)、TE(fi)和CostE:
TS(fi)=UpS(fi)+StartS(fi)+CompS(fi)+StoreS(fi)
CostS(fi)=δ*si*CompS(fi)
TE(fi)=CompE(fi)+UpE(fi)+StoreE(fi)
CostE取固定值
然后,采用基于强化学习的Q-Learning算法对任务放置进行预测。建立状态-动作矩阵R-Table,来记录在何种状态下作何种动作的奖励:
R-Table | m1 | m2 |
s1 | R(s1,m1) | R(s1,m2) |
s2 | R(s2,m1) | R(s2,m2) |
s3 | R(s3,m1) | R(s3,m2) |
预测器在与任务互动的过程中产生了一个序列,马尔科夫决策过程就是对这一序列决策的公式化过程。因此任务从该如何放置任务最优的问题转化为求到第T次任务放置时根据状态和动作确定的最大累计奖励策略的期望:
通过Bellman方程对马尔科夫决策过程求最佳决策序列,可以以状态的累计奖励求期望,得出当前状态s的状态值函数V(s),评价当前状态的好坏:
V(s,m)(s)=E(s,m)[Ri+1+γ[Ri+2+γ[Ri+3+…]]|si=s]
=E(s,m)[Ri+1+γV(s')|si=s]
因此根据上式,用V*(s)表示最佳累计期望:
类似地,构建维护Q-Table表格,获取在某一状态s下采取动作m能获得的收益期望:
Q-Table | m1 | m2 |
s1 | Q(s1,m1) | Q(s1,m2) |
s2 | Q(s2,m1) | Q(s2,m2) |
s3 | Q(s3,m1) | Q(s3,m2) |
更新状态动作值函数Q(s,m)采用的方法是时间差分法:选取下一个状态s'中最大的Q(s',m')乘以衰变值γ再加上真实回报值R作为Q现实,然后将Q(s,m)作为Q估计:
Q(s,m)=Q(s,m)+a[R(s,m)+γmaxQ(s',m')-Q(s,m)]
其中a是学习率,设定一个较大的初值1,然后在每一定迭代次数后对学习率减半;γ是奖励衰变系数,取值在0~1之间,值越大,就代表越考虑后续状态能带来的价值。
算法使用的相关参数定义如下:
(1)某一时刻的状态s∈S:共定义了三个状态,其中s1是初始化状态;s2是上一项任务分配给边缘设备的状态;s3是上一项任务分配给无服务器的状态。当第一个任务传入时,是初始化状态s1;如果任务分配给边缘设备,状态转入s2;任务分配给无服务器,状态转入s3。
(2)采取的动作a∈A:共定义了两个动作,m1是将任务分配给边缘设备;m2是将任务分配给无服务器。
(3)奖励R(s,a):在当前s状态下执行m动作所能获得的奖励R。我们分别将在无服务器中或在边缘设备中放置某一任务fi的奖励值设为:
(4)状态动作值函数Q(s,m):在当前状态s下执行动作m所能获得的奖励的期望。会随着新任务不断放置,根据时间差分法更新:
Q(s,m)=Q(s,m)+a[R(s,m)+γmaxQ(s',m')-Q(s,m)]
其中a是学习率,我们设定一个较大的初值1,然后在每一定迭代次数后对学习率减半;γ是奖励衰变系数,取值在0~1之间,值越大,就代表越考虑后续状态能带来的价值。我们的样本容量一般很大,对后续状态的价值进行考虑也很有必要。
调度方法的伪代码描述
(1)输入边缘设备的配置σe、无服务器的配置σm。
(2)输入边缘设备注册费用CostE。
(3) while true
(4) 输入待执行任务fi
(5)由预测器计算得出TS(fi)、CostS(fi)、TE(fi)。
(6) if maxQ(si,m)=Q(si,m1) then
(7)初始化Q-Table矩阵,初值全设为0。
(8)根据R-Table矩阵对任务进行放置。
(9) else if maxQ(si,m)=Q(si,m2) then
(10)将任务分配给无服务器,根据UpdateCIL模块寻找满足任务配置要求的最小容器,没有就创建新的容器以满足配置要求。
(11)在调用成本Cost上加上这次调用函数的成本CostS(fi)。
(12) else
(13)将任务分配给边缘设备,进入边缘设备的任务执行队列等待执行。
(14) end if
(15)根据时间差分法更新Q-Table矩阵。
(16) end while
(17) return Cost+CostE,max{TS(fi),TE(fi)}
由算法的伪代码描述可以得到,首先添加待执行任务fi进入边缘设备,预测器计算得出相应的延迟与成本,再由决策引擎根据基于强化学习的Q-Leanring算法对任务放置进行决策。如果当前任务是第一个待执行任务,则固定进入状态m1,并初始化Q-Table矩阵,根据R-Table矩阵中的奖励值放置任务,并根据放置位置进入相应状态。进入状态s2说明上一项任务放置在边缘设备中,进入状态s3则说明上一项任务放置在无服务器中。根据当前状态中最大的Q值选择任务放置位置。注意任务放置在无服务器中计算会增加调用成本,而放置在边缘设备中计算需要进入执行队列末尾。放置完成后根据时间差分法更新Q-Table矩阵,并等待下一个任务输入。
最后需要说明的是,以上具体实施方式仅用以说明本专利技术方案而非限制,尽管参照较佳实施例对本专利进行了详细说明,本领域的普通技术人员应当理解,可以对本专利的技术方案进行修改或者等同替换,而不脱离本专利技术方案的精神和范围,其均应涵盖在本专利的权利要求范围当中。
Claims (6)
1.一种无服务器计算中基于延迟和成本均衡的动态任务放置方法,其特征在于:所述方法包括步骤:
1)输入一个新的待处理任务至边缘设备,由预测器分别预测所述任务在边缘设备中与在无服务器中的执行时间与成本,将结果送至决策引擎;
所述任务在无服务器中的执行时间TS(fi)与成本CostS(fi)分别定义为:
TS(fi)=UpS(fi)+StartS(fi)+CompS(fi)+StoreS(fi)
CostS(fi)
其中,UpS(fi)是上传时间;StratS(fi)是容器启动时间;CompS(fi)是在无服务器中的计算时间;StoreS(fi)是将运算结果上传至云服务器所需的时间;CostS(fi)是在任务中计算的成本;
所述任务在无服务器中的TS(fi)与成本CostS(fi)的预测方法为:
1.1)上传时间UpS(fi)与函数si的大小成线性关系,通过对训练集的回归训练得到参数a1和b1:
UpS(fi)=a1si+b1
1.2)容器启动时间StratS(fi)分为冷启动和热启动,如果云端有在启动状态并且满足性能要求的容器,StratS(fi)采用热启动时间;否则容器就在云端新产生一个符合要求的容器并采用冷启动时间;冷启动时间和热启动时间取样本集的平均值;
1.3)无服务器中的计算时间CompS(fi)与函数si的大小成线性关系,通过对训练集的回归训练得到参数a2和b2:
CompS(fi)=a2si+b2
1.4)将运算结果上传至云服务器所需的时间StoreS(fi)取样本集的平均值;
1.5)在任务中计算的成本CostS(fi)与占用服务器资源的数量与时间成正比:
CostS(fi)=δ*si*CompS(fi)
其中δ代表占用服务器收费系数;
1.6)容器从调用函数结束到销毁之间的时间,预测器使用一个UpdateCIL数据结构来维护无服务器中所有容器的状态;
所述任务在边缘设备中的执行时间TE(fi)与成本CostE分别定义为:
TE(fi)=CompE(fi)+UpE(fi)+StoreE(fi)
CostE
其中,CompE(fi)是边缘设备上的计算时间;UpE(fi)是计算结果的上传时间;StoreE(fi)把是运算结果上传至云服务器所需要的时间;CostE是在边缘计算中的成本;
所述任务在边缘设备中的执行时间TE(fi)与成本CostE的预测方法为:
2.1)边缘设备上的计算时间CompE(fi)与函数si的大小成线性关系,通过对训练集的回归训练得到参数a3和b3:
CompE(fi)=a3si+b3
2.2)计算结果的上传时间UpE(fi)取上传时间的样本集的平均值;
2.3)将是运算结果上传至云服务器所需时间StoreE(fi),取样本集的平均值;
2.4)在边缘计算中的成本CostE取固定值;
2.5)对于边缘设备中的任务,由预测器维护一个边缘设备任务的队列,并以T0表示当前队列完成所需的剩余时间;
2)在决策引擎中,根据延迟与成本均衡的算法决定将所述任务留在边缘设备或送至无服务器中进行计算,并且会将决策数据传回预测器中以更新服务器状态;如果在边缘设备的运算器中计算,则将所述任务送至边缘设备运算器队列末尾等待执行,转步骤3.1);如果在无服务器中进行计算,将所述任务上传至无服务器中,转步骤3.2);
3.1)在边缘设备运算器队列中出列后,由运算器计算得出所述任务执行结果;
3.2)将所述任务上传至无服务器平台,选择合适的容器进行计算,优先选择尚未销毁且满足配置需求的最小容器;
4)计算完成后,将结果上传至云服务器中的存储桶中。
2.根据权利要求1所述的无服务器计算中基于延迟和成本均衡的动态任务放置方法,其特征在于:所述步骤2)在决策引擎中,优化目标如下:
其中,TS(fi)为任务在无服务器中的执行时间;CostS(fi)为任务在无服务器中的成本;TE(fi)为任务在边缘设备中的执行时间;CostE为任务在边缘设备中的成本;n为任务的数量。
3.根据权利要求2所述的无服务器计算中基于延迟和成本均衡的动态任务放置方法,其特征在于:所述无服务器任务的上传时间UpS(fi)、计算时间CompS(fi),边缘设备任务的计算时间CompE(fi)采用基于深度学习的小批量随机梯度下降算法实现对任务的预测。
4.根据权利要求3所述的无服务器计算中基于延迟和成本均衡的动态任务放置方法,其特征在于:所述延迟与成本均衡的算法采用基于强化学习的Q-Learning算法对任务放置进行预测。
5.根据权利要求3所述的无服务器计算中基于延迟和成本均衡的动态任务放置方法,其特征在于:所述无服务器中使用的容器启动时间StratS(fi)、存储时间StoreS(fi),边缘设备中计算的上传时间UpE(fi)、存储时间StoreE(fi)的数据呈正态分布,采用样本集的平均值进行预测。
6.根据权利要求1所述的无服务器计算中基于延迟和成本均衡的动态任务放置方法,其特征在于:所述训练集的参数ai和bi的更新公式如下,每次迭代以学习率λ向反方向更新参数a、b:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110501341.7A CN113176947B (zh) | 2021-05-08 | 2021-05-08 | 无服务器计算中基于延迟和成本均衡的动态任务放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110501341.7A CN113176947B (zh) | 2021-05-08 | 2021-05-08 | 无服务器计算中基于延迟和成本均衡的动态任务放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113176947A CN113176947A (zh) | 2021-07-27 |
CN113176947B true CN113176947B (zh) | 2024-05-24 |
Family
ID=76928529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110501341.7A Active CN113176947B (zh) | 2021-05-08 | 2021-05-08 | 无服务器计算中基于延迟和成本均衡的动态任务放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113176947B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113535409B (zh) * | 2021-08-10 | 2022-08-05 | 天津大学 | 一种面向能耗优化的无服务器计算资源分配系统 |
CN115543450B (zh) * | 2022-09-20 | 2024-02-23 | 国网江苏省电力有限公司信息通信分公司 | 边缘场景中资源优化的无服务器计算动态休眠方法及应用 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018126286A1 (en) * | 2017-01-02 | 2018-07-05 | Newvoicemedia Us Inc. | System and method for optimizing communication operations using reinforcement learing |
CN111444009A (zh) * | 2019-11-15 | 2020-07-24 | 北京邮电大学 | 一种基于深度强化学习的资源分配方法及装置 |
CN111541760A (zh) * | 2020-04-20 | 2020-08-14 | 中南大学 | 基于无服务器雾计算系统架构的复杂任务分配方法 |
AU2020102743A4 (en) * | 2020-10-15 | 2020-12-03 | Katonic Pty Ltd | Method and a system for artificial intelligence platform which enables it operations to deliver quality, seamless and reliable digital experience |
CN112134916A (zh) * | 2020-07-21 | 2020-12-25 | 南京邮电大学 | 一种基于深度强化学习的云边协同计算迁移方法 |
-
2021
- 2021-05-08 CN CN202110501341.7A patent/CN113176947B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018126286A1 (en) * | 2017-01-02 | 2018-07-05 | Newvoicemedia Us Inc. | System and method for optimizing communication operations using reinforcement learing |
CN111444009A (zh) * | 2019-11-15 | 2020-07-24 | 北京邮电大学 | 一种基于深度强化学习的资源分配方法及装置 |
CN111541760A (zh) * | 2020-04-20 | 2020-08-14 | 中南大学 | 基于无服务器雾计算系统架构的复杂任务分配方法 |
CN112134916A (zh) * | 2020-07-21 | 2020-12-25 | 南京邮电大学 | 一种基于深度强化学习的云边协同计算迁移方法 |
AU2020102743A4 (en) * | 2020-10-15 | 2020-12-03 | Katonic Pty Ltd | Method and a system for artificial intelligence platform which enables it operations to deliver quality, seamless and reliable digital experience |
Non-Patent Citations (1)
Title |
---|
自动光学(视觉)检测技术及其在缺陷检测中的应用综述;卢荣胜;吴昂;张腾达;王永红;;光学学报;20180627(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113176947A (zh) | 2021-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111932027B (zh) | 一种融合边缘设施的云服务综合调度优化系统及方法 | |
CN111756812B (zh) | 一种能耗感知的边云协同动态卸载调度方法 | |
CN108958916B (zh) | 一种移动边缘环境下工作流卸载优化方法 | |
CN113176947B (zh) | 无服务器计算中基于延迟和成本均衡的动态任务放置方法 | |
Kaur et al. | Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud | |
CN111274036A (zh) | 一种基于速度预测的深度学习任务的调度方法 | |
CN113822456A (zh) | 一种云雾混构环境下基于深度强化学习的服务组合优化部署方法 | |
CN113346938A (zh) | 一种面向空天地一体化网络的边缘计算资源融合管理方法 | |
CN113867843A (zh) | 一种基于深度强化学习的移动边缘计算任务卸载方法 | |
CN115134371A (zh) | 包含边缘网络算力资源的调度方法、系统、设备及介质 | |
CN116257363B (zh) | 资源调度方法、装置、设备及存储介质 | |
CN114661466A (zh) | 用于边缘计算环境中面向智能工作流应用的任务卸载方法 | |
CN116489708B (zh) | 面向元宇宙的云边端协同的移动边缘计算任务卸载方法 | |
CN115033359A (zh) | 一种基于时延控制的物联代理多任务调度方法和系统 | |
CN112732444A (zh) | 一种面向分布式机器学习的数据划分方法 | |
Ghafouri et al. | Mobile-kube: Mobility-aware and energy-efficient service orchestration on kubernetes edge servers | |
CN108762899A (zh) | 一种云任务重调度方法和装置 | |
CN117041330A (zh) | 一种基于强化学习的边缘微服务细粒度部署方法及系统 | |
Yin et al. | An improved ant colony optimization job scheduling algorithm in fog computing | |
CN114020469A (zh) | 基于边缘节点的多任务学习方法、装置、介质与设备 | |
Jia et al. | Online learning and pricing with reusable resources: Linear bandits with sub-exponential rewards | |
CN113485833A (zh) | 资源预测方法和装置 | |
CN110096337B (zh) | 一种企业应用云部署的云数据中心资源分配方法及系统 | |
CN116455903A (zh) | 一种利用深度强化学习优化车联网中依赖性任务卸载方法 | |
CN112156453B (zh) | 实例自适应调整方法、装置、计算机可读存储介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |