本申请提供了一种负载均衡方法、装置、设备以及存储介质,涉及人工智能技术领域。该方法包括:建立与负载对应的第一层级结构,该第一层级结构中包括与各负载一一对应的层级以及与负载之间的依赖关系对应的层级依赖关系;基于层级依赖关系对第一层级结构进行层间合并,得到第二层级结构;基于第二层级结构与预设的硬件资源数量进行负载调度。本申请的实施能够将各个负载合理的分配给每个硬件资源,减少硬件资源闲置的可能,提升计算速度和数据处理效率,提高计算对象的整体性能。提高计算对象的整体性能。提高计算对象的整体性能。
【技术实现步骤摘要】
负载均衡方法、装置、设备以及存储介质
[0001]本申请涉及人工智能
,具体而言,本申请涉及一种负载均衡方法、装置、设备以及存储介质。
技术介绍
[0002]人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是新一轮科技革命和产业变革的重要驱动力量。
[0003]人工智能是智能学科重要的组成部分,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
[0004]随着人工智能的发展,其对算力的需求不断提升。为了满足算力需求更多开发者开始使用多核AI芯片,通过多核AI芯片的多核处理能力满足需求。然而,在人工智能计算时,神经网络里面的负载合理的分配给计算对象(如多核AI芯片)的每个硬件资源(如芯片的核)去运算是一个必需要解决的问题。一种简单的解决办法是按顺序将负载分配给各个硬件资源。但是由于负载大小不一,且其数量往往不是硬件资源数量的整数倍,导致各个硬件资源的负载往往并不均衡,容易出现一个硬件资源需要等待另一个硬件资源计算完成的情况,降低计算速度和数据处理效率,使得计算对象的整体性能达不到预期。
技术实现思路
[0005]本申请实施例提供了一种负载均衡方法、装置、设备以及存储介质,可以解决现有人工智能计算中负载分配不均衡,降低计算速度和数据处理效率,导致计算对象的整体性能达不到预期。为了实现该目的,本申请实施例提供了如下几个方案。
[0006]根据本申请实施例的一个方面,提供了一种负载均衡方法,该方法包括:
[0007]建立与负载对应的第一层级结构,该第一层级结构中包括与各负载一一对应的层级以及与负载之间的依赖关系对应的层级依赖关系;
[0008]基于所述层级依赖关系对所述第一层级结构进行层间合并,得到第二层级结构;
[0009]基于所述第二层级结构与预设的硬件资源数量进行负载调度。
[0010]在一个可能的实现方式中,所述建立与负载对应的第一层级结构,包括:
[0011]对每个负载进行层级初始化,得到与各个负载分别对应的层级;
[0012]根据所述负载之间的依赖关系确定所述层级之间的连接关系,通过所述连接关系形成层级依赖关系。
[0013]在一个可能的实现方式中,所述根据所述负载之间的依赖关系确定所述层级之间
的连接关系,包括:
[0014]根据所述依赖关系确定不同层级之间的排序,根据所述排序连接所述层级。
[0015]在一个可能的实现方式中,所述基于所述层级依赖关系对所述第一层级结构进行层间合并,得到第二层级结构,包括:
[0016]若根据所述层级依赖关系确定所述第一层级结构中存在仅具有唯一依赖关系的相邻的层级,则合并所述相邻的层级,并将与该相邻的层级对应的负载进行合并;
[0017]若根据所述层级依赖关系确定所述第一层级结构中存在彼此无依赖关系的至少两个层级,则根据所述至少两个层级的层级依赖关系合并所述至少两个层级;
[0018]将调整后的第一层级结构确定为第二层级结构。
[0019]在一个可能的实现方式中,所述基于所述第二层级结构与预设的硬件资源数量进行负载调度,包括:
[0020]若所述第二层级结构中存在任一层级对应的负载数量与预设的硬件资源数量不同,则对该层级的层级相应的负载进行合并或切分,以使该层级中包括的负载的负载数量与所述硬件资源数量相同;
[0021]基于调整后的第二层级结构进行负载调度。
[0022]在一个可能的实现方式中,所述对该层级的层级相应的负载进行合并或切分,包括:
[0023]若确定该层级对应的负载的数量大于所述硬件资源数量,则根据预设的调度策略处理所述层级对应的部分或全部负载,所述处理包括合并或切分;
[0024]或若确定该层级对应的负载的数量小于所述硬件资源数量,根据预设的调度策略处理部分或全部负载;
[0025]其中,所述预设的调度策略与负载大小、负载对应的数据的维度、应用的场景中的至少一种相关。
[0026]在一个可能的实现方式中,所述基于调整后的第二层级结构进行负载调度,包括:
[0027]基于层级依赖关系对调整后的第二层级结构进行层间合并,得到第三层级结构;
[0028]基于所述第三层级结构进行负载调度。
[0029]本申请提供一种负载均衡装置,包括:
[0030]第一层级结构生成模块,用于建立与负载对应的第一层级结构,该第一层级结构中包括与各负载一一对应的层级以及与负载间关系对应的层级依赖关系;
[0031]第二层级结构生成模块,用于基于所述层级依赖关系进行层间合并,得到第二层级结构;
[0032]负载调度模块,用于基于所述第二层级结构与预设的硬件资源数量进行负载调度。
[0033]本申请提供一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现如上所述方法的步骤。
[0034]根据本申请实施例的再一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
[0035]本申请实施例提供的技术方案带来的有益效果是:
[0036]本申请提供的负载均衡方法建立与负载对应的第一层级结构,该第一层级结构包
括与各负载一一对应的层级以及层级依赖关系,基于该层级依赖关系对应第一层级结构进行层间合并,得到第二层级结构,通过第二层级结构与预设的硬件资源数量进行负载调度。本申请实施例对负载进行层级初始化建立第一层级结构,将每一个负载对应一个层级,并确定层级依赖关系,根据该层级依赖关系对第一层级结构进行层间合并,得到第二层级结构,根据该第二层级结构以及预设的硬件资源数量进行负载调度。因此,本申请实施例能够将各个负载合理的分配给每个硬件资源,减少硬件资源闲置的可能,提升计算速度和数据处理效率,提高计算对象的整体性能。
附图说明
[0037]为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单的介绍。
[0038]图1为本申请实施例提供的负载均衡方法的流程图;
[0039]图2为本申请提供的负载均衡方法另一实施例的流程图;
[0040]图3为本申请提供的负载均衡方法中AI神经网络的负载一实施例的示意图;
[0041]图4为本申请提供的负载均衡方法中层间合并一实施例的示意图;
[0042]图5为本本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种负载均衡方法,其特征在于,包括:建立与负载对应的第一层级结构,该第一层级结构中包括与各负载一一对应的层级以及与负载之间的依赖关系对应的层级依赖关系;基于所述层级依赖关系对所述第一层级结构进行层间合并,得到第二层级结构;基于所述第二层级结构与预设的硬件资源数量进行负载调度。2.根据权利要求1所述的方法,其特征在于,所述建立与负载对应的第一层级结构,包括:对每个负载进行层级初始化,得到与各个负载分别对应的层级;根据所述负载之间的依赖关系确定所述层级之间的连接关系,通过所述连接关系形成层级依赖关系。3.根据权利要求2所述的方法,其特征在于,所述根据所述负载之间的依赖关系确定所述层级之间的连接关系,包括:根据所述依赖关系确定不同层级之间的排序,根据所述排序连接所述层级。4.根据权利要求2所述的方法,其特征在于,所述基于所述层级依赖关系对所述第一层级结构进行层间合并,得到第二层级结构,包括:若根据所述层级依赖关系确定所述第一层级结构中存在仅具有唯一依赖关系的相邻的层级,则合并所述相邻的层级,并将与该相邻的层级对应的负载进行合并;若根据所述层级依赖关系确定所述第一层级结构中存在彼此无依赖关系的至少两个层级,则根据所述至少两个层级的层级依赖关系合并所述至少两个层级;将调整后的第一层级结构确定为第二层级结构。5.根据权利要求1所述的方法,其特征在于,所述基于所述第二层级结构与预设的硬件资源数量进行负载调度,包括:若所述第二层级结构中存在任一层级对应的负载数量与预设的硬件资源数量不同,则对该层级的层级相应的负载进行合并或切分,以使该层级中包括的负载...
【专利技术属性】
技术研发人员:黄炯凯,
申请(专利权)人:安谋科技中国有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。