一种基于混合模型的优化边缘云资源的分配方法及系统与流程

文档序号:32870432发布日期:2023-01-07 03:34阅读:26来源:国知局
一种基于混合模型的优化边缘云资源的分配方法及系统与流程

1.本发明属于边缘云计算技术领域,具体涉及一种基于混合模型的优化边缘云资源的分配方法及系统,不仅能应用到边缘云场景,而且能复用到中心云、idc、cdn、终端设备等多个场景进行优化云资源分配部署。


背景技术:

2.边缘云的超低时延、海量数据、边缘智能等特性使得边缘云迅速发展,也使得边缘云计算成为构筑在中心云与终端之间的重要组成。在边缘云计算场景下,如何充分利用计算资源,在有限的资源上尽可能提供更多的服务能力,是边缘云计算服务的核心能力之一。一个好的边缘云资源分配方法,通过将各种类型的业务(计算、存储、流量等)混合部署,充分利用业务的资源偏好、时间偏好的差异,可以提升各类资源的利用率,从而带来更多营收。
3.现有的云资源分配方法只关注同构的中心云资源在分配不同业务情况下的收益表现,解决不了边缘云设备异构复杂、业务多变的实际边缘云场景,具体来说具有以下的缺点:能够面向的场景相对单一,边缘云设备资源极其异构,业务在边缘云设备上的收益(如带宽跑量、收入等)表现受到服务器本身属性,部署地域、业务特征、人口、时空等等各种复杂因素的影响;业务需求固化,现有分配方案基于单一的最优化算法或打分模型,在进行资源分配时假设业务需求固定或遵循上一时间周期的规律,导致需求偏差,降低分配方案在实际应用中的效果,产生滞后性;优化目标相对单一,边缘云资源的分配效果需要多维度的衡量,如资源利用率,收益(收入),毛利,收益率等;边缘云的混部问题,由于边缘云的性能异构,有些边缘云设备能提供的资源超过单一业务的需求,这时就产生了在同一设备商部署多类业务的混部需求,这大大提高分配方法的设计难度。


技术实现要素:

4.由于边缘云设备的异构复杂和业务多变的特性,使得传统云资源分配方案无法适应现有异构性设备且无法满足边缘云上的业务混部,本发明提出了一种基于混合模型的优化边缘云资源的分配方法及系统,解决了常规的云资源分配方案主要基于对已知的业务需求进行分配所产生的滞后性,边缘云设备资源所带来的异构性及边缘云上的业务混合部署也即混部问题。为解决以上技术问题,本发明所采用的技术方案如下:
5.一种基于混合模型的优化边缘云资源的分配方法,包括如下步骤:
6.s1,收集边缘云设备和边缘云业务的特征数据,并对特征数据进行转换;
7.s2,将转换后的特征数据输入多层感知机进行训练,同时基于梯度下降的bp算法进行优化训练得到带宽跑量预测模型;
8.s3,根据带宽跑量预测模型所预测的带宽跑量计算平均带宽利用率、毛利和毛利率,利用nsga-ii遗传算法和dqn算法求解平均带宽利用率、毛利和毛利率最大化的目标优化问题得到最优资源分配方案。
9.所述步骤s1包括如下步骤:
10.s1.1,收集边缘云设备和边缘云业务的特征数据,并对收集到的特征数据进行预处理;
11.所述特征数据包括任务id、带宽类型、nat类型、运营商类型、计费规则、带宽、cpu线程数、内存、带宽压测满意度、丢包压测满意度和历史带宽,其中,任务id、带宽类型、nat类型、isp运营商和计费规则为离散型特征数据,其余数据为连续型特征数据;
12.s1.2,利用min-max标准化方法对预处理后的连续型特征数据分别进行转换得到无量纲特征序列;
13.s1.3,使用one-hot编码方法对离散型特征数据进行编码转换。
14.在步骤s2中,所述带宽跑量预测模型的表达式为:
[0015][0016]
式中,g为激活函数,h表示隐藏层的输出,n表示边缘云设备的总数,w
ik
表示mlp模型对第k层的输入元素i的加权权重,x
ik
表示隐向量,当k=1时,x
ik
表示输入的特征数据,当k≠1时,x
ik
表示前一层的输出数据,y表示预测的带宽跑量。
[0017]
所述步骤s3包括如下步骤:
[0018]
s3.1,收集业务对边缘云设备的硬件需求,利用规则集将硬件需求转换为约束条件;
[0019]
s3.2,对步骤s3.1建立的约束条件依次进行遍历,判断各业务能否在边缘云设备上进行部署,如果可以利用带宽跑量预测模型预测的带宽跑量分别计算平均带宽利用率、毛利和毛利率作为边缘云设备的收益,如果不可以将边缘云设备的收益设置为-∞;
[0020]
s3.3,根据边缘云设备上部署的业务生成资源分配方案,利用资源分配方案构建种群,基于nsga-ii遗传算法和dqn算法对种群进行迭代优化,求解帕累托最优解,将帕累托最优解中边缘云设备的综合收益最大化的个体作为最优资源分配方案。
[0021]
在步骤s3.2中,所述平均带宽利用率的计算公式为:
[0022][0023]
式中,u表示平均带宽利用率,表示边缘云设备的集合,bi表示预测的边缘云设备i的带宽跑量,upbandwidthi表示边缘云设备i的上传带宽;
[0024]
所述毛利的计算公式为:
[0025][0026]
式中,g表示毛利,i
i,j
表示在边缘云设备i上运行j类业务的单位带宽收益,ci表示边缘云设备i的单位带宽成本;
[0027]
所述毛利率的计算公式为:
[0028][0029]
式中,gr表示毛利率。
[0030]
所述步骤s3.3包括如下步骤:
[0031]
s3.3.1,预设总迭代次数gen,并初始化迭代轮数gen=1;
[0032]
s3.3.2,利用随机分布生成算法生成包括若干个资源分配方案的初代种群;
[0033]
s3.3.3,在选择、交叉和变异的遗传操作中加入循环激活算法对初代种群进行重新组合生成子代种群,所述交叉操作为二进制交叉算法,变异操作为多项式变异算法;
[0034]
s3.3.4,将初代种群和子代种群组成种群p,将种群p输入深度q网络,在深度q网络中基于概率阈值生成混部业务,以最大化混部业务占比为目标对深度q网络进行训练输出最优混部资源分配方案,将最优混部资源分配方案添加到种群p中;
[0035]
s3.3.5,根据步骤s3.2中边缘云设备的收益计算综合收益,根据综合收益判定种群p中每个分配方案的pareto等级;
[0036]
s3.3.6,通过快速非支配排序得到不同的pareto等级集合;
[0037]
s3.3.7,计算种群p中每个分配方案的拥挤度,执行精英保留策略根据拥挤度和pareto等级集合生成新的父代种群;
[0038]
s3.3.8,判断gen<gen,如果是,执行gen=gen+1,利用新的父代种群更新初代种群并执行步骤s3.3.3,否则输出父代种群中综合收益最大化的个体作为最终的最优资源分配方案。
[0039]
步骤s3.3.3包括如下步骤:
[0040]
a,用随机的网络参数ω初始化动作网络qa的参数;
[0041]
b,将动作网络qa的参数复制给目标网络q
t
的参数;
[0042]
c,初始化经验回放缓冲区r,初始化dqn算法迭代轮数t=1;
[0043]
d,将种群p中的全部分配方案作为初始状态s1输入动作网络qa,利用激活函数计算卷积神经网络输出值的概率,基于概率阈值生成混部业务并基于贪心策略选择动作a
t

[0044]
e,执行动作a
t
,根据动作a
t
计算奖励r
t
,状态改变为s
t+1

