一种计算资源分配方法与流程-尊龙凯时官方app下载

文档序号:36265773发布日期:2023-12-06 09:25阅读:0来源:国知局
一种计算资源分配方法与流程
一种计算资源分配方法、装置、设备和介质
技术领域
1.本技术涉及通信领域,特别是涉及一种计算资源分配方法

装置

设备和介质



背景技术:

2.分布式网络中的计算设备分布在众多地区并具有强大的计算资源和存储能力,当遇到计算密集型的复杂计算任务时,可以联合网络中多个计算设备来并行支持其业务,提高计算任务完成效率的同时也充分利用了网络资源

3.目前的计算资源分配方法主要包括两种:第一种为基于
lodco
算法的计算资源分配方法,
lodco
算法是一种基于
lyapunov
优化理论的动态计算算法,该方法从任务运行时延以及任务运行故障两方面对卸载决策进行优化,使卸载任务处理时延最小化,虽然该算法能达到降低时间延迟
(
即提高计算速率
)
的目的,但是未能考虑在进行计算卸载时传输过程中的能耗成本,节点可能出现由于能耗过大使得分布式计算无法正常运行情况;第二种为采取人工鱼群算法设计进行能耗优化的计算策略,该策略充分考虑了任务数据传输网络中的链路状况,有效降低了设备的能量消耗,虽然该算法缓解了能耗问题,但该策略存在算法复杂度过高的缺陷,并且未对速率和能耗成本进行权衡

4.综上,目前的计算资源分配方法在进行资源分配时均未对速率和能耗成本进行权衡,导致计算资源分配不合理,计算效益偏低



技术实现要素:

5.有鉴于此,本技术提供了一种计算资源分配方法

装置

设备和介质,用于解决现有技术存在的未对速率和能耗成本进行权衡,导致计算资源分配不合理

计算效益偏低的问题,其技术方案如下:
6.一种计算资源分配方法,包括:
7.获取待处理的计算任务和计算节点集合中每个计算节点分别与主节点的信道信息,并将计算任务拆分为多个子任务;
8.构建包含计算节点的速率和能耗成本的综合效能函数;
9.根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率;
10.基于目标计算节点的速率,将多个子任务分别对应的任务数据分配给目标计算节点,以使目标计算节点对多个子任务分别对应的任务数据进行计算,并返回计算结果

11.可选的,构建包含计算节点的速率和能耗成本的综合效能函数,包括:
12.根据速率矩阵

速率矩阵对应的每个计算节点所对应的协方差矩阵,以及速率矩阵对应的每个计算节点与主节点的信道信息,确定速率矩阵对应的每个计算节点的速率,其中,速率矩阵对应的计算节点为计算节点集合中的计算节点;
13.针对速率矩阵对应的每个计算节点,根据成本矩阵中该计算节点对应的成本值和
速率矩阵对应的调度矩阵中该计算节点对应的调度值,确定该计算节点的能耗成本;以确定速率矩阵对应的每个计算节点的能耗成本;
14.根据速率矩阵对应的每个计算节点的速率和能耗成本,构建速率矩阵对应的综合效能函数

15.可选的,根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率,包括:
16.预设多个初始速率矩阵,并确定多个初始速率矩阵分别对应的计算节点所对应的协方差矩阵和多个初始速率矩阵分别对应的调度矩阵,其中,每个初始速率矩阵对应的计算节点的数量与子任务的数量相同;
17.根据多个初始速率矩阵

多个初始速率矩阵分别对应的计算节点所对应的协方差矩阵

多个初始速率矩阵分别对应的调度矩阵,以及多个初始速率矩阵分别对应的计算节点与主节点的信道信息,结合综合效能函数,确定多个初始速率矩阵分别对应的综合效能值;
18.采用萤火虫优化算法根据多个初始速率矩阵分别对应的综合效能值,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到优化后的速率矩阵和优化后的调度矩阵;
19.根据优化后的调度矩阵,确定目标计算节点,并根据优化后的速率矩阵,确定目标计算节点的速率

20.可选的,采用萤火虫优化算法根据多个初始速率矩阵分别对应的综合效能值,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到优化后的速率矩阵和优化后的调度矩阵,包括:
21.根据多个初始速率矩阵分别对应的综合效能值,确定多个初始速率矩阵分别对应的光强和吸引度,其中,综合效能值与光强成正相关;
22.根据多个初始速率矩阵分别对应的光强和吸引度,对多个初始速率矩阵进行优化,得到优化后的速率矩阵;
23.根据优化后的速率矩阵,确定优化后的调度矩阵

