本技术涉及通信领域,特别是涉及一种计算资源分配方法、装置、设备和介质。
背景技术:
1、分布式网络中的计算设备分布在众多地区并具有强大的计算资源和存储能力,当遇到计算密集型的复杂计算任务时,可以联合网络中多个计算设备来并行支持其业务,提高计算任务完成效率的同时也充分利用了网络资源。
2、目前的计算资源分配方法主要包括两种:第一种为基于lodco算法的计算资源分配方法,lodco算法是一种基于lyapunov优化理论的动态计算算法,该方法从任务运行时延以及任务运行故障两方面对卸载决策进行优化,使卸载任务处理时延最小化,虽然该算法能达到降低时间延迟(即提高计算速率)的目的,但是未能考虑在进行计算卸载时传输过程中的能耗成本,节点可能出现由于能耗过大使得分布式计算无法正常运行情况;第二种为采取人工鱼群算法设计进行能耗优化的计算策略,该策略充分考虑了任务数据传输网络中的链路状况,有效降低了设备的能量消耗,虽然该算法缓解了能耗问题,但该策略存在算法复杂度过高的缺陷,并且未对速率和能耗成本进行权衡。
3、综上,目前的计算资源分配方法在进行资源分配时均未对速率和能耗成本进行权衡,导致计算资源分配不合理,计算效益偏低。
技术实现思路
1、有鉴于此,本技术提供了一种计算资源分配方法、装置、设备和介质,用于解决现有技术存在的未对速率和能耗成本进行权衡,导致计算资源分配不合理、计算效益偏低的问题,其技术方案如下:
2、一种计算资源分配方法,包括:
3、获取待处理的计算任务和计算节点集合中每个计算节点分别与主节点的信道信息,并将计算任务拆分为多个子任务;
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、将迭代次数加1,并判断加1后的迭代次数是否等于预设的最大迭代次数,其中,初始的迭代次数为0;
32、若否,则将下一时间步下的速率矩阵作为当前时间步下的速率矩阵,返回执行根据当前时间步下的速率矩阵分别对应的光强和吸引度,使光强小的速率矩阵向光强大的速率矩阵移动;
33、若是,则将下一时间步下的速率矩阵确定为优化后的速率矩阵。
34、一种计算资源分配装置,包括:
35、信息获取模块,用于获取待处理的计算任务和计算节点集合中每个计算节点分别与主节点的信道信息;
36、任务拆分模块,用于将计算任务拆分为多个子任务;
37、函数构建模块,用于构建包含计算节点的速率和能耗成本的综合效能函数;
38、函数优化模块,用于根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率;
39、任务分配模块,用于基于目标计算节点的速率,将多个子任务分别对应的任务数据分配给目标计算节点,以使目标计算节点对多个子任务分别对应的任务数据进行计算,并返回计算结果。
40、一种计算资源分配设备,包括存储器和处理器;
41、存储器,用于存储程序;
42、处理器,用于执行程序,实现如上述任一项的计算资源分配方法的各个步骤。
43、一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现如上述任一项的计算资源分配方法的各个步骤。
44、经由上述的技术方案可知,本技术提供的计算资源分配方法,首先获取待处理的计算任务和计算节点集合中每个计算节点分别与主节点的信道信息,并将计算任务拆分为多个子任务,然后构建包含计算节点的速率和能耗成本的综合效能函数,接着根据多个子任务和计算节点集合中每个计算节点分别与主节点的信道信息,以综合效能函数的函数值最大为目标对综合效能函数进行优化,以在优化过程中得到计算节点集合中的目标计算节点和目标计算节点的速率,最后基于目标计算节点的速率,将多个子任务分别对应的任务数据分配给目标计算节点,以使目标计算节点对多个子任务分别对应的任务数据进行计算,并返回计算结果。本技术以包含速率和能耗成本的综合效能函数的函数值最大为优化目标进行优化,权衡了速率和能耗成本,使得得到的目标计算节点为最优计算节点,基于目标计算节点进行资源分配,使得计算资源分配更合理,计算效益更高。