CN117314724A - 图像任务的处理方法、装置、计算机设备及存储介质 - Google Patents
图像任务的处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117314724A CN117314724A CN202311257682.XA CN202311257682A CN117314724A CN 117314724 A CN117314724 A CN 117314724A CN 202311257682 A CN202311257682 A CN 202311257682A CN 117314724 A CN117314724 A CN 117314724A
- Authority
- CN
- China
- Prior art keywords
- image
- task
- tasks
- preset number
- queue
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 8
- 230000015654 memory Effects 0.000 claims description 31
- 238000000034 method Methods 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 26
- 238000010586 diagram Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000002699 waste material Substances 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Image Processing (AREA)
Abstract
本发明涉及图形处理器技术领域,公开了图像任务的处理方法、装置、计算机设备及存储介质,图像任务的处理方法包括:获取第一预设数量的图像任务,将第一预设数量的图像任务添加至任务队列;在任务队列中选取第二预设数量的图像任务,第二预设数量的图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且第二预设数量的图像任务加一个图像任务占用的图形处理器资源的和大于图形处理器总资源;确定图像任务中的每个图像任务所需的图形处理器实例的规格,按照图形处理器实例的规格为图像任务分别分配图形处理器实例;利用图形处理器实例,执行图像任务。本发明为图像任务分配对应的图形处理器实例,使得图像任务顺利执行。
Description
技术领域
本发明涉及图形处理器技术领域,具体涉及图像任务的处理方法、装置、计算机设备及存储介质。
背景技术
随着以容器化技术为基础的云计算的不断发展,越来越多对计算和内存要求高的应用需要运行在云平台上,例如人工智能(Artificial Intelligence,AI)项目、深度学习、模拟训练任务等,且这些应用需要运行在图形处理器(Graphics Processing Unit,GPU)上才能满足其对高计算、高内存的要求。
但随着需要运行在GPU上的应用的增多,GPU资源越来越不足,因此,产生了新的运行方式,先运行一部分任务,等运行结束后,人工再运行新的任务。这样运行完上一部分任务后,到下一部分任务开始运行的间隙会造成资源的使用不充足,而且执行任务的顺序也影响的GPU的使用效率。
随着GPU不断地更新迭代与发展,同一张GPU卡开始支持同时运行多个任务(即GPU共享),但是,当一个任务抢占过多算力和显存时,其他任务便没有足够的GPU资源可用。
发明内容
有鉴于此,本发明提供了一种图像任务的处理方法、装置、计算机设备及存储介质,以解决图像任务没有足够的GPU资源可用的问题。
第一方面,本发明提供了一种图像任务的处理方法,包括:获取第一预设数量的图像任务,以及将第一预设数量的图像任务添加至任务队列;在任务队列中选取第二预设数量的图像任务,第二预设数量的图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且第二预设数量的图像任务加一个图像任务占用的图形处理器资源的和大于图形处理器总资源,第二预设数量小于或等于第一预设数量;确定第二预设数量的图像任务中的每个图像任务所需的图形处理器实例的规格,以及按照每个图像任务所需的图形处理器实例的规格为每个图像任务分别分配图形处理器实例;利用图形处理器实例,执行图像任务。
有益效果:在本发明实施例中,获取第一预设数量的图像任务,以及将第一预设数量的图像任务添加至任务队列,在任务队列中选取第二预设数量的图像任务,第二预设数量的图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且第二预设数量的图像任务加一个图像任务占用的图形处理器资源的和大于图形处理器总资源,即在图形处理器总资源的范围内选取最多数量的图像任务,尽可能多的选取图像任务进行处理,提高图像任务的执行效率。确定第二预设数量的图像任务中的每个图像任务所需的图形处理器实例的规格,以及按照每个图像任务所需的图形处理器实例的规格为每个图像任务分别分配图形处理器实例,为每个图像任务分配对应规格的图形处理器实例,利用图形处理器实例,执行图像任务,不会出现图形处理器实例分配不均匀的情况,防止造成图形处理器资源的浪费。
在一种可选的实施方式中,在利用图形处理器实例,执行图像任务之后,方法还包括:判断是否出现空闲的图形处理器实例;若出现空闲的图形处理器实例,判断任务队列中的队首任务所需的图形处理器实例的规格是否与空闲的图形处理器实例的规格一致;若任务队列中的队首任务所需的图形处理器实例的规格与空闲的图形处理器实例的规格一致,利用空闲的图形处理器实例,执行队首任务;若任务队列中的队首任务所需的图形处理器实例的规格与空闲的图形处理器实例的规格不一致,判断队首任务的优先级;若队首任务的优先级为第一优先级,判断队首任务所需的图形处理器实例的规格是否小于空闲的图形处理器实例的规格;若队首任务所需的图形处理器实例的规格小于空闲的图形处理器实例的规格,利用空闲的图形处理器实例,执行队首任务。
有益效果:本发明实施例中,判断是否出现空闲的图形处理器实例,若出现空闲的图形处理器实例,说明有任务执行结束,存在空闲的图形处理器实例,判断任务队列中的队首任务所需的图形处理器实例的规格是否与空闲的图形处理器实例的规格一致,若一致,便可利用空闲的图形处理器实例,执行队首任务,若不一致,判断队首任务的优先级,若队首任务的优先级为第一优先级,其中,第一优先级为高优先级,若队首任务的优先级为高优先级,则需要优先执行队首任务,因此,判断队首任务所需的图形处理器实例的规格是否小于空闲的图形处理器实例的规格,如果队首任务所需的图形处理器实例的规格小于空闲的图形处理器实例的规格,利用空闲的图形处理器实例,执行队首任务,本发明实施例中,图形处理器资源不断的被使用,使得资源得到充分的利用。
在一种可选的实施方式中,判断是否出现空闲的图形处理器实例,还包括:若未出现空闲的图形处理器实例,则等待所述第二预设数量的图像任务执行结束。
在一种可选的实施方式中,若队首任务的优先级为第二优先级,则等待第二预设数量的图像任务执行结束,第二优先级低于第一优先级。
在一种可选的实施方式中,判断队首任务所需的图形处理器实例的规格是否小于空闲的图形处理器实例的规格,还包括:若队首任务所需的图形处理器实例的规格大于空闲的图形处理器实例的规格,则等待第二预设数量的图像任务执行结束。
在一种可选的实施方式中,在等待第二预设数量的图像任务执行结束之后,还包括:重新获取任务队列中第二预设数量的图像任务。
有益效果:等待第二预设数量的图像任务执行结束之后,从任务队列中重新获取第二预设数量的图像任务,自动分配图形处理器实例并执行图像任务,提高图像任务执行的效率。
在一种可选的实施方式中,在获取第一预设数量的图像任务,以及将第一预设数量的图像任务添加至任务队列之后,方法还包括:判断图形处理器上是否存在正在运行的图像任务;若不存在正在运行的图像任务,则在任务队列中选取第二预设数量的图像任务。
第二方面,本发明提供了一种图像任务的处理装置,包括:图像任务获取模块,用于获取第一预设数量的图像任务,以及将第一预设数量的图像任务添加至任务队列;图像任务选取模块,用于在任务队列中选取第二预设数量的图像任务,第二预设数量的图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且预设数量的图像任务加一个图像任务占用的图形处理器资源的和大于图形处理器总资源,第二预设数量小于或等于第一预设数量;图形处理器实例分配模块,用于确定第二预设数量的图像任务中的每个图像任务所需的图形处理器实例的规格,以及按照每个图像任务所需的图形处理器实例的规格为每个图像任务分别分配图形处理器实例;图像任务执行模块,用于利用图形处理器实例,执行图像任务。
有益效果:在本发明实施例中,图像任务获取模块用于获取第一预设数量的图像任务,以及将第一预设数量的图像任务添加至任务队列,图像任务选取模块,用于在任务队列中选取第二预设数量的图像任务,第二预设数量的图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且第二预设数量的图像任务加一个图像任务占用的图形处理器资源的和大于图形处理器总资源,即在图形处理器总资源的范围内选取最多数量的图像任务,尽可能多的选取图像任务进行处理,提高图像任务的执行效率。图形处理器实例分配模块,用于确定第二预设数量的图像任务中的每个图像任务所需的图形处理器实例的规格,以及按照每个图像任务所需的图形处理器实例的规格为每个图像任务分别分配图形处理器实例,为每个图像任务分配对应规格的图形处理器实例,图像任务执行模块,用于利用图形处理器实例,执行图像任务,不会出现图形处理器实例分配不均匀的情况,防止造成图形处理器资源的浪费。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的图像任务的处理方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的图像任务的处理方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的图像任务的处理方法的流程示意图;
图2是根据本发明实施例的另一图像任务的处理方法的流程示意图;
图3是根据本发明实施例的基于任务队列的多实例图形处理器配置装置的结构框图;
图4是根据本发明实施例的图像任务的处理装置的结构框图;
图5是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种图像任务的处理方法,通过为图像任务分配对应的图形处理器实例以达到图像任务顺利运行的效果。
根据本发明实施例,提供了一种图像任务的处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种图像任务的处理方法,可用于上述的计算机,图1是根据本发明实施例的图像任务的处理方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,获取第一预设数量的图像任务,以及将第一预设数量的图像任务添加至任务队列。
其中,图像任务为需要使用图形处理器(Graphics Processing Unit,GPU)进行执行的任务,GPU又称显示核心、视觉处理器或显示芯片,是一种在电子设备上做图像和图形相关运算工作的微处理器。
在本发明实施例中,任务队列为存放图像任务的队列,队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,即遵循先进先出原则。本发明实施例将第一预设数量的图像任务添加至任务队列时,队列可能是空的,也可能已经存在待执行的图像任务。
在一些可选的实施方式中,在获取第一预设数量的图像任务,以及将第一预设数量的图像任务添加至任务队列之后,方法还包括:判断图形处理器上是否存在正在运行的图像任务;若不存在正在运行的图像任务,则在任务队列中选取第二预设数量的图像任务。
在本发明实施例中,判断图形处理器上是否存在正在运行的图像任务,若不存在正在运行的图像任务,说明图形处理器空闲,在任务队列中选取第二预设数量的图像任务,进而对第二预设数量的图像任务进行处理。
步骤S102,在任务队列中选取第二预设数量的图像任务,第二预设数量的图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且第二预设数量的图像任务加一个图像任务占用的图形处理器资源的和大于图形处理器总资源,第二预设数量小于或等于第一预设数量。
在本发明实施例中,第二预设数量的图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且第二预设数量的图像任务加一个图像任务占用的图形处理器资源的和大于图形处理器总资源,即在图形处理器总资源的范围内选取最多数量的图像任务。
步骤S103,确定第二预设数量的图像任务中的每个图像任务所需的图形处理器实例的规格,以及按照每个图像任务所需的图形处理器实例的规格为每个图像任务分别分配图形处理器实例。
其中,图形处理器(Graphics Processing Unit,GPU)实例指的是云计算服务提供商提供的一种虚拟化的GPU资源的服务,用户可以通过租用这些GPU实例来进行大规模并行计算、机器学习、深度学习等任务。
在本发明实施例中,使用的GPU支持多实例GPU模式,是指将GPU划分为若干个独立的GPU实例,为多个任务提供独立的GPU资源,每个GPU实例都有独立的硬件资源,从而实现共享隔离,示例性地,可将GPU划分为7个独立的GPU实例,这7个独立的GPU实例可以进行资源组合。
在本发明实施例中,一种图像任务所需的图形处理器实例的规格,对应一种图像任务所需的图形处理器实例,若其中一个图像任务所需的图形处理器实例的规格为1g.10gb,则为该图像任务分配1个图形处理器实例,若其中一个图像任务所需的图形处理器实例的规格为2g.200gb,则为该图像任务分配2个图形处理器实例,其中,1g.10gb以及2g.200gb表示图形处理器实例的显存的算力。
步骤S104,利用图形处理器实例,执行图像任务。
在本发明实施例中,获取第一预设数量的图像任务,以及将第一预设数量的图像任务添加至任务队列,在任务队列中选取第二预设数量的图像任务,第二预设数量的图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且第二预设数量的图像任务加一个图像任务占用的图形处理器资源的和大于图形处理器总资源,即在图形处理器总资源的范围内选取最多数量的图像任务,尽可能多的选取图像任务进行处理,提高图像任务的执行效率。确定第二预设数量的图像任务中的每个图像任务所需的图形处理器实例的规格,以及按照每个图像任务所需的图形处理器实例的规格为每个图像任务分别分配图形处理器实例,为每个图像任务分配对应规格的图形处理器实例,利用图形处理器实例,执行图像任务,不会出现图形处理器实例分配不均匀的情况,防止造成图形处理器资源的浪费。
在本实施例中提供了一种图像任务的处理方法,可用于上述的计算机,图2是根据本发明实施例的另一图像任务的处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,获取第一预设数量的图像任务,以及将第一预设数量的图像任务添加至任务队列。详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S202,在任务队列中选取第二预设数量的图像任务,第二预设数量的图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且第二预设数量的图像任务加一个图像任务占用的图形处理器资源的和大于图形处理器总资源,第二预设数量小于或等于第一预设数量。详细请参见图1所示实施例的步骤S102,在此不再赘述。
步骤S203,确定第二预设数量的图像任务中的每个图像任务所需的图形处理器实例的规格,以及按照每个图像任务所需的图形处理器实例的规格为每个图像任务分别分配图形处理器实例。详细请参见图1所示实施例的步骤S103,在此不再赘述。
步骤S204,利用图形处理器实例,执行图像任务。详细请参见图1所示实施例的步骤S104,在此不再赘述。
步骤S205,判断是否出现空闲的图形处理器实例。
步骤S206,若出现空闲的图形处理器实例,判断任务队列中的队首任务所需的图形处理器实例的规格是否与空闲的图形处理器实例的规格一致。
步骤S207,若任务队列中的队首任务所需的图形处理器实例的规格与空闲的图形处理器实例的规格一致,利用空闲的图形处理器实例,执行队首任务。
在一种可选的还是方式中,若任务队列中的队首任务所需的图形处理器实例的规格与空闲的图形处理器实例的规格一致,则说明空闲的图形处理器实例刚好可用于执行任务队列中的队首任务,因此,利用空闲的图形处理器实例,执行队首任务。
步骤S208,若任务队列中的队首任务所需的图形处理器实例的规格与空闲的图形处理器实例的规格不一致,判断队首任务的优先级是否为第一优先级。
步骤S209,若队首任务的优先级为第一优先级,判断队首任务所需的图形处理器实例的规格是否小于空闲的图形处理器实例的规格。
在一些可选的实施方式中,若队首任务的优先级为第一优先级,则说明队首任务的优先级为高优先级,需要优先处理,因此判断队首任务所需的图形处理器实例的规格是否小于空闲的图形处理器实例的规格,若小于,便利用空闲的图形处理器实例,执行队首任务。
步骤S2010,若队首任务所需的图形处理器实例的规格小于空闲的图形处理器实例的规格,利用空闲的图形处理器实例,执行队首任务。
步骤S2011,若未出现空闲的图形处理器实例,则等待所述第二预设数量的图像任务执行结束。
步骤S2012,若队首任务的优先级为第二优先级,则等待第二预设数量的图像任务执行结束,第二优先级低于第一优先级。
其中,第一优先级可以为高优先级,第二优先级可以为低优先级。
步骤S2013,若队首任务所需的图形处理器实例的规格大于空闲的图形处理器实例的规格,则等待第二预设数量的图像任务执行结束。
在一些可选的实施方式中,在等待第二预设数量的图像任务执行结束之后,还包括:重新获取任务队列中第二预设数量的图像任务。
在本发明实施例中,等待第二预设数量的图像任务执行结束之后,从任务队列中重新获取第二预设数量的图像任务,自动分配图形处理器实例并执行图像任务,提高图像任务执行的效率。
在本发明实施例中,判断是否出现空闲的图形处理器实例,若出现空闲的图形处理器实例,说明有任务执行结束,存在空闲的图形处理器实例,判断任务队列中的队首任务所需的图形处理器实例的规格是否与空闲的图形处理器实例的规格一致,若一致,便可利用空闲的图形处理器实例,执行队首任务,若不一致,判断队首任务的优先级,若队首任务的优先级为第一优先级,其中,第一优先级为高优先级,若队首任务的优先级为高优先级,则需要优先执行队首任务,因此,判断队首任务所需的图形处理器实例的规格是否小于空闲的图形处理器实例的规格,如果队首任务所需的图形处理器实例的规格小于空闲的图形处理器实例的规格,利用空闲的图形处理器实例,执行队首任务,本发明实施例中,图形处理器资源不断的被使用,使得资源得到充分的利用。
如图3所示,为本发明实施例提供的基于任务队列的多实例图形处理器配置装置,包括云管理平台和图形处理器,其中云管理平台包括任务队列、任务详情查看器、任务选择计算器以及多实例图形处理器配置器。
除此之外,本发明实施例还包括任务队列接收器,用于接收用户添加的图像任务到任务队列中,可以选择放在任务队列中的位置,也可以同时设置任务的优先级,另外,还可以向任务队列中删除图像任务、修改图像任务。
如图3所示,任务队列中包含多个图像任务,每个图像任务中包含概述,即该任务需要的图形处理器实例的规格以及优先级,示例性的,图3中的任务队列包括五个图像任务,分别为图像任务一、图像任务二、图像任务三、图像任务四以及图像任务五,其中,图像任务一所需的图形处理器实例的规格为1g.10gb,优先级为低优先级,图像任务二所需的图形处理器实例的规格为1g.10gb,优先级为低优先级,图像任务三所需的图形处理器实例的规格为1g.10gb,优先级为低优先级,图像任务四所需的图形处理器实例的规格为1g.10gb,优先级为低优先级,图像任务五所需的图形处理器实例的规格为1g.10gb,优先级为低优先级。
任务选择计算器,用于选择当前时刻,GPU分配的图像任务,以及是否重新对GPU实例的规格进行配置,其中,选择分配的图像任务包括参考图像任务的优先级,以及该空闲的GPU实例的规格大小。若当前GPU的配置,不支持后面图像任务的使用,则重新将GPU进行图形处理器实例配置。
具体地,任务选择计算器,主要功能包括确定任务队列中的图像任务使用GPU实例并利用GPU实例,执行图像任务,调用多实例GPU配置器进行配置GPU等,其详细过程如下:
若GPU上没有图像任务,则判断是否需要重新对GPU实例的规格进行配置,依次选取任务队列中首部的n个图像任务,使这n个图像任务对GPU实例的显存和算力和小于等于该GPU,且队列中首部的n+1个图像任务的显存和算力和大于该GPU的显存算力容量。按照这n个图像任务所需的GPU实例的规格,调用多实例GPU配置器按照这n个图像任务所需的GPU实例的规格进行配置,配置完成后开始运行队列中前n个图像任务。
当GPU上有图像任务执行结束时,出现空闲的GPU实例,则判断队首任务所需的GPU实例的规格是否与空闲出来的GPU实例的规格一致,若一致,则队首任务出队,使用该GPU实例开始运行;若不一致,则判断队首任务的优先级,若优先级为高,判断空闲的GPU实例的规格是否小于队首任务所需的GPU实例的规格,若小于则队首任务出队,使用该GPU实例开始运行,否则等待GPU上的图像任务全部执行完,重新对GPU实例的规格进行配置后运行。若优先级为低,则等待图像任务执行结束。若GPU上的GPU实例全部空闲,且任务队列中没有图像任务满足条件使用其中任何一个GPU实例,则按照GPU上没有图像任务时的方式重新对GPU实例的规格进行配置。
多实例图形处理器配置器,用于根据任务选择计算器确定的每个图像任务的GPU实例的规格,为每个图像任务分配图形处理器实例。
任务详情查看器,用于给用户提供任务队列中图像任务的排序、优先级以及每个图像任务所需的GPU实例的规格。具体地,如图3所示,调用任务队列中的信息供用户查看。
如图3所示,云管理平台中包含任务队列、任务详情查看器、任务选择计算器以及多实例图形处理器配置器,具体地,包括:任务队列存储多个图像任务的配置信息以及优先级,任务选择计算器根据任务队列中的多个图像任务的规格,确定GPU实例规格,多实例图形处理器配置器根据任务选择计算器中确定的GPU实例规格,为每个图像任务分配对应的GPU实例,利用GPU实例,执行图像任务。除此之外,任务详情查看器调用任务队列中的信息供用户查看。
在本发明实施例中,该基于任务队列的多实例GPU的配置装置,对用户来说操作简单,用户只需要在云管理平台上,将需要执行的图像任务放入任务队列中,按照用户的需求信息放在队列中指定的位置,并设置优先级别以及所需的多实例GPU的规格。该装置会自动将GPU进行实例配置,配置后依次从队首向队尾运行图像任务,选择并使用对应的GPU实例。当有图像任务完成有GPU实例空闲时,本装置会进行如下选择,运行队首任务并使用当前空闲的GPU实例、等待新的图像任务完成并空闲出新的GPU实例或者调用多实例GPU配置器,按照当前队列中的图像任务进行分析计算然后重新配置GPU。同时,用户可随时查看任务队列中的图像任务信息以及使用GPU实例的图像任务信息等。在使用过程中,用户也可调整任务队列中为开始的图像任务的顺序,修改其优先级,本发明实施例自动化执行图像任务,使得GPU资源能不断地被使用,资源得到充分的利用,自动配置多实例GPU,降低了操作难度,提高了管理效率和使用效率,提高GPU的使用效率。
在本实施例中还提供了一种图像任务的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种图像任务的处理装置,如图4所示,包括:
图像任务获取模块401,用于获取第一预设数量的图像任务,以及将第一预设数量的图像任务添加至任务队列;
图像任务选取模块402,用于在任务队列中选取第二预设数量的图像任务,第二预设数量的图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且预设数量的图像任务加一个图像任务占用的图形处理器资源的和大于图形处理器总资源,第二预设数量小于或等于第一预设数量;
图形处理器实例分配模块403,用于确定第二预设数量的图像任务中的每个图像任务所需的图形处理器实例的规格,以及按照每个图像任务所需的图形处理器实例的规格为每个图像任务分别分配图形处理器实例;
图像任务执行模块404,用于利用图形处理器实例,执行图像任务。
具体地,上述图像任务的处理装置还包括:
空闲实例判断模块,用于判断是否出现空闲的图形处理器实例。
实例规格判断模块,用于根据出现空闲的图形处理器实例,判断任务队列中的队首任务所需的图形处理器实例的规格是否与空闲的图形处理器实例的规格一致。
任务执行模块,用于根据任务队列中的队首任务所需的图形处理器实例的规格与空闲的图形处理器实例的规格一致,利用空闲的图形处理器实例,执行队首任务。
优先级判断模块,用于根据任务队列中的队首任务所需的图形处理器实例的规格与空闲的图形处理器实例的规格不一致,判断队首任务的优先级。
队首任务规格判断模块,用于根据队首任务的优先级为第一优先级,判断队首任务所需的图形处理器实例的规格是否小于空闲的图形处理器实例的规格。
任务执行模块,还用于根据队首任务所需的图形处理器实例的规格小于空闲的图形处理器实例的规格,利用空闲的图形处理器实例,执行队首任务。
等待模块,用于根据未出现空闲的图形处理器实例,则等待所述第二预设数量的图像任务执行结束,还用于根据队首任务的优先级为第二优先级,则等待第二预设数量的图像任务执行结束,第二优先级低于第一优先级,以及用于根据队首任务所需的图形处理器实例的规格大于空闲的图形处理器实例的规格,则等待第二预设数量的图像任务执行结束。
具体地,在上述图像任务获取模块401之后,所述图像任务的处理装置还包括:
正在运任务判断模块,用于判断图形处理器上是否存在正在运行的图像任务。
图像任务选取模块402,用于根据不存在正在运行的图像任务,在任务队列中选取第二预设数量的图像任务。
在本发明实施例中,图像任务获取模块401,用于获取第一预设数量的图像任务,以及将第一预设数量的图像任务添加至任务队列,图像任务选取模,402,用于在任务队列中选取第二预设数量的图像任务,第二预设数量的图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且第二预设数量的图像任务加一个图像任务占用的图形处理器资源的和大于图形处理器总资源,即在图形处理器总资源的范围内选取最多数量的图像任务,尽可能多的选取图像任务进行处理,提高图像任务的执行效率。图形处理器实例分配模块403,用于确定第二预设数量的图像任务中的每个图像任务所需的图形处理器实例的规格,以及按照每个图像任务所需的图形处理器实例的规格为每个图像任务分别分配图形处理器实例,为每个图像任务分配对应规格的图形处理器实例,图像任务执行模块404,用于利用图形处理器实例,执行图像任务,不会出现图形处理器实例分配不均匀的情况,防止造成图形处理器资源的浪费。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的图像任务的处理装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图4所示的图像任务的处理装置。
请参阅图5,图5是本发明可选实施例提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种图像任务的处理方法,其特征在于,包括:
获取第一预设数量的图像任务,以及将所述第一预设数量的图像任务添加至任务队列;
在所述任务队列中选取第二预设数量的所述图像任务,所述第二预设数量的所述图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且所述第二预设数量的所述图像任务加一个所述图像任务占用的图形处理器资源的和大于所述图形处理器总资源,所述第二预设数量小于或等于所述第一预设数量;
确定所述第二预设数量的所述图像任务中的每个所述图像任务所需的图形处理器实例的规格,以及按照所述每个图像任务所需的图形处理器实例的规格为所述每个图像任务分别分配图形处理器实例;
利用所述图形处理器实例,执行所述图像任务。
2.根据权利要求1所述的方法,其特征在于,在所述利用所述图形处理器实例,执行所述图像任务之后,所述方法还包括:
判断是否出现空闲的图形处理器实例;
若出现空闲的图形处理器实例,判断所述任务队列中的队首任务所需的图形处理器实例的规格是否与空闲的图形处理器实例的规格一致;
若所述任务队列中的队首任务所需的图形处理器实例的规格与空闲的图形处理器实例的规格一致,利用所述空闲的图形处理器实例,执行所述队首任务;
若所述任务队列中的队首任务所需的图形处理器实例的规格与空闲的图形处理器实例的规格不一致,判断所述队首任务的优先级;
若所述队首任务的优先级为第一优先级,判断所述队首任务所需的所述图形处理器实例的规格是否小于所述空闲的图形处理器实例的规格;
若所述队首任务所需的所述图形处理器实例的规格小于所述空闲的图形处理器实例的规格,利用所述空闲的图形处理器实例,执行所述队首任务。
3.根据权利要求2所述的方法,其特征在于,所述判断是否出现空闲的图形处理器实例,还包括:
若未出现空闲的图形处理器实例,则等待所述第二预设数量的所述图像任务执行结束。
4.根据权利要求2所述的方法,其特征在于,所述判断所述队首任务的优先级,还包括:
若所述队首任务的优先级为第二优先级,则等待所述第二预设数量的所述图像任务执行结束,所述第二优先级低于所述第一优先级。
5.根据权利要求2所述的方法,其特征在于,所述判断所述队首任务所需的所述图形处理器实例的规格是否小于所述空闲的图形处理器实例的规格,还包括:
若所述队首任务所需的所述图形处理器实例的规格大于所述空闲的图形处理器实例的规格,则等待所述第二预设数量的所述图像任务执行结束。
6.根据权利要求3至5中任一项所述的方法,其特征在于,在所述等待所述第二预设数量的所述图像任务执行结束之后,还包括:
重新获取所述任务队列中所述第二预设数量的所述图像任务。
7.根据权利要求1或2所述的方法,其特征在于,在所述获取第一预设数量的图像任务,以及将所述第一预设数量的图像任务添加至任务队列之后,所述方法还包括:
判断图形处理器上是否存在正在运行的所述图像任务;
若不存在正在运行的所述图像任务,则在所述任务队列中选取第二预设数量的所述图像任务。
8.一种图像任务的处理装置,其特征在于,所述装置包括:
图像任务获取模块,用于获取第一预设数量的图像任务,以及将所述第一预设数量的图像任务添加至任务队列;
图像任务选取模块,用于在所述任务队列中选取第二预设数量的所述图像任务,所述第二预设数量的所述图像任务占用的图形处理器资源的和小于或等于图形处理器总资源,且所述预设数量的所述图像任务加一个所述图像任务占用的图形处理器资源的和大于所述图形处理器总资源,所述第二预设数量小于或等于所述第一预设数量;
图形处理器实例分配模块,用于确定所述第二预设数量的所述图像任务中的每个所述图像任务所需的图形处理器实例的规格,以及按照所述每个图像任务所需的图形处理器实例的规格为所述每个图像任务分别分配图形处理器实例;
图像任务执行模块,用于利用所述图形处理器实例,执行所述图像任务。
9.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至7中任一项所述的图像任务的处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的图像任务的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311257682.XA CN117314724A (zh) | 2023-09-26 | 2023-09-26 | 图像任务的处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311257682.XA CN117314724A (zh) | 2023-09-26 | 2023-09-26 | 图像任务的处理方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117314724A true CN117314724A (zh) | 2023-12-29 |
Family
ID=89236655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311257682.XA Pending CN117314724A (zh) | 2023-09-26 | 2023-09-26 | 图像任务的处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117314724A (zh) |
-
2023
- 2023-09-26 CN CN202311257682.XA patent/CN117314724A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582455B (zh) | 多线程任务处理方法、装置及存储介质 | |
CN108984264B (zh) | 虚拟gpu的实现方法、装置及系统 | |
CN113535367B (zh) | 任务调度方法及相关装置 | |
CN113641457B (zh) | 容器创建方法、装置、设备、介质及程序产品 | |
CN110413412B (zh) | 一种基于gpu集群资源分配的方法和装置 | |
CN112905326B (zh) | 任务处理方法及装置 | |
CN112825042A (zh) | 资源管理方法和装置、电子设备及存储介质 | |
CN111459645B (zh) | 一种任务调度方法、装置和电子设备 | |
CN107704310B (zh) | 一种实现容器集群管理的方法、装置和设备 | |
CN112486642B (zh) | 资源调度方法、装置、电子设备及计算机可读存储介质 | |
CN109840149B (zh) | 任务调度方法、装置、设备及存储介质 | |
CN114968521A (zh) | 分布式渲染方法及设备 | |
CN108304272B (zh) | 一种数据io请求的处理方法及装置 | |
CN111104219A (zh) | 虚拟核心与物理核心的绑定方法、装置、设备及存储介质 | |
CN111176836A (zh) | 一种云渲染资源调度方法及装置 | |
CN114721818A (zh) | 一种基于Kubernetes集群的GPU分时共享方法和系统 | |
CN116680060B (zh) | 面向异构计算系统的任务分配方法、装置、设备和介质 | |
CN111813541B (zh) | 一种任务调度方法、装置、介质和设备 | |
CN109672931B (zh) | 用于处理视频帧的方法和装置 | |
CN117314724A (zh) | 图像任务的处理方法、装置、计算机设备及存储介质 | |
CN111124655A (zh) | 一种网络请求调度方法、终端装置及存储介质 | |
CN109271538A (zh) | 一种图片存储方法及相关设备 | |
CN110955644A (zh) | 一种存储系统的io控制方法、装置、设备及存储介质 | |
CN115269131A (zh) | 一种任务调度方法及装置 | |
CN111767999A (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 |