具体技术细节
[0005] 本发明提供了分布式计算环境中的算力调度方法,拟实现如何有效的调度和分配计算资源的技术问题。
[0006] 分布式计算环境中的算力调度方法,包括以下步骤:
[0007] 步骤1:任务管理系统定时从任务队列中获取当前需要处理的任务,并将需要处理的任务分类到实时任务、优先级任务和普通任务集合中,其中实时任务的优先级大于优先级任务,优先级任务的优先级大于普通任务;
[0008] 步骤2:基于资源监控系统实时收集所有计算节点的资源使用情况;
[0009] 步骤3:对新任务通过训练好的线性回归模型进行资源需求估算,对于现有任务直接从任务描述中获取资源需求;
[0010] 步骤4:对于实时任务按照实时任务的优先级进行排序,采用最近最少负载节点策略,遍历所有节点找到负载最小的节点分配任务;
[0011] 步骤5:对于优先级任务按照优先级从高到低进行排序,采用循环调度策略,在负载均衡的基础上轮询分配任务;
[0012] 步骤6:对于普通任务按照优先级从高到低排序,采用最少任务节点策略,遍历所有节点找到任务数量最少得节点分配任务;
[0013] 步骤7:定期计算每个节点的当前负载,若某节点负载超出阈值,则进行资源迁移,将任务迁移到负载最低的节点。
[0014] 本发明通过任务管理系统获取当前需要处理的任务,并将任务划分到实时任务、优先级任务和普通任务集合中,基于当前任务所对应的集合以及在集合中的优先级采用对应的调度策略对相关任务进行调度,实现了分布式计算环境中资源调度和分配;本发明通过任务分类、实时资源监控、资源需求估算、优先级排序、合理的调度策略和负载计算与资源迁移等步骤,有效解决了分布式环境中计算资源调度和分配的技术问题,确保了高优先级的及时处理,系统负载均衡,资源的高效利用以及系统的稳定运行,从而提高了整个分布式计算环境的性能和可靠性。
[0015] 优选的,所述步骤1中将需要处理的任务分类到实时任务、优先级任务和普通任务集合中的步骤如下:
[0016] 任务获取与初始化:任务管理系统每个固定时间间隔从任务队列中获取当前需要处理的所有任务;
[0017] 任务分类:对每个任务进行分类,根据任务的重要性和紧急程度将任务分类到相应的任务集合中;
[0018] 任务优先级确定:在每个任务集合内部,根据任务的重要性和紧急程度对每个任务集合内的任务进行排序。
[0019] 优选的,所述步骤2中的资源使用情况包括:
[0020] CPU使用率:
[0021]
[0022] 式中:CPUusage表示计算节点的CPU使用率;CPUtime,used,i表示第i个核心的使用时间;CPUtotal,time,i表示第i个核心的总时间;n表示核心数;
[0023] 内存使用量:
[0024]
[0025] 式中:Memoryusage表示计算节点的内存使用率;Memorytotal表示计算节点的内存总量;Memoryused表示计算节点的已使用内存;
[0026] 存储使用情况:
[0027]
[0028] 式中:Storageusage表示计算节点的存储使用率;Storageused表示计算节点已使用的存储量;Storagetotal表示计算节点的存储总量;
[0029] 网络带宽:
[0030]
[0031] 式中:Bandwidthusage表示计算节点的带宽使用率;Bandwidthused表示计算节点已使用的带宽;Bandwidthtotal表示计算节点的总带宽量。
[0032] 优选的,所述步骤3中线性回归模型如下:
[0033] Musage=β0+β1×TaskType+β2×InputSize+β3×TaskComplexity+∈;
[0034] 式中:Musage表示预测的资源需求,包括CPU需求、内存需求、存储需求以及网络带宽需求;β0、β1、β2、β3表示回归系数;TaskType表示任务类型;InputSize表示任务的输入数据量;TaskComplexity表示任务复杂度;∈表示误差项。
[0035] 优选的,所述任务复杂度的计算方式如下:
[0036] 对针对任务的逻辑计算逻辑复杂度Complexitylogic:
[0037]
[0038] 式中:Stepsi表示第i步的复杂度;Weighti表示第i步的权重;
[0039] 数据结构复杂度:
[0040]
[0041] 式中:m表示数据结构操作的总数;Operationsj表示第j个操作的次数;Costj表示第j个操作的复杂度成本;
[0042] 基于逻辑复杂度和数据结构复杂度得到任务复杂度:
[0043] Complexitytotal=μ1×Complexitylogic+μ2×Complexitydata;
[0044] 式中:μ1和μ2均表示权重。
[0045] 优选的,所述步骤4包括以下步骤:
[0046] 步骤4.1:对节点的CPU、内存、存储和网络带宽的使用情况进行加权求和,得到当前节点的负载;
[0047] 步骤4.2:对所有计算节点按照负载进行升序排序,找到负载最小的节点;
[0048] 步骤4.3:对每个实时任务按照其优先级进行排序,优先级高的任务优先分配,遍历排序后的节点列表,将实时任务分配到负载最小的节点上。
[0049] 优选的,采用所述循环调度策略将优先级任务分配到计算节点上的步骤如下:
[0050] 对节点的CPU、内存、存储和网络带宽的使用情况进行加权求和,得到当前节点的负载;
[0051] 对优先级任务集合中的任务按照优先级从高到低进行排序;
[0052] 对所有计算记载按照其负载从小到大进行排序;
[0053] 任务分配:依次取出最高优先级的任务,计算当前节点的可用资源是否满足任务的需求,若满足则进行分配,若不满足则计算下一节点是否满足,直至当前任务被分配;
[0054] 循环进行任务分配步骤,直至所有任务被分配到相应的节点。
[0055] 本发明的有益效果包括:
[0056] 本发明通过任务管理系统获取当前需要处理的任务,并将任务划分到实时任务、优先级任务和普通任务集合中,基于当前任务所对应的集合以及在集合中的优先级采用对应的调度策略对相关任务进行调度,实现了分布式计算环境中资源调度和分配;本发明通过任务分类、实时资源监控、资源需求估算、优先级排序、合理的调度策略和负载计算与资源迁移等步骤,有效解决了分布式环境中计算资源调度和分配的技术问题,确保了高优先级的及时处理,系统负载均衡,资源的高效利用以及系统的稳定运行,从而提高了整个分布式计算环境的性能和可靠性。
法律保护范围
涉及权利要求数量7:其中独权1项,从权-1项
1.分布式计算环境中的算力调度方法,其特征在于,包括以下步骤:
步骤1:任务管理系统定时从任务队列中获取当前需要处理的任务,并将需要处理的任务分类到实时任务、优先级任务和普通任务集合中,其中实时任务的优先级大于优先级任务,优先级任务的优先级大于普通任务;
步骤2:基于资源监控系统实时收集所有计算节点的资源使用情况;
步骤3:对新任务通过训练好的线性回归模型进行资源需求估算,对于现有任务直接从任务描述中获取资源需求;
步骤4:对于实时任务按照实时任务的优先级进行排序,采用最近最少负载节点策略,遍历所有节点找到负载最小的节点分配任务;
步骤5:对于优先级任务按照优先级从高到低进行排序,采用循环调度策略,在负载均衡的基础上轮询分配任务;
步骤6:对于普通任务按照优先级从高到低排序,采用最少任务节点策略,遍历所有节点找到任务数量最少得节点分配任务;
步骤7:定期计算每个节点的当前负载,若某节点负载超出阈值,则进行资源迁移,将任务迁移到负载最低的节点。
2.根据权利要求1所述的分布式计算环境中的算力调度方法,其特征在于,所述步骤1中将需要处理的任务分类到实时任务、优先级任务和普通任务集合中的步骤如下:
任务获取与初始化:任务管理系统每个固定时间间隔从任务队列中获取当前需要处理的所有任务;
任务分类:对每个任务进行分类,根据任务的重要性和紧急程度将任务分类到相应的任务集合中;
任务优先级确定:在每个任务集合内部,根据任务的重要性和紧急程度对每个任务集合内的任务进行排序。
3.根据权利要求1所述的分布式计算环境中的算力调度方法,其特征在于,所述步骤2中的资源使用情况包括:
CPU使用率:
式中:CPUusage表示计算节点的CPU使用率;CPUtime,used,i表示第i个核心的使用时间;
CPUtotal,time,i表示第i个核心的总时间;n表示核心数;
内存使用量:
式中:Memoryusage表示计算节点的内存使用率;Memorytotal表示计算节点的内存总量;
Memoryused表示计算节点的已使用内存;
存储使用情况:
式中:Storageusage表示计算节点的存储使用率;Storageused表示计算节点已使用的存储量;Storagetotal表示计算节点的存储总量;
网络带宽:
式中:Bandwidthusage表示计算节点的带宽使用率;Bandwidthused表示计算节点已使用的带宽;Banwidthtotal表示计算节点的总带宽量。
4.根据权利要求1所述的分布式计算环境中的算力调度方法,其特征在于,所述步骤3中线性回归模型如下:
Musage=β0+β1×TaskType+β2×InputSize+β3×TaskComplexity+∈;
式中:Musage表示预测的资源需求,包括CPU需求、内存需求、存储需求以及网络带宽需求;β0、β1、β2、β3表示回归系数;TaskType表示任务类型;InputSize表示任务的输入数据量;
TaskComplexity表示任务复杂度;∈表示误差项。
5.根据权利要求4所述的分布式计算环境中的算力调度方法,其特征在于,所述任务复杂度的计算方式如下:
对针对任务的逻辑计算逻辑复杂度Complexitylogic:
式中:Stepso表示第i步的复杂度;Weighti表示第i步的权重;
数据结构复杂度:
式中:m表示数据结构操作的总数;Operationsj表示第j个操作的次数;Costjj表示第j个操作的复杂度成本;
基于逻辑复杂度和数据结构复杂度得到任务复杂度:
Complexitytotal=μ1×Complexitylogic+μ2×Complexitydata;
式中:μ1和μ2均表示权重。
6.根据权利要求1所述的分布式计算环境中的算力调度方法,其特征在于,所述步骤4包括以下步骤:
步骤4.1:对节点的CPU、内存、存储和网络带宽的使用情况进行加权求和,得到当前节点的负载;
步骤4.2:对所有计算节点按照负载进行升序排序,找到负载最小的节点;
步骤4.3:对每个实时任务按照其优先级进行排序,优先级高的任务优先分配,遍历排序后的节点列表,将实时任务分配到负载最小的节点上。
7.根据权利要求1所述的分布式计算环境中的算力调度方法,其特征在于,采用所述循环调度策略将优先级任务分配到计算节点上的步骤如下:
对节点的CPU、内存、存储和网络带宽的使用情况进行加权求和,得到当前节点的负载;
对优先级任务集合中的任务按照优先级从高到低进行排序;
对所有计算记载按照其负载从小到大进行排序;
任务分配:依次取出最高优先级的任务,计算当前节点的可用资源是否满足任务的需求,若满足则进行分配,若不满足则计算下一节点是否满足,直至当前任务被分配;
循环进行任务分配步骤,直至所有任务被分配到相应的节点。