一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向边缘云网络中机器学习任务的动态定价和部署方法与流程

2022-03-04 22:58:47 来源:中国专利 TAG:

一种面向边缘云网络中机器学习任务的动态定价和部署方法
1.技术邻域
2.本发明属于边缘计算、云计算领域,具体涉及一种面向边缘云网络中机器学习任务的动态定价和部署方法。


背景技术:

3.随着物联网的发展,物联网产生的数据量越来越大,边缘计算进入人类的视野,近几年来迅速发展。边缘计算具有两大特点:1.相比云服务器,边缘节点计算、存储资源较少。2.边缘节点靠近数据源头,数据传输距离短,因此边缘计算时延更低,带宽要求低。基于这些特点,边缘计算如今开始应用到智慧城市、自动驾驶、视频分析、智慧家庭等各个领域,利用边缘云网络训练机器学习模型也越来越普遍。已有的分布式机器学习任务调度算法并不适合直接应用于边缘-云网络上机器学习任务的调度。首先,由于边缘靠近数据源,在算力相同的情况下机器学习任务肯定更倾向于在边缘服务器进行训练,然而边缘服务器的资源相比云服务器来说稀少得多,因此在调度的过程中需要同时考虑延迟和资源限制的影响;其次,已有的针对云服务商的定价机制并不适合于边缘-云网络,考虑到边缘服务器计算、存储以及带宽资源较为稀少,但本身又具有靠近数据源的优点,边缘服务器上的资源定价不一定与云服务器上的资源定价一致。因此,对于边缘-云网络,设计出适用的机器学习任务定价、部署算法是一个亟待解决的问题。
4.从一个服务商的角度出发,假设他拥有多个分布在不同区域的边缘服务器和一个云服务器,每个服务器上有多种类型计算节点和参数服务器节点。用户到达并向服务商提供想要训练的机器学习任务的信息,但是用户不需要提交任务的运行时间以及所需要的计算节点和参数服务器结点的类型和数量。即使是在知道任务使用的节点的类型和数量以及任务运行时间的前提下,对在线到达的的任务进行动态定价和部署已经是一个np-hard问题。如果考虑一个更实际的情况,每个用户任务请求在线到达并且任务运行时间和任务使用的节点的类型和数量都是未知的(现实中这些信息往往都是未知的),要求云服务商立刻确定是否接收任务,问题将会变的更难。


技术实现要素:

5.为了解决上述问题,本发明提供了一种高效面向边缘云网络中机器学习任务的动态定价和部署方法。用户到达并向服务商提供想要训练的机器学习任务的信息。服务商通过算法首先根据历史信息和系统状况对计算节点和参数服务器节点动态定价,然后计算任务的最优部署方案(指使得竞标价格减去资源花销最大的部署方案),并决定是否接收任务。如果接收任务,则服务商根据最优部署方案部署任务。本机制以社会福利最大化为目标,这里的社会福利指服务商收益与服务商接收的用户的效益之和。
6.本发明所采用的技术方案是:
7.一种面向边缘云网络中机器学习任务的动态定价和部署方法,一个服务商提供给用户w种类型的计算节点和p种类型的参数服务器节点,这些节点位于s个不同位置的服务
器上。其中,第s个服务器上第w类的计算节点资源量为c
sw
,第s个服务器上第p类的参数服务器节点资源量为c
sp
。有j个机器学习任务在总长为t的时间段到来。用户j提交其任务的信息给服务商:其中rj是任务到达的时间,fj(
·
)是非负的效益函数,其数值随着任务持续时间增加而增加,该函数的取值含义是用户根据任务完成时间对任务定义的价值。bj中剩余的部分描述任务j的信息,每个机器学习任务都包含一个输入数据集,习惯上我们会将数据集分为相同大小的数据块,dj则是数据块的数量,每个数据块被进一步划分为mj个相同大小的mini-batch。由于深度学习任务的学习中止条件不确定,每个任务会指定一个最大的训练轮次ej。如果任务j被接收,所有数据块将调度到分配的worker对应的物理服务器s上,其传输延迟为而表示使用第w种worker、第p种ps训练任务j一个mini-batch所需要的时间。
8.每个用户到达时,提交任务信息给云服务商,云服务商对不同服务器上的资源进行动态定价(将第s个服务器上第w类的计算节点的单价定为α
sw
,将第s个服务器上第p类的的参数服务器节点单价定为β
sp
)。然后模拟计算任务的最优部署方案,如果该方案对应的收益大于0,则接收该任务,并部署该任务,否则拒绝该任务。
9.一种面向边缘云网络中机器学习任务的动态定价和部署方法,具体包括以下步骤:
10.步骤1:用整数规划对上述问题进行建模。
11.步骤2:考虑步骤1中的整数规划问题,使用紧致指数优化理论对其进行重构。
12.步骤3:对步骤2中得到的重构问题,考虑其对偶问题。基于对偶问题,提出任务接收控制的基本原则。
13.步骤4:提出对计算节点和参数服务器节点进行动态定价的定价函数,根据历史信息和系统状况对资源进行定价。
14.步骤5:当任务到达时,服务商计算其最优调度方案,根据任务接收控制的基本原则,决定是否接收该任务,对于接收的任务,转到步骤6。
15.步骤6:部署机器学习任务,同时更新当前可用资源状况。
16.步骤7:每当有任务完成时,更新步骤4中定价函数的相关参数,并重新对计算节点和参数服务器节点进行定价。
17.进一步的,步骤1中建模如下,
[0018][0019]
subject to:
[0020][0021][0022][0023][0024]
[0025][0026][0027][0028][0029][0030][0031][0032][0033][0034][0035][0036]
其中,xj表示决策变量,是否接收任务j,aj表示任务j开始执行的时隙,表示任务j结束执行的时隙,c
sw
表示服务器s上第w种计算节点的数量,c
sp
表示服务器s上第p种参数服务器的数量,bw表示计算节点w的带宽大小,b
p
表示计算参数服务器节点p的带宽大小,o
jw
表示任务j是否选择计算节点w,o
jp
表示参数任务j是否选择计算服务器节点p;y
jsw(t)
表示任务j在服务器s上于时隙t使用的计算节点w数量;z
jsp(t)
表示任务j在服务器s上于时隙t使用的参数服务器节点p数量;ψj表示是否任务j的所有计算节点和参数服务器节点都在一个服务器上;pj表示用户应为任务j支付的酬劳,[s]\s表示从集合s中除去元素s得到的集合;
[0037]
建模的目的是,对资源进行定价,然后在满足资源约束的条件下,决定是否接收用户任务,并为接受的任务设计部署方案,以最大化社会福利;约束条件(1a)假设一个任务只能使用一种类型的计算节点和参数服务器节点,只有在计算节点类型确定后才能给任务分配该类型的计算节点,因此只有o
jw
=1时才能分配第w种计算节点;此外,任务的每一个数据块至多只能被一个计算节点训练,因此同一时隙内分配的计算节点数量不能超过dj,于是得到约束约束条件(1b);约束条件(1c)规定计算节点禁止抢占,分配给每个任务的计算节点在任务完成后才会释放;类似于约束条件(1b)和(1c),得到关于参数服务器节点的两个约束(1d)和(1e);考虑到worker训练数据离不开ps,必须保证worker运行时至少有一个ps,由此得到约束(1f);约束(1g)保证有足够多的计算节点和时间来训练任务;约束(1h)确定使用集中化放置还是分布式放置;约束(1i)和(1j)保证使用的计算节点、参数服务器节点输了不超过服务器拥有的数量;约束(1k)保证参数服务器节点有足够的带宽用于传递参数,对于放置参数服务器节点的服务器s,我们对服务器集合s中所有其他服务器上的计算节点需要的带宽进行求和,保证求和得到的值小于服务器s上参数服务器节点拥有的带宽;约束(1l)保证任务到达之前不分配资源以及完成之后立刻释放资源;(1m)和(1n)分别表示任务的开始训练时间和结束训练时间;约束(1o)和(1p)规定上述变量的范围。
[0038]
进一步的,步骤2的具体实现方式如下;
[0039]
对于任意一个任务j,其调度由xj,o
jw
,o
jp
,y
jsw
(t),z
jsp
(t)决策变量决定,令lj为任务j所有满足约束条件(1a)-(1h),(1k)-(1p)的调度方案的集合;然后将xj修改为其含义是任务j是否被接收并且采用调度方案l,表示采用,表示不采用;类似的,也修改变量y
jsw
(t),z
jsp
(t)为其含义分别是采用调度方案l时分配给任务j的计算节点、参数服务器节点数量;最后定义为在调度方案l下任务j的完成时间,于是得到问题(1)的重构问题(2)如下:
[0040][0041]
subject to:
[0042][0043][0044][0045][0046]
问题(2)是一个整数线性规划问题(ilp),其中约束(2a)、(2b)分别对应于约束(1i)、(1j);约束(2c)、(2d)则覆盖了剩余的约束条件,通过解决问题(2)来处理问题(1)。
[0047]
进一步的,步骤3的具体实现方式如下;
[0048]
将minlp问题(1)转化为了ilp问题(2),但是代价是引入了指数级数量的变量为了处理如此之多的变量,考虑(2)的对偶问题,将放宽为然后对于约束(2a),(2b)和(2c)分别引入对偶变量α
sw
(t),β
sp
(t),μj,得到对偶问题(3):
[0049]
minimize∑
j∈[j]
μj ∑
s∈[s]