24.可选的,根据多个初始速率矩阵分别对应的综合效能值,确定多个初始速率矩阵分别对应的光强和吸引度,包括:
25.确定多个初始速率矩阵分别对应的综合效能值中的最大值,将最大值对应的初始速率矩阵确定为目标速率矩阵;
26.对于多个初始速率矩阵中的每个初始速率矩阵,根据该初始速率矩阵对应的综合效能值

该初始速率矩阵和目标速率矩阵,确定该初始速率矩阵对应的光强,并根据该初始速率矩阵和目标速率矩阵,确定该初始速率矩阵对应的吸引度

27.可选的,根据该速率矩阵对应的综合效能值

该初始速率矩阵和目标速率矩阵,确定该初始速率矩阵对应的光强,并根据该初始速率矩阵和目标速率矩阵,确定该初始速率矩阵对应的吸引度,包括:
28.确定该初始速率矩阵对应的第一矩阵向量,并确定目标速率矩阵对应的第二矩阵向量;
29.计算第一矩阵向量与第二速率矩阵向量的距离;
30.根据第一矩阵向量与第二速率矩阵向量的距离

该初始速率矩阵对应的综合效能值,以及预设的光强吸收系数,计算该初始速率矩阵对应的光强;
31.根据第一矩阵向量与第二速率矩阵向量的距离

光强吸收系数和预设的最大吸引度,计算该初始速率矩阵对应的吸引度

32.可选的,根据多个初始速率矩阵分别对应的光强和吸引度,对多个初始速率矩阵进行优化,得到优化后的速率矩阵,包括:
33.将多个初始速率矩阵作为当前时间步下的速率矩阵;
34.根据当前时间步下的速率矩阵分别对应的光强和吸引度,使光强小的速率矩阵向光强大的速率矩阵移动,移动后的速率矩阵作为下一时间步下的速率矩阵;
35.将迭代次数加1,并判断加1后的迭代次数是否等于预设的最大迭代次数,其中,初始的迭代次数为0;
36.若否,则将下一时间步下的速率矩阵作为当前时间步下的速率矩阵,返回执行根据当前时间步下的速率矩阵分别对应的光强和吸引度,使光强小的速率矩阵向光强大的速率矩阵移动;
37.若是,则将下一时间步下的速率矩阵确定为优化后的速率矩阵

38.一种计算资源分配装置,包括:
39.信息获取模块,用于获取待处理的计算任务和计算节点集合中每个计算节点分别与主节点的信道信息;
40.任务拆分模块,用于将计算任务拆分为多个子任务;
41.函数构建模块,用于构建包含计算节点的速率和能耗成本的综合效能函数;
42.函数优化模块,用于根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率;
43.任务分配模块,用于基于目标计算节点的速率,将多个子任务分别对应的任务数据分配给目标计算节点,以使目标计算节点对多个子任务分别对应的任务数据进行计算,并返回计算结果

44.一种计算资源分配设备,包括存储器和处理器;
45.存储器,用于存储程序;
46.处理器,用于执行程序,实现如上述任一项的计算资源分配方法的各个步骤

47.一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现如上述任一项的计算资源分配方法的各个步骤

48.经由上述的技术方案可知,本技术提供的计算资源分配方法,首先获取待处理的计算任务和计算节点集合中每个计算节点分别与主节点的信道信息,并将计算任务拆分为多个子任务,然后构建包含计算节点的速率和能耗成本的综合效能函数,接着根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率,最后基于目标计算节点的速率,将多个子任务分别对应的任务数据分配给目标计算节点,以使目标计算节点对多个子任务分别对应的任务数据进行计
算,并返回计算结果

本技术以包含速率和能耗成本的综合效能函数的函数值最大为优化目标进行优化,权衡了速率和能耗成本,使得得到的目标计算节点为最优计算节点,基于目标计算节点进行资源分配,使得计算资源分配更合理,计算效益更高

附图说明
49.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图

50.图1为本技术实施例提供的计算资源分配方法的流程示意图;
51.图2为本技术实施例提供的计算任务调度过程的示意图;
52.图3为本技术实施例提供的计算资源分配装置的结构示意图;
53.图4为本技术实施例提供的计算资源分配设备的硬件结构框图

具体实施方式
54.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚

完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例

基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围

55.分布式计算系统的资源分配问题一直是许多研究的焦点,其目标是减少处理任务所需的时间,提升处理效率

56.如背景技术中的介绍,现有的计算资源分配方法存在未对速率和能耗成本进行权衡,导致计算资源分配不合理,计算效益偏低的问题,鉴于此,本案发明人进行了深入研究,最终提出了一种计算资源分配方法,接下来通过下述实施例对本技术提供的计算资源分配方法进行详细介绍

57.请参阅图1,示出了本技术实施例提供的计算资源分配方法的流程示意图,该计算资源分配方法可以包括:
58.步骤
s101、
获取待处理的计算任务和计算节点集合中每个计算节点分别与主节点的信道信息,并将计算任务拆分为多个子任务

59.可选的,主节点可以为服务器节点,计算节点可以是诸如小型服务器

电子设备
(
例如手持设备
)、
台式机等

60.在本实施例中,待处理的计算任务为复杂计算任务,单独依靠主节点进行计算,一方面计算效率偏低,另一方面造成周边计算节点的浪费

鉴于此,当主节点需要计算待处理的计算任务时,可以将计算任务拆分成多个简单的子任务,并从周边计算节点中寻找最优的计算节点,将子任务分配给最优的计算节点进行子任务计算

61.若从周边计算节点中寻找最优的计算节点,就需要考虑周边计算节点与主节点的信道信息,因此可通过本步骤获取计算节点集合中每个计算节点分别与主节点的信道信息,这里,计算节点集合是指主节点的周边计算节点组成的集合

62.可选的,计算节点与主节点的信道信息中包含信道衰弱因子,基于该信道衰弱因
子可生成计算节点与主节点的信道矩阵

63.本步骤中,待处理的计算任务例如可以为视频解码任务

神经网络进行分类的任务等

64.步骤
s102、
构建包含计算节点的速率和能耗成本的综合效能函数

65.本步骤可针对计算任务进行建模,得到计算任务调度模型,该计算任务调度模型即包含计算节点的速率和能耗成本的综合效能函数

66.步骤
s103、
根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率

67.这里,目标计算节点是指计算节点集合中最适合对计算任务进行处理的计算节点,也即上述“最优的计算节点”,在本实施例中,目标计算节点需要与主节点通信以传输子任务对应的任务数据,以及计算结果等

68.本步骤可通过对综合效能函数进行优化,找到使综合效能函数的函数值最大的目标计算节点和目标计算节点的速率

应当理解,当综合效能函数的函数值最大时,相当于权衡了速率和能耗成本的关系,找到了速率和能耗成本的平衡点,使得后续的计算资源分配更合理,且使得计算效益得以提高

69.可选的,目标计算节点的数量与子任务的数量相同

70.步骤
s104、
基于目标计算节点的速率,将多个子任务分别对应的任务数据分配给目标计算节点,以使目标计算节点对多个子任务分别对应的任务数据进行计算,并返回计算结果

71.在本步骤中,可基于前述步骤得到的目标计算节点的速率,为目标计算节点分配子任务,优选地,目标计算节点的速率越高,为其分配的子任务对应的任务数据的数据量越大

72.参见图2所示,在目标计算节点对子任务对应的任务数据进行计算后,可将计算结果返回给主节点,主节点再将各目标计算节点返回的计算结果进行合并,得到计算任务对应的计算结果

73.本技术提供的计算资源分配方法,首先获取待处理的计算任务和计算节点集合中每个计算节点分别与主节点的信道信息,并将计算任务拆分为多个子任务,然后构建包含计算节点的速率和能耗成本的综合效能函数,接着根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率,最后基于目标计算节点的速率,将多个子任务分别对应的任务数据分配给目标计算节点,以使目标计算节点对多个子任务分别对应的任务数据进行计算,并返回计算结果

本技术以包含速率和能耗成本的综合效能函数的函数值最大为优化目标进行优化,权衡了速率和能耗成本,使得得到的目标计算节点为最优计算节点,基于目标计算节点进行资源分配,使得计算资源分配更合理,计算效益更高

74.本技术的一个实施例,对前述“步骤
s102、
构建包含计算节点的速率和能耗成本的综合效能函数”的过程进行介绍

75.可选的,“步骤
s102、
构建包含计算节点的速率和能耗成本的综合效能函数”的过
程可以包括:
76.步骤
a1、
根据速率矩阵

