CN117234705A - 基于分布式部署的算力分配方法和系统 - Google Patents
基于分布式部署的算力分配方法和系统 Download PDFInfo
- Publication number
- CN117234705A CN117234705A CN202311097866.4A CN202311097866A CN117234705A CN 117234705 A CN117234705 A CN 117234705A CN 202311097866 A CN202311097866 A CN 202311097866A CN 117234705 A CN117234705 A CN 117234705A
- Authority
- CN
- China
- Prior art keywords
- computer
- sub
- data processing
- task
- computing power
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004891 communication Methods 0.000 claims description 46
- 238000013468 resource allocation Methods 0.000 claims description 22
- 238000010276 construction Methods 0.000 claims description 6
- 230000009286 beneficial effect Effects 0.000 description 9
- 239000000284 extract Substances 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- 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
- Power Sources (AREA)
Abstract
本发明提供基于分布式部署的算力分配方法和系统,通过调整子计算机在分布式计算机网络对应连接的网关的工作状态,改变主计算机对每个子计算机的控制状态,使得主计算机能够获得对相应子计算机的算力资源的分配控制权限;并基于主计算机控制下的所有子计算机的算力资源状态,构建算力资源池,实现对算力资源的集中化分配;在用户端上传的数据处理任务是否属于单一子计算机能够处理的任务的不同情况下,将数据处理任务分配至相应的子计算机,以及从算力资源池中调取相应的算力资源以分配至相应的子计算机,实现主计算机对子计算机的算力资源的有效准确分配,保证不同子计算机均能满足大算力资源计算场景的需求和提高算力资源利用效率。
Description
技术领域
本发明涉及数据处理的领域,尤其涉及基于分布式部署的算力分配方法和系统。
背景技术
现有的分布式计算机网络包括以分布式网络设置的若干计算机,每个计算机是独立工作,仅仅是利用分布式网络向不同计算机分配相应的计算任务以及实现网络内部不同计算机之间的数据共享;并且在分配计算任务过程中只是根据所有计算机的实际计算任务负荷由小到大的顺序设定向计算机分配计算任务的优先级别顺序,导致网路内部不同计算机之间无法实现算力资源的共享和灵活分配。当其中一个计算机接收到需要较大算力资源场景的计算任务时,该计算机将处于超负荷工作状态,而其他计算机则存在大量的算力资源冗余,降低分布式计算机网络整体的算力资源利用效率,无法有效满足大算力资源计算场景的需求和降低对计算任务的处理效率。
发明内容
本发明的目的在于提供基于分布式部署的算力分配方法和系统,通过调整子计算机在分布式计算机网络对应连接的网关的工作状态,改变主计算机对每个子计算机的控制状态,使得主计算机能够获得对相应子计算机的算力资源的分配控制权限;并基于主计算机控制下的所有子计算机的算力资源状态,构建算力资源池,实现对算力资源的集中化分配;在用户端上传的数据处理任务是否属于单一子计算机能够处理的任务的不同情况下,将数据处理任务分配至相应的子计算机,以及从算力资源池中调取相应的算力资源以分配至相应的子计算机,实现主计算机对子计算机的算力资源的有效准确分配,保证不同子计算机均能满足大算力资源计算场景的需求和提高算力资源利用效率。
本发明是通过以下技术方案实现:
基于分布式部署的算力分配方法,包括:
基于分布式计算机网络的所有子计算机各自的数据任务处理日志,调整每个子计算机在所述分布式计算机网络对应连接的网关的工作状态,以此改变所述分布计算机网络的主计算机对每个子计算机的控制状态;基于所述主计算机控制下的所有子计算机的算力资源状态,构建算力资源池;
构建用户端与所述主计算机之间的通信通道后,判断所述用户端上传的数据处理任务是否属于单一子计算机能够处理的任务;若是,则将所述数据处理任务分配至相应的子计算机;
若所述数据处理任务不属于单一子计算机能够处理的任务,则从所述主计算机控制下的所有子计算机中选择一个子计算机接收所述数据处理任务,并从所述算力资源池中调取相应的算力资源并分配至接收所述数据处理任务的子计算机;并基于所述数据处理任务的处理进度,调整对接收所述数据处理任务的子计算机的算力资源分配状态。
可选地,基于分布式计算机网络的所有子计算机各自的数据任务处理日志,调整每个子计算机在所述分布式计算机网络对应连接的网关的工作状态,以此改变所述分布计算机网络的主计算机对每个子计算机的控制状态;基于所述主计算机控制下的所有子计算机的算力资源状态,构建算力资源池,包括:
从分布式计算机网络的所有子计算机各自的数据任务处理日志中提取每个子计算机的待处理计算任务信息,基于所述待处理计算任务信息,估计每个子计算机当前的计算任务处理算力负荷;再基于所述计算任务处理算力负荷,判断所述子计算机是否处于超负荷工作状态;若所述子计算机不处于超负荷工作状态,则保持所述子计算机在所述分布式计算机网络对应连接的网关与所述主计算机的通信状态不变,以此构建所述主计算机对所述子计算机的控制关系;若所述子计算机处于超负荷工作状态,则将所述子计算机在所述分布式计算机网络对应连接的网关切换至具有相应时间长度的休眠状态;其中,所述时间长度与所述子计算机完成自身所有待处理计算任务所需时间或者所述子计算机恢复至非超负荷工作状态所需时间相关;
基于所述主计算机控制下的所有子计算机各自的可用算力资源所在处理器信息,构建算力资源池;其中,所述算力资源池包括每个子计算机中能够提供可用算力资源的处理器的调用链接信息。
可选地,构建用户端与所述主计算机之间的通信通道后,判断所述用户端上传的数据处理任务是否属于单一子计算机能够处理的任务;若是,则将所述数据处理任务分配至相应的子计算机,包括:
将用户端的终端身份信息与所述主计算机的预设终端白名单进行对比,若所述终端身份信息存在于预设终端白名单,则构建所述用户端与所述主计算机之间的通信通道;否则,不构建所述用户端与所述主计算机之间的通信通道;
当构建所述用户端与所述主计算机之间的通信通道后,对所述用户端上传的数据处理任务进行分析,估计处理所述数据处理任务对应所需算力资源量;若所述主计算机控制下的所有子计算机的可用算力资源量均不满足所需算力资源量,则判断所述数据处理任务不属于单一子计算机能够处理的任务;否则,判断所述数据处理任务属于单一子计算能够处理的任务,并将所述数据处理任务分配至具有最大可用算力资源量的子计算机。
可选地,若所述数据处理任务不属于单一子计算机能够处理的任务,则从所述主计算机控制下的所有子计算机中选择一个子计算机接收所述数据处理任务,并从所述算力资源池中调取相应的算力资源并分配至接收所述数据处理任务的子计算机;并基于所述数据处理任务的处理进度,调整对接收所述数据处理任务的子计算机的算力资源分配状态,包括:
当所述数据处理任务不属于单一子计算机能够处理的任务,则从所述主计算机控制下的所有子计算机中选择具有最少待处理计算任务的子计算机接收所述数据处理任务;
基于接收所述数据处理任务的子计算机在处理所述数据处理任务过程中的算力资源缺口信息,通过所述主计算机从所述算力资源池中提取相应的处理器的调用链接信息,并分配给所述子计算机。
基于所述数据处理任务的剩余未处理数据量,调整对接收所述数据处理任务的子计算机的算力资源分配状态。
基于分布式部署的算力分配系统,包括:
子计算机识别与控制调整模块,用于基于分布式计算机网络的所有子计算机各自的数据任务处理日志,调整每个子计算机在所述分布式计算机网络对应连接的网关的工作状态,以此改变所述分布计算机网络的主计算机对每个子计算机的控制状态;
算力资源池构建模块,用于基于所述主计算机控制下的所有子计算机的算力资源状态,构建算力资源池;
数据处理任务判断模块,用于构建用户端与所述主计算机之间的通信通道后,判断所述用户端上传的数据处理任务是否属于单一子计算机能够处理的任务;
数据处理任务分配模块,用于当所述数据处理任务属于单一子计算机能够处理的任务,将所述数据处理任务分配至相应的子计算机;当所述数据处理任务不属于单一子计算机能够处理的任务,从所述主计算机控制下的所有子计算机中选择一个子计算机接收所述数据处理任务;
算力资源分配与调整模块,用于从所述算力资源池中调取相应的算力资源并分配至接收所述数据处理任务的子计算机;并基于所述数据处理任务的处理进度,调整对接收所述数据处理任务的子计算机的算力资源分配状态。
可选地,所述子计算机识别与控制调整模块用于基于分布式计算机网络的所有子计算机各自的数据任务处理日志,调整每个子计算机在所述分布式计算机网络对应连接的网关的工作状态,以此改变所述分布计算机网络的主计算机对每个子计算机的控制状态,包括:
从分布式计算机网络的所有子计算机各自的数据任务处理日志中提取每个子计算机的待处理计算任务信息,基于所述待处理计算任务信息,估计每个子计算机当前的计算任务处理算力负荷;再基于所述计算任务处理算力负荷,判断所述子计算机是否处于超负荷工作状态;若所述子计算机不处于超负荷工作状态,则保持所述子计算机在所述分布式计算机网络对应连接的网关与所述主计算机的通信状态不变,以此构建所述主计算机对所述子计算机的控制关系;若所述子计算机处于超负荷工作状态,则将所述子计算机在所述分布式计算机网络对应连接的网关切换至具有相应时间长度的休眠状态;其中,所述时间长度与所述子计算机完成自身所有待处理计算任务所需时间或者所述子计算机恢复至非超负荷工作状态所需时间相关;
所述算力资源池构建模块用于基于所述主计算机控制下的所有子计算机的算力资源状态,构建算力资源池,包括:
基于所述主计算机控制下的所有子计算机各自的可用算力资源所在处理器信息,构建算力资源池;其中,所述算力资源池包括每个子计算机中能够提供可用算力资源的处理器的调用链接信息。
可选地,所述数据处理任务判断模块用于构建用户端与所述主计算机之间的通信通道后,判断所述用户端上传的数据处理任务是否属于单一子计算机能够处理的任务,包括:
将用户端的终端身份信息与所述主计算机的预设终端白名单进行对比,若所述终端身份信息存在于预设终端白名单,则构建所述用户端与所述主计算机之间的通信通道;否则,不构建所述用户端与所述主计算机之间的通信通道;
当构建所述用户端与所述主计算机之间的通信通道后,对所述用户端上传的数据处理任务进行分析,估计处理所述数据处理任务对应所需算力资源量;若所述主计算机控制下的所有子计算机的可用算力资源量均不满足所需算力资源量,则判断所述数据处理任务不属于单一子计算机能够处理的任务;
所述数据处理任务分配模块用于当所述数据处理任务属于单一子计算机能够处理的任务,将所述数据处理任务分配至相应的子计算机;当所述数据处理任务不属于单一子计算机能够处理的任务,从所述主计算机控制下的所有子计算机中选择一个子计算机接收所述数据处理任务,包括:
当所述数据处理任务属于单一子计算机能够处理的任务,将所述数据处理任务分配至具有最大可用算力资源量的子计算机;
当所述数据处理任务不属于单一子计算机能够处理的任务,从所述主计算机控制下的所有子计算机中选择具有最少待处理计算任务的子计算机接收所述数据处理任务。
可选地,所述算力资源分配与调整模块用于从所述算力资源池中调取相应的算力资源并分配至接收所述数据处理任务的子计算机;并基于所述数据处理任务的处理进度,调整对接收所述数据处理任务的子计算机的算力资源分配状态,包括:
基于接收所述数据处理任务的子计算机在处理所述数据处理任务过程中的算力资源缺口信息,通过所述主计算机从所述算力资源池中提取相应的处理器的调用链接信息,并分配给所述子计算机。
基于所述数据处理任务的剩余未处理数据量,调整对接收所述数据处理任务的子计算机的算力资源分配状态。
与现有技术相比,本发明具有如下有益效果:
本申请提供的基于分布式部署的算力分配方法和系统通过调整子计算机在分布式计算机网络对应连接的网关的工作状态,改变主计算机对每个子计算机的控制状态,使得主计算机能够获得对相应子计算机的算力资源的分配控制权限;并基于主计算机控制下的所有子计算机的算力资源状态,构建算力资源池,实现对算力资源的集中化分配;在用户端上传的数据处理任务是否属于单一子计算机能够处理的任务的不同情况下,将数据处理任务分配至相应的子计算机,以及从算力资源池中调取相应的算力资源以分配至相应的子计算机,实现主计算机对子计算机的算力资源的有效准确分配,保证不同子计算机均能满足大算力资源计算场景的需求和提高算力资源利用效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1为本发明提供的基于分布式部署的算力分配方法的流程示意图。
图2为本发明提供的基于分布式部署的算力分配系统的结构示意图。
具体实施方式
为使本申请的上述目的、特征和优点能够更为明显易懂,下面结合附图,对本申请的具体实施方式做详细的说明。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
本申请中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参阅图1所示,本申请一实施例提供的基于分布式部署的算力分配方法包括:
基于分布式计算机网络的所有子计算机各自的数据任务处理日志,调整每个子计算机在该分布式计算机网络对应连接的网关的工作状态,以此改变该分布计算机网络的主计算机对每个子计算机的控制状态;基于该主计算机控制下的所有子计算机的算力资源状态,构建算力资源池;
构建用户端与该主计算机之间的通信通道后,判断该用户端上传的数据处理任务是否属于单一子计算机能够处理的任务;若是,则将该数据处理任务分配至相应的子计算机;
若该数据处理任务不属于单一子计算机能够处理的任务,则从该主计算机控制下的所有子计算机中选择一个子计算机接收该数据处理任务,并从该算力资源池中调取相应的算力资源并分配至接收该数据处理任务的子计算机;并基于该数据处理任务的处理进度,调整对接收该数据处理任务的子计算机的算力资源分配状态。
上述实施例的有益效果,该基于分布式部署的算力分配方法通过调整子计算机在分布式计算机网络对应连接的网关的工作状态,改变主计算机对每个子计算机的控制状态,使得主计算机能够获得对相应子计算机的算力资源的分配控制权限;并基于主计算机控制下的所有子计算机的算力资源状态,构建算力资源池,实现对算力资源的集中化分配;在用户端上传的数据处理任务是否属于单一子计算机能够处理的任务的不同情况下,将数据处理任务分配至相应的子计算机,以及从算力资源池中调取相应的算力资源以分配至相应的子计算机,实现主计算机对子计算机的算力资源的有效准确分配,保证不同子计算机均能满足大算力资源计算场景的需求和提高算力资源利用效率。
在另一实施例中,基于分布式计算机网络的所有子计算机各自的数据任务处理日志,调整每个子计算机在该分布式计算机网络对应连接的网关的工作状态,以此改变该分布计算机网络的主计算机对每个子计算机的控制状态;基于该主计算机控制下的所有子计算机的算力资源状态,构建算力资源池,包括:
从分布式计算机网络的所有子计算机各自的数据任务处理日志中提取每个子计算机的待处理计算任务信息,基于该待处理计算任务信息,估计每个子计算机当前的计算任务处理算力负荷;再基于该计算任务处理算力负荷,判断该子计算机是否处于超负荷工作状态;若该子计算机不处于超负荷工作状态,则保持该子计算机在该分布式计算机网络对应连接的网关与该主计算机的通信状态不变,以此构建该主计算机对该子计算机的控制关系;若该子计算机处于超负荷工作状态,则将该子计算机在该分布式计算机网络对应连接的网关切换至具有相应时间长度的休眠状态;其中,该时间长度与该子计算机完成自身所有待处理计算任务所需时间或者该子计算机恢复至非超负荷工作状态所需时间相关;
基于该主计算机控制下的所有子计算机各自的可用算力资源所在处理器信息,构建算力资源池;其中,该算力资源池包括每个子计算机中能够提供可用算力资源的处理器的调用链接信息。
上述实施例的有益效果,分布式计算机网络包括一个主计算机和若干个子计算机,不同子计算机一一对应连接到网络内部的不同网关上,这样每个子计算机能够通过各自连接的网关与主计算机通信连接,同时主计算机也可以实现对子计算机的控制。分布式计算机网络的所有子计算机是相互独立工作,其能够处理自身的计算任务,也能够处理来自主计算机指定的数据处理任务,其中该主计算机指定的数据处理任务可以是外界用户端上传到主计算机的数据处理任务。每个子计算机在处理计算任务过程中均需要利用自身的算力资源,从而使子计算机形成相应的计算任务处理算力负荷,其中该算力资源可包括子计算机内部的CPU算力资源、GPU算力资源、ASIC算力资源、FPGA算力资源中的至少一者。每个子计算机自身的算力资源是有限的,当子计算机自身处理的计算任务越大,其对应的计算任务处理算力负荷也越大,通过对每个子计算机的数据任务处理日志进行待处理计算任务数据量的提取和分析,即可估计每个子计算机当前的计算任务处理算力负荷,若该计算任务处理算力负荷大于或等于预设负荷阈值,表明子计算机处于超负荷工作状态,即子计算机无法额外接收主计算机指定的数据处理任务;否则,表明子计算机不处于超负荷工作状态,即子计算机可以额外接收主计算机指定的数据处理任务。当子计算机不处于超负荷工作状态,则保持该子计算机在该分布式计算机网络对应连接的网关与该主计算机的通信状态不变,以此构建该主计算机对该子计算机的控制关系,这样主计算机能够对该子计算机进行算力资源的调用分配。当子计算机处于超负荷工作状态,则将该子计算机在该分布式计算机网络对应连接的网关切换至具有相应时间长度的休眠状态,处于休眠状态的网关将无法实现该子计算机与主计算机之间的通信,使得主计算机无法对该子计算机进行劫持控制。再实际工作中,网关处于休眠状态的时间长度可以等于该子计算机完成自身所有待处理计算任务所需时间或者该子计算机恢复至非超负荷工作状态所需时间,这样当该子计算机完成自身所有待处理计算任务或者该子计算机恢复至非超负荷工作状态后,该网关随即恢复该子计算机与主计算机之间的通信连接,使得主计算机能够对该子计算机进行控制,实现主计算机能够控制分配的算力资源的动态变化。此外,基于该主计算机控制下的所有子计算机各自的可用算力资源所在处理器信息,构建算力资源池,该处理器信息可为但不限于是每个子计算机的可用算力资源对应的CPU、GPU、ASIC、FPGA信息,并且该算力资源池包括每个子计算机中能够提供可用算力资源的处理器的调用链接信息,这样后续主计算机将算力资源池中对应的处理器的调用链接信息分配至相应的子计算机,该子计算机即可获得对其他子计算机的算力资源的使用权限,用于处理自身的数据处理任务。
在另一实施例中,构建用户端与该主计算机之间的通信通道后,判断该用户端上传的数据处理任务是否属于单一子计算机能够处理的任务;若是,则将该数据处理任务分配至相应的子计算机,包括:
将用户端的终端身份信息与该主计算机的预设终端白名单进行对比,若该终端身份信息存在于预设终端白名单,则构建该用户端与该主计算机之间的通信通道;否则,不构建该用户端与该主计算机之间的通信通道;
当构建该用户端与该主计算机之间的通信通道后,对该用户端上传的数据处理任务进行分析,估计处理该数据处理任务对应所需算力资源量;若该主计算机控制下的所有子计算机的可用算力资源量均不满足所需算力资源量,则判断该数据处理任务不属于单一子计算机能够处理的任务;否则,判断该数据处理任务属于单一子计算能够处理的任务,并将该数据处理任务分配至具有最大可用算力资源量的子计算机。
上述实施例的有益效果,通过对用户端的终端身份信息与主计算机的预设终端白名单进行对比,能够判断用户端是否属于主计算机认证的安全终端,从而避免主计算机与属于非安全终端的用户端连接而影响整个分布式计算机网络的数据安全。此外,当构建该用户端与该主计算机之间的通信通道后,对该用户端上传的数据处理任务进行关于需要处理的任务数据量的分析处理,估计处理该数据处理任务对应所需算力资源量,通常而言,当该数据处理任务需要处理的任务数据量越大,对应所需算力资源量也越大。将处理该数据处理任务对应所需算力资源量与该主计算机控制下的每个子计算机的可用算力资源量进行对比,若处理该数据处理任务对应所需算力资源量均大于该主计算机控制下的每个子计算机的可用算力资源量,表明该数据处理任务不属于单一子计算机能够处理的任务,即无论将该数据处理任务指定给任意一个子计算机,该子计算机均需要通过主计算机从算力资源池中分配相应的算力资源才能完成该数据处理任务。若至少一个该主计算机控制下的每个子计算机的可用算力资源量大于或等于处理该数据处理任务对应所需算力资源量,表明该数据处理任务属于单一子计算机能够处理的任务,此时将该数据处理任务分配至具有最大可用算力资源量的子计算机,这样该子计算机能够在不需要额外分配其他子计算机的算力资源的情况下也能完成该数据处理任务。
在另一实施例中,若该数据处理任务不属于单一子计算机能够处理的任务,则从该主计算机控制下的所有子计算机中选择一个子计算机接收该数据处理任务,并从该算力资源池中调取相应的算力资源并分配至接收该数据处理任务的子计算机;并基于该数据处理任务的处理进度,调整对接收该数据处理任务的子计算机的算力资源分配状态,包括:
当该数据处理任务不属于单一子计算机能够处理的任务,则从该主计算机控制下的所有子计算机中选择具有最少待处理计算任务的子计算机接收该数据处理任务;
基于接收该数据处理任务的子计算机在处理该数据处理任务过程中的算力资源缺口信息,通过该主计算机从该算力资源池中提取相应的处理器的调用链接信息,并分配给该子计算机。
基于该数据处理任务的剩余未处理数据量,调整对接收该数据处理任务的子计算机的算力资源分配状态。
上述实施例的有益效果,当该数据处理任务不属于单一子计算机能够处理的任务,则从该主计算机控制下的所有子计算机中选择具有最少待处理计算任务数量的子计算机接收该数据处理任务,这样能够保证接收该数据处理任务的子计算机能够承担该数据处理任务中较大部分的数据处理计算量,也能够有效减小主计算机向该子计算机分配其他子计算机的算力资源量。再基于接收该数据处理任务的子计算机在处理该数据处理任务过程中的算力资源缺口信息(即算力资源缺口量),通过该主计算机从该算力资源池中提取相应的处理器的调用链接信息,并分配给该子计算机,从而最大限度实现主计算机对算力资源池中的算力资源分配精确度和灵活度。还基于该数据处理任务的剩余未处理数据量,逐渐减小对接收该数据处理任务的子计算机的算力资源分配量,随着对该数据处理任务的不断运算处理,该数据处理任务的剩余未处理数据量也逐渐减小,此时适应性减小对接收该数据处理任务的子计算机的算力资源分配量,这样能够避免接收该数据处理任务的子计算机长时间占用算力资源而导致算力资源的冗余浪费。
请参阅图2所示,本申请一实施例提供的基于分布式部署的算力分配系统包括:
子计算机识别与控制调整模块,用于基于分布式计算机网络的所有子计算机各自的数据任务处理日志,调整每个子计算机在该分布式计算机网络对应连接的网关的工作状态,以此改变该分布计算机网络的主计算机对每个子计算机的控制状态;
算力资源池构建模块,用于基于该主计算机控制下的所有子计算机的算力资源状态,构建算力资源池;
数据处理任务判断模块,用于构建用户端与该主计算机之间的通信通道后,判断该用户端上传的数据处理任务是否属于单一子计算机能够处理的任务;
数据处理任务分配模块,用于当该数据处理任务属于单一子计算机能够处理的任务,将该数据处理任务分配至相应的子计算机;当该数据处理任务不属于单一子计算机能够处理的任务,从该主计算机控制下的所有子计算机中选择一个子计算机接收该数据处理任务;
算力资源分配与调整模块,用于从该算力资源池中调取相应的算力资源并分配至接收该数据处理任务的子计算机;并基于该数据处理任务的处理进度,调整对接收该数据处理任务的子计算机的算力资源分配状态。
上述实施例的有益效果,该基于分布式部署的算力分配系统通过调整子计算机在分布式计算机网络对应连接的网关的工作状态,改变主计算机对每个子计算机的控制状态,使得主计算机能够获得对相应子计算机的算力资源的分配控制权限;并基于主计算机控制下的所有子计算机的算力资源状态,构建算力资源池,实现对算力资源的集中化分配;在用户端上传的数据处理任务是否属于单一子计算机能够处理的任务的不同情况下,将数据处理任务分配至相应的子计算机,以及从算力资源池中调取相应的算力资源以分配至相应的子计算机,实现主计算机对子计算机的算力资源的有效准确分配,保证不同子计算机均能满足大算力资源计算场景的需求和提高算力资源利用效率。
在另一实施例中,该子计算机识别与控制调整模块用于基于分布式计算机网络的所有子计算机各自的数据任务处理日志,调整每个子计算机在该分布式计算机网络对应连接的网关的工作状态,以此改变该分布计算机网络的主计算机对每个子计算机的控制状态,包括:
从分布式计算机网络的所有子计算机各自的数据任务处理日志中提取每个子计算机的待处理计算任务信息,基于该待处理计算任务信息,估计每个子计算机当前的计算任务处理算力负荷;再基于该计算任务处理算力负荷,判断该子计算机是否处于超负荷工作状态;若该子计算机不处于超负荷工作状态,则保持该子计算机在该分布式计算机网络对应连接的网关与该主计算机的通信状态不变,以此构建该主计算机对该子计算机的控制关系;若该子计算机处于超负荷工作状态,则将该子计算机在该分布式计算机网络对应连接的网关切换至具有相应时间长度的休眠状态;其中,该时间长度与该子计算机完成自身所有待处理计算任务所需时间或者该子计算机恢复至非超负荷工作状态所需时间相关;
该算力资源池构建模块用于基于该主计算机控制下的所有子计算机的算力资源状态,构建算力资源池,包括:
基于该主计算机控制下的所有子计算机各自的可用算力资源所在处理器信息,构建算力资源池;其中,该算力资源池包括每个子计算机中能够提供可用算力资源的处理器的调用链接信息。
上述实施例的有益效果,分布式计算机网络包括一个主计算机和若干个子计算机,不同子计算机一一对应连接到网络内部的不同网关上,这样每个子计算机能够通过各自连接的网关与主计算机通信连接,同时主计算机也可以实现对子计算机的控制。分布式计算机网络的所有子计算机是相互独立工作,其能够处理自身的计算任务,也能够处理来自主计算机指定的数据处理任务,其中该主计算机指定的数据处理任务可以是外界用户端上传到主计算机的数据处理任务。每个子计算机在处理计算任务过程中均需要利用自身的算力资源,从而使子计算机形成相应的计算任务处理算力负荷,其中该算力资源可包括子计算机内部的CPU算力资源、GPU算力资源、ASIC算力资源、FPGA算力资源中的至少一者。每个子计算机自身的算力资源是有限的,当子计算机自身处理的计算任务越大,其对应的计算任务处理算力负荷也越大,通过对每个子计算机的数据任务处理日志进行待处理计算任务数据量的提取和分析,即可估计每个子计算机当前的计算任务处理算力负荷,若该计算任务处理算力负荷大于或等于预设负荷阈值,表明子计算机处于超负荷工作状态,即子计算机无法额外接收主计算机指定的数据处理任务;否则,表明子计算机不处于超负荷工作状态,即子计算机可以额外接收主计算机指定的数据处理任务。当子计算机不处于超负荷工作状态,则保持该子计算机在该分布式计算机网络对应连接的网关与该主计算机的通信状态不变,以此构建该主计算机对该子计算机的控制关系,这样主计算机能够对该子计算机进行算力资源的调用分配。当子计算机处于超负荷工作状态,则将该子计算机在该分布式计算机网络对应连接的网关切换至具有相应时间长度的休眠状态,处于休眠状态的网关将无法实现该子计算机与主计算机之间的通信,使得主计算机无法对该子计算机进行劫持控制。再实际工作中,网关处于休眠状态的时间长度可以等于该子计算机完成自身所有待处理计算任务所需时间或者该子计算机恢复至非超负荷工作状态所需时间,这样当该子计算机完成自身所有待处理计算任务或者该子计算机恢复至非超负荷工作状态后,该网关随即恢复该子计算机与主计算机之间的通信连接,使得主计算机能够对该子计算机进行控制,实现主计算机能够控制分配的算力资源的动态变化。此外,基于该主计算机控制下的所有子计算机各自的可用算力资源所在处理器信息,构建算力资源池,该处理器信息可为但不限于是每个子计算机的可用算力资源对应的CPU、GPU、ASIC、FPGA信息,并且该算力资源池包括每个子计算机中能够提供可用算力资源的处理器的调用链接信息,这样后续主计算机将算力资源池中对应的处理器的调用链接信息分配至相应的子计算机,该子计算机即可获得对其他子计算机的算力资源的使用权限,用于处理自身的数据处理任务。
在另一实施例中,该数据处理任务判断模块用于构建用户端与该主计算机之间的通信通道后,判断该用户端上传的数据处理任务是否属于单一子计算机能够处理的任务,包括:
将用户端的终端身份信息与该主计算机的预设终端白名单进行对比,若该终端身份信息存在于预设终端白名单,则构建该用户端与该主计算机之间的通信通道;否则,不构建该用户端与该主计算机之间的通信通道;
当构建该用户端与该主计算机之间的通信通道后,对该用户端上传的数据处理任务进行分析,估计处理该数据处理任务对应所需算力资源量;若该主计算机控制下的所有子计算机的可用算力资源量均不满足所需算力资源量,则判断该数据处理任务不属于单一子计算机能够处理的任务;
该数据处理任务分配模块用于当该数据处理任务属于单一子计算机能够处理的任务,将该数据处理任务分配至相应的子计算机;当该数据处理任务不属于单一子计算机能够处理的任务,从该主计算机控制下的所有子计算机中选择一个子计算机接收该数据处理任务,包括:
当该数据处理任务属于单一子计算机能够处理的任务,将该数据处理任务分配至具有最大可用算力资源量的子计算机;
当该数据处理任务不属于单一子计算机能够处理的任务,从该主计算机控制下的所有子计算机中选择具有最少待处理计算任务的子计算机接收该数据处理任务。
上述实施例的有益效果,通过对用户端的终端身份信息与主计算机的预设终端白名单进行对比,能够判断用户端是否属于主计算机认证的安全终端,从而避免主计算机与属于非安全终端的用户端连接而影响整个分布式计算机网络的数据安全。此外,当构建该用户端与该主计算机之间的通信通道后,对该用户端上传的数据处理任务进行关于需要处理的任务数据量的分析处理,估计处理该数据处理任务对应所需算力资源量,通常而言,当该数据处理任务需要处理的任务数据量越大,对应所需算力资源量也越大。将处理该数据处理任务对应所需算力资源量与该主计算机控制下的每个子计算机的可用算力资源量进行对比,若处理该数据处理任务对应所需算力资源量均大于该主计算机控制下的每个子计算机的可用算力资源量,表明该数据处理任务不属于单一子计算机能够处理的任务,即无论将该数据处理任务指定给任意一个子计算机,该子计算机均需要通过主计算机从算力资源池中分配相应的算力资源才能完成该数据处理任务。若至少一个该主计算机控制下的每个子计算机的可用算力资源量大于或等于处理该数据处理任务对应所需算力资源量,表明该数据处理任务属于单一子计算机能够处理的任务,此时将该数据处理任务分配至具有最大可用算力资源量的子计算机,这样该子计算机能够在不需要额外分配其他子计算机的算力资源的情况下也能完成该数据处理任务。
在另一实施例中,该算力资源分配与调整模块用于从该算力资源池中调取相应的算力资源并分配至接收该数据处理任务的子计算机;并基于该数据处理任务的处理进度,调整对接收该数据处理任务的子计算机的算力资源分配状态,包括:
基于接收该数据处理任务的子计算机在处理该数据处理任务过程中的算力资源缺口信息,通过该主计算机从该算力资源池中提取相应的处理器的调用链接信息,并分配给该子计算机。
基于该数据处理任务的剩余未处理数据量,调整对接收该数据处理任务的子计算机的算力资源分配状态。
上述实施例的有益效果,当该数据处理任务不属于单一子计算机能够处理的任务,则从该主计算机控制下的所有子计算机中选择具有最少待处理计算任务数量的子计算机接收该数据处理任务,这样能够保证接收该数据处理任务的子计算机能够承担该数据处理任务中较大部分的数据处理计算量,也能够有效减小主计算机向该子计算机分配其他子计算机的算力资源量。再基于接收该数据处理任务的子计算机在处理该数据处理任务过程中的算力资源缺口信息(即算力资源缺口量),通过该主计算机从该算力资源池中提取相应的处理器的调用链接信息,并分配给该子计算机,从而最大限度实现主计算机对算力资源池中的算力资源分配精确度和灵活度。还基于该数据处理任务的剩余未处理数据量,逐渐减小对接收该数据处理任务的子计算机的算力资源分配量,随着对该数据处理任务的不断运算处理,该数据处理任务的剩余未处理数据量也逐渐减小,此时适应性减小对接收该数据处理任务的子计算机的算力资源分配量,这样能够避免接收该数据处理任务的子计算机长时间占用算力资源而导致算力资源的冗余浪费。
总体而言,该基于分布式部署的算力分配方法和系统通过调整子计算机在分布式计算机网络对应连接的网关的工作状态,改变主计算机对每个子计算机的控制状态,使得主计算机能够获得对相应子计算机的算力资源的分配控制权限;并基于主计算机控制下的所有子计算机的算力资源状态,构建算力资源池,实现对算力资源的集中化分配;在用户端上传的数据处理任务是否属于单一子计算机能够处理的任务的不同情况下,将数据处理任务分配至相应的子计算机,以及从算力资源池中调取相应的算力资源以分配至相应的子计算机,实现主计算机对子计算机的算力资源的有效准确分配,保证不同子计算机均能满足大算力资源计算场景的需求和提高算力资源利用效率。
上述仅为本发明的一个具体实施方式,其它基于本发明构思的前提下做出的任何改进都视为本发明的保护范围。
Claims (8)
1.基于分布式部署的算力分配方法,其特征在于,包括:
基于分布式计算机网络的所有子计算机各自的数据任务处理日志,调整每个子计算机在所述分布式计算机网络对应连接的网关的工作状态,以此改变所述分布计算机网络的主计算机对每个子计算机的控制状态;基于所述主计算机控制下的所有子计算机的算力资源状态,构建算力资源池;
构建用户端与所述主计算机之间的通信通道后,判断所述用户端上传的数据处理任务是否属于单一子计算机能够处理的任务;若是,则将所述数据处理任务分配至相应的子计算机;
若所述数据处理任务不属于单一子计算机能够处理的任务,则从所述主计算机控制下的所有子计算机中选择一个子计算机接收所述数据处理任务,并从所述算力资源池中调取相应的算力资源并分配至接收所述数据处理任务的子计算机;并基于所述数据处理任务的处理进度,调整对接收所述数据处理任务的子计算机的算力资源分配状态。
2.如权利要求1所述的基于分布式部署的算力分配方法,其特征在于:基于分布式计算机网络的所有子计算机各自的数据任务处理日志,调整每个子计算机在所述分布式计算机网络对应连接的网关的工作状态,以此改变所述分布计算机网络的主计算机对每个子计算机的控制状态;基于所述主计算机控制下的所有子计算机的算力资源状态,构建算力资源池,包括:
从分布式计算机网络的所有子计算机各自的数据任务处理日志中提取每个子计算机的待处理计算任务信息,基于所述待处理计算任务信息,估计每个子计算机当前的计算任务处理算力负荷;再基于所述计算任务处理算力负荷,判断所述子计算机是否处于超负荷工作状态;若所述子计算机不处于超负荷工作状态,则保持所述子计算机在所述分布式计算机网络对应连接的网关与所述主计算机的通信状态不变,以此构建所述主计算机对所述子计算机的控制关系;若所述子计算机处于超负荷工作状态,则将所述子计算机在所述分布式计算机网络对应连接的网关切换至具有相应时间长度的休眠状态;其中,所述时间长度与所述子计算机完成自身所有待处理计算任务所需时间或者所述子计算机恢复至非超负荷工作状态所需时间相关;
基于所述主计算机控制下的所有子计算机各自的可用算力资源所在处理器信息,构建算力资源池;其中,所述算力资源池包括每个子计算机中能够提供可用算力资源的处理器的调用链接信息。
3.如权利要求1所述的基于分布式部署的算力分配方法,其特征在于:构建用户端与所述主计算机之间的通信通道后,判断所述用户端上传的数据处理任务是否属于单一子计算机能够处理的任务;若是,则将所述数据处理任务分配至相应的子计算机,包括:
将用户端的终端身份信息与所述主计算机的预设终端白名单进行对比,若所述终端身份信息存在于预设终端白名单,则构建所述用户端与所述主计算机之间的通信通道;否则,不构建所述用户端与所述主计算机之间的通信通道;
当构建所述用户端与所述主计算机之间的通信通道后,对所述用户端上传的数据处理任务进行分析,估计处理所述数据处理任务对应所需算力资源量;若所述主计算机控制下的所有子计算机的可用算力资源量均不满足所需算力资源量,则判断所述数据处理任务不属于单一子计算机能够处理的任务;否则,判断所述数据处理任务属于单一子计算能够处理的任务,并将所述数据处理任务分配至具有最大可用算力资源量的子计算机。
4.如权利要求1所述的基于分布式部署的算力分配方法,其特征在于:若所述数据处理任务不属于单一子计算机能够处理的任务,则从所述主计算机控制下的所有子计算机中选择一个子计算机接收所述数据处理任务,并从所述算力资源池中调取相应的算力资源并分配至接收所述数据处理任务的子计算机;并基于所述数据处理任务的处理进度,调整对接收所述数据处理任务的子计算机的算力资源分配状态,包括:
当所述数据处理任务不属于单一子计算机能够处理的任务,则从所述主计算机控制下的所有子计算机中选择具有最少待处理计算任务的子计算机接收所述数据处理任务;
基于接收所述数据处理任务的子计算机在处理所述数据处理任务过程中的算力资源缺口信息,通过所述主计算机从所述算力资源池中提取相应的处理器的调用链接信息,并分配给所述子计算机。
基于所述数据处理任务的剩余未处理数据量,调整对接收所述数据处理任务的子计算机的算力资源分配状态。
5.基于分布式部署的算力分配系统,其特征在于,包括:
子计算机识别与控制调整模块,用于基于分布式计算机网络的所有子计算机各自的数据任务处理日志,调整每个子计算机在所述分布式计算机网络对应连接的网关的工作状态,以此改变所述分布计算机网络的主计算机对每个子计算机的控制状态;
算力资源池构建模块,用于基于所述主计算机控制下的所有子计算机的算力资源状态,构建算力资源池;
数据处理任务判断模块,用于构建用户端与所述主计算机之间的通信通道后,判断所述用户端上传的数据处理任务是否属于单一子计算机能够处理的任务;
数据处理任务分配模块,用于当所述数据处理任务属于单一子计算机能够处理的任务,将所述数据处理任务分配至相应的子计算机;当所述数据处理任务不属于单一子计算机能够处理的任务,从所述主计算机控制下的所有子计算机中选择一个子计算机接收所述数据处理任务;
算力资源分配与调整模块,用于从所述算力资源池中调取相应的算力资源并分配至接收所述数据处理任务的子计算机;并基于所述数据处理任务的处理进度,调整对接收所述数据处理任务的子计算机的算力资源分配状态。
6.如权利要求5所述的基于分布式部署的算力分配系统,其特征在于:所述子计算机识别与控制调整模块用于基于分布式计算机网络的所有子计算机各自的数据任务处理日志,调整每个子计算机在所述分布式计算机网络对应连接的网关的工作状态,以此改变所述分布计算机网络的主计算机对每个子计算机的控制状态,包括:
从分布式计算机网络的所有子计算机各自的数据任务处理日志中提取每个子计算机的待处理计算任务信息,基于所述待处理计算任务信息,估计每个子计算机当前的计算任务处理算力负荷;再基于所述计算任务处理算力负荷,判断所述子计算机是否处于超负荷工作状态;若所述子计算机不处于超负荷工作状态,则保持所述子计算机在所述分布式计算机网络对应连接的网关与所述主计算机的通信状态不变,以此构建所述主计算机对所述子计算机的控制关系;若所述子计算机处于超负荷工作状态,则将所述子计算机在所述分布式计算机网络对应连接的网关切换至具有相应时间长度的休眠状态;其中,所述时间长度与所述子计算机完成自身所有待处理计算任务所需时间或者所述子计算机恢复至非超负荷工作状态所需时间相关;
所述算力资源池构建模块用于基于所述主计算机控制下的所有子计算机的算力资源状态,构建算力资源池,包括:
基于所述主计算机控制下的所有子计算机各自的可用算力资源所在处理器信息,构建算力资源池;其中,所述算力资源池包括每个子计算机中能够提供可用算力资源的处理器的调用链接信息。
7.如权利要求5所述的基于分布式部署的算力分配系统,其特征在于:所述数据处理任务判断模块用于构建用户端与所述主计算机之间的通信通道后,判断所述用户端上传的数据处理任务是否属于单一子计算机能够处理的任务,包括:
将用户端的终端身份信息与所述主计算机的预设终端白名单进行对比,若所述终端身份信息存在于预设终端白名单,则构建所述用户端与所述主计算机之间的通信通道;否则,不构建所述用户端与所述主计算机之间的通信通道;
当构建所述用户端与所述主计算机之间的通信通道后,对所述用户端上传的数据处理任务进行分析,估计处理所述数据处理任务对应所需算力资源量;若所述主计算机控制下的所有子计算机的可用算力资源量均不满足所需算力资源量,则判断所述数据处理任务不属于单一子计算机能够处理的任务;
所述数据处理任务分配模块用于当所述数据处理任务属于单一子计算机能够处理的任务,将所述数据处理任务分配至相应的子计算机;当所述数据处理任务不属于单一子计算机能够处理的任务,从所述主计算机控制下的所有子计算机中选择一个子计算机接收所述数据处理任务,包括:
当所述数据处理任务属于单一子计算机能够处理的任务,将所述数据处理任务分配至具有最大可用算力资源量的子计算机;
当所述数据处理任务不属于单一子计算机能够处理的任务,从所述主计算机控制下的所有子计算机中选择具有最少待处理计算任务的子计算机接收所述数据处理任务。
8.如权利要求5所述的基于分布式部署的算力分配系统,其特征在于:所述算力资源分配与调整模块用于从所述算力资源池中调取相应的算力资源并分配至接收所述数据处理任务的子计算机;并基于所述数据处理任务的处理进度,调整对接收所述数据处理任务的子计算机的算力资源分配状态,包括:
基于接收所述数据处理任务的子计算机在处理所述数据处理任务过程中的算力资源缺口信息,通过所述主计算机从所述算力资源池中提取相应的处理器的调用链接信息,并分配给所述子计算机。
基于所述数据处理任务的剩余未处理数据量,调整对接收所述数据处理任务的子计算机的算力资源分配状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311097866.4A CN117234705A (zh) | 2023-08-29 | 2023-08-29 | 基于分布式部署的算力分配方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311097866.4A CN117234705A (zh) | 2023-08-29 | 2023-08-29 | 基于分布式部署的算力分配方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117234705A true CN117234705A (zh) | 2023-12-15 |
Family
ID=89088847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311097866.4A Pending CN117234705A (zh) | 2023-08-29 | 2023-08-29 | 基于分布式部署的算力分配方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234705A (zh) |
-
2023
- 2023-08-29 CN CN202311097866.4A patent/CN117234705A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111371603B (zh) | 应用于边缘计算的服务实例部署方法和装置 | |
EP2887720B1 (en) | Resource allocation method and device | |
US20130239119A1 (en) | Dynamic Processor Mapping for Virtual Machine Network Traffic Queues | |
CN109542608B (zh) | 一种基于混合排队网络的云仿真任务调度方法 | |
CN109672711B (zh) | 一种基于反向代理服务器Nginx的http请求处理方法及系统 | |
CN103401947A (zh) | 多个服务器的任务分配方法和装置 | |
CN110677459A (zh) | 资源调整方法、装置、计算机设备和计算机存储介质 | |
EP2996382B1 (en) | Physical resource adjustment method, device and controller | |
CN102404160B (zh) | 智能监控实现方法和系统 | |
CN111209098A (zh) | 一种智能渲染调度方法、服务器、管理节点及存储介质 | |
CN109614228B (zh) | 基于动态负载均衡方式的综合监控前置系统及工作方法 | |
CN110868323A (zh) | 一种带宽控制方法、装置、设备及介质 | |
CN117234705A (zh) | 基于分布式部署的算力分配方法和系统 | |
CN111541646A (zh) | 一种增强密码机安全服务接入能力的方法 | |
CN112437015A (zh) | 分流调度方法、装置、系统和计算机可读存储介质 | |
CN110995802A (zh) | 任务的处理方法和装置、存储介质及电子装置 | |
CN114217977B (zh) | 资源分配方法、装置、设备以及存储介质 | |
CN107832140A (zh) | 一种rpc请求控制的方法、存储介质、电子设备和系统 | |
CN113630733A (zh) | 网络切片的分配方法、装置、计算机设备和存储介质 | |
CN114168312A (zh) | 一种分布式集群负载均衡方法、装置及存储介质 | |
CN114079976B (zh) | 切片资源调度方法、装置、系统和计算机可读存储介质 | |
CN116233017B (zh) | 时延保证方法、装置及存储介质 | |
CN113055199A (zh) | 网关访问方法、装置及网关设备 | |
CN110505115B (zh) | 一种监控交换机跑高风险的方法和装置 | |
Tiwari et al. | Energy Cognizant Scheduling in Three-Layer Cloud Architecture: A Systematic Review |
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 |