CN117707793B - 一种计算任务处理方法、装置、设备及介质 - Google Patents
一种计算任务处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117707793B CN117707793B CN202410160607.XA CN202410160607A CN117707793B CN 117707793 B CN117707793 B CN 117707793B CN 202410160607 A CN202410160607 A CN 202410160607A CN 117707793 B CN117707793 B CN 117707793B
- Authority
- CN
- China
- Prior art keywords
- computing
- processed
- units
- task
- subtasks
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 18
- 238000004364 calculation method Methods 0.000 claims abstract description 182
- 238000012545 processing Methods 0.000 claims abstract description 66
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 11
- 108010001267 Protein Subunits Proteins 0.000 claims 1
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种计算任务处理方法、装置、设备及介质,涉及数据处理技术领域。包括:根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定子目标计算任务所需的计算单元数量;根据分布式系统中计算单元的空闲数量、各子目标计算任务的需求计算单元数量和至少一个子候选计算任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量;根据各子目标计算任务的可用计算单元数量,将各子目标计算任务发送至分布式系统的从节点中,并对从节点反馈的子目标计算任务的计算结果进行融合,得到目标计算任务的计算结果。本方案为子计算任务分配计算单元进行处理,提高了计算任务的处理效率。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种计算任务处理方法、装置、设备及介质。
背景技术
随着用户的业务需求种类和需求数量的不断增长,业务系统的架构变得愈发庞大,软硬件资源也愈发不足,影响了计算任务的处理效率。
现有技术中,主要采用将业务系统拆分为多个子系统的方法,使多个子系统之间进行协同处理,以提高处理效率,但此技术方案对于庞大复杂的计算任务,仍存在处理效率较低的缺陷。
发明内容
本发明提供了一种计算任务处理方法、装置、设备及介质,以提高计算任务的处理效率。
第一方面,本发明提供了一种计算任务处理方法,包括:
根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定各子目标计算任务的需求计算单元数量;
根据分布式系统中计算单元的空闲数量、各子目标计算任务的需求计算单元数量和至少一个子候选计算任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量;其中,子候选计算任务是通过对候选计算任务进行拆分得到;候选计算任务是拆分次序在目标计算任务之前,且未进行计算的计算任务;
根据各子目标计算任务的可用计算单元数量,将各子目标计算任务发送至分布式系统的从节点中,并对从节点反馈的子目标计算任务的计算结果进行融合,得到目标计算任务的计算结果。
第二方面,本发明还提供了一种计算任务处理装置,包括:
计算任务拆分模块,用于根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定各子目标计算任务的需求计算单元数量;
可用数量确定模块,用于根据分布式系统中计算单元的空闲数量、各子目标计算任务的需求计算单元数量和至少一个子候选计算任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量;其中,子候选计算任务可以通过对未候选计算任务进行拆分得到;候选计算任务可以是拆分次序在目标计算任务之前,且未进行计算的计算任务;
计算结果确定模块,用于根据各子目标计算任务的可用计算单元数量,将各子目标计算任务发送至分布式系统的从节点中,并对从节点反馈的子目标计算任务的计算结果进行融合,得到目标计算任务的计算结果。
第三方面,本发明实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例所提供的计算任务处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明任一实施例的计算任务处理方法。
本发明实施例通过根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定各子目标计算任务的需求计算单元数量;根据分布式系统中计算单元的空闲数量、各子目标计算任务的需求计算单元数量和至少一个子候选计算任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量;其中,子候选计算任务是通过对候选计算任务进行拆分得到;候选计算任务是拆分次序在目标计算任务之前,且未进行计算的计算任务;根据各子目标计算任务的可用计算单元数量,将各子目标计算任务发送至分布式系统的从节点中,并对从节点反馈的子目标计算任务的计算结果进行融合,得到目标计算任务的计算结果。本发明实施例的技术方案,相较于现有技术中对业务逻辑进行拆分并协同处理的方法,能够对计算任务进行更细粒度的拆分,实现多个子计算任务进行并行处理,提高了计算任务的处理效率;根据分布式系统中计算单元的空闲情况和各子计算任务对计算单元的需求情况,为子计算任务分配计算单元,相较于现有技术中串行处理计算任务的方式,能够为子计算任务分配一定数量的计算单元,以提高各子计算任务的处理效率,从而进一步提高了计算任务的处理效率。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例一提供的一种计算任务处理方法的流程图;
图2是根据本发明实施例二提供的一种计算任务处理方法的流程图;
图3是根据本发明实施例三提供的一种计算任务处理装置的结构示意图;
图4是实现本发明实施例的计算任务处理方法的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例的技术方案中,所涉及的计算任务等的获取、存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
实施例一
图1为本发明实施例一提供的一种计算任务处理方法的流程图,本实施例可适用于对计算任务进行处理的情况,该方法可以由一种计算任务处理装置来执行,该计算任务处理装置可以采用硬件和/或软件的形式实现,并具体配置于电子设备中,例如服务器中。
参见图1所示的计算任务处理方法,由分布式系统的主节点执行,包括:
S101、根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定各子目标计算任务的需求计算单元数量。
本实施例中,目标计算任务可以是当前等待进行处理的计算任务。子目标计算任务即是对目标计算任务拆分后得到的计算任务。需求计算单元数量可以是子目标计算任务需求的计算单元的数量。运算逻辑例如可以包括但不限于加法运算、减法运算、乘法运算、除法运算和函数运算等中的至少一种。计算单元可以是执行运算逻辑的单元。需要说明的是,预设逻辑粒度可以由技术人员根据实际需求或实践经验自主设定,本发明对此不做限定。
具体的,根据目标计算任务的运算逻辑和预设逻辑粒度,将目标计算任务拆分为至少一个逻辑粒度小于或等于预设逻辑粒度的子目标计算任务;针对每一子目标计算任务,将该子目标计算任务的运算逻辑的数量确定为该子目标计算任务的需求计算单元数量。
举例说明,若目标计算任务要的运算逻辑为A*B+max(C,D)/E+F,预设逻辑粒度为2,则将目标计算任务拆分为子目标计算任务A*B、子目标计算任务max(C,D)/E和子目标计算任务F;子目标计算任务A*B的运算逻辑为加法运算,需求计算单元数量为1;子目标计算任务max(C,D)/E的运算逻辑包括函数运算和除法运算,需求计算单元数量为2;子目标计算任务F没有运算逻辑,需求计算单元数量为0。
S102、根据分布式系统中计算单元的空闲数量、各子目标计算任务的需求计算单元数量和至少一个子候选计算任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量;其中,子候选计算任务是通过对候选计算任务进行拆分得到;候选计算任务是拆分次序在目标计算任务之前,且未进行计算的计算任务。
本实施例中,计算单元的空闲数量可以是未处理计算任务的计算单元的数量。可用计算单元数量可以是为子目标计算任务能够使用的计算单元的数量,也即分配给子目标计算任务的计算单元的数量。具体的,采用一定的算法,根据分布式系统中计算单元的空闲数量、各子目标计算任务的需求计算单元数量和至少一个子候选计算任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量。
对子候选计算任务和候选计算任务进行举例说明:若存在计算任务A、计算任务B和计算任务C;计算任务A已被拆分,且计算任务A拆分后的子计算任务正在被处理;计算任务B已被拆分,但部分计算任务B拆分后的子计算任务因系统内不存在空闲的计算单元,处于等待分配计算单元的状态;计算任务C作为目标计算任务,则计算任务B为候选计算任务,计算任务B拆分后的处于等待分配计算单元的状态的子计算任务为子候选计算任务。
在一个可选实施例中,若不存在子候选计算任务,则采用一定的算法,根据分布式系统中计算单元的空闲数量和各子目标计算任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量。
S103、根据各子目标计算任务的可用计算单元数量,将各子目标计算任务发送至分布式系统的从节点中,并对从节点反馈的子目标计算任务的计算结果进行融合,得到目标计算任务的计算结果。
本实施例中,从节点的数量可以为至少一个。具体的,主节点针对每一子目标计算任务,从各从节点中选取空闲的计算单元的数量大于该子目标计算任务的可用计算单元数量的从节点作为该子目标计算任务的目标从节点;将该子目标计算任务发送至目标从节点中,以及将该子目标计算任务的可用计算单元数量发送给目标从节点,以使目标从节点采用该子目标计算任务的可用计算单元数量的计算单元,对该子目标计算任务进行计算,以得到并向主节点反馈该子目标计算任务的计算结果;主节点接收各目标从节点反馈的子目标计算任务的计算结果,并对各子目标计算任务的计算结果进行融合,得到目标计算任务的计算结果。
在一个可选实施例中,目标计算任务为图像生成任务;在接收各目标从节点反馈的子计算结果,并对各子计算结果进行融合,得到目标计算任务的计算结果之后,还包括:根据主节点中图像生成单元的空闲数量、目标计算任务的需求图像单元数量和至少一个候选计算任务的需求图像单元数量,确定目标计算任务的可用图像单元数量;采用可用图像单元数量的图像生成单元,将目标计算任务的计算结果转换为图像。
其中,图像生成任务可以是根据用户输入的信息生成图像的任务。图像生成单元可以用于将目标计算任务的计算结果转换为图像。需求图像单元数量可以是图像生成任务需求的图像单元的数量。可用图像单元数量可以是图像生成任务能够使用的图像单元的数量,也即分配给图像生成任务的图像单元的数量。
具体的,采用一定的算法,根据主节点中图像生成单元的空闲数量、目标计算任务的需求图像单元数量和至少一个候选计算任务的需求图像单元数量,确定目标计算任务的可用图像单元数量;采用可用图像单元数量的图像生成单元并行处理的方式,将目标计算任务的计算结果转换为图像。
可以理解的是,采用上述技术方案,确定目标计算任务的可用图像单元数量;采用可用图像单元数量的图像生成单元,将目标计算任务的计算结果转换为图像,相较于现有技术中串行处理图像生成任务的方式,实现了对图像生成单元的合理分配,提高了图像生成单元的利用率;实现了多个图像生成任务的并行处理,提高了图像生成效率。
在一个具体实施方式中,目标计算任务还可以是文本生成任务,即确定可用文本单元数量,并采用可用文本单元数量的文本生成单元,将目标计算任务的计算结果转换为文本;目标计算任务还可以是文本生成任务;目标计算任务还可以是语音生成任务,即确定可用语音单元数量,并采用可用语音单元数量的语音生成单元,将目标计算任务的计算结果转换为语音。
在一个具体实施方式中,分布式系统在启功时加载预设的计算单元配置信息,其中,计算单元配置信息中包含预设的计算单元数量信息和各从节点中的计算单元数量信息;主节点中配置有任务接收模块;任务接收模块每隔预设时长接收任务,并判断任务类型;若任务类型为通信链请求任务,则将通信链请求任务发送至通信链分配队列,以按照先进先出的方式确定计算单元分配队列中的通信链请求的发送方分配通信链;若任务类型为计算任务,则对计算任务进行拆分,并将拆分后的子计算任务发送至计算单元分配队列,以按照先进先出的方式确定计算单元分配队列中的各子计算任务的可用计算单元数量;主节点根据各子目标计算任务的可用计算单元数量,将各子目标计算任务发送至分布式系统的从节点中,并对从节点反馈的子目标计算任务的计算结果进行融合,得到目标计算任务的计算结果;并将计算结果反馈给计算任务的发送方。
在一个具体实施方式中,主节点会实时根据分布式节点中计算单元的空闲数量对预设的计算单元配置信息进行更新,以便于在发生软硬件异常、网络异常和停电等故障状况后,按照故障情况发生前的状况继续对计算任务进行处理。
需要说明的是,本发明实施例中的可用图像单元数量的确定流程、可用文本单元数量的确定流程、可用语音单元数量的确定流程和通信链的分配流程等与可用计算单元数量的确定流程类似,此处不再赘述。
本发明实施例通过根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定各子目标计算任务的需求计算单元数量;根据分布式系统中计算单元的空闲数量、各子目标计算任务的需求计算单元数量和至少一个子候选计算任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量;其中,子候选计算任务是通过对候选计算任务进行拆分得到;候选计算任务是拆分次序在目标计算任务之前,且未进行计算的计算任务;根据各子目标计算任务的可用计算单元数量,将各子目标计算任务发送至分布式系统的从节点中,并对从节点反馈的子目标计算任务的计算结果进行融合,得到目标计算任务的计算结果。本发明实施例的技术方案,相较于现有技术中对业务逻辑进行拆分并协同处理的方法,能够对计算任务进行更细粒度的拆分,实现多个子计算任务进行并行处理,提高了计算任务的处理效率;根据分布式系统中计算单元的空闲情况和各子计算任务对计算单元的需求情况,为子计算任务分配计算单元,相较于现有技术中串行处理计算任务的方式,能够为子计算任务分配一定数量的计算单元,以提高各子计算任务的处理效率,从而进一步提高了计算任务的处理效率。
实施例二
图2为本发明实施例二提供的一种计算任务处理方法的流程图,本发明实施例在上述实施例的技术方案的基础上,对子目标计算任务的可用计算单元数量的确定操作进行了优化改进。
进一步地,将“根据分布式系统中计算单元的空闲数量、各子目标计算任务的需求计算单元数量和至少一个子候选计算任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量”细化为“统计各待处理子任务之间的需求计算单元总数;其中,待处理子任务包括各子目标计算任务和各子候选计算任务;若分布式系统中计算单元的空闲数量大于或等于需求计算单元总数,则针对每一待处理子任务,将待处理子任务的需求计算单元数量作为待处理子任务的可用计算单元数量;若分布式系统中计算单元的空闲数量小于需求计算单元总数,则根据分布式系统中计算单元的空闲数量、待处理子任务的数量和各待处理子任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量”,以完善子目标计算任务的可用计算单元数量的确定操作。
需要说明的是,在本发明实施例中未详述部分,可参见前述实施例的表述。
参见图2所示的计算任务处理方法,包括:
S201、根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定各子目标计算任务的需求计算单元数量。
S202、统计各待处理子任务之间的需求计算单元总数;其中,待处理子任务包括各子目标计算任务和各子候选计算任务;其中,子候选计算任务通过对候选计算任务进行拆分得到;候选计算任务是拆分次序在目标计算任务之前,且未进行计算的计算任务。
具体的,将各子目标计算任务的需求计算单元数量和各子候选计算任务的需求计算单元数量相加,得到需求计算单元总数。
S203、若分布式系统中计算单元的空闲数量大于或等于需求计算单元总数,则针对每一待处理子任务,将待处理子任务的需求计算单元数量作为待处理子任务的可用计算单元数量。
S204、若分布式系统中计算单元的空闲数量小于需求计算单元总数,则根据分布式系统中计算单元的空闲数量、待处理子任务的数量和各待处理子任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量。
具体的,采用一定的算法,根据分布式系统中计算单元的空闲数量、待处理子任务的数量和各待处理子任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量。
在一个可选实施例中,根据分布式系统中计算单元的空闲数量、待处理子任务的数量和各待处理子任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量,包括:根据分布式系统中计算单元的空闲数量和待处理子任务的数量,确定平均计算单元数量;根据各待处理子任务的需求计算单元数量,对平均计算单元数量进行校验,得到第一校验结果,并根据第一校验结果,确定各子目标计算任务的可用计算单元数量。
具体的,将分布式系统中计算单元的空闲数量和待处理子任务的数量之间的比值确定为平均计算单元数量;其中,若比值不为整数,则将比值向下取整得到的整数作为平均计算单元数量;采用一定的算法,根据各待处理子任务的需求计算单元数量,对平均计算单元数量进行校验,得到第一校验结果,并根据第一校验结果,确定各子目标计算任务的可用计算单元数量。
可以理解的是,采用上述技术方案,能够使确定的各子目标计算任务的可用计算单元数量在尽可能满足对应的需求计算单元数量的同时,保证子候选计算任务的可用计算单元数量能够尽可能满足对应的需求计算单元数量,在保证子候选计算任务处理效率的同时,提高了子目标计算任务的处理效率。
可选的,根据各待处理子任务的需求计算单元数量,对平均计算单元数量进行校验,得到第一校验结果,并根据第一校验结果,确定各子目标计算任务的可用计算单元数量,包括:校验平均计算单元数量是否小于或等于最小待处理子任务的需求计算单元数量,得到第一校验结果;其中,最小待处理子任务是待处理子任务中需求计算单元数量最小的待处理子任务;若第一校验结果为平均计算单元数量小于或等于最小待处理子任务的需求计算单元数量,则将平均计算单元数量确定为各子目标计算任务的可用计算单元数量;若第一校验结果为平均计算单元数量大于最小待处理子任务的需求计算单元数量,则将最小需求计算单元数量确定为最小待处理子任务的可用计算单元数量,并将待处理子任务更新为除最小待处理子任务之外的待处理子任务,以及更新最小待处理子任务和待处理子任务的数量;确定平均计算单元数量和最小待处理子任务的需求计算单元数量之间的冗余计算单元数量;根据冗余计算单元数量、待处理子任务的数量和待处理子任务的平均计算单元数量,确定各待处理子任务的辅助计算单元数量,并将待处理子任务的平均计算单元数量更新为辅助计算单元数量;返回校验平均计算单元数量是否小于或等于最小待处理子任务的需求计算单元数量的步骤,直至第一校验结果为平均计算单元数量小于或等于最小待处理子任务的需求计算单元数量,得到各子目标计算任务的可用计算单元数量。
其中,冗余计算单元数量可以是可用计算单元数量超出最小待处理子任务的需求计算单元数量的计算单元的数量。具体的,若第一校验结果为平均计算单元数量大于最小待处理子任务的需求计算单元数量,则将最小需求计算单元数量确定为最小待处理子任务的可用计算单元数量,并将待处理子任务更新为除最小待处理子任务之外的待处理子任务,以及更新最小待处理子任务和待处理子任务的数量;将平均计算单元数量和最小待处理子任务的需求计算单元数量之间的差值确定为冗余计算单元数量;将冗余计算单元数量和待处理子任务的数量之间的比值确定为参考数量;其中,若比值不为整数,则将比值向下取整得到的整数作为参考数量;将平均计算单元数量与参考数量之间的加和,确定为辅助计算单元数量,并将各待处理子任务的平均计算单元数量更新为辅助计算单元数量;返回校验平均计算单元数量是否小于或等于最小待处理子任务的需求计算单元数量的步骤,直至第一校验结果为平均计算单元数量小于或等于最小待处理子任务的需求计算单元数量,得到各子目标计算任务的可用计算单元数量。
可以理解的是,采用上述技术方案,可以在计算单元的空闲数量不足待处理子任务的需求计算单元总数的情况下,保证确定的可用计算单元数量不会超出对应的待处理子任务的需求计算单元数量,并将冗余计算单元数量平均分配给可用计算单元数量小于需求计算单元数量的待处理子任务,实现了计算单元在各待处理子任务之间的合理分配,提高了计算单元的利用率和子目标计算单元的处理效率。
在另一个可选实施例中,根据分布式系统中计算单元的空闲数量、待处理子任务的数量和各待处理子任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量,包括:确定各待处理子任务的优先级,并根据各待处理子任务的优先级和分布式系统中计算单元的空闲数量,确定各待处理子任务的辅助计算单元数量;根据各待处理子任务的需求计算单元数量和各待处理子任务的辅助计算单元数量,对待处理子任务进行校验,得到第二校验结果,并根据第二校验结果,确定各子目标计算任务的可用计算单元数量。
本实施例中,优先级可以用于表征待处理子任务的重要程度;优先级越高的待处理子任务的可用计算单元数量越多。
具体的,针对每一待处理子任务,查询该待处理子任务所属计算任务的发送方的优先级;根据该待处理子任务所属计算任务的发送方的优先级和该待处理子任务的拆分时间确定该待处理子任务的优先级;确定各待处理子任务的优先级之间的总级数;将分布式系统中计算单元的空闲数量与总级数之间的比值确定为单位优先级对应的计算单元数量;针对每一待处理子任务,将该待处理子任务的优先级与单位优先级对应的计算单元数量之间的乘积,确定为该待处理子任务的辅助计算单元数量;其中,若乘积不为整数,则将乘积向下取整得到的整数确定为该待处理子任务的辅助计算单元数量;采用一定的算法,根据各待处理子任务的需求计算单元数量和各待处理子任务的辅助计算单元数量,对待处理子任务进行校验,得到第二校验结果,并根据第二校验结果,确定各子目标计算任务的可用计算单元数量。
可以理解的是,采用上述技术方案,能够在确保优先级高的待处理子任务的处理效率的同时,确保优先级低的计算任务的可用计算单元数量尽可能满足其对应的需求计算单元数量,进而提高了子目标计算任务的处理效率。
可选的,根据各待处理子任务的需求计算单元数量和各待处理子任务的辅助计算单元数量,对待处理子任务进行校验,得到第二校验结果,并根据第二校验结果,确定各子目标计算任务的可用计算单元数量,包括:校验各待处理子任务中是否存在冗余子任务,得到第二校验结果;其中,冗余子任务是辅助计算单元数量大于需求计算单元数量的待处理子任务;若第二校验结果为不存在冗余子任务,则针对每一子目标计算任务,将子目标计算任务的辅助计算单元数量确定为子目标计算任务的可用计算单元数量;若第二校验结果为存在冗余子任务,则将冗余子任务的需求计算单元数量确定为冗余子任务的可用计算单元数量,并将待处理子任务更新为除冗余子任务之外的待处理子任务;根据冗余子任务的辅助计算单元数量和冗余子任务的需求计算计算单元数量,确定冗余计算单元数量;根据冗余计算单元数量、各待处理子任务的优先级和各待处理子任务的辅助计算单元数量,确定各待处理子任务的中间计算单元数量;将各待处理子任务的辅助计算单元数量更新为对应的中间计算单元数量;返回校验各待处理子任务中是否存在冗余子任务的步骤,直至各待处理子任务中不存在冗余子任务,得到各子目标计算任务的可用计算单元数量。
具体的,若第二校验结果为存在冗余子任务,则针对每一冗余子任务,将该冗余子任务的需求计算单元数量确定为该冗余子任务的可用计算单元数量,并将待处理子任务更新为除冗余子任务之外的待处理子任务;针对每一冗余子任务,将冗余子任务的辅助计算单元数量与冗余子任务的需求计算计算单元数量之间的数量差值;将各冗余子任务的数量差值之间的加和,确定为冗余计算单元数量;确定各待处理子任务的优先级之间的总级数;将冗余计算单元数量与总级数之间的比值确定为单位优先级对应的冗余计算单元数量;针对每一待处理子任务,将该待处理子任务的优先级与单位优先级对应的冗余计算单元数量之间的乘积,确定为该待处理子任务的参考计算单元数量;其中,若乘积不为整数,则将乘积向下取整得到的整数确定为该待处理子任务的参考计算单元数量;将该待处理子任务的参考计算单元数量与该待处理子任务的辅助计算单元数量之间的加和,确定为该待处理子任务的中间计算单元数量;将各待处理子任务的辅助计算单元数量更新为对应的中间计算单元数量;返回校验各待处理子任务中是否存在冗余子任务的步骤,直至各待处理子任务中不存在冗余子任务,得到各子目标计算任务的可用计算单元数量。
可以理解的是,采用上述技术方案,可以在计算单元的空闲数量不足待处理子任务的需求计算单元总数的情况下,保证确定的可用计算单元数量不会超出对应的待处理子任务的需求计算单元数量,并按照各待处理子任务的优先级,将冗余计算单元数量分配给可用计算单元数量小于需求计算单元数量的待处理子任务,保障了高优先级的子计算任务的处理效率,并且不影响低优先级的子计算任务的处理效率,实现了计算单元在各待处理子任务之间的合理分配,提高了子目标计算单元的处理效率。
S205、根据各子目标计算任务的可用计算单元数量,将各子目标计算任务发送至分布式系统的从节点中,并对从节点反馈的子目标计算任务的计算结果进行融合,得到目标计算任务的计算结果。
本发明实施例可以在计算单元的空闲数量大于或等于需求计算单元总数的情况下,将子目标计算任务的需求计算单元数量作为子目标任务的可用计算单元数量,以使子目标计算任务能够以最快的效率进行处理,进而提高了目标计算任务的处理效率;在计算单元的空闲数量小于需求计算单元总数的情况下,能够使确定的各子目标计算任务的可用计算单元数量在尽可能满足对应的需求计算单元数量的同时,保证子候选计算任务的可用计算单元数量能够尽可能满足对应的需求计算单元数量,在保证子候选计算任务处理效率的同时,提高了子目标计算任务的处理效率。
实施例三
图3为本发明实施例三提供的一种计算任务处理装置的结构示意图。本发明实施例可适用于对计算任务进行处理的情况,该装置可以执行计算任务处理方法,该计算任务处理装置可以采用硬件和/或软件的形式实现,该装置可配置于电子设备中,例如服务器中。
参见图3所示的计算任务处理装置,包括计算任务拆分模块301、可用数量确定模块302和计算结果确定模块303,其中,
计算任务拆分模块301,用于根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定各子目标计算任务的需求计算单元数量;
可用数量确定模块302,用于根据分布式系统中计算单元的空闲数量、各子目标计算任务的需求计算单元数量和至少一个子候选计算任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量;其中,子候选计算任务可以通过对未候选计算任务进行拆分得到;候选计算任务可以是拆分次序在目标计算任务之前,且未进行计算的计算任务;
计算结果确定模块303,用于根据各子目标计算任务的可用计算单元数量,将各子目标计算任务发送至分布式系统的从节点中,并对从节点反馈的子目标计算任务的计算结果进行融合,得到目标计算任务的计算结果。
本发明实施例通过计算任务拆分模块,根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定各子目标计算任务的需求计算单元数量;通过可用数量确定模块,根据分布式系统中计算单元的空闲数量、各子目标计算任务的需求计算单元数量和至少一个子候选计算任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量;其中,子候选计算任务可以通过对未候选计算任务进行拆分得到;候选计算任务可以是拆分次序在目标计算任务之前,且未进行计算的计算任务;通过计算结果确定模块,根据各子目标计算任务的可用计算单元数量,将各子目标计算任务发送至分布式系统的从节点中,并对从节点反馈的子目标计算任务的计算结果进行融合,得到目标计算任务的计算结果。本发明实施例的技术方案,相较于现有技术中对业务逻辑进行拆分并协同处理的方法,能够对计算任务进行更细粒度的拆分,实现多个子计算任务进行并行处理,提高了计算任务的处理效率;根据分布式系统中计算单元的空闲情况和各子计算任务对计算单元的需求情况,为子计算任务分配计算单元,相较于现有技术中串行处理计算任务的方式,能够为子计算任务分配一定数量的计算单元,以提高各子计算任务的处理效率,从而进一步提高了计算任务的处理效率。
可选的,可用数量确定模块302,包括:
需求总数确定单元,用于统计各待处理子任务之间的需求计算单元总数;其中,待处理子任务包括各子目标计算任务和各子候选计算任务;
第一可用数量确定单元,用于若分布式系统中计算单元的空闲数量大于或等于需求计算单元总数,则针对每一待处理子任务,将待处理子任务的需求计算单元数量作为待处理子任务的可用计算单元数量;
第二可用数量确定单元,用于若分布式系统中计算单元的空闲数量小于需求计算单元总数,则根据分布式系统中计算单元的空闲数量、待处理子任务的数量和各待处理子任务的需求计算单元数量,确定各子目标计算任务的可用计算单元数量。
可选的,第二可用数量确定单元,包括:
平均数量确定子单元,用于根据分布式系统中计算单元的空闲数量和待处理子任务的数量,确定平均计算单元数量;
第一数量确定子单元,用于根据各待处理子任务的需求计算单元数量,对平均计算单元数量进行校验,得到第一校验结果,并根据第一校验结果,确定各子目标计算任务的可用计算单元数量。
可选的,第一数量确定子单元,具体用于:
校验平均计算单元数量是否小于或等于最小待处理子任务的需求计算单元数量,得到第一校验结果;其中,最小待处理子任务是待处理子任务中需求计算单元数量最小的待处理子任务;
若第一校验结果为平均计算单元数量小于或等于最小待处理子任务的需求计算单元数量,则将平均计算单元数量确定为各子目标计算任务的可用计算单元数量;
若第一校验结果为平均计算单元数量大于最小待处理子任务的需求计算单元数量,则将最小需求计算单元数量确定为最小待处理子任务的可用计算单元数量,并将待处理子任务更新为除最小待处理子任务之外的待处理子任务,以及更新最小待处理子任务和待处理子任务的数量;
确定平均计算单元数量和最小待处理子任务的需求计算单元数量之间的冗余计算单元数量;
根据冗余计算单元数量、待处理子任务的数量和待处理子任务的平均计算单元数量,确定各待处理子任务的辅助计算单元数量,并将待处理子任务的平均计算单元数量更新为辅助计算单元数量;
返回校验平均计算单元数量是否小于或等于最小待处理子任务的需求计算单元数量的步骤,直至第一校验结果为平均计算单元数量小于或等于最小待处理子任务的需求计算单元数量,得到各子目标计算任务的可用计算单元数量。
可选的,第二可用数量确定单元,包括:
辅助数量确定子单元,用于确定各待处理子任务的优先级,并根据各待处理子任务的优先级和分布式系统中计算单元的空闲数量,确定各待处理子任务的辅助计算单元数量;
第二数量确定子单元,用于根据各待处理子任务的需求计算单元数量和各待处理子任务的辅助计算单元数量,对待处理子任务进行校验,得到第二校验结果,并根据第二校验结果,确定各子目标计算任务的可用计算单元数量。
可选的,第二数量确定子单元,具体用于:
校验各待处理子任务中是否存在冗余子任务,得到第二校验结果;其中,冗余子任务是辅助计算单元数量大于需求计算单元数量的待处理子任务;
若第二校验结果为不存在冗余子任务,则针对每一子目标计算任务,将子目标计算任务的辅助计算单元数量确定为子目标计算任务的可用计算单元数量;
若第二校验结果为存在冗余子任务,则将冗余子任务的需求计算单元数量确定为冗余子任务的可用计算单元数量,并将待处理子任务更新为除冗余子任务之外的待处理子任务;
根据冗余子任务的辅助计算单元数量和冗余子任务的需求计算计算单元数量,确定冗余计算单元数量;
根据冗余计算单元数量、各待处理子任务的优先级和各待处理子任务的辅助计算单元数量,确定各待处理子任务的中间计算单元数量;将各待处理子任务的辅助计算单元数量更新为对应的中间计算单元数量;
返回校验各待处理子任务中是否存在冗余子任务的步骤,直至各待处理子任务中不存在冗余子任务,得到各子目标计算任务的可用计算单元数量。
可选的,目标计算任务为图形生成任务;
计算任务处理装置,还包括:
图像单元数量确定模块,用于根据主节点中图像生成单元的空闲数量、目标计算任务的需求图像单元数量和至少一个候选计算任务的需求图像单元数量,确定目标计算任务的可用图像单元数量;
图像转换模块,用于采用可用图像单元数量的图像生成单元,将目标计算任务的计算结果转换为图像。
本发明实施例所提供的计算任务处理装置可执行本发明任意实施例所提供的计算任务处理方法,具备执行计算任务处理方法相应的功能模块和有益效果。
实施例四
图4示出了可以用来实施本发明的实施例的电子设备400的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备400包括至少一个处理器401,以及与至少一个处理器401通信连接的存储器,如只读存储器(ROM)402、随机访问存储器(RAM)403等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器401可以根据存储在只读存储器(ROM)402中的计算机程序或者从存储单元408加载到随机访问存储器(RAM)403中的计算机程序,来执行各种适当的动作和处理。在RAM 403中,还可存储电子设备400操作所需的各种程序和数据。处理器401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
电子设备400中的多个部件连接至I/O接口405,包括:输入单元406,例如键盘、鼠标等;输出单元407,例如各种类型的显示器、扬声器等;存储单元408,例如磁盘、光盘等;以及通信单元409,例如网卡、调制解调器、无线通信收发机等。通信单元409允许电子设备400通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器401可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器401的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器401执行上文所描述的各个方法和处理,例如计算任务处理方法。
在一些实施例中,计算任务处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元408。在一些实施例中,计算机程序的部分或者全部可以经由ROM 402和/或通信单元409而被载入和/或安装到电子设备400上。当计算机程序加载到RAM 403并由处理器401执行时,可以执行上文描述的计算任务处理方法的一个或多个步骤。备选地,在其他实施例中,处理器401可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行计算任务处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程计算任务处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS(VirtualPrivate Server,虚拟专用服务器)服务中,存在的管理难度大,业务扩展性弱的缺陷。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修正、组合、子组合和替代。任何在本发明的精神和原则之内所作的修正、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (7)
1.一种计算任务处理方法,其特征在于,由分布式系统的主节点执行,所述方法包括:
根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定所述各子目标计算任务的需求计算单元数量;
统计各待处理子任务之间的需求计算单元总数;其中,所述待处理子任务包括各所述子目标计算任务和各子候选计算任务;其中,所述子候选计算任务是通过对候选计算任务进行拆分得到;所述候选计算任务是拆分次序在所述目标计算任务之前,且未进行计算的计算任务;
若所述分布式系统中计算单元的空闲数量大于或等于所述需求计算单元总数,则针对每一待处理子任务,将所述待处理子任务的需求计算单元数量作为所述待处理子任务的可用计算单元数量;
若所述分布式系统中计算单元的空闲数量小于所述需求计算单元总数,则根据所述分布式系统中计算单元的空闲数量、所述待处理子任务的数量和各所述待处理子任务的需求计算单元数量,确定各所述子目标计算任务的可用计算单元数量;
根据各所述子目标计算任务的可用计算单元数量,将各所述子目标计算任务发送至所述分布式系统的从节点中,并对所述从节点反馈的所述子目标计算任务的计算结果进行融合,得到所述目标计算任务的计算结果;
其中,所述根据所述分布式系统中计算单元的空闲数量、所述待处理子任务的数量和各所述待处理子任务的需求计算单元数量,确定各所述子目标计算任务的可用计算单元数量,包括:
根据所述分布式系统中计算单元的空闲数量和所述待处理子任务的数量,确定平均计算单元数量;
校验所述平均计算单元数量是否小于或等于最小待处理子任务的需求计算单元数量,得到第一校验结果;其中,所述最小待处理子任务是所述待处理子任务中需求计算单元数量最小的待处理子任务;
若所述第一校验结果为平均计算单元数量小于或等于最小待处理子任务的需求计算单元数量,则将所述平均计算单元数量确定为各子目标计算任务的可用计算单元数量;
若所述第一校验结果为平均计算单元数量大于所述最小待处理子任务的需求计算单元数量,则将最小需求计算单元数量确定为所述最小待处理子任务的可用计算单元数量,并将所述待处理子任务更新为除所述最小待处理子任务之外的待处理子任务,以及更新所述最小待处理子任务和所述待处理子任务的数量;
确定所述平均计算单元数量和所述最小待处理子任务的需求计算单元数量之间的冗余计算单元数量;
根据所述冗余计算单元数量、所述待处理子任务的数量和所述待处理子任务的平均计算单元数量,确定各所述待处理子任务的辅助计算单元数量,并将待处理子任务的平均计算单元数量更新为所述辅助计算单元数量;
返回校验所述平均计算单元数量是否小于或等于最小待处理子任务的需求计算单元数量的步骤,直至所述第一校验结果为平均计算单元数量小于或等于最小待处理子任务的需求计算单元数量,得到各所述子目标计算任务的可用计算单元数量。
2.一种计算任务处理方法,其特征在于,由分布式系统的主节点执行,所述方法包括:
根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定所述各子目标计算任务的需求计算单元数量;
统计各待处理子任务之间的需求计算单元总数;其中,所述待处理子任务包括各所述子目标计算任务和各子候选计算任务;其中,所述子候选计算任务是通过对候选计算任务进行拆分得到;所述候选计算任务是拆分次序在所述目标计算任务之前,且未进行计算的计算任务;
若所述分布式系统中计算单元的空闲数量大于或等于所述需求计算单元总数,则针对每一待处理子任务,将所述待处理子任务的需求计算单元数量作为所述待处理子任务的可用计算单元数量;
若所述分布式系统中计算单元的空闲数量小于所述需求计算单元总数,则根据所述分布式系统中计算单元的空闲数量、所述待处理子任务的数量和各所述待处理子任务的需求计算单元数量,确定各所述子目标计算任务的可用计算单元数量;
根据各所述子目标计算任务的可用计算单元数量,将各所述子目标计算任务发送至所述分布式系统的从节点中,并对所述从节点反馈的所述子目标计算任务的计算结果进行融合,得到所述目标计算任务的计算结果;
其中,所述根据所述分布式系统中计算单元的空闲数量、所述待处理子任务的数量和各所述待处理子任务的需求计算单元数量,确定各所述子目标计算任务的可用计算单元数量,包括:
确定各所述待处理子任务的优先级,并根据各所述待处理子任务的优先级和所述分布式系统中计算单元的空闲数量,确定各待处理子任务的辅助计算单元数量;
校验各所述待处理子任务中是否存在冗余子任务,得到第二校验结果;其中,所述冗余子任务是辅助计算单元数量大于需求计算单元数量的待处理子任务;
若第二校验结果为不存在冗余子任务,则针对每一子目标计算任务,将所述子目标计算任务的辅助计算单元数量确定为所述子目标计算任务的可用计算单元数量;
若第二校验结果为存在冗余子任务,则将所述冗余子任务的需求计算单元数量确定为所述冗余子任务的可用计算单元数量,并将所述待处理子任务更新为除所述冗余子任务之外的待处理子任务;
根据所述冗余子任务的辅助计算单元数量和所述冗余子任务的需求计算计算单元数量,确定冗余计算单元数量;
根据所述冗余计算单元数量、各所述待处理子任务的优先级和各所述待处理子任务的辅助计算单元数量,确定各所述待处理子任务的中间计算单元数量;将各待处理子任务的辅助计算单元数量更新为对应的中间计算单元数量;
返回校验各所述待处理子任务中是否存在冗余子任务的步骤,直至各所述待处理子任务中不存在冗余子任务,得到各所述子目标计算任务的可用计算单元数量。
3.根据权利要求1-2中任一项所述的方法,其特征在于,所述目标计算任务为图像生成任务;
在接收各目标从节点反馈的子计算结果,并对各子计算结果进行融合,得到所述目标计算任务的计算结果之后,还包括:
根据所述主节点中图像生成单元的空闲数量、所述目标计算任务的需求图像单元数量和至少一个候选计算任务的需求图像单元数量,确定所述目标计算任务的可用图像单元数量;
采用所述可用图像单元数量的图像生成单元,将所述目标计算任务的计算结果转换为图像。
4.一种计算任务处理装置,其特征在于,配置于分布式系统的主节点,所述装置包括:
计算任务拆分模块,用于根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定各所述子目标计算任务的需求计算单元数量;
可用数量确定模块,用于根据所述分布式系统中计算单元的空闲数量、各子目标计算任务的需求计算单元数量和至少一个子候选计算任务的需求计算单元数量,确定各所述子目标计算任务的可用计算单元数量;其中,所述子候选计算任务可以通过对未候选计算任务进行拆分得到;候选计算任务可以是拆分次序在所述目标计算任务之前,且未进行计算的计算任务;
计算结果确定模块,用于根据各所述子目标计算任务的可用计算单元数量,将各所述子目标计算任务发送至所述分布式系统的从节点中,并对所述从节点反馈的所述子目标计算任务的计算结果进行融合,得到所述目标计算任务的计算结果;
其中,所述可用数量确定模块,包括:
需求总数确定单元,用于统计各待处理子任务之间的需求计算单元总数;其中,所述待处理子任务包括各所述子目标计算任务和各所述子候选计算任务;
第一可用数量确定单元,用于若所述分布式系统中计算单元的空闲数量大于或等于所述需求计算单元总数,则针对每一待处理子任务,将所述待处理子任务的需求计算单元数量作为所述待处理子任务的可用计算单元数量;
第二可用数量确定单元,用于若所述分布式系统中计算单元的空闲数量小于所述需求计算单元总数,则根据所述分布式系统中计算单元的空闲数量、所述待处理子任务的数量和各所述待处理子任务的需求计算单元数量,确定各所述子目标计算任务的可用计算单元数量;
其中,第二可用数量确定单元,包括:
平均数量确定子单元,用于根据所述分布式系统中计算单元的空闲数量和所述待处理子任务的数量,确定平均计算单元数量;
第一数量确定子单元,用于根据各所述待处理子任务的需求计算单元数量,对所述平均计算单元数量进行校验,得到第一校验结果,并根据所述第一校验结果,确定各所述子目标计算任务的可用计算单元数量;
其中,第一数量确定子单元,具体用于:
校验所述平均计算单元数量是否小于或等于最小待处理子任务的需求计算单元数量,得到第一校验结果;其中,所述最小待处理子任务是所述待处理子任务中需求计算单元数量最小的待处理子任务;
若所述第一校验结果为平均计算单元数量小于或等于最小待处理子任务的需求计算单元数量,则将所述平均计算单元数量确定为各子目标计算任务的可用计算单元数量;
若所述第一校验结果为平均计算单元数量大于所述最小待处理子任务的需求计算单元数量,则将最小需求计算单元数量确定为所述最小待处理子任务的可用计算单元数量,并将所述待处理子任务更新为除所述最小待处理子任务之外的待处理子任务,以及更新所述最小待处理子任务和所述待处理子任务的数量;
确定所述平均计算单元数量和所述最小待处理子任务的需求计算单元数量之间的冗余计算单元数量;
根据所述冗余计算单元数量、所述待处理子任务的数量和所述待处理子任务的平均计算单元数量,确定各所述待处理子任务的辅助计算单元数量,并将待处理子任务的平均计算单元数量更新为所述辅助计算单元数量;
返回校验所述平均计算单元数量是否小于或等于最小待处理子任务的需求计算单元数量的步骤,直至所述第一校验结果为平均计算单元数量小于或等于最小待处理子任务的需求计算单元数量,得到各所述子目标计算任务的可用计算单元数量。
5.一种计算任务处理装置,其特征在于,配置于分布式系统的主节点,所述装置包括:
计算任务拆分模块,用于根据目标计算任务的运算逻辑和预设逻辑粒度,对目标计算任务进行拆分,得到至少一个子目标计算任务,并确定各所述子目标计算任务的需求计算单元数量;
可用数量确定模块,用于根据所述分布式系统中计算单元的空闲数量、各子目标计算任务的需求计算单元数量和至少一个子候选计算任务的需求计算单元数量,确定各所述子目标计算任务的可用计算单元数量;其中,所述子候选计算任务可以通过对未候选计算任务进行拆分得到;候选计算任务可以是拆分次序在所述目标计算任务之前,且未进行计算的计算任务;
计算结果确定模块,用于根据各所述子目标计算任务的可用计算单元数量,将各所述子目标计算任务发送至所述分布式系统的从节点中,并对所述从节点反馈的所述子目标计算任务的计算结果进行融合,得到所述目标计算任务的计算结果;
其中,所述可用数量确定模块,包括:
需求总数确定单元,用于统计各待处理子任务之间的需求计算单元总数;其中,所述待处理子任务包括各所述子目标计算任务和各所述子候选计算任务;
第一可用数量确定单元,用于若所述分布式系统中计算单元的空闲数量大于或等于所述需求计算单元总数,则针对每一待处理子任务,将所述待处理子任务的需求计算单元数量作为所述待处理子任务的可用计算单元数量;
第二可用数量确定单元,用于若所述分布式系统中计算单元的空闲数量小于所述需求计算单元总数,则根据所述分布式系统中计算单元的空闲数量、所述待处理子任务的数量和各所述待处理子任务的需求计算单元数量,确定各所述子目标计算任务的可用计算单元数量;
其中,第二可用数量确定单元,包括:
辅助数量确定子单元,用于确定各所述待处理子任务的优先级,并根据各所述待处理子任务的优先级和所述分布式系统中计算单元的空闲数量,确定各待处理子任务的辅助计算单元数量;
第二数量确定子单元,用于根据各所述待处理子任务的需求计算单元数量和各待处理子任务的辅助计算单元数量,对所述待处理子任务进行校验,得到第二校验结果,并根据所述第二校验结果,确定各所述子目标计算任务的可用计算单元数量;
其中,第二数量确定子单元,具体用于:
校验各所述待处理子任务中是否存在冗余子任务,得到第二校验结果;其中,所述冗余子任务是辅助计算单元数量大于需求计算单元数量的待处理子任务;
若第二校验结果为不存在冗余子任务,则针对每一子目标计算任务,将所述子目标计算任务的辅助计算单元数量确定为所述子目标计算任务的可用计算单元数量;
若第二校验结果为存在冗余子任务,则将所述冗余子任务的需求计算单元数量确定为所述冗余子任务的可用计算单元数量,并将所述待处理子任务更新为除所述冗余子任务之外的待处理子任务;
根据所述冗余子任务的辅助计算单元数量和所述冗余子任务的需求计算计算单元数量,确定冗余计算单元数量;
根据所述冗余计算单元数量、各所述待处理子任务的优先级和各所述待处理子任务的辅助计算单元数量,确定各所述待处理子任务的中间计算单元数量;将各待处理子任务的辅助计算单元数量更新为对应的中间计算单元数量;
返回校验各所述待处理子任务中是否存在冗余子任务的步骤,直至各所述待处理子任务中不存在冗余子任务,得到各所述子目标计算任务的可用计算单元数量。
6. 一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-3中任一项所述的计算任务处理方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-3中任一项所述的计算任务处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410160607.XA CN117707793B (zh) | 2024-02-05 | 2024-02-05 | 一种计算任务处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410160607.XA CN117707793B (zh) | 2024-02-05 | 2024-02-05 | 一种计算任务处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117707793A CN117707793A (zh) | 2024-03-15 |
CN117707793B true CN117707793B (zh) | 2024-05-03 |
Family
ID=90148217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410160607.XA Active CN117707793B (zh) | 2024-02-05 | 2024-02-05 | 一种计算任务处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117707793B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782404A (zh) * | 2020-07-21 | 2020-10-16 | 深圳市金蝶天燕云计算股份有限公司 | 一种数据处理方法及相关设备 |
CN113867973A (zh) * | 2021-12-06 | 2021-12-31 | 腾讯科技(深圳)有限公司 | 资源分配的方法和装置 |
CN113938176A (zh) * | 2021-08-26 | 2022-01-14 | 西安空间无线电技术研究所 | 一种低时延业务天基计算方法 |
CN114840323A (zh) * | 2022-05-18 | 2022-08-02 | 北京百度网讯科技有限公司 | 任务处理方法、装置、系统、电子设备以及存储介质 |
CN115292032A (zh) * | 2022-06-30 | 2022-11-04 | 西安电子科技大学广州研究院 | 一种多用户接入的智能边缘计算系统中的任务卸载方法 |
CN115914235A (zh) * | 2022-11-29 | 2023-04-04 | 中国银行股份有限公司 | 负载均衡方法及装置 |
CN116934571A (zh) * | 2023-07-20 | 2023-10-24 | 北京百度网讯科技有限公司 | 任务处理方法、装置、电子设备和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8321870B2 (en) * | 2009-08-14 | 2012-11-27 | General Electric Company | Method and system for distributed computation having sub-task processing and sub-solution redistribution |
US10649806B2 (en) * | 2017-04-12 | 2020-05-12 | Petuum, Inc. | Elastic management of machine learning computing |
-
2024
- 2024-02-05 CN CN202410160607.XA patent/CN117707793B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782404A (zh) * | 2020-07-21 | 2020-10-16 | 深圳市金蝶天燕云计算股份有限公司 | 一种数据处理方法及相关设备 |
CN113938176A (zh) * | 2021-08-26 | 2022-01-14 | 西安空间无线电技术研究所 | 一种低时延业务天基计算方法 |
CN113867973A (zh) * | 2021-12-06 | 2021-12-31 | 腾讯科技(深圳)有限公司 | 资源分配的方法和装置 |
CN114840323A (zh) * | 2022-05-18 | 2022-08-02 | 北京百度网讯科技有限公司 | 任务处理方法、装置、系统、电子设备以及存储介质 |
CN115292032A (zh) * | 2022-06-30 | 2022-11-04 | 西安电子科技大学广州研究院 | 一种多用户接入的智能边缘计算系统中的任务卸载方法 |
CN115914235A (zh) * | 2022-11-29 | 2023-04-04 | 中国银行股份有限公司 | 负载均衡方法及装置 |
CN116934571A (zh) * | 2023-07-20 | 2023-10-24 | 北京百度网讯科技有限公司 | 任务处理方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117707793A (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114840323A (zh) | 任务处理方法、装置、系统、电子设备以及存储介质 | |
CN116661960A (zh) | 一种批量任务处理方法、装置、设备以及存储介质 | |
CN114518974A (zh) | 数据处理任务的检查点恢复方法、装置、设备及介质 | |
CN117707793B (zh) | 一种计算任务处理方法、装置、设备及介质 | |
CN115577958A (zh) | 一种风险处理方法、装置、设备以及存储介质 | |
CN115952054A (zh) | 一种仿真任务资源管理方法、装置、设备及介质 | |
CN114924882A (zh) | 一种分布式业务处理方法、装置、设备及存储介质 | |
CN115018293A (zh) | 一种供电线路负荷分析方法、装置、设备及存储介质 | |
CN114090247A (zh) | 用于处理数据的方法、装置、设备以及存储介质 | |
CN115543416A (zh) | 一种配置更新方法、装置、电子设备及存储介质 | |
CN114862223A (zh) | 一种机器人调度方法、装置、设备及存储介质 | |
CN114722048A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN113778645A (zh) | 基于边缘计算的任务调度方法、装置、设备及存储介质 | |
CN115361449B (zh) | Ip资源的调整方法、装置、设备及存储介质 | |
CN118567870B (zh) | 批量数据处理方法、装置、设备及存储介质 | |
CN116860459B (zh) | 一种云平台中资源池的监测方法、装置、设备及介质 | |
CN114598705B (zh) | 消息负载均衡方法、装置、设备和介质 | |
CN117076185B (zh) | 一种服务器巡检方法、装置、设备及介质 | |
CN114637584A (zh) | 数据处理任务的并行度调整方法、装置、设备及介质 | |
CN118152096A (zh) | 任务分配方法、装置、设备及存储介质 | |
CN117609319A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
CN118567870A (zh) | 批量数据处理方法、装置、设备及存储介质 | |
CN114928050A (zh) | 一种电力系统启动恢复路径确定方法、装置、设备及介质 | |
CN116707786A (zh) | 一种服务器密码机的弹性伸缩负载方法、装置和设备 | |
CN118656221A (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 |