速率矩阵对应的每个计算节点所对应的协方差矩阵,以及速率矩阵对应的每个计算节点与主节点的信道信息,确定速率矩阵对应的每个计算节点的速率

77.其中,速率矩阵对应的计算节点为计算节点集合中的计算节点

78.在本步骤中,若速率矩阵中的元素为0,则该元素对应的计算节点不为目标计算节点,若速率矩阵中的元素不为0,则该元素对应的计算节点为目标计算节点,且该目标计算节点的速率等于元素值

79.在计算任务调度中,以第j个主节点的接收为例,令
πj表示为第j个主节点执行计算任务并与其通信的计算节点集合,在本步骤中,当主节点j在回复
πj中的第i个计算节点信号的时候,将
πj中的其他计算节点的信号视为等效高斯噪声,因而,第i个计算节点的速率为:
[0080][0081]
式中,i表示速率矩阵,hj,k
表示第k个计算节点到第j个主节点的信道信息
(
本步骤中,该信道信息具体可为信道矩阵
)
,表示hj,k
的转置共轭矩阵,
qk表示速率矩阵i对应的第k个计算节点所对应的协方差矩阵,整体表示所有与第j个主节点通信的计算节点的速率,整体表示除i节点外的所有与第j个主节点通信的计算节点的速率

[0082]
步骤
a2、
针对速率矩阵对应的每个计算节点,根据成本矩阵中该计算节点对应的成本值和速率矩阵对应的调度矩阵中该计算节点对应的调度值,确定该计算节点的能耗成本;以确定速率矩阵对应的每个计算节点的能耗成本

[0083]
本步骤中,成本矩阵用c表示,调度矩阵用b表示,该调度矩阵用于描述主节点周边的所有计算节点中哪些计算节点将作为目标计算节点被调用

[0084]
在本步骤中,可通过如下的公式,计算速率矩阵对应的第i个计算节点的能耗成本

[0085]oj,i
=bj,i
*c
j,i
[0086]
式中,oj,i
表示速率矩阵对应的

与第j个主节点通信的第i个计算节点的能耗成本,cj,i
为c中的一个元素,表示第j个主节点为第i个计算节点分配子任务,第i个计算节点进行计算并传输结果的能耗成本值,bj,i
为b中的一个元素,表示第i个计算节点对应的调度值,如果第i个计算节点不为目标计算节点,则bj,i
=0,如果第i个计算节点为目标计算节点
(
即在
πj中
)
,则bj,i

1。
[0087]
步骤
a3、
根据速率矩阵对应的每个计算节点的速率和能耗成本,构建速率矩阵对应的综合效能函数

[0088]
在本步骤中,计算任务调度建模为:
[0089]
式中,
na和
nc分别表示速率矩阵
(
或调度矩阵,或成本矩阵,或信道矩阵
)
的行数和列数,z表示综合效能函数

[0090]
在本步骤中,计算节点的速率越高,能耗成本越低,则z值越大

[0091]
综上,本实施例在进行建模时,考虑了考虑信号传输过程中计算节点间干扰问题,将要计算速率的计算节点之外的其他计算节点视为高斯噪声,更具有实际意义,并且在最优化速率的同时,考虑了成本因素,将其作为成本值
(
成本因子
)
加入综合效能函数中,防止出现速率虽然高,但成本过大的问题,达到最优的平衡

[0092]
以下对上述实施例中的“步骤
s103、
根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率”进行说明

[0093]
在前述实施例建模完成后,可通过本实施例对前述实施例建立的函数进行最优值求解

[0094]
考虑到传统的模型优化
(
即背景技术中的第一种方法
)
是对模型进行近似模拟,得出的解可能为局部最优,非全局最优

而萤火虫算法在复杂问题模型的求解方面可以发挥较大作用,其思想简单

计算效果好,且相比其他启发式算法收敛速度快,比较适用于本技术建立的函数的求解

[0095]
萤火虫算法是一种现在流行的群优化算法,因其所要调整的参数很少,相比其他启发式算法的收敛速度更快,能在更短时间内取得比较满意的结果

群体中的各成员追随着当前搜索到的最优值的方向进行寻优

本技术使用萤火虫算法对原有非线性规划上进行全局搜索,求解真实目标值而非近似目标值作为适应度,以获取问题更准确的可行解,并迭代计算使其趋向于最优解

[0096]
基于此,可选的,上述“步骤
s103、
根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率”的过程可以包括以下步骤
b1