w∈[w]

t∈[t]
α
sw
(t)c
sw

s∈[s]

p∈[p]

t∈[t]
β
sp
(t)c
sp
(3)
[0050]
subject to:
[0051][0052][0053]
对于问题(3),将对偶变量α
sw
(t),β
sp
(t)理解为计算节点w,参数服务器节点p在服务器s上单位时间的单位价格,于是通过以下公式计算任务j在采用调度方案l时的总花费:
[0054][0055]
再考虑约束(3a),该约束右边部分实际上就是任务的效益减去总花费,根据对偶问题的互补松驰性原则,同时考虑(3b),得到:
[0056][0057]
其中rhs表示公式等号或者不等号的右侧,令于
是μj可以理解成用户在任务j采用最优调度方案l
*
时的收益;基于(4),提出任务接收控制的基本原则:对于任务j,只有当采用最优调度方案l
*
得到的μj大于0时,服务商才会接受任务j,μj大于0就说明任务带来的效益能大于执行任务产生的花销。
[0058]
进一步的,步骤4的具体实现方式如下;
[0059]
定义两个资源数量变量q
sw
(t),h
sp
(t),分别表示时隙t时服务器s上第w种计算节点和第p中参数服务器节点的使用数量,采用指数函数为原型,提出的定价函数如下:
[0060][0061]
当资源完全未使用时,q
sw
(t)=0,h
sp
(t)=0,α
sw
(0)=0,(0)=0,此时由于任务的效益永远非负,因此任何任务都能接收,该机制确保了算法能尽可能多的接收任务;当资源完全耗尽时,资源完全耗尽时,其中ηw和η
p
为价格函数中的相关参数,此时应该保证任意一个任务都不会被接收,这就要求ηw,η
p
足够大,以下式为标准:
[0062][0063]
考虑到计算节点或参数服务器节点数量不确定,按照以下的式子来确定ηw,η
p
的下界:
[0064][0065]
上面的式子中假设η
w-1》1,η
p-1》1,这样的下界保证即使任务只要求一个计算节点,其效益也小于其花销。
[0066]
进一步的,步骤5的具体实现方式如下;
[0067]
对于在线到达的任务,服务商计算其最优部署方案,该问题实质上是对于任务j,假定接收任务j的情况下,找出其最优调度方案l
*
,对该问题建模如下:
[0068][0069]
subject to:
[0070][0071][0072]
(1a)-(1h),(1k)-(1p),
[0073]
问题(6)仍然是个太复杂的问题,原因是计算节点和参数服务器节点类型以及任务开始执行时间不确定,通过固定上述三个变量,也就是w,p,aj,在这个基础上,再给定任务完成时间于是得到问题(6)的简化问题:
[0074][0075]
subject to:
[0076][0077][0078][0079]
(1b)-(1h),(1k),(1l),o
jw
=1,o
jp
=1
[0080]
为得到问题(7)的最优解,分别考虑两种放置情况:集中式放置和分布式放置;对于集中式放置,统计所有能满足集中化放置条件的服务器,并按照资源开销从小到大排序,选取排序后第一个服务器进行放置,得到集中式放置的方案和开销,这里的满足条件指在时间段t1期间计算节点数量足够,并且至少有一个参数服务器节点;对于分布式放置,首先根据计算节点价格从低到高对服务器进行排序,然后按顺序放置计算节点,计算节点全部放置完后考虑放置参数服务器节点,尝试将其他服务器上放置的计算节点移动到参数服务器节点对应的服务器上,尽管移动计算节点后会导致计算节点花销增多,但有可能参数服务器节点因此减少进而使得总花销变少,于是首先遍历每一个可能放置参数服务器节点的服务器,然后讨论移动计算节点的可能性,并将最终花销最小的方案存储到集合γ中,最后根据花销对集合γ排序,返回花销最小的方案;
[0081]
总的来说,为得到问题(6)的最优解,首先遍历所有可能的计算节点、参数服务器节点类型以及任务开始时间、结束时间,然后分别考虑分布式放置和集中式放置,选出最优的调度方案,然后根据任务接收的控制原则决定是否接收任务,对于接收的任务,转入步骤6。
[0082]
与现有技术相比,本发明具有如下优点和有益效果:该方法能够对计算节点和参数服务器节点动态定价,并且在未知未来任务信息的情况下决定是否接收在线到达的机器学习任务,并对接收的任务进行部署放置,以社会福利最大化为目的。边缘云市场资源提供商根据本发明可以随着时间的推移实时在线地对资源进行动态定价,进而对在线到达的机器学习任务有选择性的接收,近似实现社会福利最大化。本发明结合了线性规划建模,紧致指数优化理论,对偶理论和贪心算法等,通过理论分析证明了我们的算法实现了在线的可信拍卖,同时算法能在多项式时间内给出结果,此外还证明了放置算法的最优性。
附图说明
[0083]
图1是本发明实施例系统模型的结构图。
[0084]
图2是本发明实施例的概念流程图。
[0085]
图3是本发明实施例实验结果图。图3(a)展示了本发明实施例在不同服务器、任务数量下的竞争比(竞争比指在线算法得到的结果与离线最优算法的结果之比,越小越好);图3(b)展示了采用不同效益函数时本发明实施例得到的社会福利;图3(c)对比本发明实施例实验中接收的任务的资源消耗与任务价值。
[0086]
图4是本发明实施例和其他现有算法结果的实验结果对比图。图4(a)展示了不同任务数量下本发明实施例得到的社会福利与其他算法的对比;图4(b)展示了不同服务器数量下本发明实施例得到的社会福利与其他算法的对比;图4(c)展示了本发明实施例与其他算法在不同服务器、任务数量下的竞争比。
具体实施方式
[0087]
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,不用于限定本发明。
[0088]
我们首先在表1中说明实施例中使用到的一些重要符号:
[0089]
表1重要符号
[0090]
[0091][0092]
在本实施例中,我们首先模拟出一个边缘-云网络,包括一个云端以及许多边缘服务器,边缘服务器的数量为s=[50,300],我们考虑在这个网络上进行时长t=150的测试(一个时隙表示一个小时)。每个边缘服务器包含[1,5]个计算节点以及[1,3]个参数服务器节点,考虑到计算节点和参数服务器节点的异构性,我们将计算节点和参数服务器节点的类型设置为5种。在服务器带宽方面,我们将worker的带宽设置在[100,5*1024]mbps,参数服务器节点的带宽设置在[5*1024,20*1024]mbps左右。一种面向分布式机器学习任务的动态定价和部署方法,包括以下步骤:
[0093]
步骤1:用整数规划对问题进行建模。
[0094][0095]
subject to:
[0096][0097][0098][0099][0100][0101][0102][0103][0104][0105][0106][0107]
[0108][0109][0110][0111][0112]
该机制的目的是,对资源进行定价,然后在满足资源约束的条件下,决定是否接收用户任务,并为接受的任务设计部署方案(y
jsw
和z
jsp
),以最大化社会福利。约束条件(1a)假设一个任务只能使用一种类型的计算节点和参数服务器节点。只有在计算节点类型确定后我们才能给任务分配该类型的计算节点,因此只有o
jw
=1时我们才能分配第w种计算节点。此外,任务的每一个数据块至多只能被一个计算节点训练,因此同一时隙内分配的计算节点数量不能超过dj,于是我们得到约束约束条件(1b)。约束条件(1c)规定计算节点禁止抢占,分配给每个任务的计算节点在任务完成后才会释放。类似于约束条件(1b)和(1c),我们得到关于参数服务器节点的两个约束(1d)和(1e)。考虑到worker训练数据离不开ps,我们必须保证worker运行时至少有一个ps,由此得到约束(1f)。约束(1g)保证有足够多的计算节点和时间来训练任务。约束(1h)确定使用集中化放置还是分布式放置。约束(1i)和(1j)保证使用的计算节点、参数服务器节点输了不超过服务器拥有的数量。约束(1k)保证参数服务器节点有足够的带宽用于传递参数,对于放置参数服务器节点的服务器s,我们对服务器集合s中所有其他服务器上的计算节点需要的带宽进行求和,保证求和得到的值小于服务器s上参数服务器节点拥有的带宽。约束(1l)保证任务到达之前不分配资源以及完成之后立刻释放资源。(1m)和(1n)分别表示任务的开始训练时间和结束训练时间。约束(1o)和(1p)规定上述变量的范围。
[0113]
步骤2:问题(1)很难直接进行求解,因此我们需要对其进行重构。对于任意一个任务j,其调度主要由xj,o
jw
,o
jp
,y
jsw
(t),z
jsp
(t)等决策变量决定,我们令lj为任务j所有满足约束条件(1a)-(1h),(1k)-(1p)的调度方案的集合。然后我们将xj修改为其含义是任务j是否被接收并且采用调度方案l(表示采用,表示不采用)。类似的,我们也修改变量y
jsw
(t),z
jsp
(t)为其含义分别是采用调度方案l时分配给任务j的计算节点、参数服务器节点数量。最后我们定义为在调度方案l下任务j的完成时间。于是我们得到问题(1)的重构问题(2)如下:
[0114][0115]
subject to:
[0116][0117][0118]
[0119][0120]
问题(2)是一个整数线性规划问题(ilp),其中约束(2a)、(2b)分别对应于约束(1i)、(1j);约束(2c)、(2d)则覆盖了剩余的约束条件。于是我们可以通过解决问题(2)来处理问题(1)。
[0121]
步骤3:我们将minlp问题(1)转化为了ilp问题(2),但是代价是引入了指数级数量的变量为了处理如此之多的变量,我们考虑(2)的对偶问题,我们将放宽为然后对于约束(2a),(2b)和(2c)分别引入对偶变量α
sw
(t),β
sp
(t),μj,得到对偶问题(3):
[0122]
minimize∑
j∈[j]
μj ∑
s∈[s]

