CN117311973A - 计算设备调度方法、装置、非易失性存储介质及电子设备 - Google Patents

计算设备调度方法、装置、非易失性存储介质及电子设备 Download PDF

Info

Publication number
CN117311973A
CN117311973A CN202311309948.0A CN202311309948A CN117311973A CN 117311973 A CN117311973 A CN 117311973A CN 202311309948 A CN202311309948 A CN 202311309948A CN 117311973 A CN117311973 A CN 117311973A
Authority
CN
China
Prior art keywords
computing device
computing
task
determining
executed
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
Application number
CN202311309948.0A
Other languages
English (en)
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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp Ltd
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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202311309948.0A priority Critical patent/CN117311973A/zh
Publication of CN117311973A publication Critical patent/CN117311973A/zh
Pending legal-status Critical Current

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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种计算设备调度方法、装置、非易失性存储介质及电子设备。其中,该方法包括:依据待执行任务的任务信息确定执行待执行任务所需的计算设备信息;依据计算设备信息,确定多个计算设备分配方案;确定多个计算设备分配方案中的各个计算设备分配方案的适应度指标,并将适应度指标最大的计算设备分配方案作为目标计算设备分配方案,其中,适应度指标用于指示计算设备分配方案对应的设备综合性能;依据目标计算设备分配方案确定对应的计算设备执行待执行任务。本申请解决了相关技术中仅根据计算设备的计算资源是否满足执行任务需求来选择执行任务的多个计算设备导致的任务执行效率较低的技术问题。

Description