b4

[0097]
步骤
b1、
预设多个初始速率矩阵,并确定多个初始速率矩阵分别对应的计算节点所对应的协方差矩阵和多个初始速率矩阵分别对应的调度矩阵

[0098]
可选的,每个初始速率矩阵对应的计算节点的数量与子任务的数量相同,从而初始速率矩阵对应的每个计算节点用于处理一个子任务

[0099]
本实施例可采用萤火虫优化算法进行最优值求解,那么首先需要设置多个“萤火虫”,该多个“萤火虫”即为本步骤中的多个初始速率矩阵
i。
这里,萤火虫算法模拟了萤火虫的自然现象,萤火虫的亮度决定其吸引力的大小,较亮的萤火虫吸引较暗的萤火虫

如果没有萤火虫比被考虑的萤火虫更亮,被考虑的萤火虫就会随机移动

函数的最优值与萤火虫的亮度成正比,所有萤火虫都朝着更亮处移动,经过足够次迭代,函数将会达到最优值

[0100]
在预设初始速率矩阵后,可以得到初始速率矩阵对应的计算节点所对应的协方差矩阵
(
该协方差矩阵为初始速率矩阵的一行
)
,以及,初始速率矩阵对应的调度矩阵

[0101]
步骤
b2、
根据多个初始速率矩阵

多个初始速率矩阵分别对应的计算节点所对应的协方差矩阵

多个初始速率矩阵分别对应的调度矩阵,以及多个初始速率矩阵分别对应的计算节点与主节点的信道信息,结合综合效能函数,确定多个初始速率矩阵分别对应的综合效能值

[0102]
具体的,本步骤可将多个初始速率矩阵

多个初始速率矩阵分别对应的计算节点所对应的协方差矩阵

多个初始速率矩阵分别对应的调度矩阵,以及多个初始速率矩阵分别对应的计算节点与主节点的信道信息代入步骤
a3
所示的综合效能函数中,得到多个初始速率矩阵分别对应的综合效能值

[0103]
步骤
b3、
采用萤火虫优化算法根据多个初始速率矩阵分别对应的综合效能值,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到优化后的速率矩阵和优化后的调度矩阵

[0104]
具体的,本步骤可以包括以下步骤
b31

b33

[0105]
步骤
b31、
根据多个初始速率矩阵分别对应的综合效能值,确定多个初始速率矩阵分别对应的光强和吸引度

[0106]
本步骤可将初始速率矩阵作为萤火虫,则初始速率矩阵对应的光强表征萤火虫自身亮度

在本步骤中,综合效能值与光强成正相关,初始速率矩阵对应的综合效能值越高,光强越大,亮度越高

[0107]
同时,本步骤还可以根据初始速率矩阵对应的综合效能值,确定初始速率矩阵对应的吸引度,如前述步骤中的介绍,萤火虫越亮
(
即光强越大
)
,吸引度也越大

[0108]
在一可选实施例中,“根据多个初始速率矩阵分别对应的综合效能值,确定多个初始速率矩阵分别对应的光强和吸引度”的过程可以包括以下步骤
b311

b312

[0109]
步骤
b311、
确定多个初始速率矩阵分别对应的综合效能值中的最大值,将最大值对应的初始速率矩阵确定为目标速率矩阵

[0110]
本步骤能够根据多个初始速率矩阵分别对应的综合效能值,确定出光强最大,最具有吸引力的初始速率矩阵,并将该初始速率矩阵确定为目标速率矩阵

[0111]
步骤
b312、
对于多个初始速率矩阵中的每个初始速率矩阵,根据该初始速率矩阵对应的综合效能值

该初始速率矩阵和目标速率矩阵,确定该初始速率矩阵对应的光强,并根据该初始速率矩阵和目标速率矩阵,确定该初始速率矩阵对应的吸引度

[0112]
可选的,可采用光强函数来确定每个初始速率矩阵对应的光强,其中,
ir表示初始速率矩阵i对应的光强,
i0表示初始速率矩阵i对应的综合效能值,
γ
表示光强吸收系数
(
因为荧光会随着距离的增加和传播媒介的吸收逐渐减弱,所以设置光强吸收系数以体现此特性,可预设为常数
)
,r表示初始速率矩阵i与目标速率矩阵之间的向量距离
(
若初始速率矩阵i为目标速率矩阵,则r为
0)。
[0113]
如光强函数中r的定义所示,在通过光强函数计算初始速率矩阵i对应的光强时,需要首先确定该初始速率矩阵i对应的第一矩阵向量,并确定目标速率矩阵对应的第二矩阵向量,之后可计算第一矩阵向量与第二矩阵向量的距离,得到r,最后根据第一矩阵向量与第二速率矩阵向量的距离
r、
该初始速率矩阵对应的综合效能值z,以及预设的光强吸收系数
γ
,采用上述光强函数计算该初始速率矩阵i对应的光强