w∈[w]

t∈[t]
α
sw
(t)c
sw

s∈[s]

p∈[p]

t∈[t]
β
sp
(t)c
sp
ꢀꢀ
(3)
[0123]
subject to:
[0124][0125][0126]
对于问题(3),我们将对偶变量α
sw
(t),β
sp
(t)理解为计算节点w,参数服务器节点p在服务器s上单位时间的单位价格。于是我们可以通过以下公式计算任务j在采用调度方案l时的总花费:
[0127][0128]
我们再考虑约束(3a),该约束右边部分实际上就是任务的效益减去总花费。根据对偶问题的互补松驰性原则,同时考虑(3b),我们得到:
[0129][0130]
其中rhs(right-hand side)表示公式等号或者不等号的右侧,我们令于是μj可以理解成用户在任务j采用最优调度方案l
*
时的收益。基于(4),我们提出任务接收控制的基本原则:对于任务j,只有当采用最优调度方案l
*
得到的μj大于0时,服务商才会接受任务j。μj大于0就说明任务带来的效益能大于执行任务产生的花销。
[0131]
步骤4:我们定义两个资源数量变量q
sw
(t),h
sp
(t),分别表示时隙t时服务器s上第w(p)种计算节点(参数服务器节点)的使用数量。我们采用指数函数为原型,提出我们的定价函数如下:
[0132][0133]
当资源完全未使用时,q
sw
(t)=0,h
sp
(t)=0,α
sw
(0)=0,(0)=0,此时由于任务的效益永远非负,因此任何任务都能接收。该机制确保了算法能尽可能多的接收任务。当资源完全耗尽时,
此时我们应该保证任意一个任务都不会被接收,这就要求ηw,η
p
足够大,以下式为标准:
[0134][0135]
考虑到计算节点(参数服务器节点)数量不确定,我们按照以下的式子来确定ηw,η
p
的下界:
[0136][0137]
上面的式子中我们假设η
w-1》1,η
p-1》1。这样的下界保证即使任务只要求一个计算节点,其效益也小于其花销。
[0138]
步骤5:对于在线到达的任务,服务商计算其最优部署方案,该问题实质上是对于任务j,假定接收任务j的情况下,找出其最优调度方案l
*
,我们对该问题建模如下:
[0139][0140]
subject to:
[0141][0142][0143]
(1a)-(1h),(1k)-(1p),
[0144]
问题(6)仍然是个太复杂的问题,原因是计算节点和参数服务器节点类型以及任务开始执行时间不确定。我们固定上述三个变量,也就是w,p,aj,在这个基础上,再给定任务完成时间于是我们得到问题(6)的简化问题:
[0145][0146]
subject to:
[0147][0148][0149][0150]
(1b)-(1h),(1k),(1l),o
jw
=1,o
jp
=1
[0151]
为得到问题(7)的最优解,我们分别考虑两种放置情况:集中式放置和分布式放置。对于集中式放置,我们统计所有能满足集中化放置条件(这里的满足条件指在时间段t1期间计算节点数量足够,并且至少有一个参数服务器节点)的服务器,并按照资源开销从小到大排序,选取排序后第一个服务器进行放置,得到集中式放置的方案和开销。对于分布式放置,我们首先根据计算节点价格从低到高对服务器进行排序,然后按顺序放置计算节点。
计算节点全部放置完后考虑放置参数服务器节点,我们尝试将其他服务器上放置的计算节点移动到参数服务器节点对应的服务器上,尽管移动计算节点后会导致计算节点花销增多,但有可能参数服务器节点因此减少进而使得总花销变少。于是我们首先遍历每一个可能放置参数服务器节点的服务器,然后讨论移动计算节点的可能性,并将最终花销最小的方案存储到集合γ中。最后根据花销对集合γ排序,返回花销最小的方案。
[0152]
总的来说,为得到问题(6)的最优解,我们首先遍历所有可能的计算节点、参数服务器节点类型以及任务开始时间、结束时间,然后分别考虑分布式放置和集中式放置,选出最优的调度方案。然后根据任务接收的控制原则决定是否接收任务。对于接收的任务,转入步骤6。
[0153]
步骤6:部署机器学习任务,同时更新当前可用资源状况。
[0154]
步骤7:一旦有机器学习任务完成,释放该任务所占用的资源,更新对应的服务器上的可用资源量。同时,根据该任务的信息,基于步骤4中的公式(5),更新价格函数相关参数ηw和η
p
,然后重新对计算节点和参数服务器节点进行定价。
[0155]
本发明研究了服务商如何对边缘云网络中的计算节点和参数服务器节点进行动态定价,并且在未知未来任务信息的情况下,决定是否接收任务,并对接收的任务进行部署放置,尽可能实现社会福利最大化。
[0156]
应当理解的是,本说明未详细阐述的部分均属于现有技术,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献