CN117407155A - 资源方案确定方法、装置、存储介质及电子设备 - Google Patents
资源方案确定方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117407155A CN117407155A CN202311229224.5A CN202311229224A CN117407155A CN 117407155 A CN117407155 A CN 117407155A CN 202311229224 A CN202311229224 A CN 202311229224A CN 117407155 A CN117407155 A CN 117407155A
- Authority
- CN
- China
- Prior art keywords
- node
- resource
- resource scheme
- list
- scheme
- 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 52
- 238000004891 communication Methods 0.000 claims description 23
- 238000012545 processing Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 10
- 238000001914 filtration Methods 0.000 claims description 5
- 238000012549 training Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000003068 static effect Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种资源方案确定方法、装置、存储介质及电子设备,涉及计算机技术领域。方法包括:构建目标任务的单节点资源方案列表和跨节点资源方案列表;计算单节点资源方案列表和跨节点资源方案列表中不同资源方案的性能值;根据性能值确定目标任务的目标资源方案。通过计算单节点资源方案列表和跨节点资源方案列表中不同资源方案的性能值,并根据性能值确定目标任务的目标资源方案。可以在满足截止时间需求的多个资源方案中选择运行效率最高的资源方案,充分发挥资源性能。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源方案确定方法、装置、存储介质及电子设备。
背景技术
图形处理器(Graphics Processing Unit,GPU),又称显示核心、视觉处理器、显示芯片,专为计算密集型、高度并行化的计算而设计。GPU中存在多种资源,在GPU执行任务过程中,如果对任何一种资源的分配不平衡,均可能造成GPU资源的浪费,从而降低GPU的计算性能。因此,在GPU运行过程中,需要平衡调度每种GPU资源,使得每种GPU资源处于资源平衡状态,从而使得整个GPU的运行处于资源平衡状态,进而提高GPU的计算性能。因此,如何确定高性能的资源方案是目前亟需解决的问题。
发明内容
鉴于上述问题,本申请提供一种资源方案确定方法、装置、存储介质及电子设备,解决了如何确定高性能的资源方案的问题。
为解决上述技术问题,本申请提出以下方案:
第一方面,本申请提供了一种资源方案确定方法,方法包括:构建目标任务的单节点资源方案列表和跨节点资源方案列表;计算单节点资源方案列表和跨节点资源方案列表中不同资源方案的性能值;根据性能值确定目标任务的目标资源方案。
结合第一方面,在一种可能的实现方式中,确定GPU集群中单节点空闲GPU最大值,以及GPU集群中空闲GPU数量;当GPU集群中仅一个节点存在空闲GPU时,根据单节点空闲GPU最大值构建单节点资源方案列表;当GPU集群中多个节点存在空闲GPU时,根据GPU集群中空闲GPU数量构建跨节点资源方案列表。
结合第一方面,在另一种可能的实现方式中,计算目标任务在单节点资源方案列表和跨节点资源方案列表中不同资源方案下的任务结束时间;根据目标任务指示的截止时间,任务结束时间以及GPU集群中GPU总数量计算目标任务在任务结束时间对应的资源方案下的性能值。
结合第一方面,在另一种可能的实现方式中,将单节点资源方案列表中性能值最大的资源方案作为单节点目标资源方案;和/或将跨节点资源方案列表中性能值最大的资源方案作为跨节点目标资源方案。
结合第一方面,在另一种可能的实现方式中,当跨节点目标资源方案存在且单个节点中空闲GPU数量小于GPU集群中GPU总数量时,将跨节点目标资源方案作为目标资源方案;当跨节点目标资源方案不存在时,将单节点目标资源方案作为目标资源方案。
结合第一方面,在另一种可能的实现方式中,对单节点资源方案列表和跨节点资源方案列表中的资源方案进行过滤。
结合第一方面,在另一种可能的实现方式中,将GPU集群中GPU总数量减去1作为第一值;将单节点资源方案列表和跨节点资源方案列表中不满足GPU之间的通信时间小于第一值与单个GPU上的计算时间的乘积的资源方案删除。
第二方面,本申请提供了一种资源方案确定装置,资源方案确定装置包括:构建模块、计算模块和确定模块。
构建模块,用于构建目标任务的单节点资源方案列表和跨节点资源方案列表。
计算模块,用于计算单节点资源方案列表和跨节点资源方案列表中不同资源方案的性能值。
确定模块,用于根据性能值确定目标任务的目标资源方案。
结合第二方面,在一种可能的实现方式中,构建模块,具体用于确定GPU集群中单节点空闲GPU最大值,以及GPU集群中空闲GPU数量;当GPU集群中仅一个节点存在空闲GPU时,根据单节点空闲GPU最大值构建单节点资源方案列表;当GPU集群中多个节点存在空闲GPU时,根据GPU集群中空闲GPU数量构建跨节点资源方案列表。
结合第二方面,在另一种可能的实现方式中,计算模块,具体用于计算目标任务在单节点资源方案列表和跨节点资源方案列表中不同资源方案下的任务结束时间;根据目标任务指示的截止时间,任务结束时间以及GPU集群中GPU总数量计算目标任务在任务结束时间对应的资源方案下的性能值。
结合第二方面,在另一种可能的实现方式中,确定模块,具体用于将单节点资源方案列表中性能值最大的资源方案作为单节点目标资源方案;和/或将跨节点资源方案列表中性能值最大的资源方案作为跨节点目标资源方案。
结合第二方面,在另一种可能的实现方式中,确定模块,还用于当跨节点目标资源方案存在且单个节点中空闲GPU数量小于GPU集群中GPU总数量时,将跨节点目标资源方案作为目标资源方案;当跨节点目标资源方案不存在时,将单节点目标资源方案作为目标资源方案。
结合第二方面,在另一种可能的实现方式中,构建模块,还用于对单节点资源方案列表和跨节点资源方案列表中的资源方案进行过滤。
结合第二方面,在另一种可能的实现方式中,构建模块,还用于将GPU集群中GPU总数量减去1作为第一值;将单节点资源方案列表和跨节点资源方案列表中不满足GPU之间的通信时间小于第一值与单个GPU上的计算时间的乘积的资源方案删除。
为了实现上述目的,根据本申请的第三方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述第一方面的资源方案确定方法。
为了实现上述目的,根据本申请的第四方面,提供了一种电子设备,所述设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,处理器、存储器通过总线完成相互间的通信;处理器用于调用存储器中的程序指令,以执行上述第一方面的资源方案确定方法。
借由上述技术方案,本申请提供的技术方案至少具有下列优点:
本申请提供的一种资源方案确定方法、装置、存储介质及电子设备,本申请通过计算单节点资源方案列表和跨节点资源方案列表中不同资源方案的性能值,并根据性能值确定目标任务的目标资源方案。可以在满足截止时间需求的多个资源方案中选择运行效率最高的资源方案,充分发挥资源性能。
除此之外,本申请将所有资源方案分为单节点资源方案和跨节点资源方案,针对单节点资源方案和跨节点资源方案进行过滤,以过滤掉采用相同数量的GPU时,跨节点资源方案的运行时间大于单节点资源方案的运行时间的资方案。进而保留可进行有效分布式训练的资源方案,减少出现资源浪费的现象。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请实施例提供的一种电子设备的结构示意图;
图2示出了本申请实施例提供的一种资源方案确定方法的流程示意图;
图3示出了本申请实施例提供的一种资源方案确定装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
本申请实施例中术语“第一”“第二”等字样不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。
本申请实施例中术语“至少一个”的含义是指一个或多个,本申请实施例中术语“多个”的含义是指两个或两个以上。
还应理解,术语“如果”可被解释为“当……时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
为方便理解本申请的方案,首先给出相关概念的简要介绍如下。
图形处理器(Graphics Processing Unit,GPU),又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上做图像和图形相关运算工作的微处理器。
以上是对本申请的实施例中涉及到的技术术语的介绍,以下不再赘述。
如背景技术所述,近年来,GPU在硬件架构上已取得持续的高速发展,已经演变为拥有强大的计算能力的高度并行、多线程及多处理核心的处理器,它采用不同于中央处理器(Central Processing Unit,CPU)的单指令多线程(Single Instruction MultipleThread,SIMT)体系结构,增加了编程的灵活性。
GPU专用于解决可表示为数据并行计算的问题,即绝大部分数据元素具有相同的数据路径,而具有极高的计算密度(数学运算与存储器运算的比率),这样可隐藏存储器访问延迟。得益于GPU设备高性能的计算能力,GPU目前在深度学习,机器学习等等领域有着广泛的应用。随着人工智能技术的不断发展与推广,对AI模型的训练越来越依赖于大量的GPU设备。这些设备组成集群之后如何平衡调度每种GPU资源,使得每种GPU资源处于资源平衡状态,从而使得整个GPU的运行处于资源平衡状态,进而提高GPU的计算性能成为了一个研究热点。
有鉴于此,本申请实施例提供一种资源方案确定方法,本申请的GPU集群在接收到用户提交的含有任务截止时间的任务后,针对该任务建立多个资源方案,并从多个资源方案中确定最优资源方案,以供该任务在最优资源方案指示的GPU上运行。
具体方法包括:构建目标任务的单节点资源方案列表和跨节点资源方案列表;计算单节点资源方案列表和跨节点资源方案列表中不同资源方案的性能值;根据性能值确定目标任务的目标资源方案。本申请通过计算单节点资源方案列表和跨节点资源方案列表中不同资源方案的性能值,并根据性能值确定目标任务的目标资源方案。可以在满足截止时间需求的多个资源方案中选择运行效率最高的资源方案,充分发挥资源性能。
除此之外,本申请将所有资源方案分为单节点资源方案和跨节点资源方案,针对单节点资源方案和跨节点资源方案进行过滤,以过滤掉采用相同数量的GPU时,跨节点资源方案的运行时间大于单节点资源方案的运行时间的资方案。进而保留可进行有效分布式训练的资源方案,减少出现资源浪费的现象。
本申请实施例还提供一种资源方案确定装置,该资源方案确定装置可以用于执行上述资源方案确定方法。可选的,该资源方案确定装置可为具有数据处理能力的电子设备,或者是该电子设备中的功能模块,对此不作限定。
例如,该电子设备可以是服务器,其可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。又例如,该电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(Personal Digital Assistant,PDA)、增强现实(Augmented Reality,AR)、虚拟现实(Virtual Reality,VR)设备等终端设备。又例如,该电子设备还可以为录像设备、视频监控设备等设备。本申请对该电子设备的具体形态不作特殊限制。
下面以资源方案确定装置是电子设备为例,如图1所示,图1为本申请提供的一种电子设备100的硬件结构。
如图1所示,该电子设备100包括处理器110,通信线路120以及通信接口130。
可选的,该电子设备100还可以包括存储器140。其中,处理器110,存储器140以及通信接口130之间可以通过通信线路120连接。
其中,处理器110可以是中央处理器(Central Processing Unit,CPU)、通用处理器网络处理器(Network Processor,NP)、数字信号处理器(Digital Signal Processing,DSP)、微处理器、微控制器、可编程逻辑器件(Programmable Logic Device,PLD)或它们的任意组合。处理器110还可以是其它任意具有处理功能的装置,例如电路、器件或软件模块,不做限制。
在一种示例中,处理器110可以包括一个或多个CPU,例如图1中的CPU0和CPU1。
作为一种可选的实现方式,电子设备100包括多个处理器,例如,除处理器110之外,还可以包括处理器170。通信线路120,用于在电子设备100所包括的各部件之间传送信息。
通信接口130,用于与其他设备或其它通信网络进行通信。该其它通信网络可以为以太网,无线接入网(Radio Access Network,RAN),无线局域网(Wireless Local AreaNetworks,WLAN)等。通信接口130可以是模块、电路、收发器或者任何能够实现通信的装置。
存储器140,用于存储指令。其中,指令可以是计算机程序。
其中,存储器140可以是只读存储器(Read-only Memory,ROM)或可存储静态信息和/或指令的其他类型的静态存储设备,也可以是存取存储器(Random Access Memory,RAM)或者可存储信息和/或指令的其他类型的动态存储设备,还可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备等,不予限制。
需要指出的是,存储器140可以独立于处理器110存在,也可以和处理器110集成在一起。存储器140可以用于存储指令或者程序代码或者一些数据等。存储器140可以位于电子设备100内,也可以位于电子设备100外,不做限制。
处理器110,用于执行存储器140中存储的指令,以实现本申请下述实施例提供的通信方法。例如,当电子设备100为终端或者终端中的芯片时,处理器110可以执行存储器140中存储的指令,以实现本申请下述实施例中发送端所执行的步骤。
作为一种可选的实现方式,电子设备100还包括输出器件150和输入器件160。其中,输出器件150可以是显示屏、扬声器等能够将电子设备100的数据输出给用户的器件。输入器件160是可以键盘、鼠标、麦克风或操作杆等能够向电子设备100输入数据的器件。
需要指出的是,图1中示出的结构并不构成对该计算装置的限定,除图1所示部件之外,该计算装置可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本申请实施例描述的资源方案确定装置以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着资源方案确定装置的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
接下来,结合附图对资源方案确定方法进行详细说明。图2为本申请提供的一种资源方案确定方法的流程示意图。具体包括以下步骤:
步骤210、构建目标任务的单节点资源方案列表和跨节点资源方案列表。
本申请的GPU集群在接收到用户提交的含有任务截止时间的目标任务后,针对该目标任务建立多个资源方案,并从多个资源方案中确定最优资源方案,以供该目标任务在最优资源方案指示的GPU上运行。
一个计算机设备(节点)上可以部署一个或多个GPU。当资源方案指示GPU集群中的GPU设备均在同一个计算机设备上时,此时的资源方案为单节点资源方案。当资源方案指示GPU集群中的GPU设备在多个不同的计算机设备上时,此时的资源方案为跨节点资源方案。因此,在本申请实施例中,资源方案列表可以分为单节点资源方案列表和跨节点资源方案列表。
具体的,首先确定存在空闲GPU的节点,该节点上空闲GPU数量,以及GPU集群中存在空闲GPU的节点的数量。其次确定GPU集群中单节点空闲GPU最大值,即GPU集群中哪一个节点存在的空闲GPU数量最多,以及GPU集群中所有空闲GPU的数量。
当GPU集群中仅一个节点存在空闲GPU时,即GPU集群中存在空闲GPU的节点的数量为1,根据单节点空闲GPU最大值构建单节点资源方案列表。单节点资源方案可以占用单节点上的一个空闲GPU,也可以占用单节点上的所有空闲GPU(单节点空闲GPU最大值),因此将占用单节点上的一个空闲GPU,至占用单节点上的所有空闲GPU之间所有的单节点资源方案均加入单节点资源方案列表。
当GPU集群中多个节点存在空闲GPU时,即GPU集群中存在空闲GPU的节点的数量大于1,根据GPU集群中空闲GPU数量构建跨节点资源方案列表。在跨节点资源方案中,任务最多可以占用GPU集群中所有空闲GPU。因此将占用跨节点上的至少两个空闲GPU,至占用GPU集群中所有空闲GPU之间所有的跨节点资源方案均加入跨节点资源方案列表。
除此之外,在分布式深度学习过程中,存在着带宽敏感性。即由于GPU设备间的带宽的差异,当两个不同的资源方案采用相同数量的GPU设备时,会由于GPU设备的布局方式不同而造成任务在这两个资源方案下的运行时间的不同。
当资源方案指示的GPU集群均在同一个节点上时,GPU设备之间直接进行物理通信,因此其带宽速度为GPU设备之间的直连带宽。当资源方案指示的GPU集群在多个节点上时,GPU设备之间需要通过网络进行通信,因此带宽速度则为节点和节点之间的网络带宽。
在GPU集群中GPU总数量和参数数量不变的情况下,GPU与GPU设备之间的通信时间会随着带宽的减少而增加。而当GPU设备间的带宽性能不足以支撑分布式训练时,就会出现多节点分布式训练的运行时间比单节点训练的运行时间要长的情况。然而在人工智能领域要求多节点分布式训练的运行时间比单节点训练的运行时间要短。多节点分布式训练的运行时间为单节点训练的运行时间为/>其中,T1表示单个GPU设备上的运行任务的时间,T2表示GPU与GPU设备之间的通信时间,Sd表示目标任务的数据量,Sb表示一个迭代回合的数据量,N表示GPU集群中GPU总数量。
根据上述推导可以得到T2<(N-1)*T1,因此当资源方案为跨节点资源方案时,将GPU集群中GPU总数量减去1作为第一值;将单节点资源方案列表和跨节点资源方案列表中不满足GPU之间的通信时间小于第一值与单个GPU上的计算时间的乘积的资源方案删除。以过滤掉采用相同数量的GPU时,跨节点资源方案的运行时间大于单节点资源方案的运行时间的资方案。进而保留可进行有效分布式训练的资源方案,减少出现资源浪费的现象。
步骤220、计算单节点资源方案列表和跨节点资源方案列表中不同资源方案的性能值。
由于一些参数量多的模型对于带宽的敏感性较强,在单节点上可以得到训练加速的效果,而在相同GPU数量的跨节点资源方案上由于没有完全抵消通信开销而无法得到训练加速的效果。因此本申请需要考虑不同模型在单节点和跨节点资源布局方式上的带宽差异,过于追求减少当前任务的完成时间而选择单节点资源方案时,可能会造成后续到达任务在需要单节点资源方案时的排队延迟和资源利用率的下降。
为了衡量任务在不同资源方案下的性能,并在满足截止时间需求的多个资源方案中选择运行效率最高的资源方案,充分发挥资源性能。本申请在得到单节点资源方案和跨节点资源方案后,还需要计算这些资源方案的性能值,以从这些资源方案中确定性能最好的资源方案。
具体的,计算目标任务在单节点资源方案列表和跨节点资源方案列表中不同资源方案下的任务结束时间;根据目标任务指示的截止时间,任务结束时间以及GPU集群中GPU总数量计算目标任务在任务结束时间对应的资源方案下的性能值。
当一个资源方案使用的资源数目越少且能得到的任务运行结束时间越短,则发挥的资源性能越高。
步骤230、根据性能值确定目标任务的目标资源方案。
将单节点资源方案列表中性能值最大的资源方案作为单节点目标资源方案。将跨节点资源方案列表中性能值最大的资源方案作为跨节点目标资源方案。
进一步的,当跨节点目标资源方案存在且单个节点中空闲GPU数量小于GPU集群中GPU总数量时,将跨节点目标资源方案作为目标资源方案。当跨节点目标资源方案不存在时,将单节点目标资源方案作为目标资源方案。
综上,本申请通过计算单节点资源方案列表和跨节点资源方案列表中不同资源方案的性能值,并根据性能值确定目标任务的目标资源方案。可以在满足截止时间需求的多个资源方案中选择运行效率最高的资源方案,充分发挥资源性能。
除此之外,本申请将所有资源方案分为单节点资源方案和跨节点资源方案,针对单节点资源方案和跨节点资源方案进行过滤,以过滤掉采用相同数量的GPU时,跨节点资源方案的运行时间大于单节点资源方案的运行时间的资方案。进而保留可进行有效分布式训练的资源方案,减少出现资源浪费的现象。
可以理解的是,为了实现上述实施例中功能,计算机设备包括了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本申请中所公开的实施例描述的各示例的单元及方法步骤,本申请能够以硬件或硬件和计算机软件相结合的形式来实现。某个功能究竟以件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用场景和设计约束条件。
进一步的,作为对上述图2所示方法实施例的实现,本申请实施例提供了一种资源方案确定装置,该装置用于为待执行任务匹配资源方案。该装置的实施例与前述方法实施例对应,为便于阅读,本实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。具体如图3所示,资源方案确定装置300包括:构建模块310、计算模块320和确定模块330。
构建模块310,用于构建目标任务的单节点资源方案列表和跨节点资源方案列表。
计算模块320,用于计算单节点资源方案列表和跨节点资源方案列表中不同资源方案的性能值。
确定模块330,用于根据性能值确定目标任务的目标资源方案。
进一步的,如图3所示,构建模块310,具体用于确定GPU集群中单节点空闲GPU最大值,以及GPU集群中空闲GPU数量;当GPU集群中仅一个节点存在空闲GPU时,根据单节点空闲GPU最大值构建单节点资源方案列表;当GPU集群中多个节点存在空闲GPU时,根据GPU集群中空闲GPU数量构建跨节点资源方案列表。
进一步的,如图3所示,计算模块320,具体用于计算目标任务在单节点资源方案列表和跨节点资源方案列表中不同资源方案下的任务结束时间;根据目标任务指示的截止时间,任务结束时间以及GPU集群中GPU总数量计算目标任务在任务结束时间对应的资源方案下的性能值。
进一步的,如图3所示,确定模块330,具体用于将单节点资源方案列表中性能值最大的资源方案作为单节点目标资源方案;和/或将跨节点资源方案列表中性能值最大的资源方案作为跨节点目标资源方案。
进一步的,如图3所示,确定模块330,还用于当跨节点目标资源方案存在且单个节点中空闲GPU数量小于GPU集群中GPU总数量时,将跨节点目标资源方案作为目标资源方案;当跨节点目标资源方案不存在时,将单节点目标资源方案作为目标资源方案。
进一步的,如图3所示,构建模块310,还用于对单节点资源方案列表和跨节点资源方案列表中的资源方案进行过滤。
进一步的,如图3所示,构建模块310,还用于将GPU集群中GPU总数量减去1作为第一值;将单节点资源方案列表和跨节点资源方案列表中不满足GPU之间的通信时间小于第一值与单个GPU上的计算时间的乘积的资源方案删除。
本申请实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述资源方案确定方法。
本申请实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述资源方案确定方法。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:构建目标任务的单节点资源方案列表和跨节点资源方案列表;计算单节点资源方案列表和跨节点资源方案列表中不同资源方案的性能值;根据性能值确定目标任务的目标资源方案。
进一步的,确定GPU集群中单节点空闲GPU最大值,以及GPU集群中空闲GPU数量;当GPU集群中仅一个节点存在空闲GPU时,根据单节点空闲GPU最大值构建单节点资源方案列表;当GPU集群中多个节点存在空闲GPU时,根据GPU集群中空闲GPU数量构建跨节点资源方案列表。
进一步的,计算目标任务在单节点资源方案列表和跨节点资源方案列表中不同资源方案下的任务结束时间;根据目标任务指示的截止时间,任务结束时间以及GPU集群中GPU总数量计算目标任务在任务结束时间对应的资源方案下的性能值。
进一步的,将单节点资源方案列表中性能值最大的资源方案作为单节点目标资源方案;和/或将跨节点资源方案列表中性能值最大的资源方案作为跨节点目标资源方案。
进一步的,当跨节点目标资源方案存在且单个节点中空闲GPU数量小于GPU集群中GPU总数量时,将跨节点目标资源方案作为目标资源方案;当跨节点目标资源方案不存在时,将单节点目标资源方案作为目标资源方案。
进一步的,对单节点资源方案列表和跨节点资源方案列表中的资源方案进行过滤。
进一步的,将GPU集群中GPU总数量减去1作为第一值;将单节点资源方案列表和跨节点资源方案列表中不满足GPU之间的通信时间小于第一值与单个GPU上的计算时间的乘积的资源方案删除。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种资源方案确定方法,其特征在于,所述方法包括:
构建目标任务的单节点资源方案列表和跨节点资源方案列表;
计算所述单节点资源方案列表和所述跨节点资源方案列表中不同资源方案的性能值;
根据所述性能值确定所述目标任务的目标资源方案。
2.根据权利要求1所述的方法,其特征在于,构建目标任务的单节点资源方案列表和跨节点资源方案列表,包括:
确定图形处理器(GPU)集群中单节点空闲GPU最大值,以及所述GPU集群中空闲GPU数量;
当所述GPU集群中仅一个节点存在空闲GPU时,根据所述单节点空闲GPU最大值构建所述单节点资源方案列表;
当所述GPU集群中多个节点存在空闲GPU时,根据所述GPU集群中空闲GPU数量构建所述跨节点资源方案列表。
3.根据权利要求2所述的方法,其特征在于,计算所述单节点资源方案列表和所述跨节点资源方案列表中不同资源方案的性能值,包括:
计算所述目标任务在所述单节点资源方案列表和所述跨节点资源方案列表中不同资源方案下的任务结束时间;
根据所述目标任务指示的截止时间,所述任务结束时间以及所述GPU集群中GPU总数量计算所述目标任务在所述任务结束时间对应的资源方案下的所述性能值。
4.根据权利要求3所述的方法,其特征在于,根据所述性能值确定所述目标任务的目标资源方案,包括:
将所述单节点资源方案列表中所述性能值最大的资源方案作为单节点目标资源方案;和/或
将所述跨节点资源方案列表中所述性能值最大的资源方案作为跨节点目标资源方案。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述跨节点目标资源方案存在且单个节点中空闲GPU数量小于所述GPU集群中GPU总数量时,将所述跨节点目标资源方案作为所述目标资源方案;
当所述跨节点目标资源方案不存在时,将所述单节点目标资源方案作为所述目标资源方案。
6.根据权利要求1所述的方法,其特征在于,构建目标任务的单节点资源方案列表和跨节点资源方案列表之后,所述方法还包括:
对所述单节点资源方案列表和所述跨节点资源方案列表中的资源方案进行过滤。
7.根据权利要求6所述的方法,其特征在于,对所述单节点资源方案列表和所述跨节点资源方案列表中的资源方案进行过滤,包括:
将所述GPU集群中GPU总数量减去1作为第一值;
将所述单节点资源方案列表和所述跨节点资源方案列表中不满足GPU之间的通信时间小于所述第一值与单个GPU上的计算时间的乘积的资源方案删除。
8.一种资源方案确定装置,其特征在于,所述装置包括:
构建模块,用于构建目标任务的单节点资源方案列表和跨节点资源方案列表;
计算模块,用于计算所述单节点资源方案列表和所述跨节点资源方案列表中不同资源方案的性能值;
确定模块,用于根据所述性能值确定所述目标任务的目标资源方案。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如权利要求1-7中任一项所述的资源方案确定方法。
10.一种电子设备,其特征在于,所述设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1-7中任一项所述的资源方案确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311229224.5A CN117407155A (zh) | 2023-09-22 | 2023-09-22 | 资源方案确定方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311229224.5A CN117407155A (zh) | 2023-09-22 | 2023-09-22 | 资源方案确定方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117407155A true CN117407155A (zh) | 2024-01-16 |
Family
ID=89486217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311229224.5A Pending CN117407155A (zh) | 2023-09-22 | 2023-09-22 | 资源方案确定方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407155A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736987A (zh) * | 2020-05-29 | 2020-10-02 | 山东大学 | 一种基于gpu空间资源共享的任务调度方法 |
CN114116149A (zh) * | 2020-08-25 | 2022-03-01 | 华为技术有限公司 | 一种任务调度方法、装置、设备及介质 |
CN114647515A (zh) * | 2022-04-12 | 2022-06-21 | 杭州电子科技大学 | 一种面向gpu集群的动态资源调度方法 |
US20220276899A1 (en) * | 2021-07-07 | 2022-09-01 | Beijing Baidu Netcom Science Technology Co., Ltd. | Resource scheduling method, device, and storage medium |
CN115599533A (zh) * | 2021-07-07 | 2023-01-13 | 腾讯科技(深圳)有限公司(Cn) | 任务处理方法、装置、设备以及存储介质 |
CN115934362A (zh) * | 2023-02-27 | 2023-04-07 | 北京大学 | 面向深度学习的服务器无感知计算集群调度方法及产品 |
-
2023
- 2023-09-22 CN CN202311229224.5A patent/CN117407155A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111736987A (zh) * | 2020-05-29 | 2020-10-02 | 山东大学 | 一种基于gpu空间资源共享的任务调度方法 |
CN114116149A (zh) * | 2020-08-25 | 2022-03-01 | 华为技术有限公司 | 一种任务调度方法、装置、设备及介质 |
US20220276899A1 (en) * | 2021-07-07 | 2022-09-01 | Beijing Baidu Netcom Science Technology Co., Ltd. | Resource scheduling method, device, and storage medium |
CN115599533A (zh) * | 2021-07-07 | 2023-01-13 | 腾讯科技(深圳)有限公司(Cn) | 任务处理方法、装置、设备以及存储介质 |
CN114647515A (zh) * | 2022-04-12 | 2022-06-21 | 杭州电子科技大学 | 一种面向gpu集群的动态资源调度方法 |
CN115934362A (zh) * | 2023-02-27 | 2023-04-07 | 北京大学 | 面向深度学习的服务器无感知计算集群调度方法及产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20150295970A1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
CN111506434B (zh) | 一种任务处理方法、装置及计算机可读存储介质 | |
KR101531752B1 (ko) | 지역성 인식 작업 가로채기 런타임 스케줄러 | |
US11422857B2 (en) | Multi-level scheduling | |
CN104461673B (zh) | 一种虚拟机迁移判定方法及装置 | |
CN115098412B (zh) | 外设访问控制器、数据访问装置及对应方法、介质和芯片 | |
US20160210171A1 (en) | Scheduling in job execution | |
WO2021259098A1 (zh) | 一种基于卷积神经网络的加速系统、方法及存储介质 | |
CN114706689B (zh) | 一种基于子任务特性的多核处理器任务调度方法及系统 | |
CN112882819B (zh) | 芯片工作频率的设置方法和装置 | |
CN114005458A (zh) | 基于流水线架构的语音降噪方法、系统及存储介质 | |
CN118035618B (zh) | 数据处理器、数据处理方法、电子设备、存储介质 | |
CN117407155A (zh) | 资源方案确定方法、装置、存储介质及电子设备 | |
CN112965788A (zh) | 一种混合虚拟化方式的任务执行方法、系统及设备 | |
US20230143270A1 (en) | Apparatus and method with scheduling | |
CN111078286A (zh) | 数据通信方法、计算系统和存储介质 | |
CN117632457A (zh) | 一种加速器调度方法及相关装置 | |
KR20220049294A (ko) | 스케줄러, 스케줄러의 동작 방법 및 이를 포함한 전자 장치 | |
CN113556242A (zh) | 一种基于多处理节点来进行节点间通信的方法和设备 | |
CN118113435A (zh) | 任务调度模型的构建方法、装置、存储介质及电子设备 | |
US20240330230A1 (en) | Apparatus and methods for universal serial bus 4 (usb4) data bandwidth scaling | |
Kong et al. | Energy-constrained scheduling for weakly-hard real-time tasks on multiprocessors | |
CN117651044B (zh) | 一种边缘计算任务调度方法及装置 | |
CN117519996B (zh) | 一种数据处理方法、装置、设备以及存储介质 | |
CN118034876A (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 |