[0114]
可选的,可采用吸引度函数来确定每个初始速率矩阵对应的吸引度,其中,
β
表示初始速率矩阵i对应的吸引度,
β0表示最大吸引度
(
为预设值
)。
[0115]
那么,本步骤可根据第一矩阵向量与第二速率矩阵向量的距离
r、
光强吸收系数
γ
和最大吸引度
β0,采用上述吸引度函数来计算该初始速率矩阵i对应的吸引度

[0116]
步骤
b32、
根据多个初始速率矩阵分别对应的光强和吸引度,对多个初始速率矩阵进行优化,得到优化后的速率矩阵

[0117]
具体来说,本步骤的过程包括如下步骤
b321

b324

[0118]
步骤
b321、
将多个初始速率矩阵作为当前时间步下的速率矩阵

[0119]
步骤
b322、
根据当前时间步下的速率矩阵分别对应的光强和吸引度,使光强小的速率矩阵向光强大的速率矩阵移动,移动后的速率矩阵作为下一时间步下的速率矩阵

[0120]
可选的,可采用公式来使光强小的速率矩阵向光强大的速率矩阵移动,其中,表示下一时间步下速率矩阵i所处的空间位置,表示当前时间步下速率矩阵i所处的空间位置,表示当前时间步下速率矩阵m所处的空间位置
(
速率矩阵m具体是指目标速率矩阵
)

α
∈[0,1]
为步长因子,
rand

[0,1]
上服从均匀分布的随机数

[0121]
步骤
b323、
将迭代次数加1,并判断加1后的迭代次数是否等于预设的最大迭代次数,其中,初始的迭代次数为
0。
[0122]
步骤
b324a、
若否,则将下一时间步下的速率矩阵作为当前时间步下的速率矩阵,返回执行根据当前时间步下的速率矩阵分别对应的光强和吸引度,使光强小的速率矩阵向光强大的速率矩阵移动

[0123]
在本步骤中,当迭代次数小于最大迭代次数时,需要继续迭代寻优,此时需要将下一时间步下的速率矩阵作为当前时间步下的速率矩阵,并按照上述光强和吸引度的计算公式,重新计算当前时间步下的速率矩阵分别对应的光强和吸引度,然后再使光强小的速率矩阵向光强大的速率矩阵移动

[0124]
步骤
b324b、
若是,则将下一时间步下的速率矩阵确定为优化后的速率矩阵

[0125]
当达到最大迭代次数时,说明寻优结束,此时可以认为下一时间步下的速率矩阵为综合效能函数优化过程中能达到的最优的速率矩阵,也即,该下一时间步下的速率矩阵为使综合效能函数最大的速率矩阵,因此可以将下一时间步下的速率矩阵确定为优化后的速率矩阵

[0126]
步骤
b33、
根据优化后的速率矩阵,确定优化后的调度矩阵

[0127]
步骤
b4、
根据优化后的调度矩阵,确定目标计算节点,并根据优化后的速率矩阵,确定目标计算节点的速率

[0128]
在本步骤中,可将优化后的调度矩阵中值为1的元素对应的计算节点确定为目标计算节点,并将优化后的速率矩阵中目标计算节点对应的元素值确定为目标计算节点的速率

[0129]
综上,本实施例采用萤火虫算法求解综合效能函数,相对于线性规划求解近似模
型可能得到局部最优,能够从根本上解决问题并获取趋近最优解,且相比其他启发式算法收敛速度快

[0130]
本技术实施例还提供了一种计算资源分配装置,下面对本技术实施例提供的计算资源分配装置进行描述,下文描述的计算资源分配装置与上文描述的计算资源分配方法可相互对应参照

[0131]
请参阅图3,示出了本技术实施例提供的计算资源分配装置的结构示意图,如图3所示,该计算资源分配装置可以包括:信息获取模块
301、
任务拆分模块
302、
函数构建模块
303、
函数优化模块
304
和任务分配模块
305。
[0132]
信息获取模块
301
,用于获取待处理的计算任务和计算节点集合中每个计算节点分别与主节点的信道信息