[0045]
f,将(s
t
,a
t
,r
t
,s
t+1
)存储进经验回放缓冲区r;
[0046]
g,若经验回放缓冲区r中数据大于预设取样数从经验回放缓冲区r中采样个数据(si,ai,ri,s
i+1
);
[0047]
h,对步骤g中采样的每个数据,用目标网络q
t
计算yi=ri+γmaxaq
t
(s,a),γ表示新的回报权重,yi表示为对应样本计算出的目标函数中间值;
[0048]
i,最小化损失函数并根据梯度下降法更新动作网络qa;
[0049]
j,根据动作网络qa的网络参数更新目标网络q
t
的网络参数,执行t=t+1,判断迭代轮数是否达到最大值,如果否,返回步骤d,否则,输出最优的混部资源分配方案并将其加入到种群p中。
[0050]
一种基于混合模型的优化边缘云资源的分配系统,包括:
[0051]
特征数据收集模块:用于收集边缘云设备和边缘云业务的特征数据,并将特征数据进行转换;
[0052]
带宽跑量预测模型生成模块:将特征数据收集模块输出的转换后的特征数据输入多层感知机进行训练,并基于梯度下降的bp算法对损失函数进行调整获取带宽跑量预测模型;
[0053]
最优资源分配方案生成模块:用于根据带宽跑量预测模型生成模块预测的带宽跑量计算边缘云设备的综合收益,并利用nsga-ii遗传算法和dqn算法以综合收益最大化为目标求解最优资源分配方案;
[0054]
所述边缘云设备的综合收益通过将平均带宽利用率、毛利和毛利率求和得到。
[0055]
本发明的有益效果:
[0056]
设计了mlp神经网络模型、nsga-ii遗传学习模型以及dqn深度强化学习模型的组合模型,即通过多特征mlp模型有效预测边缘云设备在业务上的带宽跑量,而不直接利用历史数据,避免了模型的滞后性,将平均带宽利用率、毛利、毛利率三个目标共同作为nsga-ii的支配等级计算标准,利用nsga-ii遗传学习模型进行分配方案的生成和最优筛选,同时在nsga-ii的迭代过程中加入dqn进行混部方案的生成,通过对多种收益指标综合权衡得到了满足业务部署约束的最优化分配方案,保证了各方面收益的均衡和相对最优。
[0057]
创新性地将nsga-ii的迭代与dqn的迭代相结合,即将nsga-ii的分配方案输出作为dqn模型的初始状态,由dqn在已有分配方案的基础上进行混部方案生成,将dqn的结果嵌入进nsga-ii模型的种群生成与筛选之间,参与整个分配方案的优化迭代,两种模型共同迭代,最终输出非混部/混部的最优资源分配方案,解决了混部问题,最优化了资源综合利用率。
附图说明
[0058]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0059]
图1为nsga-ii算法的流程示意图。
[0060]
图2为特征数据的示例。
[0061]
图3为isp类型的one-hot编码示意图。
[0062]
图4为mlp模型的结构示意图。
[0063]
图5为三种隐藏层的结构示意图。
[0064]
图6为一台边缘云设备的带宽跑量示意图。
[0065]
图7为快手专线业务的硬件部署要求。
[0066]
图8为带宽跑量预测模型的训练示意图。
[0067]
图9为本发明的流程示意图。
具体实施方式
[0068]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0069]
多层感知机mlp模型,即全连接前馈人工神经网络(artificial neural network,ann),一个mlp至少由三层节点组成:输入层、隐藏层和输出层。除了输入节点,每个节点都是一个使用非线性激活函数的神经元。mlp使用称为反向传播的监督学习技术进行训练,它的多层和非线性激活将mlp与线性感知器区分开来。它可以区分不是线性可分的数据。
[0070]
nsga-ii算法,即带有精英保留策略的快速非支配多目标优化算法,是一种基于pareto最优解的多目标优化算法。nsga-ii算法的基本思想为:如图1所示,1、随机产生规模
为n的初始种群(也即n种分配方案),非支配排序后通过遗传算法的选择、交叉、变异三个基本操作得到第一代子代种群;2、从第二代开始,将父代种群与子代种群合并,进行快速非支配排序,同时对每个非支配层中的个体进行拥挤度计算,根据非支配关系以及个体的拥挤度选取合适的个体组成新的父代种群;3、通过遗传算法的基本操作产生新的子代种群:依此类推,直到满足程序结束的条件。
[0071]
dqn算法主要的算法流程是将神经网络与q-learning算法结合,利用神经网络强大的表征能力,将高维的输入数据作为强化学习中的状态(state),作为神经网络模型(agent)的输入,随后神经网络模型输出每个动作对应的价值(q值),得到将要执行的动作(actor)。强化学习的目标是通过学习从而获得最大的奖励。
[0072]
实施例1:一种基于混合模型的优化边缘云资源的分配方法,如图9所示,包括如下步骤:
[0073]
s1,收集边缘云设备和边缘云业务的特征数据,并对特征数据进行转换;
[0074]
s1.1,收集边缘云设备和边缘云业务的特征数据,并对收集到的特征数据进行预处理;
[0075]
由于硬件配置是决定边缘云设备性能的关键因素,而实时带宽跑量是本技术步骤s2所需要预测的目标值,因此,基于边缘云服务平台所积累的真实大规模数据集收集边缘云设备的硬件配置和实时的带宽跑量数据,以对边缘云的带宽跑量进行更准确的预测。所述特征数据包括任务id、设备所在省份、带宽类型、nat类型、运营商类型、计费规则、边缘云的最大可用带宽、cpu线程数、内存、带宽压测满意度、丢包压测满意度和历史带宽,其中,任务id、所在省份、带宽类型、nat类型、运营商类型和计费规则为离散型特征数据,其它数据为连续型特征数据。任务id和计费规则属于业务数据,设备所在省份、带宽类型、nat类型、运营商类型、设备的最大可用带宽、cpu线程数、内存、带宽压测满意度和丢包压测满意度均为表征边缘云设备的硬件数据,历史带宽是指设备在过去的单位时间内(1天或1周,根据模型要预测的具体时间长度而定)真实的跑量带宽。如图2所示,为数据示例。所有的特征数据可以利用sql指令从阿里云数据库中查询并下载,指令为:
[0076]
select machine_id,bw_upload_95,bw_real_upload2_95,dt
[0077]
from t_ads_machine_95net_info
[0078]
where dt in{};
[0079]
针对连续型数据,可以采用以下步骤对数据进行预处理:a,对异常数据如格式或逻辑错误进行清洗,采用均值代替法对连续型数据进行填充;b,采用箱线图法删除数据中的离群点,箱线图法依据数据的上下四分位数判断某条记录中的特征值是否异常。此为现有技术,本实施例不再详述。
[0080]
s1.2,利用min-max标准化方法对预处理后的连续型特征数据分别进行转换得到无量纲特征序列;
[0081]
由于各字段数据量级跨度大,有数据单位限制,因此需对数据进行标准化,也即将数据按比例进行缩放,使数据落入一个非常小的特定区间,并且转化为一个无量纲的纯数值,这样可对不同单位的指标进行加权。
[0082]
s1.3,使用one-hot编码方法对离散型特征数据进行编码转换;
[0083]
one-hot编码使用n位状态寄存器来对n个状态进行编码,每个状态都有它独立的
寄存器位,并且在任意时候,其中只有一位有效。比如:如图3所示,所有边缘云设备的isp(internet service provider,网络服务商)也即运营商类型主要有电信、移动和联通三种,则对任意设备的isp类型进行one-hot编码则得到以下形式:首先将isp类型这一特征分裂成isp_电信、isp_移动、isp_联通三种,若设备的isp类型为电信,则对应的编码为100。
[0084]
s2,如图8所示,将转换后的特征数据输入多层感知机(multilayer perceptron,mlp)模型进行训练,同时利用基于梯度下降的bp算法进行优化训练得到带宽跑量预测模型;
[0085]
由于基于神经网络的非线性模型的表达能力更强,同时当数据量和特征数增大时,模型的效果会有更明显的提升。尤其在不确定哪种特征对于服务器的业务带宽跑量影响更大时,基于神经网络的模型由于其能拟合任何函数的特点,能减少人为的特征筛选流程,同时使得预测准确率更高。如图4所示,所述mlp模型包括输入层、若干个隐藏层和输出层,如图5所示,隐藏层的网络结构的设置可以为平行结构、菱形结构、金字塔结构,具体地,平行结构是指该网络结构中各隐藏层的维度相同,菱形结构是指该网络结构中以中间隐藏层为对称轴的对应两侧隐藏层的维度相同,且均小于中间隐藏层的维度,金字塔结构是指该隐藏层网络结构中靠近输入层的隐藏层的维度最大,且越远离输入层的隐藏层的维度越小。由于边缘云设备数据量较大,特征复杂,最初的输入需要处理较多的信息,但最终输出只有一项带宽跑量,需要信息逐渐收束和精简。因此带宽跑量预测模型的隐藏层被设计为金字塔结构,同时实验了不同网络层数对效果的影响,实验发现3-6层的网络效果较好,更深的网络层数没有额外的准确率提高,而且线上响应时间会变慢。本技术中,输入层维度设置为128*1024,三个隐藏层设置为1024*512、512*256、256*1。
[0086]
根据带宽跑量预测模型可以对边缘云设备单位时间内的带宽跑量也即上传流量(upload traffic)进行预测,所述带宽跑量预测模型的表达式为:
[0087][0088]
式中,g为激活函数,h表示隐藏层的输出,n表示边缘云设备的总数,w
ik
表示mlp模型对第k层边缘云设备i的输入元素的加权权重,x
ik
表示隐向量,且k∈(1,2,3)表示当前带宽跑量预测模型的隐藏层数,当k=1时,x
ik
表示输入的特征数据,当k≠1时,x
ik
表示前一层的输出数据,y表示预测的带宽跑量。由于带宽跑量只能为非负实数,本技术采用relu函数作为激活函数,激活函数赋予mlp模型拟合非线性关系的能力,relu函数的特点为当输入信号小于0时,输出为0;当输入信号大于0时,输出等于输入,符合带宽跑量预测目标。
[0089]
优化时采用平均绝对误差(mean absolute error,mae)作为损失函数,所述损失函数的公式为:
[0090][0091]
式中,loss表示损失函数,表示预测的带宽跑量,bi表示边缘云设备i单位时间内的真实带宽跑量。采用基于梯度下降的bp算法可以通过调整模型参数使得损失趋向极小值,即使得模型更加准确地通过特征数据预测部署相应业务后的带宽跑量。
[0092]
所述真实的带宽跑量bi的计算公式为;
[0093][0094]
式中,表示边缘云设备i的第次带宽采样数据,z表示单位时间内的总带宽采
样数。如图6所示,为一台边缘云设备在一天内的带宽跑量波动,bi为将一天中每个采样点的带宽跑量从大到小进行排序,选择排名95%的数值作为该天的带宽跑量值。
[0095]
传统机器学习方法例如基于boosting的预测模型复杂性和表达能力有限,当特征和数据量增大到一定程度后,模型的准确率也会达到上限。而mlp属于非线性深度学习模型,其复杂性和表达能力可以随着层数和宽度的增加而增强,更适用于长期预测任务的模型构建,同时mlp更高的表达能力能带来更高的预测准确率。传统机器学习方法基于最小二乘或残差学习进行参数训练,当有新的数据增加时需要重新训练完整的模型,迭代效率较低。而mlp作为深度学习模型支持增量训练,只需要用训练好的模型对新数据进行拟合,模型迭代效率更高。业务在边缘云设备上的带宽跑量预测,不同于利用率预测,不需要机器本身带宽作为问题分式分母,因此受到不同特征的影响,更加复杂,mlp模型通过神经网络交叉参数计算能更好地捕获不同特征间的影响,而不会如boosting模型过分依赖服务器带宽特征,更适合本任务。
[0096]
s3,根据带宽跑量预测模型所预测的带宽跑量计算平均带宽利用率、毛利和毛利率,利用nsga-ii遗传算法和dqn算法求解平均带宽利用率、毛利和毛利率最大化的多目标优化问题,得到最优资源分配方案;
[0097]
s3.1,收集业务对边缘云设备的硬件需求,基于规则集将硬件需求转换为约束条件;
[0098]
不同业务对可部署的边缘云设备有着一定的硬件要求,所述硬件需求包括运营商类型、nat类型、cpu线程数、内存大小、磁盘类型以及磁盘大小等,如图7所示,快手专线业务对边缘云设备的运营商、是否公网、网络类型、上报单线带宽、网络质量、cpu、内存大小、磁盘类型和磁盘大小等有着明确的约束,利用规则集将此约束形式化,方便作为资源分配过程中的硬性约束。比如:
[0099]
{

快手

:{

upbandwidth

:[900,1501,2500,3500,5500],

cpu_num

:[16,24,32,32,48],

memory_size

:[20,28,40,40,60],

disk_upband

:[0.7,0.7,0.6,0.6,0.5],

avg_iops_line

:[3000,3000,3000,5000,10000]},

b站点播

:{

upbandwidth

:[2000,5000],

cpu_num

:[32,32],

memory_size

:[64,64],

ssd

:[3.5,8],

disk_upband

:[1.5,1.5]}}。
[0100]
s3.2,对步骤s3.1建立的约束条件依次进行遍历,判断各业务能否在边缘云设备上进行部署,如果可以利用带宽跑量预测模型预测的带宽跑量分别计算平均带宽利用率、毛利和毛利率作为边缘云设备的收益,如果不可以将边缘云设备的收益设置为-∞;
[0101]
根据业务对边缘云设备的硬件需求和边缘云设备相应的硬件数据,逐一判断每个业务是否能在各个边缘云设备上运行,可以提高分配效率。
[0102]
所述平均带宽利用率的计算公式为:
[0103][0104]
式中,u表示平均带宽利用率,表示边缘云设备的集合,bi表示预测的边缘云设备i的带宽跑量,upbandwidthi表示边缘云设备i的上传带宽。
[0105]
所述毛利的计算公式为:
[0106]
[0107]
式中,g表示毛利,i
i,j
表示在边缘云设备i上运行j类业务的单位带宽收益,ci表示边缘云设备i的单位带宽成本。
[0108]
所述毛利率的计算公式为:
[0109][0110]
式中,gr表示毛利率。
[0111]
s3.3,根据边缘云设备上部署的业务生成资源分配方案,利用资源分配方案构建种群,利用nsga-ii遗传算法和dqn算法对种群进行迭代优化,求解帕累托最优解,将帕累托最优解中边缘云设备的综合收益最大化的个体作为最优资源分配方案,包括如下步骤:
[0112]
s3.3.1,预设总迭代次数gen,并初始化迭代轮数gen=1;
[0113]
s3.3.2,利用随机分布生成算法生成包括若干个资源分配方案的初代种群;
[0114]
利用随机分布生成算法生成指定数量的均匀分布的编码分配方案作为初代种群,具体地,利用随机整数生成算法在[1,n*k]的范围内生成满足均匀分布的l个数字,作为分配方案编码中1的位置编号,其余未被选择的置为0,这样重复θ次生成θ个分配方案作为初代种群,其中,k表示业务总数,n表示边缘云设备的总数。
[0115]
根据边缘云设备上部署的业务将每个边缘云设备分别计算出k位编码,每个边缘云设备的k位编码作为该边缘云设备的资源分配方案,其中,计划部署的业务位设置为1,其余业务位设置为0,之后将全部边缘云设备的编码拼接在一起得到完整的编码分配方案,如下表所示,xa,xb表示两种不同的资源分配方案,mac1、mac2和mac3表示不同的边缘云设备,快手、字节跳动和百度网盘表示不同的业务,k=3。
[0116][0117]
s3.3.3,在选择、交叉和变异的遗传操作中加入循环激活算法(cyclic activation function,caf)对初代种群进行重新组合实现种群代际遗传生成子代种群,所述交叉操作为二进制交叉算法,变异操作为多项式变异算法;
[0118]
二进制交叉算法:首先在随机选择操作得到的种群中,随机选择两个个体xa和xb,之后生成一个分布随机数0≤μa≤1,通过多项式概率分布计算参数βq:
[0119][0120]
其中,η为交叉操作的分布指标,η为非负数,且值越大代表子代与父代更接近。
[0121]
利用参数βq计算交叉后的子代x
′a和子代x
′b,表达式为:
[0122]
x
′a=0.5[(xa+xb)-βq|x
b-xa|];
[0123]
x
′b=0.5[(xa+xb)+βq|x
b-xa|];
[0124]
由于分配方案中每位编码均为整数(代表是否分配每类业务),本技术提出在种群
的遗传和变异阶段引入循环激活算法,利用多分类问题中的softmax函数将编码中的分数激活成独热(某位为1其余为0)形式。
[0125]
加入循环激活算法后,每次交叉生成的子代和子代的表达式为:
[0126]
x
″a=caf(x
′a);
[0127]
x
″b=caf(x
′b);
[0128]
为增加分配方案的多样性,引入多项式变异算法从父代种群生成新的分配方案,其表达式为:
[0129]
x
′a=xa+δa;
[0130]
式中,x
′a表示利用多项式变异算法生成的新分配方案,其中,0≤ua≤1,η为变异分布指标,η越大表示子代离父代越近。在变异阶段加入循环激活算法后的分配方案表示为x
″a=caf(xa+δa)。
[0131]
s3.3.4,将初代种群和子代种群组成种群p,将种群p输入深度q网络(deep q-network,dqn),在深度q网络中基于概率阈值生成混部业务,以最大化混部业务占比为目标对深度q网络进行训练输出最优混部资源分配方案,将最优混部资源分配方案添加到种群p中;
[0132]
dqn算法维护两套q网络(线性层组合)包括用于训练生成混部业务组合的动作网络qa和用于计算混部业务对边缘云设备的不同类型资源占用比例之和的目标网络q
t
,所述动作网络qa为卷积神经网络(convolutional neural networks,cnn),通过矩阵的卷积实现动作。所述将种群p输入深度q网络,在深度q网络中基于概率阈值生成混部业务,以最大化混部业务占比为目标对深度q网络进行训练输出最优混部资源分配方案,包括如下步骤:
[0133]
a,用随机的网络参数ω初始化动作网络qa的参数;
[0134]
b,将动作网络qa的参数复制给目标网络q
t
的参数;
[0135]
c,初始化经验回放缓冲区r,初始化dqn算法迭代轮数t=1;
[0136]
d,将种群p中的全部分配方案作为初始状态s1输入动作网络qa,利用激活函数计算卷积神经网络输出值的概率,基于概率阈值生成混部业务并基于∈-greedy选择动作a
t

