首页 / 分布式计算环境中的算力调度方法

分布式计算环境中的算力调度方法公开 发明

技术领域

[0001] 本申请属于算力调度技术领域,更具体地说,涉及分布式计算环境中的算力调度方法。

相关背景技术

[0002] 随着全球电力需求的快速增长和电网规模的不断扩大,电力系统的管理和调度变得愈发复杂。现代电网系统在规模和结构上的变化,以及新能源接入比例的提高,对电网调度提出了新的挑战。
[0003] 随着云计算、大数据和人工智能等技术的迅速发展,分布式计算成为了处理海量数据和复杂计算任务的主流方法。分布式计算通过将计算任务分散到多个计算节点上并行处理,能够显著提升计算效率和资源利用率。
[0004] 但由于电网的特殊性,在分布式计算环境中,随着计算任务的不断增加,如何有效的调度和分配计算资源成为了一个重要的技术问题。

具体实施方式

[0059] 为了使本申请所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
[0060] 参见图1所示,对本发明的最优实施例做进一步的说明;
[0061] 分布式计算环境中的算力调度方法,包括以下步骤:
[0062] 步骤1:任务管理系统定时从任务队列中获取当前需要处理的任务,并将需要处理的任务分类到实时任务、优先级任务和普通任务集合中,其中实时任务的优先级大于优先级任务,优先级任务的优先级大于普通任务;
[0063] 所述步骤1中将需要处理的任务分类到实时任务、优先级任务和普通任务集合中的步骤如下:
[0064] 任务获取与初始化:任务管理系统每个固定时间间隔从任务队列中获取当前需要处理的所有任务;
[0065] 任务分类:对每个任务进行分类,根据任务的重要性和紧急程度将任务分类到相应的任务集合中;
[0066] 任务优先级确定:在每个任务集合内部,根据任务的重要性和紧急程度对每个任务集合内的任务进行排序。
[0067] 步骤2:基于资源监控系统实时收集所有计算节点的资源使用情况;
[0068] 所述步骤2中的资源使用情况包括:
[0069] CPU使用率:
[0070]
[0071] 式中:CPUusage表示计算节点的CPU使用率;CPUtime,used,i表示第i个核心的使用时间;CPUtotal,time,i表示第i个核心的总时间;n表示核心数;
[0072] 内存使用量:
[0073]
[0074] 式中:Memoryusage表示计算节点的内存使用率;Memorytotal表示计算节点的内存总量;Memoryused表示计算节点的已使用内存;
[0075] 存储使用情况:
[0076]
[0077] 式中:Storageusage表示计算节点的存储使用率;Storageused表示计算节点已使用的存储量;Storagetotal表示计算节点的存储总量;
[0078] 网络带宽:
[0079]
[0080] 式中:Bandwidthusage表示计算节点的带宽使用率;Bandwidthused表示计算节点已使用的带宽;Bandwidthtotal表示计算节点的总带宽量。
[0081] 步骤3:对新任务通过训练好的线性回归模型进行资源需求估算,对于现有任务直接从任务描述中获取资源需求;
[0082] 所述步骤3中线性回归模型如下:
[0083] Musage=β0+β1×TaskType+β2×InputSize+β3×TaskComplexity+∈;
[0084] 式中:Musage表示预测的资源需求,包括CPU需求、内存需求、存储需求以及网络带宽需求;β0、β1、β2、β3表示回归系数;TaskType表示任务类型;InputSize表示任务的输入数据量;TaskComplexity表示任务复杂度;∈表示误差项。
[0085] 优选的,所述任务复杂度的计算方式如下:
[0086] 对针对任务的逻辑计算逻辑复杂度Complexitylogic:
[0087]
[0088] 式中:Stepsi表示第i步的复杂度;Weighti表示第i步的权重;
[0089] 数据结构复杂度:
[0090]
[0091] 式中:m表示数据结构操作的总数;Operationsj表示第j个操作的次数;Costj表示第j个操作的复杂度成本;
[0092] 基于逻辑复杂度和数据结构复杂度得到任务复杂度:
[0093] Complexitytotal=μ1×Complexitylogic+μ2×Complexitydata;
[0094] 式中:μ1和μ2均表示权重。
[0095] 步骤4:对于实时任务按照实时任务的优先级进行排序,采用最近最少负载节点策略,遍历所有节点找到负载最小的节点分配任务;
[0096] 所述步骤4包括以下步骤:
[0097] 步骤4.1:对节点的CPU、内存、存储和网络带宽的使用情况进行加权求和,得到当前节点的负载;
[0098] 步骤4.2:对所有计算节点按照负载进行升序排序,找到负载最小的节点;
[0099] 步骤4.3:对每个实时任务按照其优先级进行排序,优先级高的任务优先分配,遍历排序后的节点列表,将实时任务分配到负载最小的节点上。
[0100] 步骤5:对于优先级任务按照优先级从高到低进行排序,采用循环调度策略,在负载均衡的基础上轮询分配任务;
[0101] 采用所述循环调度策略将优先级任务分配到计算节点上的步骤如下:
[0102] 对节点的CPU、内存、存储和网络带宽的使用情况进行加权求和,得到当前节点的负载;
[0103] 对优先级任务集合中的任务按照优先级从高到低进行排序;
[0104] 对所有计算记载按照其负载从小到大进行排序;
[0105] 任务分配:依次取出最高优先级的任务,计算当前节点的可用资源是否满足任务的需求,若满足则进行分配,若不满足则计算下一节点是否满足,直至当前任务被分配;
[0106] 循环进行任务分配步骤,直至所有任务被分配到相应的节点。
[0107] 步骤6:对于普通任务按照优先级从高到低排序,采用最少任务节点策略,遍历所有节点找到任务数量最少得节点分配任务;
[0108] 在本实施例中不同类型的任务采用不同的调度策略,针对各自的特点进行优化。例如,实时任务强调时效性,优先级任务注重负载均衡,而普通任务则关注资源的充分利用。这种策略结合可以综合优化系统性能,满足不同任务的需求。
[0109] 通过负载均衡和任务合理分配,可以避免某些节点过载,导致系统性能下降或崩溃。定期计算负载并进行资源迁移,进一步保证系统的稳定运行。
[0110] 不同的调度策略可以根据实际情况进行调整,具有较高的灵活性和扩展性。新任务的资源需求估算和现有任务的资源获取方法也使得系统能够动态适应不同的工作负载。
[0111] 每种策略都针对特定类型的任务进行了优化,能够在保证任务优先级的同时提高系统的整体效率。实时任务迅速处理,高优先级任务负载均衡,普通任务资源最大化利用,这些措施综合提升了系统的计算效率。
[0112] 通过对实时任务、优先级任务和普通任务采用各自最优的调度方法,既保证了高优先级任务的及时处理,又实现了系统负载的均衡和资源的高效利用,最终提升了分布式计算环境中的算力调度效果和系统整体性能。
[0113] 步骤7:定期计算每个节点的当前负载,若某节点负载超出阈值,则进行资源迁移,将任务迁移到负载最低的节点。
[0114] 计算每个节点的当前负载:
[0115] Loadi=α×CPUusage,i+β×Memoryusage,i+γ×Storageusage,i+δ×Bandwidthusage,i;
[0116] 式中:Loadi表示第i个计算节点的当前负载;CPUusage,i表示第i个计算节点的CPU使用率;Memoryusage,i表示第i个计算节点的内存使用率;Storageusage,i表示第i个计算节点的存储使用率;Bandwidthusage,i表示第i个计算节点的网络带宽使用率;α,β,γ,δ表示各资源使用率的权重系数;
[0117] 遍历所有节点,检查负载超出阈值的节点:
[0118] OverloadedNodes={Nodei|Loadi>Loadthreshold};
[0119] 式中:OverloadedNodes表示负载超出阈值的节点集合;Loadi表示第i个节点的当前负载;Loadthreshold表示负载阈值;
[0120] 对于每个负载超出阈值的节点,选择一个负载最低的目标节点进行任务迁移;
[0121] 从负载超出阈值的节点中选择一个或多个任务迁移到目标节点,直到该节点的负载降到阈值之下。
[0122] 本发明通过任务管理系统获取当前需要处理的任务,并将任务划分到实时任务、优先级任务和普通任务集合中,基于当前任务所对应的集合以及在集合中的优先级采用对应的调度策略对相关任务进行调度,实现了分布式计算环境中资源调度和分配;本发明通过任务分类、实时资源监控、资源需求估算、优先级排序、合理的调度策略和负载计算与资源迁移等步骤,有效解决了分布式环境中计算资源调度和分配的技术问题,确保了高优先级的及时处理,系统负载均衡,资源的高效利用以及系统的稳定运行,从而提高了整个分布式计算环境的性能和可靠性。
[0123] 以上仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本申请的保护范围之内。

当前第1页 第1页 第2页 第3页
相关技术
力调度相关技术
环境中相关技术
林志达发明人的其他相关专利技术