[0133]
任务拆分模块
302
,用于将计算任务拆分为多个子任务

[0134]
函数构建模块
303
,用于构建包含计算节点的速率和能耗成本的综合效能函数

[0135]
函数优化模块
304
,用于根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率

[0136]
任务分配模块
305
,用于基于目标计算节点的速率,将多个子任务分别对应的任务数据分配给目标计算节点,以使目标计算节点对多个子任务分别对应的任务数据进行计算,并返回计算结果

[0137]
本技术提供的计算资源分配装置,首先获取待处理的计算任务和计算节点集合中每个计算节点分别与主节点的信道信息,并将计算任务拆分为多个子任务,然后构建包含计算节点的速率和能耗成本的综合效能函数,接着根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率,最后基于目标计算节点的速率,将多个子任务分别对应的任务数据分配给目标计算节点,以使目标计算节点对多个子任务分别对应的任务数据进行计算,并返回计算结果

本技术以包含速率和能耗成本的综合效能函数的函数值最大为优化目标进行优化,权衡了速率和能耗成本,使得得到的目标计算节点为最优计算节点,基于目标计算节点进行资源分配,使得计算资源分配更合理,计算效益更高

[0138]
在一种可能的实现方式中,上述函数构建模块
303
可以包括:速率确定子模块

能耗成本确定子模块和函数构建子模块

[0139]
速率确定子模块,用于根据速率矩阵

速率矩阵对应的每个计算节点所对应的协方差矩阵,以及速率矩阵对应的每个计算节点与主节点的信道信息,确定速率矩阵对应的每个计算节点的速率,其中,速率矩阵对应的计算节点为计算节点集合中的计算节点

[0140]
能耗成本确定子模块,用于针对速率矩阵对应的每个计算节点,根据成本矩阵中该计算节点对应的成本值和速率矩阵对应的调度矩阵中该计算节点对应的调度值,确定该计算节点的能耗成本;以确定速率矩阵对应的每个计算节点的能耗成本

[0141]
函数构建子模块,用于根据速率矩阵对应的每个计算节点的速率和能耗成本,构建速率矩阵对应的综合效能函数

[0142]
在一种可能的实现方式中,上述函数优化模块
304
可以包括:参数初始化子模块

综合效能值计算子模块

函数优化子模块和目标计算节点及速率确定子模块

[0143]
参数初始化子模块,用于预设多个初始速率矩阵,并确定多个初始速率矩阵分别对应的计算节点所对应的协方差矩阵和多个初始速率矩阵分别对应的调度矩阵,其中,每个初始速率矩阵对应的计算节点的数量与子任务的数量相同

[0144]
综合效能值计算子模块,用于根据多个初始速率矩阵

多个初始速率矩阵分别对应的计算节点所对应的协方差矩阵

多个初始速率矩阵分别对应的调度矩阵,以及多个初始速率矩阵分别对应的计算节点与主节点的信道信息,结合综合效能函数,确定多个初始速率矩阵分别对应的综合效能值

[0145]
函数优化子模块,用于采用萤火虫优化算法根据多个初始速率矩阵分别对应的综合效能值,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到优化后的速率矩阵和优化后的调度矩阵

[0146]
目标计算节点及速率确定子模块,用于根据优化后的调度矩阵,确定目标计算节点,并根据优化后的速率矩阵,确定目标计算节点的速率

[0147]
在一种可能的实现方式中,上述函数优化子模块可以包括:光强吸引度确定子模块

速率矩阵优化子模块和优化调度矩阵确定子模块

[0148]
光强吸引度确定子模块,用于根据多个初始速率矩阵分别对应的综合效能值,确定多个初始速率矩阵分别对应的光强和吸引度,其中,综合效能值与光强成正相关

[0149]
速率矩阵优化子模块,用于根据多个初始速率矩阵分别对应的光强和吸引度,对多个初始速率矩阵进行优化,得到优化后的速率矩阵

[0150]
优化调度矩阵确定子模块,用于根据优化后的速率矩阵,确定优化后的调度矩阵

[0151]
在一种可能的实现方式中,上述光强吸引度确定子模块可以包括:目标速率矩阵确定子模块和光强吸引度计算子模块