[0137]
所述动作a
t
的表达式为:
[0138][0139]
式中,caf(
·
)表示计算概率的softmax激活函数,表示卷积神经网络的最后一层的输出值。
[0140]
卷积神经网络的输出的表达式为:
[0141][0142]
式中,表示第t轮时卷积神经网络的第l层网络层的输出,表示第t轮时卷积神经网络的第l-1层网络层的输出,j表示卷积核的集合,表示第t轮时卷积神经网络的第l层网络层的第j个卷积核也即参数矩阵,表示第l层网络层的第j个卷积核的偏置。当l=1时,s
t
表示第t轮时的状态。
[0143]
本实施例将概率值>0.5的编码分配方案的对应值置为1,其余置为0。动作定义为将为一定数量的独跑服务器增加部署业务变为混跑,如:从010变为011。
[0144]
e,执行动作a
t
,根据动作a
t
计算奖励r
t
,状态改变为s
t+1

[0145]
所述奖励r也即最大化混部业务占比的计算公式为:
[0146]
r=μ
cpu

upbandwidth

disk

[0147]
式中,μ
cpu
表示cpu利用率占比,μ
upbandwidth
表示带宽利用率占比,μ
disk
表示硬盘利用率占比。
[0148]
f,将(s
t
,a
t
,r
t
,s
t+1
)存储进经验回放缓冲区r;
[0149]
g,若经验回放缓冲区r中数据大于预设取样数从经验回放缓冲区r中采样个数据(si,ai,ri,s
i+1
),其中,si表示经验回放缓冲区r中第i个状态;
[0150]
h,对步骤g中采样的每个数据,用目标网络计算yi=ri+γmaxaq
t
(s,a),γ表示新的回报权重,yi表示为对应样本计算出的目标函数中间值,用于计算损失函数更新网络;
[0151]
本技术γ=0.5。
[0152]
i,最小化损失函数并根据梯度下降法更新动作网络qa;
[0153]
其中,qa(si,ai)表示动作网络qa选择的动作产生的收益,即奖励,由于动作网络qa已经更新,这里的奖励不等于采样数据ri。
[0154]
j,根据动作网络qa的网络参数更新目标网络q
t
的网络参数,执行t=t+1,判断迭代轮数是否达到最大值,如果否,返回步骤d,否则,输出最优的混部资源分配方案并将其加入到种群p中。
[0155]
dqn模型可以嵌入进nsga-ii模型的种群生成与筛选之间,参与整个分配方案的优化迭代,从而提供对业务组合的混部方案。dqn模型是一种基于行动-反馈的深度学习模型,相对于传统强化学习模型能获取当前的分配方案生成状态并做出进一步的行动,因此可以与nsga-ii算法联合优化,通过神经网络训练得到高可行性的业务交叉混部方案,解决了nsga-ii只能从父代进行随机遗传导致的高计算复杂度问题。
[0156]
s3.3.5,根据步骤s3.2中边缘云设备的收益计算综合收益,根据综合收益判定种群p中每个分配方案的pareto等级;
[0157]
如果对于某分配方案,不存在其他分配方案能够支配他,那么就称该分配方案为非支配解。在一组解中,将最优的分配方案(非支配解)的pareto等级定义为1,将非支配解从解的集合中删除,剩下的解的pareto等级定义为2,以此类推,计算出该分配方案集合中所有解的pareto等级。
[0158]
具体地,如果z
l
>zm且g,gr,使得f(x
l
)<f(xm)成立,则x
l
支配xm。其中,x
l
和xm均为分配方案,z
l
=u
l
+g
l
+gr
l
,zm=um+gm+grm,z
l
和zm分别为对应分配方案下的边缘云设备的综合收益,u
l
为分配方案x
l
的平均带宽利用率,g
l
为分配方案x
l
的毛利,gr
l
为分配方案x
l
的毛利率,um为分配方案xm的平均带宽利用率,gm为分配方案xm的毛利,grm为分配方案xm的毛利率。
[0159]
s3.3.6,通过快速非支配排序得到不同的pareto等级集合;
[0160]
在nsga-ii算法的每一步迭代中,都会计算出种符合约束条件的分配方案,这种分配方案称为一个种群,其中的每个分配方案为一个个体。具体地,步骤s3.3.5包括如下步骤:
[0161]
a,计算出种群p中每个个体的被支配个数和该个体支配的解的集合这两个参数,将集合f1和集合f2初始化为空集;
[0162]
b,将种群p中被支配个数为零的个体放入集合f1中;
[0163]
c,依次遍历集合f1的每个个体,若个体l∈s
τ
,则令n
l
=n
l-1,否则不改变n
l
,s
τ
表示个体τ支配的解的集合,n
l
表示个体l的被支配个数;
[0164]
d,将集合f1中被支配个数为零的个体放入集合f2中,即可得到pareto等级2的个体;
[0165]
d,按照步骤c和d的方法对集合f2重复这一算法,依次类推直到种群等级被全部划分各个集合中。
[0166]
s3.3.7,计算每个分配方案的拥挤度,执行精英保留策略根据拥挤度和pareto等级集合生成父代种群;
[0167]
分配方案xa的拥挤度被定义为xa在收益空间u,g,gr中与其余分配方案的最小距离,引入拥挤度的目的是为了选择差异性最强的部分个体保留并遗传至子代。
[0168]
拥挤度的计算公式为:
[0169][0170]
式中,nd表示拥挤度,fm(i+1)表示个体i在目标函数fm中排序后一位的个体的目标函数值,表示个体目标函数的最大值,表示个体目标函数的最小值。
[0171]
精英保留策略的目的是根据个体综合收益的pareto等级和拥挤度,选择最适合进行遗传变异的个体作为父代进行算法迭代,包括如下步骤:
[0172]
a,将父代种群ci和子代种群di合成种群ri;
[0173]
b,根据以下规则从种群ri生成新的父代种群s
i+1

