CN116048773B - 一种基于波函数坍缩的分布式协作任务指派方法和*** - Google Patents

一种基于波函数坍缩的分布式协作任务指派方法和*** Download PDF

Info

Publication number
CN116048773B
CN116048773B CN202211309545.1A CN202211309545A CN116048773B CN 116048773 B CN116048773 B CN 116048773B CN 202211309545 A CN202211309545 A CN 202211309545A CN 116048773 B CN116048773 B CN 116048773B
Authority
CN
China
Prior art keywords
node
task
resource
value
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211309545.1A
Other languages
English (en)
Other versions
CN116048773A (zh
Inventor
张彤
白洋
徐锋
贺婧媛
王海鑫
郝创博
隋悦
郭小星
姚帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jinghang Computing Communication Research Institute
Original Assignee
Beijing Jinghang Computing Communication Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jinghang Computing Communication Research Institute filed Critical Beijing Jinghang Computing Communication Research Institute
Priority to CN202211309545.1A priority Critical patent/CN116048773B/zh
Publication of CN116048773A publication Critical patent/CN116048773A/zh
Application granted granted Critical
Publication of CN116048773B publication Critical patent/CN116048773B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于波函数坍缩的分布式协作任务指派方法和***,方法包括以下步骤:对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值;根据当前集群中的闲置节点数和待执行任务的类型确定待执行任务需要的节点数量;获取待执行任务的存储资源预估值、计算资源预估值和通信资源预估值,根据待执行任务需要的节点数量、待执行任务的资源预估值、每个节点的存储资源值、计算资源值和通信响应频率值基于波函数坍缩算法确定待执行任务的执行节点。

Description

一种基于波函数坍缩的分布式协作任务指派方法和***
技术领域
本发明涉及任务指派方法技术领域,尤其涉及一种基于波函数坍缩的分布式协作任务指派方法和***。
背景技术
分布式大数据或云计算***建设的公网化、全面化已经成为各类实时互联网应用主流的发展方向,能够提升数据分析和设计运营效果。但任何一个分布式AI***都有一个问题,就是任务的时间和空间的局部化。
这一问题的本质在于由于AI数据集的庞大和AI模型训练的长期性,任何单一计算机节点都无法实施完整的操作,而且无论数据集还是AI模型都有一定的可组合性,但如何组合计算机节点是很难做到高效、可持续的,一方面数据集的提供和AI模型的训练涉及节点越多,额外的网络损耗和资源冗余就越大,另一方面,固定的工作组合虽然省力,但工作效率和全局性能的发挥可能是最不利的。
传统的分布式***的任务组合和分配的典型方案就是负载均衡,常见于大型网站的访问转发服务任务。常见的方式包括随机、轮询、Hash抽取,为避免随机抽取的可持续服务能力无法保障,又增强了连接活跃度、局域网络区域加权和响应时间加权。已经广泛应用在云服务器、数据集群中。但,一方面这种集合式任务都是简单原子任务,由分配的单一服务器就可以完成,所谓的负载均衡只需要保留一个中心调度服务器,后续任务不存在多机器协同;另一方面这种负载并未真正均衡,虽然后期算法增加了网络部分的考虑,但是一旦指派工作机器的性能和实时效率无法调整。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种基于波函数坍缩的分布式协作任务指派方法和***,用以解决现有分布式集群的负载均衡存在冗余或均衡效率低,无法根据任务进行动态调整的问题。
一方面,本发明实施例提供了一种基于波函数坍缩的分布式协作任务指派方法,包括以下步骤:
对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值;
根据当前集群中的闲置节点数和待执行任务的类型确定待执行任务需要的节点数量;
获取待执行任务的存储资源预估值、计算资源预估值和通信资源预估值,根据待执行任务需要的节点数量、待执行任务的资源预估值、每个节点的存储资源值、计算资源值和通信响应频率值基于波函数坍缩算法确定待执行任务的执行节点。
基于上述技术方案的进一步改进,根据当前集群中的闲置节点数和待执行任务的类型确定待执行任务需要的节点数量,包括:
根据待执行任务的任务描述判断是否执行过同类任务,若是,则根据最近一次的同类型任务的执行节点数量确定当前待执行任务需要的节点数量;
否则,当前待执行任务需要的节点数量为当前闲置节点数的一半。
进一步地,通过以下方式根据最近一次的同类型任务的执行节点数量确定当前待执行任务需要的节点数量:
若最近一次同类型任务存在资源缺乏,则当前待执行任务需要的节点数量count=ε+ε/2;若最近一次同类型任务存在资源冗余,则当前待执行任务需要的节点数量count=ε-ε/2,其中,ε表示最近一次同类型任务的执行节点数量;否则,则当前待执行任务需要的节点数量count=ε;
若当前待执行任务需要的节点数量count大于当前集群闲置节点的数量,则将前待执行任务需要的节点数量置为当前集群闲置节点的数量。
进一步地,采用以下方法判断是否存在资源缺乏或资源冗余:
在任务执行期间对执行任务的每个节点进行多次资源测评,根据测评结果进行如下判断:
若执行任务的所有节点均存在一类资源的占用率超过第三阈值,则判断执行该任务存在资源缺乏;若执行任务的所有节点的所有资源类型占用率均小于第三阈值,则判断该任务存在资源冗余。
进一步地,对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值,包括:
采用测评模型对集群中的每个节点进行存储资源和计算资源测评,得到每个节点的存储资源测评值和计算资源测评值;
根据公式分别计算每个节点的存储资源值和计算资源值;其中,Si表示节点i的存储资源值,Sc_i表示节点i的存储资源测评值,/>表示所有节点的平均存储资源测评值,Ci表示节点i的计算资源值,Cc_i表示节点i的计算资源测评值,/>表示所有节点的平均计算资源测评值,N表示集群的总节点数;
根据公式计算每个节点的通信响应频率值Ri,其中,M表示与节点i可通信的节点的数量,timei,k表示节点i与节点k间的通信响应时间。
进一步地,
采用测评模型测试每个节点的每秒读写次数IOPSi、存储量容量STi和每秒浮点运算次数FLOPSi,根据Sc_i=IOPSi×STi计算每个节点的存储资源测评值;将每个节点的每秒浮点运算次数FLOPSi作为该节点的计算资源测评值。
进一步地,对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值,包括:
采用测评模型对集群中的每个节点进行存储资源和计算资源测评,得到每个节点的存储资源测评值和计算资源测评值;
根据公式计算每个节点的存储资源值Si;其中,Si,j表示节点i第j次执行任务时占用的存储资源值,θi表示节点i执行任务的次数,Si,last表示节点i上一次执行任务时占用的存储资源值,Sc_i表示节点i的存储资源测评值,/>表示所有节点的平均存储资源测评值,N表示集群的总节点数;
根据公式计算每个节点的计算资源值;其中,Ci,j表示节点i第j次执行任务时占用的计算资源值Ci,Ci,last表示节点i上一次执行任务时占用的计算资源值,Cc_i表示节点i的计算资源测评值,/>表示所有节点的平均计算资源测评值;
根据公式计算每个节点的通信响应频率测评值,根据公式Ri=Rc_i+RLi+RHi,/>计算每个节点的通信响应频率值Ri;其中,Ri,j表示节点i第j次执行任务时的通信响应频率值,Ri,last表示节点i上一次执行任务时的通信响应频率值,M表示与节点i可通信的节点的数量,timei,k表示节点i与节点k间的通信响应时间。
进一步地,采用以下步骤筛选待执行任务的执行节点:
S31、从闲置节点集合中随机筛选一个节点加入执行节点集合;
S32、按照待执行任务的存储资源、计算资源和通信资源预估值从大到小的顺序对存储资源、计算资源和通信资源进行排序,将排在首位的资源作为当前资源维度;
S33、若当前执行节点集合的节点数量等于待执行任务需要的节点数量,则筛选结束;否则,若当前资源维度下随机筛选次数达到第二阈值,则将下一个资源维度作为当前资源维度,返回步骤S33;否则,从闲置节点集合中随机筛选一个节点,若当前筛选节点与最新加入执行节点集合的节点在当前资源维度上的能力相当,则将当前筛选节点加入执行节点集合,返回步骤S33。
进一步地,若当前筛选节点在当前资源维度上的资源值与最新加入执行节点集合的节点在当前资源维度上的比值在第一阈值范围内,则当前筛选节点与最新加入执行节点集合的节点在当前资源维度上的能力相当。
另一方面,本发明实施例提供了一种基于波函数坍缩的分布式协作任务指派***,包括以下模块:
节点资源测评模块,用于对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值;
任务节点数量确定模块,用于根据当前集群中的闲置节点数和待执行任务的类型确定待执行任务需要的节点数量;
任务指派模块,用于获取待执行任务的存储资源预估值、计算资源预估值和通信资源预估值,根据待执行任务需要的节点数量、待执行任务的资源预估值、每个节点的存储资源值、计算资源值和通信响应频率值基于波函数坍缩算法确定待执行任务的执行节点。
与现有技术相比,本发明通过根据待执行任务的资源评估值和集群中节点的资源,采用波函数坍缩算法从集群中选择满足任务资源需求的节点,从而根据实际任务动态调整执行节点,避免出现集群资源缺乏或冗余虚耗,提高全局工作效率和性能。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例基于波函数坍缩的分布式协作任务指派方法的流程图;
图2为本发明实施例基于波函数坍缩的分布式协作任务指派***的框图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明的一个具体实施例,公开了一种基于波函数坍缩的分布式协作任务指派方法,如图1所示,包括以下步骤:
S1、对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值;
S2、根据当前集群中的闲置节点数和待执行任务的类型确定待执行任务需要的节点数量;
S3、获取待执行任务的存储资源预估值、计算资源预估值和通信资源预估值,根据待执行任务需要的节点数量、待执行任务的资源预估值、每个节点的存储资源值、计算资源值和通信响应频率值基于波函数坍缩算法确定待执行任务的执行节点。
通过根据待执行任务的资源评估值和集群中节点的资源,采用波函数坍缩算法从集群中选择满足任务资源需求的节点,从而根据实际任务动态调整执行节点,避免出现集群资源缺乏或冗余虚耗,提高全局工作效率和性能。
具体的,步骤S1中,对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值,包括:
S11、采用测评模型对集群中的每个节点进行存储资源和计算资源测评,得到每个节点的存储资源测评值和计算资源测评值;
实施时,测评模型可采用现有的计算机测评模型,例如采用鲁大师等电脑测评软件的测评模型。
具体的,采用测评模型测试每个节点的每秒读写次数IOPSi、存储量容量STi和每秒浮点运算次数FLOPSi,根据Sc_i=IOPSi×STi计算每个节点的存储资源测评值;将每个节点的每秒浮点运算次数FLOPSi作为该节点的计算资源测评值。
IOPS(Input/Output Per Second)即每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一。IOPS是指单位时间内***能处理的I/O请求数量,一般以每秒处理的I/O请求数量为单位,I/O请求通常为读或写数据操作请求。根据节点每秒读写次数与存储量的乘积可计算每个节点的存储资源测评值,从而衡量每个节点拥有的存储资源。
FLOPS(floating point operations per second)表示每秒浮点运算次数,理解为计算速度,是一个衡量硬件计算性能的指标,将其作为每个节点的计算资源测评值。
需要说明的是,每个节点的测评值均是在其空闲时进行测评得到的结果。
S12、根据公式分别计算每个节点的存储资源值和计算资源值;其中,Si表示节点i的存储资源值,Sc_i表示节点i的存储资源测评值,/>表示所有节点的平均存储资源测评值,Ci表示节点i的计算资源值,Cc_i表示节点i的计算资源测评值,/>表示所有节点的平均计算资源测评值,N表示集群的总节点数;
为了提高方法的可扩展性,计算每个节点的存储资源测评值和计算资源测评值后,将其转换为无量纲的比例,得到每个节点的存储资源值和计算资源值。具体的,根据公式分别计算每个节点的存储资源值和计算资源值。
S13、根据公式计算每个节点的通信响应频率值Ri,其中,M表示与节点i可通信的节点的数量,timei,k表示节点i与节点k间的通信响应时间。
具体的,通信响应频率反应了节点的网络通信性能,根据节点间的网络通信响应时间可计算每个节点的通信响应频率。实施时,节点i与节点k之间的网络通信时间可采用任一种网络通信协议的一次实时测试或者多次测试取均值得到。
短期测试资源值和标称资源值是有误差的,时间导致的硬件老化会降低实际值,临时网络或电压故障会改变测试值,这些变化会出现在各个维度,为了准确进行资源组合,为待执行任务提供更适合的执行节点,在计算每个节点的资源数据时考虑节点的长短期运行权重。
在一个具体的实施例中,步骤S1中对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值,包括:
S14、采用测评模型对集群中的每个节点进行存储资源和计算资源测评,得到每个节点的存储资源测评值和计算资源测评值;
步骤S14的实施过程可参考步骤S11,此处不再赘述。
S15、根据公式计算每个节点的存储资源值Si;其中,Si,j表示节点i第j次执行任务时占用的存储资源值,θi表示节点i执行任务的次数,Si,last表示节点i上一次执行任务时占用的存储资源值,Sc_i表示节点i的存储资源测评值,/>表示所有节点的平均存储资源测评值,N表示集群的总节点数;
S16、根据公式计算每个节点的计算资源值;其中,Ci,j表示节点i第j次执行任务时占用的计算资源值Ci,Ci,last表示节点i上一次执行任务时占用的计算资源值,Cc_i表示节点i的计算资源测评值,表示所有节点的平均计算资源测评值;
S17、根据公式计算每个节点的通信响应频率测评值,根据公式Ri=Rc_i+RLi+RHi,/>计算每个节点的通信响应频率值Ri;其中,Ri,j表示节点i第j次执行任务时的通信响应频率值,Ri,last表示节点i上一次执行任务时的通信响应频率值,M表示与节点i可通信的节点的数量,timei,k表示节点i与节点k间的通信响应时间。
通过考虑节点在执行历史任务的时候实际使用的资源值可对节点的长、短期资源使用情况进行评估,在计算资源值时考虑长短期资源使用信息,从而进一步提高资源计算的准确性,为后续根据资源值确定待执行任务的执行节点提供数据基础。
需要说明的是,Si,j可为节点i第j次执行任务时占用的最大存储资源值,Ci,j可为节点i第j次执行任务时占用的最大计算资源值,Ri,j可为节点i第j次执行任务时的最大通信响应频率值。
计算集群中每个节点的存储、计算和通信资源值后,对于待执行任务,步骤S2中根据当前集群中的闲置节点数和待执行任务的类型确定待执行任务需要的节点数量,具体包括:
根据待执行任务的任务描述判断是否执行过同类任务,若是,则根据最近一次的同类型任务的执行节点数量确定当前待执行任务需要的节点数量;
否则,当前待执行任务需要的节点数量为当前闲置节点数的一半。
具体的,根据任务描述判断是否执行过同类型任务可通过关键词匹配,或者任务描述中开发人员列出的任务类型进行匹配判断。例如,待执行任务与某历史执行任务相同的关键词个数占历史执行任务的90%以上,则认为当前待执行任务与该历史执行任务为同类型任务。或者,开发人员列出的待执行任务与某历史执行任务的任务类型相同,则认为当前待执行任务与该历史执行任务为同类型任务。
若集群未执行过同类型的任务,则将当前待执行任务需要的节点数量设置为当前闲置节点数的一半,若闲置数为1,则待执行任务需要的节点数为1。
若集群曾执行过同类型的任务,可根据最近一次的同类型任务的执行节点数量确定当前待执行任务需要的节点数量。
大多数需要集群计算的任务对于有经验的***架构师来说都是可以评估一个基本任务工作量比例的,但是对于集群冗余和协作效率却是难以评估的,就是说,我们无法准确设定多少台计算机参加协作,多了浪费,少了不足拖慢整体效率和工作时长,为了能为待执行任务提供合适数量的节点,不浪费资源也不会出现阻塞,参考了拉格朗日中值定理,根据最近一次同类型任务的执行节点数量,采用迭代的方式确定当前待执行任务的执行节点数量。具体为:
若最近一次同类型任务存在资源缺乏,则当前待执行任务需要的节点数量count=ε+ε/2;若最近一次同类型任务存在资源冗余,则当前待执行任务需要的节点数量count=ε-ε/2,其中,ε表示最近一次同类型任务的执行节点数量;否则,则当前待执行任务需要的节点数量count=ε;
若当前待执行任务需要的节点数量count大于当前集群闲置节点的数量,则将前待执行任务需要的节点数量置为当前集群闲置节点的数量。若当前待执行任务需要的节点数量count<1,则将count置为1。
即,若最近一次同类型任务存在资源缺乏,则在最近一次同类型任务的执行节点的数量基础上增加节点数,若最近一次同类型任务存在资源冗余,则在最近一次同类型任务的执行节点的数量基础上减少节点数,若最近一次同类型任务不存在资源缺乏,也不存在资源冗余,即节点数量是合适的,则维持最近一次同类型任务的执行节点的数量。从而根据最近一次同类型任务的资源使用情况确定当前待执行任务的节点数,通过不断迭代调整逐渐逼近任务的最佳资源组合,使得任务运行即不浪费资源也不会出现资源缺乏,从而提高资源使用效率和集群性能。
具体的,采用以下方法判断是否存在资源缺乏或资源冗余:
在任务执行期间对执行任务的每个节点进行多次资源测评,根据测评结果进行如下判断:若执行任务的所有节点均存在一类资源的占用率超过第三阈值,则判断执行该任务存在资源缺乏;若执行任务的所有节点的所有资源类型占用率均小于第三阈值,则判断该任务存在资源冗余。
实施时,可采用步骤S1中的方法对节点进行多次测评,得到节点在任务执行期间的多个存储资源测评值、计算资源测评值和通信响应频率测评值。节点在执行任务时的存储资源占用率为:(空闲时间的存储资源测评值-执行任务期间的存储资源测评值)/空闲时间的存储资源测评值;节点在执行任务时的计算资源占用率为:(空闲时间的计算资源测评值-执行任务期间的计算资源测评值)/空闲时间的计算资源测评值;节点在执行任务时的通信资源占用率为:(空闲时间的通信响应频率测评值-执行任务期间的通信响应频率测评值)/空闲时间的通信响应频率测评值。对多个存储资源占用率取平均得到节点执行任务时的平均存储资源占用率;对多个计算资源占用率取平均得到节点执行任务时的平均计算资源占用率;对多个通信资源占用率取平均得到节点执行任务时的平均通信资源占用率。
若所有执行任务的节点的存储资源、计算资源或通信资源中任一维度上的占用率均超过第三阈值,则协作节点的该资源维度上存在资源缺乏,因此判断执行该任务存在资源缺乏。
若所有执行任务的节点的存储资源、计算资源和通信资源三个维度上的占用率均不超过第三阈值,则所有协作节点的所有资源维度上都存在冗余,因此判断执行该任务存在资源冗余。
若任务执行时不存在资源缺乏和资源冗余,则认为该认为分配的节点数量是合适的。
实施时,第三阈值可根据判断精度来确定,例如第三阈值可取98%。
通过根据同类型任务在执行期间的资源使用情况可以快速准确的为待执行任务确定需要的节点数量。
在根据待执行任务需要的节点数量、每个节点的存储资源值、计算资源值和通信响应频率值基于波函数坍缩算法确定待执行任务的执行节点前,需要先获取待执行任务的资源预估值,即存储资源预估值、计算资源预估值和通信资源预估值。
具体的,待执行任务的存储资源预估值、计算资源预估值和通信资源预估值为***架构师对待执行任务预计要使用的存储资源量、计算资源量和通信资源量进行评估后,得出的与存储资源基准量、计算资源基准量和通信资源基准量进行比较得出的比例值。
此外,也可根据多个历史同类型任务执行任务时使用的存储资源、计算资源和通信资源取均值,与存储资源基准量、计算资源基准量和通信资源基准量进行比较得出。
一个具体的实施例中,采用以下步骤获取待执行任务的存储资源预估值、计算资源预估值和通信资源预估值:
若集群执行过同类任务,则根据每个同类任务执行期间每个执行节点的存储资源占用值、计算资源占用值和通信响应频率资源占用值得到同类任务使用的平均存储资源值、平均计算资源值和平均通信响应频率值;将平均存储资源值、平均计算资源值和平均通信资源值分别除以存储资源基准值、计算资源基准值和通信资源基准值得到待执行任务的存储资源预估值、计算资源预估值和通信资源预估值;
否则,获取开发人员评估的待执行任务的存储资源预估值、计算资源预估值和通信响应频率预估值。
实施时,存储资源基准值、计算资源基准值和通信资源基准值可根据经验设置,设置基准值是为了将各资源值转换为无量纲的值,从而筛选出资源配置比例与待执行任务的资源需求比例符合的最佳集合。
实施时,同类任务判断可采用步骤S2中同样的方法。
即,若集群执行过同类型任务,则获取同类型任务在执行期间每个执行节点的多组存储资源占用值、计算资源占用值和通信响应频率占用值,对多组数据取平均得到每个执行节点的存储资源占用值、计算资源占用值和通信响应频率占用值。
对每个同类任务的所有执行节点的存储资源占用值、计算资源占用值和通信响应频率占用值求和得到每个同类任务的存储资源值、计算资源值和通信响应频率值。
对多个同类任务存储资源值、计算资源值和通信响应频率值取平均,并得到同类任务的平均存储资源值、平均计算资源值和平均通信响应频率值。
将平均存储资源值、平均计算资源值和平均通信资源值分别除以存储资源基准值、计算资源基准值和通信资源基准值得到待执行任务的存储资源预估值、计算资源预估值和通信资源预估值。
具体的,采用以下步骤筛选待执行任务的执行节点:
S31、从闲置节点集合中随机筛选一个节点加入执行节点集合;
初始时,执行节点集合为空,首先从闲置节点集合中随机筛选一个节点加入执行节点集合。
S32、按照待执行任务的存储资源、计算资源和通信资源预估值从大到小的顺序对存储资源、计算资源和通信资源进行排序,通信将排在首位的资源作为当前资源维度;为了确保筛选出的节点的核心维度上的能力一致,首先根据待执行任务存储资源、计算资源和通信资源的预估值的从大到小的顺序对存储资源、计算资源和通信资源进行排序。例如,待执行任务存储资源预估值为100,计算资源预估值为10,通信资源预估值为30,则按照预估值的大小,将上述三种资源排序为:存储资源、通信资源、计算资源,因此将排在第一位的存储资源作为当前资源维度。
从第二个节点开始,需要评估筛选出来的节点其在当前资源维度上与上一个加入执行节点集合的节点能力是否相当,如果能力相当才将该接点加入执行接点集合,从而维持待执行节点集合在资源维度上的能力一致性。
S33、若当前执行节点集合的节点数量等于待执行任务需要的节点数量,则筛选结束;否则,若当前资源维度下随机筛选次数达到第二阈值,则将下一个资源维度作为当前资源维度,返回步骤S33;否则,从闲置节点集合中随机筛选一个节点,若当前筛选节点与最新加入执行节点集合的节点在当前资源维度上的能力相当,则将当前筛选节点加入执行节点集合,返回步骤S33。
执行节点集合中至少包括一个节点。
在筛选第二个节点前,首先判断当前执行节点集合的节点数量是否满足待执行任务的节点数量,若执行节点集合的节点数量等于待执行任务需要的节点数量,则筛选结束。
为了提高筛选效率,在每个资源维度下,设置随机筛选次数限制,即设置第二阈值,若当前资源维度下的筛选次数达到第二阈值,则将下一个资源维度作为当前资源维度。实施时,第二阈值可设置为待执行任务需要的节点数量。
对于当前筛选出来的节点,若其与最新加入执行节点集合的节点在当前资源维度上的能力相当,则将当前筛选节点加入执行节点集合。否则,将当前筛选出来的节点摒弃,重新随机筛选下一个节点。
具体的,通过以下方式判断当前筛选节点与最新加入执行节点集合的节点在当前资源维度上的能力是否相当:
若当前筛选节点在当前资源维度上的资源值与最新加入执行节点集合的节点在当前资源维度上的比值在第一阈值范围内,则当前筛选节点与最新加入执行节点集合的节点在当前资源维度上的能力相当。
实施时,第一阈值范围可根据节点能力一致度的要求设置,例如可设置为[0.9,10]。例如当前资源维度为存储资源,最新加入执行节点结合的节点的存储资源值为10,当前筛选节点的存储资源值为11,当前筛选节点与最新加入执行节点节的节点在存储资源维度上的比值为1.1,在第一阈值范围内,因此可将当前摘选节点加入执行节点集合。
基于波函数坍缩算法,通过局部能力相当的筛选方法,使得后续节点的资源量至少差不多,也有可能越来越高,从而生成满足资源要求的执行节点集合。
实施时,也可能存在三个维度的筛选次数均达到第二阈值结束筛选后,执行节点集合中的节点数量小于待执行任务需要的节点数量。此时,可清空待执行节点集合,重新从步骤S31开始筛选,直至找到满足节点数量要求的执行节点集合。
也可以多次筛选出多个执行节点集合,在多个执行节点集合中选择最佳的集合作为待执行任务的最终执行节点集合。
具体的,可采用以下方法在多个执行节点集合中选择确定最佳集合:
对于任一个执行节点集合,分别计算集合中所有节点的存储资源值的总和、计算资源值的总和以及通信响应资源值的总和。
按照待执行任务存储资源预估值、计算资源预估值和通信资源预估值的大小对存储资源维度、计算资源维度和通信资源维度进行排序。
对每个执行接点集合,按照上述排序的顺序计算三种资源值的连除结果。例如存储资源维度、计算资源维度和通信资源维度的排序结果为计算资源维度、通信资源维度、存储资源维度,则计算每个执行节点集合的计算资源总值/通信资源总值/存储资源总值的结果。
对待执行任务,按照上述排序的顺序计算三种资源预估值的连除结果,即待执行任务的计算资源预估值/通信资源预估值/存储资源预估值的结果。
选择连除结果与待执行任务的连除结果最接近的执行节点集合作为待执行任务的执行节点集合。
若某执行节点集合在排序后的资源维度上的值的连除结果与待执行任务在排序后的资源维度上的值的连除结果最接近,则该执行节点集合为最佳节点集合。
以往的负载均衡存在大量的冗余和任务规模限制,拖慢整个体系的运行效率,或者在大型任务面前阻塞,而且不能反应集群***动态变化的问题,本申请通过根据待执行任务的资源预估和节点的资源拥有信息,动态的根据任务需求构建对应的协同工作资源节点,从而避免出现资源缺乏或冗余,提供集群运行效能。在运行时信息不明确的状态中,通过预估、空转测量提供基础测量,再通过不断协作运行,不断修正任务评估、协作群体边界从而获得更高的运行效率。
本发明的一个具体实施例,公开了一种基于波函数坍缩的分布式协作任务指派***,如图2所示,包括以下模块:
节点资源测评模块,用于对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值;
任务节点数量确定模块,用于根据当前集群中的闲置节点数和待执行任务的类型确定待执行任务需要的节点数量;
任务指派模块,用于获取待执行任务的存储资源预估值、计算资源预估值和通信资源预估值,根据待执行任务需要的节点数量、待执行任务的资源预估值、每个节点的存储资源值、计算资源值和通信响应频率值基于波函数坍缩算法确定待执行任务的执行节点。
上述方法实施例和***实施例,基于相同的原理,其相关之处可相互借鉴,且能达到相同的技术效果。具体实施过程参见前述实施例,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (8)

1.一种基于波函数坍缩的分布式协作任务指派方法,其特征在于,包括以下步骤:
对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值;所述计算资源值是节点每秒浮点运算次数;
根据当前集群中的闲置节点数和待执行任务的类型确定待执行任务需要的节点数量;
获取待执行任务的存储资源预估值、计算资源预估值和通信资源预估值,根据待执行任务需要的节点数量、待执行任务的资源预估值、每个节点的存储资源值、计算资源值和通信响应频率值基于波函数坍缩算法确定待执行任务的执行节点;
根据当前集群中的闲置节点数和待执行任务的类型确定待执行任务需要的节点数量,包括:
根据待执行任务的任务描述判断是否执行过同类任务,若是,则根据最近一次的同类型任务的执行节点数量确定当前待执行任务需要的节点数量;
否则,当前待执行任务需要的节点数量为当前闲置节点数的一半;
通过以下方式根据最近一次的同类型任务的执行节点数量确定当前待执行任务需要的节点数量:
若最近一次同类型任务存在资源缺乏,则当前待执行任务需要的节点数量count=ε+ε/2;若最近一次同类型任务存在资源冗余,则当前待执行任务需要的节点数量count=ε-ε/2,其中,ε表示最近一次同类型任务的执行节点数量;否则,则当前待执行任务需要的节点数量count=ε;
若当前待执行任务需要的节点数量count大于当前集群闲置节点的数量,则将前待执行任务需要的节点数量置为当前集群闲置节点的数量。
2.根据权利要求1所述的基于波函数坍缩的分布式协作任务指派方法,其特征在于,采用以下方法判断是否存在资源缺乏或资源冗余:
在任务执行期间对执行任务的每个节点进行多次资源测评,根据测评结果进行如下判断:
若执行任务的所有节点均存在一类资源的占用率超过第三阈值,则判断执行该任务存在资源缺乏;若执行任务的所有节点的所有资源类型占用率均小于第三阈值,则判断该任务存在资源冗余。
3.根据权利要求1所述的基于波函数坍缩的分布式协作任务指派方法,其特征在于,对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值,包括:
采用测评模型对集群中的每个节点进行存储资源和计算资源测评,得到每个节点的存储资源测评值和计算资源测评值;
根据公式分别计算每个节点的存储资源值和计算资源值;其中,Si表示节点i的存储资源值,Sc_i表示节点i的存储资源测评值,/>表示所有节点的平均存储资源测评值,Ci表示节点i的计算资源值,Cc_i表示节点i的计算资源测评值,表示所有节点的平均计算资源测评值,N表示集群的总节点数;
根据公式计算每个节点的通信响应频率值Ri,其中,M表示与节点i可通信的节点的数量,timei,k表示节点i与节点k间的通信响应时间。
4.根据权利要求3所述的基于波函数坍缩的分布式协作任务指派方法,其特征在于,
采用测评模型测试每个节点的每秒读写次数IOPSi、存储量容量STi和每秒浮点运算次数FLOPSi,根据Sc_i=IOPSi×STi计算每个节点的存储资源测评值;将每个节点的每秒浮点运算次数FLOPSi作为该节点的计算资源测评值。
5.根据权利要求1所述的基于波函数坍缩的分布式协作任务指派方法,其特征在于,对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值,包括:
采用测评模型对集群中的每个节点进行存储资源和计算资源测评,得到每个节点的存储资源测评值和计算资源测评值;
根据公式计算每个节点的存储资源值Si;其中,Si,j表示节点i第j次执行任务时占用的存储资源值,θi表示节点i执行任务的次数,Si,last表示节点i上一次执行任务时占用的存储资源值,Sc_i表示节点i的存储资源测评值,/>表示所有节点的平均存储资源测评值,N表示集群的总节点数;
根据公式计算每个节点的计算资源值;其中,Ci,j表示节点i第j次执行任务时占用的计算资源值Ci,Ci,last表示节点i上一次执行任务时占用的计算资源值,Cc_i表示节点i的计算资源测评值,/>表示所有节点的平均计算资源测评值;
根据公式计算每个节点的通信响应频率测评值,根据公式Ri=Rc_i+RLi+RHi,/>计算每个节点的通信响应频率值Ri;其中,Ri,j表示节点i第j次执行任务时的通信响应频率值,Ri,last表示节点i上一次执行任务时的通信响应频率值,M表示与节点i可通信的节点的数量,timei,k表示节点i与节点k间的通信响应时间。
6.根据权利要求1所述的基于波函数坍缩的分布式协作任务指派方法,其特征在于,采用以下步骤筛选待执行任务的执行节点:
S31、从闲置节点集合中随机筛选一个节点加入执行节点集合;
S32、按照待执行任务的存储资源、计算资源和通信资源预估值从大到小的顺序对存储资源、计算资源和通信资源进行排序,将排在首位的资源作为当前资源维度;
S33、若当前执行节点集合的节点数量等于待执行任务需要的节点数量,则筛选结束;否则,若当前资源维度下随机筛选次数达到第二阈值,则将下一个资源维度作为当前资源维度,返回步骤S33;否则,从闲置节点集合中随机筛选一个节点,若当前筛选节点与最新加入执行节点集合的节点在当前资源维度上的能力相当,则将当前筛选节点加入执行节点集合,返回步骤S33。
7.根据权利要求6所述的基于波函数坍缩的分布式协作任务指派方法,其特征在于,若当前筛选节点在当前资源维度上的资源值与最新加入执行节点集合的节点在当前资源维度上的比值在第一阈值范围内,则当前筛选节点与最新加入执行节点集合的节点在当前资源维度上的能力相当。
8.一种基于波函数坍缩的分布式协作任务指派***,其特征在于,包括以下模块:
节点资源测评模块,用于对集群中的每个节点进行资源测评,得到每个节点的存储资源值、计算资源值和通信响应频率值;所述计算资源值是节点每秒浮点运算次数;
任务节点数量确定模块,用于根据当前集群中的闲置节点数和待执行任务的类型确定待执行任务需要的节点数量;
任务指派模块,用于获取待执行任务的存储资源预估值、计算资源预估值和通信资源预估值,根据待执行任务需要的节点数量、待执行任务的资源预估值、每个节点的存储资源值、计算资源值和通信响应频率值基于波函数坍缩算法确定待执行任务的执行节点;
根据当前集群中的闲置节点数和待执行任务的类型确定待执行任务需要的节点数量,包括:
根据待执行任务的任务描述判断是否执行过同类任务,若是,则根据最近一次的同类型任务的执行节点数量确定当前待执行任务需要的节点数量;
否则,当前待执行任务需要的节点数量为当前闲置节点数的一半;
通过以下方式根据最近一次的同类型任务的执行节点数量确定当前待执行任务需要的节点数量:
若最近一次同类型任务存在资源缺乏,则当前待执行任务需要的节点数量count=ε+ε/2;若最近一次同类型任务存在资源冗余,则当前待执行任务需要的节点数量count=ε-ε/2,其中,ε表示最近一次同类型任务的执行节点数量;否则,则当前待执行任务需要的节点数量count=ε;
若当前待执行任务需要的节点数量count大于当前集群闲置节点的数量,则将前待执行任务需要的节点数量置为当前集群闲置节点的数量。
CN202211309545.1A 2022-10-25 2022-10-25 一种基于波函数坍缩的分布式协作任务指派方法和*** Active CN116048773B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211309545.1A CN116048773B (zh) 2022-10-25 2022-10-25 一种基于波函数坍缩的分布式协作任务指派方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211309545.1A CN116048773B (zh) 2022-10-25 2022-10-25 一种基于波函数坍缩的分布式协作任务指派方法和***

Publications (2)

Publication Number Publication Date
CN116048773A CN116048773A (zh) 2023-05-02
CN116048773B true CN116048773B (zh) 2024-05-28

Family

ID=86117000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211309545.1A Active CN116048773B (zh) 2022-10-25 2022-10-25 一种基于波函数坍缩的分布式协作任务指派方法和***

Country Status (1)

Country Link
CN (1) CN116048773B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117112242B (zh) * 2023-10-24 2024-01-26 纬创软件(武汉)有限公司 一种云计算***中的资源节点分配方法和***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291539A (zh) * 2017-06-19 2017-10-24 山东师范大学 基于资源重要程度的集群程序调度方法
CN112241321A (zh) * 2020-09-24 2021-01-19 北京影谱科技股份有限公司 基于Kubernetes的算力调度方法和装置
CN112328399A (zh) * 2020-11-17 2021-02-05 中国平安财产保险股份有限公司 一种集群资源调度方法、装置、计算机设备及存储介质
CN114880748A (zh) * 2022-05-27 2022-08-09 北京邮电大学 一种布局设计方法及其相关装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268318A (zh) * 2016-12-30 2018-07-10 华为技术有限公司 一种分布式***任务分配的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291539A (zh) * 2017-06-19 2017-10-24 山东师范大学 基于资源重要程度的集群程序调度方法
CN112241321A (zh) * 2020-09-24 2021-01-19 北京影谱科技股份有限公司 基于Kubernetes的算力调度方法和装置
CN112328399A (zh) * 2020-11-17 2021-02-05 中国平安财产保险股份有限公司 一种集群资源调度方法、装置、计算机设备及存储介质
CN114880748A (zh) * 2022-05-27 2022-08-09 北京邮电大学 一种布局设计方法及其相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于改进量子粒子群算法的多无人机任务分配;邓可等;指挥控制与仿真;20181015;第40卷(第05期);第32-36页 *

Also Published As

Publication number Publication date
CN116048773A (zh) 2023-05-02

Similar Documents

Publication Publication Date Title
CN115562870B (zh) 一种集群的任务节点资源构建方法
US9749208B2 (en) Integrated global resource allocation and load balancing
US7610425B2 (en) Approach for managing interrupt load distribution
US8463971B2 (en) Approach for distributing interrupts from high-interrupt load devices
US7581052B1 (en) Approach for distributing multiple interrupts among multiple processors
Kumar et al. ARPS: An autonomic resource provisioning and scheduling framework for cloud platforms
US10353745B1 (en) Assessing performance of disparate computing environments
Rathore Dynamic threshold based load balancing algorithms
Patni et al. Load balancing strategies for grid computing
CN116048773B (zh) 一种基于波函数坍缩的分布式协作任务指派方法和***
Ziafat et al. A hierarchical structure for optimal resource allocation in geographically distributed clouds
CN103997515A (zh) 一种分布式云中计算中心选择方法及其应用
Abdullah et al. A reliable, TOPSIS-based multi-criteria, and hierarchical load balancing method for computational grid
CN113127173B (zh) 一种异构感知的集群调度方法及装置
Javanmardi et al. An architecture for scheduling with the capability of minimum share to heterogeneous Hadoop systems
Selvi et al. Popularity (hit rate) based replica creation for enhancing the availability in cloud storage
Garg et al. Optimal virtual machine scheduling in virtualized cloud environment using VIKOR method
CN115357401B (zh) 一种基于多数据中心的任务调度与可视化方法和***
CN116302327A (zh) 资源调度方法及相关设备
Wan et al. Utility-driven share scheduling algorithm in hadoop
El-Zoghdy et al. A threshold-based load balancing algorithm for grid computing systems
Cao et al. A novel and one-stage embedding algorithm for mapping virtual networks
Wei et al. A novel scheduling mechanism for hybrid cloud systems
CN113689103B (zh) 自适应负载均衡用采分流智能调度管理方法、装置及***
CN118158092B (zh) 一种算力网络调度方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant