CN115098272A - Gpu资源调度方法、调度器、电子设备和存储介质 - Google Patents
Gpu资源调度方法、调度器、电子设备和存储介质 Download PDFInfo
- Publication number
- CN115098272A CN115098272A CN202211037131.8A CN202211037131A CN115098272A CN 115098272 A CN115098272 A CN 115098272A CN 202211037131 A CN202211037131 A CN 202211037131A CN 115098272 A CN115098272 A CN 115098272A
- Authority
- CN
- China
- Prior art keywords
- gpu
- calling
- local
- gpu resource
- resource
- 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/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/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种GPU资源调度方法、调度器、电子设备和存储介质,其中,GPU资源调度方法包括:拦截目标应用对象的GPU资源调用请求;基于GPU资源使用数据判断本地GPU资源是否满足调用需求,其中,所述GPU资源调用请求携带所述调用需求;当所述本地GPU资源满足所述调用需求时,调用所述本地GPU资源响应所述GPU资源调用请求;当所述本地GPU资源无法满足所述调用需求时,调用远程GPU资源响应所述GPU资源调用请求。本申请能够在不增加硬件成本的前提下,满足GPU资源调用需求,同时,本申请能够优先利用调用性能更优的本地GPU资源响应请求,进而降低调用远程GPU资源所带来的精度损失与通讯开销。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种GPU资源调度方法、调度器、电子设备和存储介质。
背景技术
目前,由于GPU主板的空间限制,GPU使用的PCI-E 插槽的数目是有限的,这限制了主机上的程序直接利用GPU的数量,即GPU资源有限,针对上述问题,现有技术的一种解决方案是通过改进GPU主板的硬件,进而扩展PCI-E 插槽的数目,然而这种方式的成本比较高昂。另一方,现有技术的另一种解决方案是通过分布式计算增加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资源无法满足需求时,利用远程GPU资源响应所述GPU资源调用请求,而不需要通过改进GPU主板的PCI-E 插槽的数目,因此具有更低的成本。同时,本申请在利用远程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计算函数,并得到第二计算结果;
接收所述本地主机的后端服务返回的所述第二计算结果。
在可选的实施方式中,通过将所述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资源响应所述GPU资源调用请求;
第二调用模块,用于当所述本地GPU资源无法满足所述调用需求时,调用远程GPU资源响应所述GPU资源调用请求。
在本申请第二方面中,通过拦截目标应用对象的GPU资源调用请求,进而能够基于GPU资源使用数据判断本地GPU资源是否满足调用需求,进而当所述本地GPU资源满足所述调用需求时,调用所述本地GPU资源响应所述GPU资源调用请求,而当所述本地GPU资源无法满足所述调用需求时,调用远程GPU资源响应所述GPU资源调用请求,这样一来,本申请能够子本地GPU资源无法满足需求时,利用远程GPU资源响应所述GPU资源调用请求,而不需要通过改进GPU主板的PCI-E 插槽的数目,因此具有更低的成本。同时,本申请在利用远程GPU资源响应所述GPU资源调用请求之前,能够先判断本地GPU资源是否满足调用需求,并在本地GPU资源满足所述调用需求时,调用所述本地GPU资源响应所述GPU资源调用请求,这样一来,就能够优先利用调用性能更优的本地GPU资源响应请求,进而降低调用远程GPU资源所带来的精度损失与通讯开销。
第三方面,本发明提供一种电子设备,包括:
处理器;以及
存储器,配置用于存储机器可读指令,所述指令在由所述处理器执行时,执行如前述实施方式任一项所述的GPU资源调度方法。
本申请第三方面的电子设备通过执行GPU资源调度方法,能够拦截目标应用对象的GPU资源调用请求,进而基于GPU资源使用数据判断本地GPU资源是否满足调用需求,进而当所述本地GPU资源满足所述调用需求时,调用所述本地GPU资源响应所述GPU资源调用请求,而当所述本地GPU资源无法满足所述调用需求时,调用远程GPU资源响应所述GPU资源调用请求,这样一来,本申请能够子本地GPU资源无法满足需求时,利用远程GPU资源响应所述GPU资源调用请求,而不需要通过改进GPU主板的PCI-E 插槽的数目,因此具有更低的成本。同时,本申请在利用远程GPU资源响应所述GPU资源调用请求之前,能够先判断本地GPU资源是否满足调用需求,并在本地GPU资源满足所述调用需求时,调用所述本地GPU资源响应所述GPU资源调用请求,这样一来,就能够优先利用调用性能更优的本地GPU资源响应请求,进而降低调用远程GPU资源所带来的精度损失与通讯开销。
第四方面,本发明提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行如前述实施方式任一项所述的GPU资源调度方法。
本申请第四方面的存储介质通过执行GPU资源调度方法,能够拦截目标应用对象的GPU资源调用请求,进而基于GPU资源使用数据判断本地GPU资源是否满足调用需求,进而当所述本地GPU资源满足所述调用需求时,调用所述本地GPU资源响应所述GPU资源调用请求,而当所述本地GPU资源无法满足所述调用需求时,调用远程GPU资源响应所述GPU资源调用请求,这样一来,本申请能够子本地GPU资源无法满足需求时,利用远程GPU资源响应所述GPU资源调用请求,而不需要通过改进GPU主板的PCI-E 插槽的数目,因此具有更低的成本。同时,本申请在利用远程GPU资源响应所述GPU资源调用请求之前,能够先判断本地GPU资源是否满足调用需求,并在本地GPU资源满足所述调用需求时,调用所述本地GPU资源响应所述GPU资源调用请求,这样一来,就能够优先利用调用性能更优的本地GPU资源响应请求,进而降低调用远程GPU资源所带来的精度损失与通讯开销。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本申请实施例公开的一种资源调度方法的流程示意图;
图2是本申请实施例公开的一种调度器的结构示意图;
图3是本申请实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
实施例一
请参阅图1,图1是本申请实施例公开的一种资源调度方法的流程示意图,其中,该GPU资源调度方法应用于云计算容器中。如图1所示,本申请实施例的方法包括以下步骤:
101、拦截目标应用对象的GPU资源调用请求;
102、基于GPU资源使用数据判断本地GPU资源是否满足调用需求,其中,GPU资源调用请求携带调用需求;
103、当本地GPU资源满足调用需求时,调用本地GPU资源响应GPU资源调用请求;
104、当本地GPU资源无法满足调用需求时,调用远程GPU资源响应GPU资源调用请求。
在本申请实施例中,通过拦截目标应用对象的GPU资源调用请求,进而能够基于GPU资源使用数据判断本地GPU资源是否满足调用需求,进而当本地GPU资源满足调用需求时,调用本地GPU资源响应GPU资源调用请求,而当本地GPU资源无法满足调用需求时,调用远程GPU资源响应GPU资源调用请求,这样一来,本申请能够子本地GPU资源无法满足需求时,利用远程GPU资源响应GPU资源调用请求,而不需要通过改进GPU主板的PCI-E 插槽的数目,因此具有更低的成本。同时,本申请在利用远程GPU资源响应GPU资源调用请求之前,能够先判断本地GPU资源是否满足调用需求,并在本地GPU资源满足调用需求时,调用本地GPU资源响应GPU资源调用请求,这样一来,就能够优先利用调用性能更优的本地GPU资源响应请求,进而降低调用远程GPU资源所带来的精度损失与通讯开销。
在本申请实施例中,GPU(Graphics Processing Unit,图形处理器),是指用在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上运行绘图运算工作的微处理器,其中,GPU的构成相对简单,有数量众多的计算单元和超长的流水线,特别适合处理大量的类型统一的数据,但GPU无法单独工作,必须由CPU进行控制调用才能工作。CPU可单独作用,处理复杂的逻辑运算和不同的数据类型,但当需要大量的处理类型统一的数据时,则可调用GPU进行并行计算。
在本申请实施例中,调用需求是执行任务所需的GPU资源,例如,执行一个渲染任务,如果需要使用到“70%的GPU资源”,则调用需求就是“70%的GPU资源”,在一些实施方式中,调用需求可直接使用“70%”这一数值表示。
在本申请实施例中,云计算容器是指提供云计算功能的虚拟环境,其中,该程序能够被本地主机的一个进程执行。
在本申请实施例中,目标应用对象是指在云计算容器中运行的应用程序,例如,目标应用对象可以是云计算容器中运行的游戏等。
在本申请实施例中,针对步骤101,拦截目标应用对象的GPU资源调用请求的一种具体方式为:
基于预设周期实时监测目标应用对象是否广播了GPU资源调用事件,如果监测到目标应用对象广播了GPU资源调用事件,则拦截目标应用对象的GPU资源调用请求。
在本申请实施例中,针对步骤102,GPU资源使用数据用于表示本地主机的GPU使用请求和远程主机的GPU使用情况。
在本申请实施例中,针对步骤102,本地GPU资源是指本地主机提供的GPU资源,其中,GPU资源是指本地主机的GPU提供的运算能力。
在本申请实施例中,针对步骤104,远程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资源使用数据包括本地GPU资源使用率。相应地,步骤:基于GPU资源使用数据判断本地GPU资源是否满足调用需求,包括:
基于本地GPU资源使用率判断本地GPU资源是否满足调用需求。
在本可选的实施方式中,基于本地GPU资源使用率能够判断本地GPU资源是否满足调用需求。
在可选的实施方式中,基于本地GPU资源使用率判断本地GPU资源是否满足调用需求,包括:
当本地GPU资源使用率大于预设阈值时,则确定本地GPU资源无法满足调用需求,而当本地GPU资源使用率小于等于预设阈值时,则确定本地GPU资源满足调用需求。
在本可选的实施方式中,当本地GPU资源使用率大于预设阈值时,能够确定本地GPU资源无法满足调用需求,而当本地GPU资源使用率小于等于预设阈值时,能够确定本地GPU资源满足调用需求。
在本申请实施例中,预设阈值可以是80%,也可以是90%,本申请实施例对预设阈值的具体数值不作限定。
实施例二
请参阅图2,图2是本申请实施例公开的一种调度器的结构示意图,其中,调度器应用于云计算容器中。如图2所示,本申请实施例的调度器包括以下功能模块:
监测模块201,用于拦截目标应用对象的GPU资源调用请求;
判断模块202,用于基于GPU资源使用数据判断本地GPU资源是否满足调用需求,其中,GPU资源调用请求携带调用需求;
第一调用模块203,用于当本地GPU资源满足调用需求时,调用本地GPU资源响应GPU资源调用请求;
第二调用模块204,用于当本地GPU资源无法满足调用需求时,调用远程GPU资源响应GPU资源调用请求。
在本申请实施例中,通过拦截目标应用对象的GPU资源调用请求,进而能够基于GPU资源使用数据判断本地GPU资源是否满足调用需求,进而当本地GPU资源满足调用需求时,调用本地GPU资源响应GPU资源调用请求,而当本地GPU资源无法满足调用需求时,调用远程GPU资源响应GPU资源调用请求,这样一来,本申请能够子本地GPU资源无法满足需求时,利用远程GPU资源响应GPU资源调用请求,而不需要通过改进GPU主板的PCI-E 插槽的数目,因此具有更低的成本。同时,本申请在利用远程GPU资源响应GPU资源调用请求之前,能够先判断本地GPU资源是否满足调用需求,并在本地GPU资源满足调用需求时,调用本地GPU资源响应GPU资源调用请求,这样一来,就能够优先利用调用性能更优的本地GPU资源响应请求,进而降低调用远程GPU资源所带来的精度损失与通讯开销。
需要说明的是,关于本申请实施例的调度器的其他详细说明,请参阅本申请实施例一的相关说明,本申请实施例对此不作赘述。
实施例三
请参阅图3,图3是本申请实施例公开的一种电子设备的结构示意图,如图3所示,本申请实施例的电子设备包括:
处理器301;以及
存储器302,配置用于存储机器可读指令,指令在由处理器301执行时,执行如前述实施方式任一项的GPU资源调度方法。
本申请实施例的电子设备通过执行GPU资源调度方法,能够拦截目标应用对象的GPU资源调用请求,进而基于GPU资源使用数据判断本地GPU资源是否满足调用需求,进而当本地GPU资源满足调用需求时,调用本地GPU资源响应GPU资源调用请求,而当本地GPU资源无法满足调用需求时,调用远程GPU资源响应GPU资源调用请求,这样一来,本申请能够子本地GPU资源无法满足需求时,利用远程GPU资源响应GPU资源调用请求,而不需要通过改进GPU主板的PCI-E 插槽的数目,因此具有更低的成本。同时,本申请在利用远程GPU资源响应GPU资源调用请求之前,能够先判断本地GPU资源是否满足调用需求,并在本地GPU资源满足调用需求时,调用本地GPU资源响应GPU资源调用请求,这样一来,就能够优先利用调用性能更优的本地GPU资源响应请求,进而降低调用远程GPU资源所带来的精度损失与通讯开销。
实施例四
本申请实施例提供一种存储介质,存储介质存储有计算机程序,计算机程序被处理器执行如前述实施方式任一项的GPU资源调度方法。
本申请实施例的存储介质通过执行GPU资源调度方法,能够拦截目标应用对象的GPU资源调用请求,进而基于GPU资源使用数据判断本地GPU资源是否满足调用需求,进而当本地GPU资源满足调用需求时,调用本地GPU资源响应GPU资源调用请求,而当本地GPU资源无法满足调用需求时,调用远程GPU资源响应GPU资源调用请求,这样一来,本申请能够子本地GPU资源无法满足需求时,利用远程GPU资源响应GPU资源调用请求,而不需要通过改进GPU主板的PCI-E 插槽的数目,因此具有更低的成本。同时,本申请在利用远程GPU资源响应GPU资源调用请求之前,能够先判断本地GPU资源是否满足调用需求,并在本地GPU资源满足调用需求时,调用本地GPU资源响应GPU资源调用请求,这样一来,就能够优先利用调用性能更优的本地GPU资源响应请求,进而降低调用远程GPU资源所带来的精度损失与通讯开销。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种GPU资源调度方法,其特征在于,所述GPU资源调度方法应用于云计算容器中,所述GPU资源调度方法包括:
拦截目标应用对象的GPU资源调用请求;
基于GPU资源使用数据判断本地GPU资源是否满足调用需求,其中,所述GPU资源调用请求携带所述调用需求;
当所述本地GPU资源满足所述调用需求时,调用所述本地GPU资源响应所述GPU资源调用请求;
当所述本地GPU资源无法满足所述调用需求时,调用远程GPU资源响应所述GPU资源调用请求。
2.如权利要求1所述的GPU资源调度方法,其特征在于,在所述调用远程GPU资源响应所述GPU资源调用请求之前,所述GPU资源调度方法还包括:
向所述远程GPU资源所在的远程主机发送网络连接请求,以通过所述网络连接请求,与所述远程主机的后端服务建立网络连接。
3.如权利要求1所述的GPU资源调度方法,其特征在于,所述调用远程GPU资源响应所述GPU资源调用请求,包括:
将所述GPU资源调用请求进行序列化和映射处理,得到目标请求;
基于与所述远程主机的后端服务的网络连接,将所述目标请求发送至所述远程主机的后端服务,以使得所述远程主机的后端服务调用所述远程主机的GPU软件堆栈执行GPU计算函数,并得到第一计算结果;
接收所述远程主机的后端服务返回的所述第一计算结果。
4.如权利要求1所述的GPU资源调度方法,其特征在于,调用所述本地GPU资源响应所述GPU资源调用请求,包括:
将所述GPU资源调用请求发送至本地主机的后端服务,以使所述本地主机的后端服务调用所述本地主机的GPU软件堆栈执行GPU计算函数,并得到第二计算结果;
接收所述本地主机的后端服务返回的所述第二计算结果。
5.如权利要求4所述的GPU资源调度方法,其特征在于,所述GPU资源调度方法还包括:
获取所述本地主机的内存地址;
将所述本地主机的内存地址映射到所述云计算容器的内存空间中,以使得所述本地主机的后端服务通过共享内存通信方式与所述云计算容器进行数据交互。
6.如权利要求1所述的GPU资源调度方法,其特征在于,所述GPU资源使用数据包括本地GPU资源使用率;
以及,所述基于GPU资源使用数据判断本地GPU资源是否满足调用需求,包括:
基于所述本地GPU资源使用率判断所述本地GPU资源是否满足所述调用需求。
7.如权利要求6所述的GPU资源调度方法,其特征在于,所述基于所述本地GPU资源使用率判断所述本地GPU资源是否满足调用需求,包括:
当所述本地GPU资源使用率大于预设阈值时,则确定所述本地GPU资源无法满足所述调用需求;
当所述本地GPU资源使用率小于等于所述预设阈值时,则确定所述本地GPU资源满足所述调用需求。
8.一种调度器,其特征在于,所述调度器应用于云计算容器中,所述调度器包括:
监测模块,用于拦截目标应用对象的GPU资源调用请求;
判断模块,用于基于GPU资源使用数据判断本地GPU资源是否满足调用需求,其中,所述GPU资源调用请求携带所述调用需求;
第一调用模块,用于当所述本地GPU资源满足所述调用需求时,调用所述本地GPU资源响应所述GPU资源调用请求;
第二调用模块,用于当所述本地GPU资源无法满足所述调用需求时,调用远程GPU资源响应所述GPU资源调用请求。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,配置用于存储机器可读指令,所述指令在由所述处理器执行时,执行如权利要求1-7任一项所述的GPU资源调度方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行如权利要求1-7任一项所述的GPU资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211037131.8A CN115098272A (zh) | 2022-08-29 | 2022-08-29 | Gpu资源调度方法、调度器、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211037131.8A CN115098272A (zh) | 2022-08-29 | 2022-08-29 | Gpu资源调度方法、调度器、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115098272A true CN115098272A (zh) | 2022-09-23 |
Family
ID=83299882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211037131.8A Pending CN115098272A (zh) | 2022-08-29 | 2022-08-29 | Gpu资源调度方法、调度器、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115098272A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116056244A (zh) * | 2023-03-07 | 2023-05-02 | 浙江万胜智能科技股份有限公司 | 一种基于远程模块的公网无线通信资源调度方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100182395A1 (en) * | 2009-01-21 | 2010-07-22 | Freeport Technologies | Distributed scheduling, call control, and resource management for dispersed dynamic video communications networks |
CN103019837A (zh) * | 2011-09-27 | 2013-04-03 | 中国移动通信集团公司 | 资源调度方法、装置及终端设备 |
CN103207814A (zh) * | 2012-12-27 | 2013-07-17 | 北京仿真中心 | 一种去中心化的跨集群资源管理与任务调度系统与调度方法 |
-
2022
- 2022-08-29 CN CN202211037131.8A patent/CN115098272A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100182395A1 (en) * | 2009-01-21 | 2010-07-22 | Freeport Technologies | Distributed scheduling, call control, and resource management for dispersed dynamic video communications networks |
CN103019837A (zh) * | 2011-09-27 | 2013-04-03 | 中国移动通信集团公司 | 资源调度方法、装置及终端设备 |
CN103207814A (zh) * | 2012-12-27 | 2013-07-17 | 北京仿真中心 | 一种去中心化的跨集群资源管理与任务调度系统与调度方法 |
Non-Patent Citations (3)
Title |
---|
CHAO ZHANG: "vGASA: Adaptive Scheduling Algorithm of Virtualized GPU Resource in Cloud Gaming", 《IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS》 * |
李明: "基于特征粒子算法的云资源调度策略研究", 《计算机与数字工程》 * |
赖泽祺: "面向移动云计算的智能终端传输优化", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116056244A (zh) * | 2023-03-07 | 2023-05-02 | 浙江万胜智能科技股份有限公司 | 一种基于远程模块的公网无线通信资源调度方法及系统 |
CN116056244B (zh) * | 2023-03-07 | 2023-08-25 | 浙江万胜智能科技股份有限公司 | 一种基于远程模块的公网无线通信资源调度方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109451051B (zh) | 服务请求处理方法、装置、电子设备及存储介质 | |
US10897428B2 (en) | Method, server system and computer program product for managing resources | |
CN111090521B (zh) | 内存分配方法、装置、存储介质及电子设备 | |
CN112825042A (zh) | 资源管理方法和装置、电子设备及存储介质 | |
US20180331927A1 (en) | Resource Coordinate System for Data Centers | |
CN111078436B (zh) | 数据处理的方法、装置、设备及存储介质 | |
CN109960575B (zh) | 一种计算能力共享方法、系统及相关设备 | |
CN109327540A (zh) | 电子装置、服务器负载均衡方法及存储介质 | |
CN110162397B (zh) | 资源分配方法、装置及系统 | |
CN113849312A (zh) | 数据处理任务的分配方法、装置、电子设备及存储介质 | |
CN112463307A (zh) | 一种数据传输方法、装置、设备及可读存储介质 | |
CN114625533A (zh) | 分布式任务调度方法、装置、电子设备及存储介质 | |
CN116860391A (zh) | Gpu算力资源调度方法、装置、设备和介质 | |
CN115098272A (zh) | Gpu资源调度方法、调度器、电子设备和存储介质 | |
CN110442389B (zh) | 一种多桌面环境共享使用gpu的方法 | |
CN115421787A (zh) | 指令执行方法、装置、设备、系统、程序产品及介质 | |
CN114185550A (zh) | 分布式编译方法、设备及存储介质 | |
CN110489356B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN109558210B (zh) | 一种虚拟机应用主机gpu设备的方法及系统 | |
CN109614242B (zh) | 一种计算能力共享方法、装置、设备及介质 | |
US9405470B2 (en) | Data processing system and data processing method | |
CN113703913B (zh) | 设备测试方法及装置 | |
CN113485835B (zh) | 一种多场景下共享内存的实现方法、系统、设备及介质 | |
CN109634721B (zh) | 一种虚拟机与主机的启动通信方法及相关装置 | |
CN114500546A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220923 |
|
RJ01 | Rejection of invention patent application after publication |