[0174]
(1)根据pareto等级从低到高的顺序,将整层种群放入父代种群s
i+1
,直到某一层的该层个体不能全部放入父代种群s
i+1

[0175]
(2)将该层个体根据拥挤度从大到小排序,依次放入父代种群s
i+1
中,直到父代种群s
i+1
中的个体数量达到规定值δ。
[0176]
s3.3.8,判断gen<gen,如果是,执行gen=gen+1,利用父代种群更新初代种群并执行步骤s3.3.3,否则输出父代种群中综合收益最大化的个体作为最优资源分配方案。
[0177]
以上的步骤执行一次作为一次迭代,当有个体的综合收益达到设定值或当前迭代数达到最大限制时,nsga-ii停止运行,选取当前代际种群中的最优个体作为最终的分配方案结果输出。nsga-ii算法基于精英策略把当前的分配方案和通过选择、交叉和变异产生的子种群合并,共同竞争产生下一组分配方案,保证具有较好特性的个体能够保留在种群中,提高了分配方案的多样性和最优概率。同时,nsga-ii算法通过非支配排序降低了计算的复杂度,提升了分配方案产生的效率。
[0178]
但是nsga-ii算法存在两方面的缺陷:每轮迭代的计算复杂度较高,在nsga-ii的每轮迭代中,需要计算每个个体(分配方案)对应的综合收益、pareto level,pareto order等,因此每轮迭代的个体越多,迭代次数越多,运行的时间越长;nsga-ii的分配方案迭代基于父代种群,且只能向着最优化收益的方向进行,灵活度较低。以上两种缺陷使nsga-ii无法实现多业务混部分配方案的生成,因为增加业务混跑需要大幅增加每轮迭代生成的个体数量,以包含一定数量的混部方案。另外,由于混部方案不能单独进行优化,只能与独跑方
案交叉遗传生成新的种群,这使得每轮迭代混部方案的有效性不能得到逐步提升,只能用更多的迭代完成算法收敛,从而大幅增加nsga-ii的整体运行时间。为解决在nsga-ii生成资源混部分配方案的问题,本技术引入了dqn算法,利用dqn在nsga-ii每轮迭代生成的种群中加入混部类型的资源分配方案,并单独优化这批混跑类型的资源分配方案的迭代。通过以上的mlp、nsga-ii、dqn等算法在边缘也资源分配场景等应用能够提供对边缘云资源合理的、多目标优化的、且支持混部的分配方案,同时也能解决常规算法中无法解决的诸如固定业务需求、单目标最优等问题。
[0179]
实施例2:一种基于混合模型的优化边缘云资源的分配系统,包括:
[0180]
特征数据收集模块:用于收集边缘云设备和边缘云业务的特征数据,并将特征数据进行转换;
[0181]
带宽跑量预测模型生成模块:将特征数据收集模块输出的转换后的特征数据输入多层感知机进行训练,并基于梯度下降的bp算法对损失函数进行调整获取带宽跑量预测模型;
[0182]
最优资源分配方案生成模块:用于根据带宽跑量预测模型生成模块预测的带宽跑量计算边缘云设备的综合收益,并利用nsga-ii遗传算法和dqn算法以综合收益最大化为目标求解最优资源分配方案;
[0183]
所述边缘云设备的综合收益通过将平均带宽利用率、毛利和毛利率求和得到。
[0184]
本实施例中,带宽跑量预测模型和最优资源分配方案的生成方法以及特征数据的转换方法如实施例1所述,本实施例不再赘述。
[0185]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1