[0152]
目标速率矩阵确定子模块,用于确定多个初始速率矩阵分别对应的综合效能值中的最大值,将最大值对应的初始速率矩阵确定为目标速率矩阵

[0153]
光强吸引度计算子模块,用于对于多个初始速率矩阵中的每个初始速率矩阵,根据该初始速率矩阵对应的综合效能值

该初始速率矩阵和目标速率矩阵,确定该初始速率矩阵对应的光强,并根据该初始速率矩阵和目标速率矩阵,确定该初始速率矩阵对应的吸引度

[0154]
在一种可能的实现方式中,上述光强吸引度计算子模块可以包括:矩阵向量确定子模块

距离计算子模块

光强计算子模块和吸引度计算子模块

[0155]
矩阵向量确定子模块,用于确定该初始速率矩阵对应的第一矩阵向量,并确定目标速率矩阵对应的第二矩阵向量

[0156]
距离计算子模块,用于计算第一矩阵向量与第二速率矩阵向量的距离

[0157]
光强计算子模块,用于根据第一矩阵向量与第二速率矩阵向量的距离

该初始速率矩阵对应的综合效能值,以及预设的光强吸收系数,计算该初始速率矩阵对应的光强

[0158]
吸引度计算子模块,用于根据第一矩阵向量与第二速率矩阵向量的距离

光强吸收系数和预设的最大吸引度,计算该初始速率矩阵对应的吸引度

[0159]
在一种可能的实现方式中,上述速率矩阵优化子模块可以包括:当前速率矩阵确定子模块

当前速率矩阵移动子模块和迭代次数判断子模块

[0160]
当前速率矩阵确定子模块,用于将多个初始速率矩阵作为当前时间步下的速率矩阵

[0161]
当前速率矩阵移动子模块,用于根据当前时间步下的速率矩阵分别对应的光强和吸引度,使光强小的速率矩阵向光强大的速率矩阵移动,移动后的速率矩阵作为下一时间步下的速率矩阵

[0162]
迭代次数判断子模块,用于将迭代次数加1,并判断加1后的迭代次数是否等于预设的最大迭代次数,若否,则将下一时间步下的速率矩阵作为当前时间步下的速率矩阵,返回执行根据当前时间步下的速率矩阵分别对应的光强和吸引度,使光强小的速率矩阵向光强大的速率矩阵移动,若是,则将下一时间步下的速率矩阵确定为优化后的速率矩阵,其中,初始的迭代次数为
0。
[0163]
本技术实施例还提供了一种计算资源分配设备

可选的,图4示出了计算资源分配设备的硬件结构框图,参照图4,该计算资源分配设备的硬件结构可以包括:至少一个处理器
401
,至少一个通信接口
402
,至少一个存储器
403
和至少一个通信总线
404

[0164]
在本技术实施例中,处理器
401、
通信接口
402、
存储器
403、
通信总线
404
的数量为至少一个,且处理器
401、
通信接口
402、
存储器
403
通过通信总线
404
完成相互间的通信;
[0165]
处理器
401
可能是一个中央处理器
cpu
,或者是特定集成电路
asic(application specific integrated circuit)
,或者是被配置成实施本发明实施例的一个或多个集成电路等;
[0166]
存储器
403
可能包含高速
ram
存储器,也可能还包括非易失性存储器
(non-volatile memory)
等,例如至少一个磁盘存储器;
[0167]
其中,存储器
403
存储有程序,处理器
401
可调用存储器
403
存储的程序,所述程序用于:
[0168]
获取待处理的计算任务和计算节点集合中每个计算节点分别与主节点的信道信息,并将计算任务拆分为多个子任务;
[0169]
构建包含计算节点的速率和能耗成本的综合效能函数;
[0170]
根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率;
[0171]
基于目标计算节点的速率,将多个子任务分别对应的任务数据分配给目标计算节点,以使目标计算节点对多个子任务分别对应的任务数据进行计算,并返回计算结果

[0172]
可选的,所述程序的细化功能和扩展功能可参照上文描述

[0173]
本技术实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述计算资源分配方法

[0174]
可选的,所述程序的细化功能和扩展功能可参照上文描述

[0175]
最后,还需要说明的是,在本文中,诸如和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序

而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程

方法

物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程

方法

物品或者设备
所固有的要素

在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程

方法

物品或者设备中还存在另外的相同要素

[0176]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可

[0177]
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术

对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现

因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围

当前第1页1  
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图