CN116107753A - 一种任务节点分配方法、装置、电子设备及存储介质 - Google Patents
一种任务节点分配方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116107753A CN116107753A CN202310142725.3A CN202310142725A CN116107753A CN 116107753 A CN116107753 A CN 116107753A CN 202310142725 A CN202310142725 A CN 202310142725A CN 116107753 A CN116107753 A CN 116107753A
- Authority
- CN
- China
- Prior art keywords
- processor
- task
- task nodes
- total time
- consumption
- 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
Images
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
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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)
- Multi Processors (AREA)
Abstract
本申请提供一种任务节点分配方法、装置、电子设备及存储介质,该方法包括:统计出多个处理器的每个处理器上所有任务节点的总耗时,处理器用于运行至少一个任务节点,总耗时是处理器上所有任务节点的运行时长之和;从多个处理器中筛选出总耗时最小的处理器;根据总耗时获取待分配的多个任务节点的分配顺序,并按照分配顺序将多个任务节点依次分配给总耗时最小的处理器。在上述方案的实现过程中,通过从多个处理器中筛选出总耗时最小的处理器,并将多个任务节点依次分配给总耗时最小的处理器,有效地改善了使用穷举法寻找最优分配方案的查找速度非常慢的情况,从而提高了任务节点的分配和执行速度。
Description
技术领域
本申请涉及计算机任务分配的技术领域,具体而言,涉及一种任务节点分配方法、装置、电子设备及存储介质。
背景技术
目前,将任务节点分配在处理器(例如神经网络处理器NPU)的过程中,使用穷举法通常需要列出所有的任务节点与处理器之间的对应关系,例如:一对一、多对一、一对多等等穷举方式将任务节点分配在处理器上,然后,再确定出最优分配方案出来。在具体的实践过程中发现,使用穷举法寻找最优分配方案的方式在任务节点和处理器数量非常大时,最优分配方案的查找速度非常慢,例如:任务节点和处理器数量均超过1000时,导致操作系统启用虚拟内存置换硬盘空间,此时任务节点的分配和执行速度比较慢。
发明内容
本申请实施例的目的在于提供一种任务节点分配方法、装置、电子设备及存储介质,用于改善任务节点的分配和执行速度比较慢的问题。
本申请实施例提供了一种任务节点分配方法,包括:统计出多个处理器的每个处理器上所有任务节点的总耗时,处理器用于运行至少一个任务节点,总耗时是处理器上所有任务节点的运行时长之和;从多个处理器中筛选出总耗时最小的处理器;根据总耗时获取待分配的多个任务节点的分配顺序,并按照分配顺序将多个任务节点依次分配给总耗时最小的处理器。在上述方案的实现过程中,通过从多个处理器中筛选出总耗时最小的处理器,并将多个任务节点依次分配给总耗时最小的处理器,有效地改善了使用穷举法寻找最优分配方案的查找速度非常慢的情况,从而提高了任务节点的分配和执行速度。
可选地,在本申请实施例中,分配顺序是任务节点的运行时长从大到小的顺序;按照分配顺序将多个任务节点依次分配给总耗时最小的处理器,包括:按照任务节点的运行时长从大到小的顺序,对多个任务节点进行排序,获得排序后的多个任务节点;获取总耗时最小的处理器,并将排序后的多个任务节点依次分配给总耗时最小的处理器。在上述方案的实现过程中,通过将从大到小的顺序排序后的多个任务节点依次分配给总耗时最小的处理器,有效地改善了使用穷举法寻找最优分配方案的查找速度非常慢的情况,从而提高了任务节点的分配和执行速度。
可选地,在本申请实施例中,分配顺序是任务节点的运行时长从小到大的顺序;按照分配顺序将多个任务节点依次分配给总耗时最小的处理器,包括:按照任务节点的运行时长从小到大的顺序,对多个任务节点进行排序,获得排序后的多个任务节点;获取总耗时最小的处理器,并将排序后的多个任务节点依次分配给总耗时最小的处理器。在上述方案的实现过程中,通过将从小到大的顺序排序后的多个任务节点依次分配给总耗时最小的处理器,有效地改善了使用穷举法寻找最优分配方案的查找速度非常慢的情况,从而提高了任务节点的分配和执行速度。
可选地,在本申请实施例中,在按照分配顺序将多个任务节点依次分配给总耗时最小的处理器之后,还包括:通过多个处理器处理多个任务节点,以使多个处理器之间的总耗时的差值不超过预设阈值。在上述方案的实现过程中,通过多个处理器处理多个任务节点,以使多个处理器之间的总耗时的差值不超过预设阈值,有效地改善了使用穷举法寻找最优分配方案的查找速度非常慢的情况,从而提高了任务节点的分配和执行速度。
可选地,在本申请实施例中,处理器包括:神经网络处理器NPU或图形处理器GPU。
本申请实施例还提供了一种任务节点分配装置,包括:总耗时统计模块,用于统计出多个处理器的每个处理器上所有任务节点的总耗时,处理器用于运行至少一个任务节点,总耗时是处理器上所有任务节点的运行时长之和;总耗时筛选模块,用于从多个处理器中筛选出总耗时最小的处理器;任务节点分配模块,用于根据总耗时获取待分配的多个任务节点的分配顺序,并按照分配顺序将多个任务节点依次分配给总耗时最小的处理器。
可选地,在本申请实施例中,分配顺序是任务节点的运行时长从大到小的顺序;任务节点分配模块,包括:第一任务节点排序子模块,用于按照任务节点的运行时长从大到小的顺序,对多个任务节点进行排序,获得排序后的多个任务节点;第一任务节点分配子模块,用于获取总耗时最小的处理器,并将排序后的多个任务节点依次分配给总耗时最小的处理器。
可选地,在本申请实施例中,分配顺序是任务节点的运行时长从小到大的顺序;任务节点分配模块,包括:第二任务节点排序子模块,用于按照任务节点的运行时长从小到大的顺序,对多个任务节点进行排序,获得排序后的多个任务节点;第二任务节点分配子模块,用于获取总耗时最小的处理器,并将排序后的多个任务节点依次分配给总耗时最小的处理器。
可选地,在本申请实施例中,任务节点分配装置,还包括:通过多个处理器处理多个任务节点,以使多个处理器之间的总耗时的差值不超过预设阈值。
可选地,在本申请实施例中,处理器包括:神经网络处理器NPU或图形处理器GPU。
本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。
本申请实施例的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请实施例中的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出的本申请实施例提供的任务节点分配方法的流程示意图;
图2示出的本申请实施例提供的分配顺序的确定过程示意图;
图3示出的本申请实施例提供的任务节点分配装置的结构示意图;
图4示出的本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请实施例中的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请实施例的详细描述并非旨在限制要求保护的本申请实施例的范围,而是仅仅表示本申请实施例中的选定实施例。基于本申请实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
可以理解的是,本申请实施例中的“第一”、“第二”用于区别类似的对象。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在介绍本申请实施例提供的任务节点分配方法之前,先介绍本申请实施例中所涉及的一些概念:
人工智能(Artificial Intelligence,AI),是指研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支。
神经网络处理器(Neural-network Processing Unit,NPU),又被称为人工智能加速器(AI accelerator),是一类专用于人工智能(特别是人工神经网络、机器视觉、机器学习等)硬件加速的微处理器或计算系统;典型的应用包括机器人学、物联网等数据密集型应用或传感器驱动的任务。
图形处理器(Graphics Processing Unit,GPU),又称视频处理单元(VideoProcessing Unit,VPU)、显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。
需要说明的是,本申请实施例提供的任务节点分配方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者服务器,设备终端例如:智能手机、个人电脑、平板电脑、个人数字助理或者移动上网设备等。服务器是指通过网络提供计算服务的设备,服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。
下面介绍该任务节点分配方法适用的应用场景,这里的应用场景包括但不限于:在有多个任务节点(例如视频流或者算法模型等等)需要分配给多个处理器(例如NPU或GPU)处理时,此时可以使用该任务节点分配方法对多个任务节点进行分配,以使多个处理器中的每个处理器所处理的所有任务节点的总耗时尽量均衡(即每个处理器的总耗时大致相等或差值较小)。
请参见图1示出的本申请实施例提供的任务节点分配方法的流程示意图;该任务节点分配方法的主要思路是,由于该任务节点分配方法是从多个处理器中筛选出总耗时最小的处理器,并将多个任务节点依次分配给总耗时最小的处理器,而不是穷举出所有分配方案,并从所有分配方案中筛选出最优分配方案,因此,该任务节点分配方法在运行时的速度快且占用内存空间较小,有效地提高了任务节点的分配和执行速度。上述的任务节点分配方法的实施方式可以包括:
步骤S110:统计出多个处理器的每个处理器上所有任务节点的总耗时,处理器用于运行至少一个任务节点,总耗时是处理器上所有任务节点的运行时长之和。
任务节点,是指待分配给多个处理器的任务相关节点,此处的任务节点可以是算法模型,也可以是视频流、音频流等数据流,也可以是预设编程语言编写的可运行程序等等任务。
处理器,是指用于运行上述任务节点且具有内存的处理单元,上述的处理器可以是神经网络处理器(NPU)或者图形处理器(GPU)。可以理解的是,因为处理器需要使用内存(例如GPU的显存)来加载任务节点,且将任务节点加载到NPU或GPU的时间很长,所以任务节点需要在分配之前确定所分配的处理器,一旦需要交换或者修改起所分配的处理器,将需要重新花费更多耗时来使用内存加载任务节点。
上述步骤S110的实施方式例如:假设一共有两个处理器:第一处理器和第二处理器;第一处理器中只处理了一个运行时长为45秒的任务节点,那么第一处理器的总耗时就是45秒;第二处理器处理了一个运行时长为20秒的任务节点以及一个运行时长为30秒的耗时节点,那么第二处理器的总耗时就是50秒。
步骤S120:从多个处理器中筛选出总耗时最小的处理器。
上述的步骤S120的实施方式例如:仍然以上面的例子说明,假设一共有两个处理器:第一处理器和第二处理器;第一处理器的总耗时是45秒,第二处理器的总耗时是50秒,那么这两个处理器中的总耗时最小的处理器很显然是第一处理器,因为第一处理器的总耗时45秒比第二处理器的总耗时50秒更少。
步骤S130:根据总耗时获取待分配的多个任务节点的分配顺序,并按照分配顺序将多个任务节点依次分配给总耗时最小的处理器。
由于上述步骤S130的实施方式有很多种,因此,步骤S130的多种实施方式将在下面详细地描述。可以理解的是,上述按照分配顺序将多个任务节点依次分配给总耗时最小的处理器的作用是为了让每个处理器的总耗时(即该处理器被分配的所有任务节点的运行时长之和)更加均衡,即每个处理器的总耗时大致相等或差值较小。
在上述的实现过程中,通过从多个处理器中筛选出总耗时最小的处理器,并将多个任务节点依次分配给总耗时最小的处理器,有效地改善了使用穷举法寻找最优分配方案的查找速度非常慢的情况,从而提高了任务节点的分配和执行速度。
请参见图2示出的本申请实施例提供的分配顺序的确定过程示意图;可以理解的是,上述的分配顺序可以是根据总耗时确定的,具体例如:假设任务节点列表中一共有四个任务节点,这四个任务节点的运行时长分别是30秒、15秒、45秒和20秒,这四个任务节点需要被分配给两个处理器,包括:处理器A和处理器B。
上述分配顺序的确定过程是,首先,获取这四个任务列表的运行时长,并将这四个任务节点列表的运行时长从大到小(或者从小到大)进行排序,获得排序后的列表中的运行时长分别是45秒、30秒、20秒和15秒。
然后,依次从大到小将这四个任务节点列表的运行时长假设分配给总耗时最小的处理器,初始时的处理器A和处理器B的总耗时均是0(即处理器A的总耗时与处理器B的总耗时相等),那么此时可以将45秒的任务节点分配给序号最小的处理器A,此时处理器A的总耗时为45秒,处理器B的总耗时仍然是0秒。
再然后,将30秒的任务节点分配给序号最小的处理器B,此时处理器A的总耗时仍然是45秒,处理器B的总耗时变为30秒。再然后,将20秒的任务节点分配给序号最小的处理器B,此时处理器A的总耗时仍然是45秒,处理器B的总耗时变为50秒。再然后,将15秒的任务节点分配给序号最小的处理器A,此时处理器A的总耗时变为60秒,处理器B的总耗时仍然是50秒。
最后,至此所有的任务节点已分配完成,最后可以得到初始的任务节点列表的分配顺序应当分别是处理器B、处理器A、处理器A和处理器B。当然在具体的实践过程中,上述的任务节点的运行时长可以从大到小的顺序排列,或者上述的任务节点的运行时长可以从小到大的顺序排列,下面分别讨论这两者情况。
作为上述步骤S130的第一种可选实施方式,第一种情况,分配顺序是任务节点的运行时长从大到小的顺序;按照分配顺序将多个任务节点依次分配给总耗时最小的处理器,包括:
步骤S131:按照任务节点的运行时长从大到小的顺序,对多个任务节点进行排序,获得排序后的多个任务节点。
上述步骤S131的实施方式例如:假设任务节点列表中一共有四个任务节点,这四个任务节点的运行时长分别是30秒、15秒、45秒和20秒,那么按照任务节点的运行时长从大到小的顺序,获得排序后的多个任务节点的运行时长分别是45秒、30秒、20秒和15秒。
步骤S132:获取总耗时最小的处理器,并将排序后的多个任务节点依次分配给总耗时最小的处理器。
上述步骤S132的实施方式例如:初始时的处理器A和处理器B的总耗时均是0(即处理器A的总耗时与处理器B的总耗时相等),那么此时可以将45秒的任务节点分配给序号最小的处理器A,此时处理器A的总耗时为45秒,处理器B的总耗时仍然是0秒。再然后,将30秒的任务节点分配给序号最小的处理器B,此时处理器A的总耗时仍然是45秒,处理器B的总耗时变为30秒。再然后,将20秒的任务节点分配给序号最小的处理器B,此时处理器A的总耗时仍然是45秒,处理器B的总耗时变为50秒。再然后,将15秒的任务节点分配给序号最小的处理器A,此时处理器A的总耗时变为60秒,处理器B的总耗时仍然是50秒。最后,至此所有的任务节点已分配完成,最后可以得到初始的任务节点列表(即30秒、15秒、45秒和20秒的任务节点列表)的分配顺序应当分别是处理器B、处理器A、处理器A和处理器B。
在上述方案的实现过程中,通过将从大到小的顺序排序后的多个任务节点依次分配给总耗时最小的处理器,有效地改善了使用穷举法寻找最优分配方案的查找速度非常慢的情况,从而提高了任务节点的分配和执行速度。
作为上述步骤S130的第二种可选实施方式,第二种情况,分配顺序是任务节点的运行时长从小到大的顺序;按照分配顺序将多个任务节点依次分配给总耗时最小的处理器,包括:
步骤S133:按照任务节点的运行时长从小到大的顺序,对多个任务节点进行排序,获得排序后的多个任务节点。
上述步骤S133的实施方式例如:假设任务节点列表中一共有四个任务节点,这四个任务节点的运行时长分别是30秒、15秒、45秒和20秒,那么按照任务节点的运行时长从小到大的顺序,获得排序后的多个任务节点的运行时长分别是15秒、20秒、30秒和45秒。
步骤S134:获取总耗时最小的处理器,并将排序后的多个任务节点依次分配给总耗时最小的处理器。
上述步骤S134的实施方式例如:初始时的处理器A和处理器B的总耗时均是0(即处理器A的总耗时与处理器B的总耗时相等),那么此时可以将15秒的任务节点分配给序号最小的处理器A,此时处理器A的总耗时为15秒,处理器B的总耗时仍然是0秒。再然后,将20秒的任务节点分配给序号最小的处理器B,此时处理器A的总耗时仍然是15秒,处理器B的总耗时变为20秒。再然后,将30秒的任务节点分配给序号最小的处理器A,此时处理器A的总耗时变为45秒,处理器A的总耗时仍然是20秒。再然后,将45秒的任务节点分配给序号最小的处理器B,此时,处理器B的总耗时仍然是45秒,处理器A的总耗时变为65秒。最后,至此所有的任务节点已分配完成,最后可以得到初始的任务节点列表(即30秒、15秒、45秒和20秒的任务节点列表)的分配顺序应当分别是处理器B、处理器B、处理器A和处理器A。
在上述方案的实现过程中,通过将从小到大的顺序排序后的多个任务节点依次分配给总耗时最小的处理器,有效地改善了使用穷举法寻找最优分配方案的查找速度非常慢的情况,从而提高了任务节点的分配和执行速度。
作为上述任务节点分配方法的一种可选实施方式,在按照分配顺序将多个任务节点依次分配给总耗时最小的处理器之后,还可以包括:
步骤S140:通过多个处理器处理多个任务节点,以使多个处理器之间的总耗时的差值不超过预设阈值。
上述步骤S140的实施方式例如:在按照上述的分配顺序将多个任务节点分配转发给多个处理器之后,多个处理器可以处理各自分配的所有任务节点,以使多个处理器之间的总耗时的差值不超过预设阈值,预设阈值是指预先设置的限制阈值,该预设阈值可以根据具体实际情况进行设置,例如:可以设置为20秒或25秒等。在上述方案的实现过程中,通过多个处理器处理多个任务节点,以使多个处理器之间的总耗时的差值不超过预设阈值,有效地改善了使用穷举法寻找最优分配方案的查找速度非常慢的情况,从而提高了任务节点的分配和执行速度。
作为上述任务节点分配方法的一种可选实施方式,上述的处理器可以包括:神经网络处理器(NPU)或图形处理器(GPU);其中,上述的NPU是一类专用于人工智能(特别是人工神经网络、机器视觉、机器学习等)硬件加速的微处理器或计算系统。上述的GPU是一种专门在个人电脑、工作站和一些移动设备(如平板电脑、智能手机等)上图像运算工作的微处理器。
请参见图3示出的本申请实施例提供的任务节点分配装置的结构示意图;本申请实施例提供了一种任务节点分配装置200,包括:
总耗时统计模块210,用于统计出多个处理器的每个处理器上所有任务节点的总耗时,处理器用于运行至少一个任务节点,总耗时是处理器上所有任务节点的运行时长之和。
总耗时筛选模块220,用于从多个处理器中筛选出总耗时最小的处理器。
任务节点分配模块230,用于根据总耗时获取待分配的多个任务节点的分配顺序,并按照分配顺序将多个任务节点依次分配给总耗时最小的处理器。
可选地,在本申请实施例中,分配顺序是任务节点的运行时长从大到小的顺序;任务节点分配模块,包括:
第一任务节点排序子模块,用于按照任务节点的运行时长从大到小的顺序,对多个任务节点进行排序,获得排序后的多个任务节点。
第一任务节点分配子模块,用于获取总耗时最小的处理器,并将排序后的多个任务节点依次分配给总耗时最小的处理器。
可选地,在本申请实施例中,分配顺序是任务节点的运行时长从小到大的顺序;任务节点分配模块,包括:
第二任务节点排序子模块,用于按照任务节点的运行时长从小到大的顺序,对多个任务节点进行排序,获得排序后的多个任务节点。
第二任务节点分配子模块,用于获取总耗时最小的处理器,并将排序后的多个任务节点依次分配给总耗时最小的处理器。
可选地,在本申请实施例中,任务节点分配装置,还包括:
通过多个处理器处理多个任务节点,以使多个处理器之间的总耗时的差值不超过预设阈值。
可选地,在本申请实施例中,处理器包括:神经网络处理器NPU或图形处理器GPU。
应理解的是,该装置与上述的任务节点分配方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
请参见图4示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备300,包括:处理器310和存储器320,存储器320存储有处理器310可执行的机器可读指令,机器可读指令被处理器310执行时执行如上的方法。
本申请实施例还提供了一种计算机可读存储介质330,该计算机可读存储介质330上存储有计算机程序,该计算机程序被处理器310运行时执行如上的方法。其中,计算机可读存储介质330可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。
另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。此外,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (10)
1.一种任务节点分配方法,其特征在于,包括:
统计出多个处理器的每个处理器上所有任务节点的总耗时,所述处理器用于运行至少一个任务节点,所述总耗时是所述处理器上所有任务节点的运行时长之和;
从所述多个处理器中筛选出总耗时最小的处理器;
根据所述总耗时获取待分配的多个任务节点的分配顺序,并按照分配顺序将所述多个任务节点依次分配给所述总耗时最小的处理器。
2.根据权利要求1所述的方法,其特征在于,所述分配顺序是所述任务节点的运行时长从大到小的顺序;所述按照分配顺序将所述多个任务节点依次分配给所述总耗时最小的处理器,包括:
按照任务节点的运行时长从大到小的顺序,对所述多个任务节点进行排序,获得排序后的多个任务节点;
获取总耗时最小的处理器,并将所述排序后的多个任务节点依次分配给所述总耗时最小的处理器。
3.根据权利要求1所述的方法,其特征在于,所述分配顺序是所述任务节点的运行时长从小到大的顺序;所述按照分配顺序将所述多个任务节点依次分配给所述总耗时最小的处理器,包括:
按照任务节点的运行时长从小到大的顺序,对所述多个任务节点进行排序,获得排序后的多个任务节点;
获取总耗时最小的处理器,并将所述排序后的多个任务节点依次分配给所述总耗时最小的处理器。
4.根据权利要求1所述的方法,其特征在于,在所述按照分配顺序将所述多个任务节点依次分配给所述总耗时最小的处理器之后,还包括:
通过所述多个处理器处理所述多个任务节点,以使所述多个处理器之间的总耗时的差值不超过预设阈值。
5.根据权利要求1所述的方法,其特征在于,所述处理器包括:神经网络处理器NPU或图形处理器GPU。
6.一种任务节点分配装置,其特征在于,包括:
总耗时统计模块,用于统计出多个处理器的每个处理器上所有任务节点的总耗时,所述处理器用于运行至少一个任务节点,所述总耗时是所述处理器上所有任务节点的运行时长之和;
总耗时筛选模块,用于从所述多个处理器中筛选出总耗时最小的处理器;
任务节点分配模块,用于根据所述总耗时获取待分配的多个任务节点的分配顺序,并按照分配顺序将所述多个任务节点依次分配给所述总耗时最小的处理器。
7.根据权利要求6所述的装置,其特征在于,所述分配顺序是所述任务节点的运行时长从大到小的顺序;所述任务节点分配模块,包括:
第一任务节点排序子模块,用于按照任务节点的运行时长从大到小的顺序,对所述多个任务节点进行排序,获得排序后的多个任务节点;
第一任务节点分配子模块,用于获取总耗时最小的处理器,并将所述排序后的多个任务节点依次分配给所述总耗时最小的处理器。
8.根据权利要求6所述的装置,其特征在于,所述分配顺序是所述任务节点的运行时长从小到大的顺序;所述任务节点分配模块,包括:
第二任务节点排序子模块,用于按照任务节点的运行时长从小到大的顺序,对所述多个任务节点进行排序,获得排序后的多个任务节点;
第二任务节点分配子模块,用于获取总耗时最小的处理器,并将所述排序后的多个任务节点依次分配给所述总耗时最小的处理器。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至5任一所述的方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310142725.3A CN116107753A (zh) | 2023-02-21 | 2023-02-21 | 一种任务节点分配方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310142725.3A CN116107753A (zh) | 2023-02-21 | 2023-02-21 | 一种任务节点分配方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116107753A true CN116107753A (zh) | 2023-05-12 |
Family
ID=86267128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310142725.3A Pending CN116107753A (zh) | 2023-02-21 | 2023-02-21 | 一种任务节点分配方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116107753A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483013A (zh) * | 2023-06-19 | 2023-07-25 | 成都实时技术股份有限公司 | 一种基于多通道采集器的高速信号采集系统及方法 |
-
2023
- 2023-02-21 CN CN202310142725.3A patent/CN116107753A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483013A (zh) * | 2023-06-19 | 2023-07-25 | 成都实时技术股份有限公司 | 一种基于多通道采集器的高速信号采集系统及方法 |
CN116483013B (zh) * | 2023-06-19 | 2023-09-05 | 成都实时技术股份有限公司 | 一种基于多通道采集器的高速信号采集系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112035238B (zh) | 任务调度处理方法、装置、集群系统及可读存储介质 | |
CN114741207B (zh) | 一种基于多维度组合并行的gpu资源调度方法和系统 | |
CN111880936A (zh) | 资源调度方法、装置、容器集群、计算机设备和存储介质 | |
CN112463375B (zh) | 一种数据处理的方法和装置 | |
CN109117252B (zh) | 基于容器的任务处理的方法、系统及容器集群管理系统 | |
CN114564302B (zh) | 一种gpu资源分配方法、系统、设备以及介质 | |
CN110162397B (zh) | 资源分配方法、装置及系统 | |
CN110795226B (zh) | 利用计算机系统处理任务的方法、电子设备和存储介质 | |
CN111798113A (zh) | 资源分配方法、装置、存储介质和电子设备 | |
CN112148481B (zh) | 一种执行仿真测试任务的方法、系统、设备及介质 | |
CN116107753A (zh) | 一种任务节点分配方法、装置、电子设备及存储介质 | |
CN116382880B (zh) | 任务执行方法、装置、处理器、电子设备及存储介质 | |
CN114330735A (zh) | 处理机器学习模型的方法、电子设备和计算机程序产品 | |
CN113626173A (zh) | 调度方法、装置及存储介质 | |
CN116483546B (zh) | 分布式训练任务调度方法、装置、设备及存储介质 | |
CN113641476A (zh) | 一种任务调度方法、游戏引擎、设备及存储介质 | |
CN117033170A (zh) | 测试任务分配方法、装置、设备、存储介质和程序产品 | |
CN111475277A (zh) | 一种资源分配方法、系统、设备及机器可读存储介质 | |
CN112114959B (zh) | 资源调度方法、分布式系统、计算机设备和存储介质 | |
CN114661475A (zh) | 一种用于机器学习的分布式资源调度方法及装置 | |
CN113886063A (zh) | 一种资源分配方法、系统、设备以及介质 | |
CN114780232A (zh) | 云应用调度方法、装置、电子设备及存储介质 | |
CN111581041A (zh) | 一种磁盘性能测试的方法和设备 | |
CN113282383B (zh) | 任务调度方法、任务处理方法及相关产品 | |
CN116032928B (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 |