计算设备调度方法、装置、非易失性存储介质及电子设备
技术领域
本申请涉及数据计算领域,具体而言,涉及一种计算设备调度方法、装置、非易失性存储介质及电子设备。
背景技术
目前相关技术中在需要通过多个计算设备来执行某一项任务时,在选择具体执行任务的计算设备时只能通过判断各个计算设备节点的资源是否充足以及能否满足执行任务所需的计算资源,满足则选择这些设备来执行任务。但是这种方式选择出来的多个计算设备通常不是执行该项任务的最优计算设备集合,导致任务执行效率低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种计算设备调度方法、装置、非易失性存储介质及电子设备,以至少解决相关技术中仅根据计算设备的计算资源是否满足执行任务需求来选择执行任务的多个计算设备导致的任务执行效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种计算设备调度方法,包括:依据待执行任务的任务信息确定执行待执行任务所需的计算设备信息,其中,计算设备信息包括执行待执行任务所需的计算设备的数量,任务信息包括任务类型信息和执行任务所需的计算资源信息,待执行任务为需要多个计算设备协同执行的任务;依据计算设备信息,确定多个计算设备分配方案,其中,多个计算设备分配方案中的每个计算设备分配方案中包括用于执行待执行任务的计算设备的标识信息;确定多个计算设备分配方案中的各个计算设备分配方案的适应度指标,并将适应度指标最大的计算设备分配方案作为目标计算设备分配方案,其中,适应度指标用于指示计算设备分配方案对应的设备综合性能;依据目标计算设备分配方案确定对应的计算设备执行待执行任务。
可选地,设备综合性能包括计算设备分配方案对应的各个计算设备间的通信带宽和各个计算设备的性能参数;确定多个计算设备分配方案中的各个计算设备分配方案的适应度指标的步骤包括:确定计算设备分配方案对应的通信评价指标和性能评价指标,其中,通信评价指标用于指示计算设备分配方案对应的各个计算设备之间的通信带宽,性能评价指标用于指示计算设备分配方案对应的各个计算设备的性能参数;
确定通信评价指标和性能评价指标之和为计算设备分配方案对应的适应度指标。
可选地,确定计算设备分配方案对应的通信评价指标的步骤包括:遍历计算设备分配方案对应的相邻计算设备,其中,相邻计算设备为一对直接通过通信链路连接的计算设备;确定各对相邻计算设备对应的通信带宽;依据各对相邻计算设备对应的通信带宽之和确定计算设备分配方案对应的通信评价指标。
可选地,确定计算设备分配方案对应的性能评价指标的步骤包括:确定目标调节系数,其中,目标调节系数用于平衡计算设备分配方案对应的计算设备间的通信带宽和各个计算设备的性能参数对计算设备分配方案的适应度指标的影响程度;确定计算设备分配方案对应的各个计算设备的性能参数;计算各个计算设备的性能参数的乘积,并依据乘积和目标调节系数确定计算设备分配方案对应的性能评价指标。
可选地,依据计算设备信息,确定多个计算设备分配方案的步骤包括:获取各个计算设备的硬件信息,其中,硬件信息包括以下至少之一:设备型号、设备内存容量、设备计算单元数量、设备通信方式、通信带宽、通信延迟;依据各个计算设备的硬件信息和计算设备信息,在各个计算设备中检索符合计算设备信息的计算设备分配方案。
可选地,在各个计算设备中检索符合计算设备信息的计算设备分配方案的步骤包括:在检索到的计算设备分配方案的数量达到预设数量后,停止检索计算设备分配方案;或者,在检索到的计算设备分配方案对应的适应度指标收敛后,停止检索计算设备分配方案。
可选地,依据目标计算设备分配方案确定对应的计算设备执行待执行任务的步骤包括:将待执行任务拆分为多个子任务;确定目标计算设备分配方案对应的各个计算设备所执行的子任务;依据各个计算设备和多个子任务之间的对应关系,调用各个计算设备执行多个子任务。
根据本申请实施例的另一方面,还提供了一种计算设备调度装置,包括:处理模块,用于依据待执行任务的任务信息确定执行待执行任务所需的计算设备信息,其中,计算设备信息包括执行待执行任务所需的计算设备的数量,任务信息包括任务类型信息和执行任务所需的计算资源信息,待执行任务为需要多个计算设备协同执行的任务;检索模块,用于依据计算设备信息,确定多个计算设备分配方案,其中,多个计算设备分配方案中的每个计算设备分配方案中包括用于执行待执行任务的计算设备的标识信息;计算模块,用于确定多个计算设备分配方案中的各个计算设备分配方案的适应度指标,并将适应度指标最大的计算设备分配方案作为目标计算设备分配方案,其中,适应度指标用于指示计算设备分配方案对应的设备综合性能;执行模块,用于依据目标计算设备分配方案确定对应的计算设备执行待执行任务。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,其中,程序运行时控制非易失性存储介质所在设备执行计算设备调度方法。
根据本申请实施例的另一方面,还提供了一种电子设备,包括:存储器和处理器,处理器用于运行存储在存储器中的程序,其中,程序运行时执行计算设备调度方法。
在本申请实施例中,采用依据待执行任务的任务信息确定执行待执行任务所需的计算设备信息,其中,计算设备信息包括执行待执行任务所需的计算设备的数量,任务信息包括任务类型信息和执行任务所需的计算资源信息,待执行任务为需要多个计算设备协同执行的任务;依据计算设备信息,确定多个计算设备分配方案,其中,多个计算设备分配方案中的每个计算设备分配方案中包括用于执行待执行任务的计算设备的标识信息;确定多个计算设备分配方案中的各个计算设备分配方案的适应度指标,并将适应度指标最大的计算设备分配方案作为目标计算设备分配方案,其中,适应度指标用于指示计算设备分配方案对应的设备综合性能;依据目标计算设备分配方案确定对应的计算设备执行待执行任务的方式,通过综合考量各种计算设备分配方案的适应度指标,并根据适应度指标确定最佳计算设备分配方案,达到了在可选地计算设备分配方案中确定最适合试行待执行任务的计算设备分配方案的目的,从而实现了使得任务执行效率最佳的技术效果,进而解决了相关技术中仅根据计算设备的计算资源是否满足执行任务需求来选择执行任务的多个计算设备导致的任务执行效率较低技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的一种计算设备调度系统的结构示意图;
图2是根据本申请实施例提供的一种资源调度器的工作流程示意图;
图3是根据本申请实施例提供的一种资源管理器的工作流程示意图;
图4是根据本申请实施例提供的一种资源采集器的工作流程示意图;
图5是根据本申请实施例提供的一种计算设备调度方法的流程示意图;
图6是根据本申请实施例提供的一种计算设备分配方案的示意图;
图7是根据本申请实施例提供的另一种计算设备分配方案的示意图;
图8是根据本申请实施例提供的一种计算设备分配装置的结构示意图;
图9是根据本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了更好地理解本申请实施例,以下将本申请实施例中涉及的技术术语解释如下:
GPU(Graphics Processing Unit,图形处理单元):GPU是计算机中专门用于高效地处理图形和图像数据,以及在某些情况下进行通用计算的装置,可以通过并行处理多个任务和数据元素来加速图像渲染、视频播放、游戏图形处理等操作。
Kubernetes:Kubernetes,通常简称为K8s,是一个开源的容器编排和管理平台,用于自动化部署、扩展和管理容器化应用程序。Kubernetes可以帮助用户管理容器化的应用程序、服务和资源等。例如,Kubernetes可以自动化实现应用程序的部署、伸缩、负载均衡、自愈和管理等操作,使得开发人员能够更专注于应用逻辑的构建,而不必过多关注底层基础设施。
CUDA(Compute Unified Device Architecture,统一计算架构):CUDA是一种并行计算平台和编程模型,用于利用GPU的并行计算能力来加速各种计算任务,包括科学计算、深度学习、图像处理等。CUDA允许开发人员使用编程语言(如C、C++)来编写并行计算代码,然后在支持CUDA的GPU上执行这些代码。CUDA可以充分利用GPU的多核心架构,并且通过充分利用GPU的多核心架构,可以实现比传统的GPU更高效的计算性能。
OpenCL(Open Computing Language,开放计算语言):OpenCL是一种开放的并行计算标准,允许开发人员利用多种硬件设备(如CPU、GPU、FPGA等)的并行计算能力,以加速各种计算任务。OpenCL提供了一种统一的编程模型,使开发人员能够编写并行计算代码,并在支持OpenCL的不同硬件上运行。OpenCL允许并行计算在多种硬件平台上进行优化和执行,从而获取更高的性能。
fitness(solution)(适应度函数):适应度函数是本申请中提供的在优化问题中用于衡量解决方案(候选解)优劣程度的函数。该函数可以综合考量每个解决方案对应的计算资源,并根据计算资源为每个解决方案分配一个适应度值。该值通常是一个实数,用于表示该解决方案在问题域中的表现如何,也就是用于体现解决方案与待执行任务之间的适配程度。
在相关技术中,在需要多计算设备,例如多GPU,来执行计算任务时,通常采用以Kubernetes为底座的云原生技术来实现对GPU的调度,从而降低成本。但是Kubernetes调度器在进行GPU的调度时,仅考虑各个计算节点(计算节点可以为GPU)的计算资源是否满足执行任务所需的计算资源,并在满足任务需求时将任务分配给对应的GPU。这种方式的问题在于Kubernetes调度器无法感知不同GPU之间的带宽信息,导致通过Kubernetes调度器确定的执行任务的多个GPU并非最佳GPU组合。因此,存在任务执行效率较低的问题。为了解决该问题,本申请实施例中提供了相关的解决方案,以下详细说明。
根据本申请实施例,提供了一种计算设备调度方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的计算设备调度方法可以在如图1所示的计算设备调度系统中执行。具体地,如图1所示,计算设备调度系统中包括资源采集器10,资源调度器12,资源管理器14和任务执行器16。
在本申请的一些实施例中,资源采集器10用于实时收集和分析由多个计算设备组成的系统中的各个计算设备(如GPU等)的硬件信息和性能参数。硬件信息和性能参数包括但不限于以下至少之一:GPU型号、内存容量、计算单元数量、通信方式、通信带宽、延迟等。资源采集器10可以通过硬件查询的方式或者软件接口(如CUDA、OpenCL等)的方式来获取计算设备的硬件信息和性能参数,并将采集到的硬件信息和性能参数发送给资源调度器12。
资源采集器的工作流程如图2所示,包括如下步骤:
S202,采集各个计算设备的资源信息;
S204,采集各个计算设备之间的带宽信息;
S206,发送各个计算设备的资源信息和带宽信息给资源调度器。
资源调度器12可以根据待执行任务的任务需求和资源采集器10发送的计算设备的硬件信息和性能参数,以及不同计算设备之间的通信带宽等因素,采用本申请实施例所提供的如图5所示的计算设备调度方法来为待执行任务确定最优的计算设备分配方案。另外,资源调度器还用于确保系统中各项计算资源的有效利用和负载均衡,并且尽量减少跨计算设备通信的开销。
具体地,资源调度器12可以采用本申请实施例所提供的适应度函数来确定各个计算设备分配方案的适应度值,并根据适应度值来确定最优的计算设备分配方案,并且可以在任务的执行过程中监控各项资源的使用情况。
资源调度器12的工作流程如图3所示,包括如下步骤:
S302,根据待执行任务的任务需求向系统申请对应的计算设备资源;
S304,选择计算设备方案检索算法,并根据选中的算法从可选地计算设备资源中检索可行的计算设备分配方案;
S306,计算各项计算设备分配方案的适应度值,从而确定最优的计算设备分配方案;
S308,发送最优计算设备分配方案中的各个计算设备的索引给资源管理器。
资源管理器14则用于对待处理任务进行分割或合并,从而更加高效地利用计算设备的计算资源。另外,资源管理器14还可以根据任务实际执行情况和系统状态,动态调整任务分配策略,例如调整任务分配时各项计算资源的优先级。
资源管理器14的工作流程如图4所示,包括如下步骤:
S402,根据资源调度器发送的索引确定对应的计算设备;
S404,监控索引对应的计算设备的负载情况;
S406,发送待执行任务和选中的计算设备给任务执行器。
任务执行器16则负责将待处理任务划分为多个子任务,以及确定每个计算设备需要执行的子任务,并发送子任务给对应的计算设备。另外任务执行器16还用于负责任务执行期间不同计算设备之间的同步和通信,从而保障任务的顺利执行。
任务执行器16还可以实时监控计算设备在执行任务时的负载变化情况,以及各项任务的执行状态,并将检测结果发送给资源管理器14,从而使得分配方案更加适应任务的执行需求和系统中各项资源的可用性的变化情况。
在本申请的一些实施例中,上述计算设备调度系统执行一项多设备协同运行的任务的具体过程如下:
第一步,接收用户提交的需要多个计算设备协同处理的待执行任务,以及待执行任务的任务信息,包括待执行任务的任务类型,所需计算资源等;
第二步,根据任务信息从系统中的多个计算设备中确定多个计算设备分配方案;
具体地,可以通过判断检索迭代次数是否达到预设值或者适应度值是否收敛来确定是否停止检索计算设备分配方案。
第三步,计算各个计算设备分配方案的适应度值,并选择适应度值最大的计算设备分配方案为最佳计算设备分配方案;
第四步,根据最佳计算设备分配方案为待执行任务分配对应的计算设备资源;
第五步,根据计算设备资源和任务需求,对任务进行拆分,并将拆分得到的子任务分配给对应的计算设备,并且在任务执行过程中持续监控任务执行情况和计算设备的负载变化情况。
在上述运行环境下,本申请实施例提供了一种计算设备调度方法,如图5所示,该方法包括如下步骤:
步骤S502,依据待执行任务的任务信息确定执行待执行任务所需的计算设备信息,其中,计算设备信息包括执行待执行任务所需的计算设备的数量,任务信息包括任务类型信息和执行任务所需的计算资源信息,待执行任务为需要多个计算设备协同执行的任务;
在步骤S502所提供的技术方案中,任务类型信息和计算资源信息可用于对备选的计算设备进行初步筛选,从而得到可以用于执行待执行任务的多个计算设备。计算设备的类型可以是任意具有计算能力的设备或者多个设备组成的计算节点,例如,计算设备可以为GPU。计算资源信息指的是执行待执行任务时所必须的计算资源,如内存大小,计算单元数量等。
步骤S504,依据计算设备信息,确定多个计算设备分配方案,其中,多个计算设备分配方案中的每个计算设备分配方案中包括用于执行待执行任务的计算设备的标识信息;
在步骤S504所提供的技术方案中,依据计算设备信息,确定多个计算设备分配方案的步骤包括:获取各个计算设备的硬件信息,其中,硬件信息包括以下至少之一:设备型号、设备内存容量、设备计算单元数量、设备通信方式、通信带宽、通信延迟;依据各个计算设备的硬件信息和计算设备信息,在各个计算设备中检索符合计算设备信息的计算设备分配方案。
在本申请的一些实施例中,在各个计算设备中检索符合计算设备信息的计算设备分配方案的步骤包括:在检索到的计算设备分配方案的数量达到预设数量后,停止检索计算设备分配方案;或者,在检索到的计算设备分配方案对应的适应度指标收敛后,停止检索计算设备分配方案。
具体地,在满足待执行任务所需的计算资源的计算设备分配方案数量较多时,为了避免在方案检索过程中耗费过多的时间,导致整体任务执行流程耗时过长,可以设定一个检索方案终止条件。检索方案终止条件可以由用户自行设定,例如,可以设定检索到的设备分配方案的预设数量为终止条件,设定检索到的设备分配方案的适应度指标达到预设值后停止检索,设定检索到的设备分配方案的适应度指标收敛,也就是连续多个设备分配方案的适应度指标均小于已检索到的设备分配方案中的最大适应度指标的情况下停止检索,或者可以设定检索次数达到预设次数后停止检索。
作为一种可选地实施方式,在检索备选的计算设备分配方案时,可以使用遗传算法或启发式搜索算法来检索可行的计算设备分配方案。
步骤S506,确定多个计算设备分配方案中的各个计算设备分配方案的适应度指标,并将适应度指标最大的计算设备分配方案作为目标计算设备分配方案,其中,适应度指标用于指示计算设备分配方案对应的设备综合性能;
在步骤S506所提供的技术方案中,设备综合性能包括计算设备分配方案对应的各个计算设备间的通信带宽和各个计算设备的性能参数;确定多个计算设备分配方案中的各个计算设备分配方案的适应度指标的步骤包括:确定计算设备分配方案对应的通信评价指标和性能评价指标,其中,通信评价指标用于指示计算设备分配方案对应的各个计算设备之间的通信带宽,性能评价指标用于指示计算设备分配方案对应的各个计算设备的性能参数;确定通信评价指标和性能评价指标之和为计算设备分配方案对应的适应度指标。
在本申请的一些实施例中,确定计算设备分配方案对应的通信评价指标的步骤包括:遍历计算设备分配方案对应的相邻计算设备,其中,相邻计算设备为一对直接通过通信链路连接的计算设备;确定各对相邻计算设备对应的通信带宽;依据各对相邻计算设备对应的通信带宽之和确定计算设备分配方案对应的通信评价指标。
具体地,上述通信链路可以是有线通信链路或者是无线通信链路。通过上述方式,可以综合考虑计算设备分配方案中包含的多个计算设备之间的通信带宽,从而得到可以体现整体通信带宽的通信评价指标。
作为一种可选地实施方式,确定计算设备分配方案对应的性能评价指标的步骤包括:确定目标调节系数,其中,目标调节系数用于平衡计算设备分配方案对应的计算设备间的通信带宽和各个计算设备的性能参数对计算设备分配方案的适应度指标的影响程度;确定计算设备分配方案对应的各个计算设备的性能参数;计算各个计算设备的性能参数的乘积,并依据乘积和目标调节系数确定计算设备分配方案对应的性能评价指标。
具体地,上述性能参数可以根据执行任务时所需的计算资源,或者影响任务执行效率的关键计算资源的类型来确定具体选择哪些或哪个性能参数带入计算来得到性能评价指标。例如,在确定影响任务执行效率的关键计算资源为计算设备的内存容量时,可以选择内存容量作为各个计算设备的性能参数。在确定影响任务执行效率的关键计算资源为计算单元数量时,可以确定计算单元数量为各个计算设备的性能参数。而在确定多个计算资源类型均对任务执行效率有较大影响时,可以对各类计算资源进行归一化处理并对各类计算资源的归一化计算结果加权求和后,将加权求和结果作为各个计算设备的性能参数。可以理解的,归一化处理的方式对单一类型的计算资源也适用,此时对该类计算资源的归一化计算结果即为计算设备的性能参数。
具体地,以计算单元数量为例,在对计算单元数量进行归一化处理时,可以先确定可选的计算设备中的最小计算单元数量和最大计算单元数量,然后计算最大计算单元数量和最小计算单元数量之间的第一差值,以及各个计算设备的计算单元数量和最小计算单元数量之间的第二差值,并确定第二差值和第一差值的比值为计算设备的计算单元数量这一项计算资源的归一化计算结果。
在进行加权求和时,各项计算资源对应的权重可以根据该项计算资源对任务执行效率的影响程度来确定。对任务执行效率影响程度越大的计算资源对应的权重也更大。
作为一种可选地实施方式,上述计算各项计算设备分配方案的适应度指标的公式如下:
filtness(solution)=∑(bw_matrix[solution[i]][solution[i+1]])+α*∏(GPU_performance[solution[i]])
上述公式中,solution表示正在计算适应度指标的计算设备分配方案,包含一组按照拆分的子任务的执行顺序来执行各项子任务的计算设备的索引,也就是计算设备的编号。filtness(solution)表示该方案的适应度指标,solution[i]表示该方案中的第i个计算设备,solution[i+1]表示第i+1个计算设备。GPU_performance[solution[i]]表示第i个计算设备的性能参数,bw_matrix为一个表示计算设备如GPU等之间的通信带宽的矩阵,其中,bw_matrix[solution[i]][solution[i+1]]表示第i个计算设备和第i+1个计算设备之间的通信带宽指标。需要说明的是,通信带宽指标由通信带宽值确定,并且通信带宽值越大,通信带宽指标越大。通过根据通信带宽值确定通信带宽指标的方式,使得最终计算得到的通信评价指标可以与性能评价指标直接相加。∑()表示对括号内的内容求和,∏()表示对括号内的内容求乘积。α为用户自定义的目标调节系数,用于平衡通信带宽和性能参数对适应度指标的影响程度。例如,在实际执行任务时通信带宽对任务执行效率的影响程度更大时,可以给α设定一个较小的值。在确定计算设备性能对任务执行效率的影响程度更大时,可以给α设定一个较大的值。
综上所述,在上述公式中,∑(bw_matrix[solution[i]][solution[i+1]])表示遍历计算设备分配方案中的各个计算设备之间的通信带宽指标并求和,∏(GPU_performance[solution[i]])表示遍历计算设备分配方案中的各个计算设备之间的性能参数指标并求乘积。
通过确定各个计算设备分配方案的性能指标,可以从多种可选的计算设备分配方案中确定执行待执行任务时的最优设备分配方案。具体地,假设待执行任务为一个需要两个GPU协同执行的任务,则采用相关技术中的方式确定的GPU分配方案如图6所示,采用本申请所提供的方法确定的GPU分配方案如图7所示。其中图6和图7中填充色为灰色的GPU即为被选中的GPU。可以看出,图7中被选中的GPU之间的通信带宽大于图6中被选中的GPU之间的通信带宽,因此图7中所示的GPU分配方案相比于图6中所示的GPU分配方案,在执行待执行任务时的效率更高。
步骤S508,依据目标计算设备分配方案确定对应的计算设备执行待执行任务。
在步骤S508所提供的技术方案中,依据目标计算设备分配方案确定对应的计算设备执行待执行任务的步骤包括:将待执行任务拆分为多个子任务;确定目标计算设备分配方案对应的各个计算设备所执行的子任务;依据各个计算设备和多个子任务之间的对应关系,调用各个计算设备执行多个子任务。
通过采用依据待执行任务的任务信息确定执行待执行任务所需的计算设备信息,其中,计算设备信息包括执行待执行任务所需的计算设备的数量,任务信息包括任务类型信息和执行任务所需的计算资源信息,待执行任务为需要多个计算设备协同执行的任务;依据计算设备信息,确定多个计算设备分配方案,其中,多个计算设备分配方案中的每个计算设备分配方案中包括用于执行待执行任务的计算设备的标识信息;确定多个计算设备分配方案中的各个计算设备分配方案的适应度指标,并将适应度指标最大的计算设备分配方案作为目标计算设备分配方案,其中,适应度指标用于指示计算设备分配方案对应的设备综合性能;依据目标计算设备分配方案确定对应的计算设备执行待执行任务的方式,通过综合考量各种计算设备分配方案的适应度指标,并根据适应度指标确定最佳计算设备分配方案,达到了在可选地计算设备分配方案中确定最适合试行待执行任务的计算设备分配方案的目的,从而实现了使得任务执行效率最佳的技术效果,进而解决了相关技术中仅根据计算设备的计算资源是否满足执行任务需求来选择执行任务的多个计算设备导致的任务执行效率较低技术问题。
另外,采用本申请实施例所提供的计算设备调度方法,不但可以在有限时间内选择出近似最优的计算设备方案来执行待执行任务,有效提高了任务执行效率,适用于各种规模和复杂度的任务。并且实现了对计算设备资源的合理分配与充分利用。而且采用动态调整任务分配策略的方式,有效适应了任务需求和可用资源的变化情况,进一步提高了资源利用率。
另外,本申请所提供的计算设备调度方法对计算设备的具体类型无限定,具有良好的扩展性和适用性,可应用于各类计算设备和应用场景中。
本申请实施例提供了一种计算设备调度装置,图8是该装置的结构示意图,从图8中可以看出,该装置包括:处理模块80,用于依据待执行任务的任务信息确定执行所述待执行任务所需的计算设备信息,其中,所述计算设备信息包括执行所述待执行任务所需的计算设备的数量,所述任务信息包括任务类型信息和执行任务所需的计算资源信息,所述待执行任务为需要多个所述计算设备协同执行的任务;检索模块82,用于依据所述计算设备信息,确定多个计算设备分配方案,其中,多个所述计算设备分配方案中的每个所述计算设备分配方案中包括用于执行所述待执行任务的计算设备的标识信息;计算模块84,用于确定多个所述计算设备分配方案中的各个所述计算设备分配方案的适应度指标,并将所述适应度指标最大的所述计算设备分配方案作为目标计算设备分配方案,其中,所述适应度指标用于指示所述计算设备分配方案对应的设备综合性能;执行模块86,用于依据所述目标计算设备分配方案确定对应的计算设备执行所述待执行任务。
在本申请的一些实施例中,检索模块82依据计算设备信息,确定多个计算设备分配方案的步骤包括:获取各个计算设备的硬件信息,其中,硬件信息包括以下至少之一:设备型号、设备内存容量、设备计算单元数量、设备通信方式、通信带宽、通信延迟;依据各个计算设备的硬件信息和计算设备信息,在各个计算设备中检索符合计算设备信息的计算设备分配方案。
在本申请的一些实施例中,检索模块82在各个计算设备中检索符合计算设备信息的计算设备分配方案的步骤包括:在检索到的计算设备分配方案的数量达到预设数量后,停止检索计算设备分配方案;或者,在检索到的计算设备分配方案对应的适应度指标收敛后,停止检索计算设备分配方案。
在本申请的一些实施例中,设备综合性能包括计算设备分配方案对应的各个计算设备间的通信带宽和各个计算设备的性能参数;计算模块84确定多个计算设备分配方案中的各个计算设备分配方案的适应度指标的步骤包括:确定计算设备分配方案对应的通信评价指标和性能评价指标,其中,通信评价指标用于指示计算设备分配方案对应的各个计算设备之间的通信带宽,性能评价指标用于指示计算设备分配方案对应的各个计算设备的性能参数;确定通信评价指标和性能评价指标之和为计算设备分配方案对应的适应度指标。
在本申请的一些实施例中,计算模块84确定计算设备分配方案对应的通信评价指标的步骤包括:遍历计算设备分配方案对应的相邻计算设备,其中,相邻计算设备为一对直接通过通信链路连接的计算设备;确定各对相邻计算设备对应的通信带宽;依据各对相邻计算设备对应的通信带宽之和确定计算设备分配方案对应的通信评价指标。
在本申请的一些实施例中,计算模块84确定计算设备分配方案对应的性能评价指标的步骤包括:确定目标调节系数,其中,目标调节系数用于平衡计算设备分配方案对应的计算设备间的通信带宽和各个计算设备的性能参数对计算设备分配方案的适应度指标的影响程度;确定计算设备分配方案对应的各个计算设备的性能参数;计算各个计算设备的性能参数的乘积,并依据乘积和目标调节系数确定计算设备分配方案对应的性能评价指标。
在本申请的一些实施例中,执行模块86依据目标计算设备分配方案确定对应的计算设备执行待执行任务的步骤包括:将待执行任务拆分为多个子任务;确定目标计算设备分配方案对应的各个计算设备所执行的子任务;依据各个计算设备和多个子任务之间的对应关系,调用各个计算设备执行多个子任务。
需要说明的是,上述计算设备调度装置中的各个模块可以是程序模块(例如是实现某种特定功能的程序指令集合),也可以是硬件模块,对于后者,其可以表现为以下形式,但不限于此:上述各个模块的表现形式均为一个处理器,或者,上述各个模块的功能通过一个处理器实现。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图9示出了一种用于实现计算设备调度方法的计算机终端(或移动设备)的硬件结构框图。如图9所示,计算机终端90(或移动设备90)可以包括一个或多个(图中采用902a、902b,……,902n来示出)处理器902(处理器902可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器904、以及用于通信功能的传输模块906。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图9所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端90还可包括比图9中所示更多或者更少的组件,或者具有与图9所示不同的配置。
应当注意到的是上述一个或多个处理器902和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端90(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器904可用于存储应用软件的软件程序以及模块,如本申请实施例中的计算设备调度方法对应的程序指令/数据存储装置,处理器902通过运行存储在存储器904内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的计算设备调度方法。存储器904可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器904可进一步包括相对于处理器902远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端90。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端90的通信供应商提供的无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置906可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端90(或移动设备)的用户界面进行交互。
根据本申请实施例,还提供了一种非易失性存储介质。非易失性存储介质中存储有程序,其中,程序运行时控制非易失性存储介质所在设备执行如下计算设备调度方法:依据待执行任务的任务信息确定执行待执行任务所需的计算设备信息,其中,计算设备信息包括执行待执行任务所需的计算设备的数量,任务信息包括任务类型信息和执行任务所需的计算资源信息,待执行任务为需要多个计算设备协同执行的任务;依据计算设备信息,确定多个计算设备分配方案,其中,多个计算设备分配方案中的每个计算设备分配方案中包括用于执行待执行任务的计算设备的标识信息;确定多个计算设备分配方案中的各个计算设备分配方案的适应度指标,并将适应度指标最大的计算设备分配方案作为目标计算设备分配方案,其中,适应度指标用于指示计算设备分配方案对应的设备综合性能;依据目标计算设备分配方案确定对应的计算设备执行待执行任务。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种计算设备调度方法,其特征在于,包括:
依据待执行任务的任务信息确定执行所述待执行任务所需的计算设备信息,其中,所述计算设备信息包括执行所述待执行任务所需的计算设备的数量,所述任务信息包括任务类型信息和执行任务所需的计算资源信息,所述待执行任务为需要多个所述计算设备协同执行的任务;
依据所述计算设备信息,确定多个计算设备分配方案,其中,多个所述计算设备分配方案中的每个所述计算设备分配方案中包括用于执行所述待执行任务的计算设备的标识信息;
确定多个所述计算设备分配方案中的各个所述计算设备分配方案的适应度指标,并将所述适应度指标最大的所述计算设备分配方案作为目标计算设备分配方案,其中,所述适应度指标用于指示所述计算设备分配方案对应的设备综合性能;依据所述目标计算设备分配方案确定对应的计算设备执行所述待执行任务。
2.根据权利要求1所述的计算设备调度方法,其特征在于,所述设备综合性能包括所述计算设备分配方案对应的各个计算设备间的通信带宽和各个计算设备的性能参数;所述确定多个所述计算设备分配方案中的各个所述计算设备分配方案的适应度指标的步骤包括:
确定所述计算设备分配方案对应的通信评价指标和性能评价指标,其中,所述通信评价指标用于指示所述计算设备分配方案对应的各个计算设备之间的通信带宽,所述性能评价指标用于指示所述计算设备分配方案对应的各个计算设备的性能参数;
确定所述通信评价指标和所述性能评价指标之和为所述计算设备分配方案对应的适应度指标。
3.根据权利要求2所述的计算设备调度方法,其特征在于,所述确定所述计算设备分配方案对应的通信评价指标的步骤包括:
遍历所述计算设备分配方案对应的相邻计算设备,其中,所述相邻计算设备为一对直接通过通信链路连接的计算设备;
确定各对相邻计算设备对应的通信带宽;
依据各对相邻计算设备对应的通信带宽之和确定所述计算设备分配方案对应的所述通信评价指标。
4.根据权利要求2所述的计算设备调度方法,其特征在于,所述确定所述计算设备分配方案对应的性能评价指标的步骤包括:
确定目标调节系数,其中,所述目标调节系数用于平衡所述计算设备分配方案对应的计算设备间的通信带宽和各个计算设备的性能参数对所述计算设备分配方案的适应度指标的影响程度;
确定所述计算设备分配方案对应的各个计算设备的性能参数;
计算所述各个计算设备的性能参数的乘积,并依据所述乘积和所述目标调节系数确定所述计算设备分配方案对应的所述性能评价指标。
5.根据权利要求1所述的计算设备调度方法,其特征在于,所述依据所述计算设备信息,确定多个计算设备分配方案的步骤包括:
获取各个计算设备的硬件信息,其中,所述硬件信息包括以下至少之一:设备型号、设备内存容量、设备计算单元数量、设备通信方式、通信带宽、通信延迟;
依据各个计算设备的硬件信息和所述计算设备信息,在所述各个计算设备中检索符合所述计算设备信息的计算设备分配方案。
6.根据权利要求5所述的计算设备调度方法,其特征在于,所述在所述各个计算设备中检索符合所述计算设备信息的计算设备分配方案的步骤包括:
在检索到的所述计算设备分配方案的数量达到预设数量后,停止检索所述计算设备分配方案;或者,
在检索到的所述计算设备分配方案对应的所述适应度指标收敛后,停止检索所述计算设备分配方案。
7.根据权利要求1所述的计算设备调度方法,其特征在于,所述依据所述目标计算设备分配方案确定对应的计算设备执行所述待执行任务的步骤包括:
将所述待执行任务拆分为多个子任务;
确定所述目标计算设备分配方案对应的各个计算设备所执行的所述子任务;
依据所述各个计算设备和所述多个子任务之间的对应关系,调用所述各个计算设备执行所述多个子任务。
8.一种计算设备调度装置,其特征在于,包括:
处理模块,用于依据待执行任务的任务信息确定执行所述待执行任务所需的计算设备信息,其中,所述计算设备信息包括执行所述待执行任务所需的计算设备的数量,所述任务信息包括任务类型信息和执行任务所需的计算资源信息,所述待执行任务为需要多个所述计算设备协同执行的任务;
检索模块,用于依据所述计算设备信息,确定多个计算设备分配方案,其中,多个所述计算设备分配方案中的每个所述计算设备分配方案中包括用于执行所述待执行任务的计算设备的标识信息;
计算模块,用于确定多个所述计算设备分配方案中的各个所述计算设备分配方案的适应度指标,并将所述适应度指标最大的所述计算设备分配方案作为目标计算设备分配方案,其中,所述适应度指标用于指示所述计算设备分配方案对应的设备综合性能;
执行模块,用于依据所述目标计算设备分配方案确定对应的计算设备执行所述待执行任务。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质中存储有程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述的计算设备调度方法。
10.一种电子设备,其特征在于,包括:存储器和处理器,所述处理器用于运行存储在所述存储器中的程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的计算设备调度方法。
CN202311309948.0A 2023-10-10 2023-10-10 计算设备调度方法、装置、非易失性存储介质及电子设备 Pending CN117311973A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311309948.0A CN117311973A (zh) 2023-10-10 2023-10-10 计算设备调度方法、装置、非易失性存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311309948.0A CN117311973A (zh) 2023-10-10 2023-10-10 计算设备调度方法、装置、非易失性存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN117311973A true CN117311973A (zh) 2023-12-29

Family

ID=89284710

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311309948.0A Pending CN117311973A (zh) 2023-10-10 2023-10-10 计算设备调度方法、装置、非易失性存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN117311973A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117596605A (zh) * 2024-01-18 2024-02-23 北京交通大学 一种面向智能应用的确定性网络架构及其工作方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117596605A (zh) * 2024-01-18 2024-02-23 北京交通大学 一种面向智能应用的确定性网络架构及其工作方法
CN117596605B (zh) * 2024-01-18 2024-04-12 北京交通大学 一种面向智能应用的确定性网络架构及其工作方法

Similar Documents

Publication Publication Date Title
CN110869909B (zh) 应用机器学习算法来计算健康分数以进行工作负载调度的系统和方法
Bhattacharjee et al. Barista: Efficient and scalable serverless serving system for deep learning prediction services
EP2615803B1 (en) Performance interference model for managing consolidated workloads in QoS-aware clouds
CN109324875B (zh) 一种基于强化学习的数据中心服务器功耗管理与优化方法
US8209695B1 (en) Reserving resources in a resource-on-demand system for user desktop utility demand
Li et al. Optimal resource provisioning for cloud computing environment
US10783002B1 (en) Cost determination of a service call
CN113377540A (zh) 集群资源调度方法及装置、电子设备和存储介质
CN113037877B (zh) 云边端架构下时空数据及资源调度的优化方法
CN110519370B (zh) 一种基于设施选址问题的边缘计算资源分配方法
US20230206132A1 (en) Method and Apparatus for Training AI Model, Computing Device, and Storage Medium
CN117311973A (zh) 计算设备调度方法、装置、非易失性存储介质及电子设备
CN111796933B (zh) 资源调度方法、装置、存储介质和电子设备
CN112416585A (zh) 面向深度学习的gpu资源管理与智能化调度方法
CN109271257A (zh) 一种虚拟机迁移部署的方法及设备
CN114661462A (zh) 资源分配方法、系统、计算机可读存储介质及电子设备
Goudarzi et al. Joint customer/provider evolutionary multi-objective utility maximization in cloud data center networks
CN111565216A (zh) 一种后端负载均衡方法、装置、系统及存储介质
CN113485833B (zh) 资源预测方法和装置
AlOrbani et al. Load balancing and resource allocation in smart cities using reinforcement learning
Kim et al. Partition placement and resource allocation for multiple DNN-based applications in heterogeneous IoT environments
CN116708451B (zh) 一种边云协同调度方法及系统
CN113204429A (zh) 一种数据中心的资源调度方法及系统、调度设备、介质
CN117014389A (zh) 算网资源配置方法及系统、电子设备、存储介质
CN115543577B (zh) 基于协变量的Kubernetes资源调度优化方法、存储介质及设备

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