CN113849312A - 数据处理任务的分配方法、装置、电子设备及存储介质 - Google Patents
数据处理任务的分配方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113849312A CN113849312A CN202111154529.5A CN202111154529A CN113849312A CN 113849312 A CN113849312 A CN 113849312A CN 202111154529 A CN202111154529 A CN 202111154529A CN 113849312 A CN113849312 A CN 113849312A
- Authority
- CN
- China
- Prior art keywords
- data processing
- resource
- graphics processor
- processing tasks
- created
- 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.)
- Granted
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/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
- G06F9/505—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 considering the load
-
- 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
-
- 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/544—Buffers; Shared memory; Pipes
-
- 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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- 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
Abstract
本公开提供了一种数据处理任务的分配方法、装置、电子设备、可读存储介质以及计算机程序产品,涉及计算机视觉、人工智能领域。具体实现方案为:确定目标应用针对图形处理器的多个数据处理任务;采用负载均衡策略,将所述多个数据处理任务分配给为所述目标应用创建的多个工作进程,所述多个工作进程预先配置有对应的图形处理器资源。该方案能够采用负载均衡策略将针对图形处理器的多个数据处理任务,分配给预先配置有对应的图形处理器资源的多个工作进程。从而能够使多个工作进程并发使用图像处理器资源,进而能够提高图形处理器资源的利用率。
Description
技术领域
本公开涉及数据处理领域,具体涉及数据处理和计算机视觉技术,具体可用于计算机视觉、人工智能等场景。
背景技术
图形处理器(Graphics Processing Unit,GPU)是一种用于处理与图像和图形相关的数据处理任务的微处理器。由于GPU的超强计算能力,GPU在人工智能等需要高性能计算的领域发挥重要作用。
但现有技术在使用GPU进行数据处理的过程中,存在GPU资源利用率较低的问题。
发明内容
本公开提供了提供一种数据处理任务的分配方法、装置、电子设备、可读存储介质以及计算机程序产品,以提高GPU资源的利用率。
根据本公开的一方面,提供了一种数据处理任务的分配方法,该方法可以包括以下步骤:
确定目标应用针对图形处理器的多个数据处理任务;
采用负载均衡策略,将所述多个数据处理任务分配给为所述目标应用创建的多个工作进程,所述多个工作进程预先配置有对应的图形处理器资源。
根据本公开的第二方面,提供了一种数据处理任务的分配装置,该装置可以包括:
数据处理任务确定单元,用于确定目标应用针对图形处理器的多个数据处理任务;
图形处理器资源分配单元,用于采用负载均衡策略,将所述多个数据处理任务分配给为所述目标应用创建的多个工作进程,所述多个工作进程预先配置有对应的图形处理器资源。
根据本公开的另一方面,提供了一种电子设备,包括:
至少一个处理器;以及
与该至少一个处理器通信连接的存储器;其中,
该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行本公开任一实施例中的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现本公开任一实施例中的方法。
本公开的技术,能够采用负载均衡策略将针对图形处理器的多个数据处理任务,分配给预先配置有对应的图形处理器资源的多个工作进程。从而能够使多个工作进程并发使用图像处理器资源,进而能够提高图形处理器资源的利用率。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开的实施例提供一种数据处理任务的分配方法的流程图;
图2为本公开的实施例提供的一种CS架构的示意图;
图3为本公开的实施例中提供的一种图形处理器资源的分配方法的流程图;
图4为本公开的实施例中提供的一种工作进程创建方法的流程图;
图5为本公开的实施例提供一种数据处理任务的分配装置的示意图;
图6为本公开的实施例提供的一种电子设备的示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开提供一种数据处理任务的分配方法,具体请参照图1,其为本公开的实施例提供一种数据处理任务的分配方法的流程图。该方法可以包括以下步骤:
步骤S101:确定目标应用针对图形处理器的多个数据处理任务。
步骤S102:采用负载均衡策略,将多个数据处理任务分配给为目标应用创建的多个工作进程,多个工作进程预先配置有对应的图形处理器资源。
本公开的实施例中提供的数据处理任务的分配方法,执行主体一般为运行有目标应用的计算设备。所谓目标应用可以包括需要图形处理器来支持运行的应用。具体的,目标应用可以包括PaaS(Platform as a Service,平台即服务)平台下的应用,也可以包括具有图像处理功能的应用。
所谓计算设备包括但不限于手机、电脑、服务器或者服务器集群。
以PaaS平台为例。对于PaaS平台而言,PaaS平台对GPU资源的控制粒度较大,很难对PaaS平台下的GPU资源进行资源归一化管理,进而无法实现对PaaS平台下的GPU资源进行较细粒度的资源分配,从而需要充分利用GPU资源才能降低资源成本。因此,提高图形处理器资源的利用率对于GPU的使用具有重要的意义。现有技术中由于存在无法多个线程并发使用GPU、甚至单个GPU中多个线程并发使用GPU的情况,会导致GPU资源利用率较低的问题。
本公开的实施例提供的数据处理任务的分配方法,能够采用负载均衡策略将针对图形处理器的多个数据处理任务,分配给预先配置有对应的图形处理器资源的多个工作进程。从而能够使多个工作进程并发使用图像处理器资源,进而能够提高图形处理器资源的利用率。
所谓GPU资源一般包括但不限于GPU算力、显卡内存。所谓GPU算力包括但不限于运行内存。
所谓针对图形处理器的数据处理任务是指需要使用GPU才能够完成的数据处理,一般为关于图像和图形的数据处理任务。
所谓工作进程是针对目标应用创建的进程,用于在应用运行时执行目标应用针对图形处理器的数据处理任务。
所谓负载均衡策略是指将数据处理任务(负载)进行平衡、分摊到多个工作进程上进行执行,从而实现多个数据处理任务的并发执行策略。
常见的负载均衡策略包括多种,例如:轮询策略、随机策略以及最小连接策略。但由于轮询策略的实现过程较为简单,并且是一种无需记录当前所有进程工作状态的负载均衡策略。因此,本公开的实施例中,采用负载均衡策略,将多个数据处理任务分配给为目标应用创建的多个工作进程的具体实现方式一般为:按照多个数据处理任务对应的任务生成顺序,采用轮询策略将多个数据处理任务分配给多个工作进程。
另外,为了提高负载均衡策略的适用性,本公开的实施例中的负载均衡策略,还可以是相关用户根据业务场景对应的数据处理任务,自定义的负载均衡策略
本公开的实施例提供的数据处理任务的分配方法,在具体实现过程中,可采用CS(Client-Server,服务器-客户机)架构来实现,具体请参照图2,图2为本公开的实施例提供的一种CS架构的示意图。
本公开的实施例中Client端是指在操作系统中设置的用于数据收发的组件或程序,具体用于获取目标应用发出的针对图形处理器的应用服务请求;将应用服务请求按照预定拆分规则拆分为多个数据处理任务,并将任务发送给对应的Server端。
Client端具体可至少执行如下工作:函数调用、参数封装、任务封装、通信协议封装。
Server端为用于数据处理任务分配、数据处理任务执行以及数据处理任务结果转发的组件或程序。server端具体采用master-worker(主从)模式。其中master为用于负责与client通信,然后将数据处理任务发至相应的worker中的主进程。该主进程至少可执行如下工作:工作进程的启动、配置文件的读写与解析、系统初始化、工作进程管理、数据接收、协议解析、任务解析、任务注册、任务分发、任务监控、任务封装、协议封装、发送数据以及超时检查。
Worker为用于负责具体数据处理任务执行的工作进程,工作进程至少可执行如下工作:进程初始化、函数注册接收数据、发送数据、任务解析、任务封装、任务监控、参数解析、参数封装以及函数调用。本公开的实施例中的工作进程有多个,图2中仅示出了两个工作进程,并且仅以对其中一个工作进程为基础示出了主进程与工作进程间的数据交互过程。此外,图2中的进程间资源共享模块为预先配置好的,用于支持工作进程间共享GPU、CPU、显卡内存以及显存等资源的模块。
关于Server端以及Client端中的上述可执行工作之间的先后顺序具体请参见图2。
如果不对应用服务请求进行任务的拆分,则程序需要按步骤依次执行不同任务才能实现该服务请求。但是对于某些步骤可以拆分成多个数据处理任务来并行执行,从而能够提高服务请求的响应速度。例如:对于图像特征的提取,可以将拆分成对该图像的多个子图像进行特征提取的多个数据处理任务进行并行处理,从而能够提高提取的响应速度。
所谓预定拆分规则一般包括按照应用服务请求的类型,将应用服务请求划分为多个数据处理任务。例如:对于图像特征提取类的服务请求,可将图像特征提取服务请求,划分为对不同图像区域的图像特征提取任务,所谓图像区域是指对图像进行区域划分后得到的区域。
再如对于图像处理网络模型的训练类的服务请求,可将模型训练服务请求,划分为对多个子模型的训练任务。
所谓预定拆分规则还可包括将应用服务请求按照先后顺序划分为多个执行步骤,再将每一执行划分为多个数据处理任务。
以采用CS架构来实现数据处理任务的分配方法为例,Client端在收到应用服务请求后,会按预定拆分规则将请求拆分成多个数据处理任务。之后一般可通过函数调用的方式进行任务处理请求参数封装、任务封装以及通信协议的封装,从而生成携带有数据处理任务的数据,转发给Server端。
由于对关于会话控制(session)的数据处理任务,Session对象存储特定用户会话所需的属性及配置信息,而存储在Session对象中的变量将不会在当前任务结束后立刻消失,而是会继续存在一定的时间,从而确保当进程再次使用时就可以直接使用Session对象中的变量。因此,在多个数据处理任务中存在关于会话控制的数据处理任务时,可以将关于会话控制的数据处理任务都分配给指定工作进程来处理。
所谓指定工作进程可以是预先配置好的,可用于处理关于会话控制的数据处理任务的工作进程。也可以正在执行或在指定时间区间内执行过关于会话控制的数据处理任务的工作进程。
以采用CS架构来实现数据处理任务的分配方法为例,请再参见图2,Client端与Server端之间的通信协议一般包括PRC(Remote Procedure Call,远程调用协议)协议,为了能够将关于会话控制赋予PRC协议,从而使Client端可以直接将关于会话控制的数据处理任务分配给指定工作进程。
在将多个数据处理任务分配给为目标应用创建的多个工作进程之前,需要先创建多个工作进程。具体实现步骤请参照图3,图3为本公开的实施例中提供的一种图形处理器资源的分配方法的流程图。
步骤S301:确定用于支持工作进程运行的图形处理器资源。
步骤S302:基于用于支持工作进程运行的图形处理器资源,针对目标应用确定待创建的工作进程。
步骤S303:将为待创建的工作进程对应分配的图形处理器资源,对应配置给待创建的工作进程,创建多个工作进程。
对于不同的应用,数据处理的工作量以及对资源的需求可能不同。在确定用于支持工作进程运行的图形处理器资源基础上,针对不同应用来确定待创建的工作进程,并将为待创建的工作进程对应配置图形处理器资源,对来创建多个工作进程,能够提高目标应用对GPU的利用率。
所谓用于支持工作进程运行的图形处理器资源,是指空闲的图形处理器资源中可用于支持工作进程运行的图形处理器资源。以GPU运行内存为例,如果运行内存为8G,那么用于支持工作进程运行的运行内存为一般为6G左右。
所谓确定待创建的工作进程,可以包括:确定待创建的工作进程的数目,以及确定为待创建的工作进程对应分配的图形处理器资源。也就是说,确定待创建的工作进程的实现方式为:确定待创建的工作进程的数目,以及确定为每个工作进程分配的图形处理器资源。
所谓待创建的工作进程的数目,以及为每个工作进程分配的图形处理器资源在具体实现过程中,一般是针对目标应用进行多次数目和每个工作进程分配的图形处理器资源调整后,确定出的能够使目标应用对GPU资源具有最高利用率的进程数目以及为每个工作进程分配的图形处理器资源。
在确定对GPU资源具有最高利用率的数目以及为每个工作进程分配的图形处理器资源后,可将该具有最高利用率的数目作为最终的数目;将为每个工作进程分配的图形处理器资源。将上述最终的数目和为每个工作进程分配的图形处理器资源进行存储。在创建多个工作进程的过程中,可以直接获取该最终的数目以及为每个工作进程分配的图形处理器资源,确定为待创建的工作进程的数目以及为每个工作进程分配的图形处理器资源。
需要说明的是,由于工作进程在运行过程中,不仅需要GPU资源的支持,同样也需要CPU(Central Processing unit)资源以及内存资源的支持。因此,创建工作进程可以进一步按照如下步骤来实现,具体请参照图4,图4为本公开的实施例中提供的一种工作进程创建方法的流程图。
步骤S401:确定用于支持工作进程运行的中央处理器资源以及内存资源。
步骤S402:利用预设的资源配比,将用于支持工作进程运行的图形处理器资源,以及用于支持工作进程运行的中央处理器资源以及内存资源,对应配置给待创建的工作进程,创建多个工作进程。
需要说明的是,预设的资源配比为图形处理器资源与中央处理器资源以及内存资源之间的资源配比。
由于GPU资源的使用成本,往往要比CPU资源以及内存资源的使用成本较高。因此,在确定每个工作进程分配的图形处理器资源基础上,再进一步确定为每个工作进程分配的中央处理器资源和内存资源。能够在确保GPU资源具有高利用率的同时,降低工作进程运行的整体成本。
本公开的实施例中,确定为待创建的工作进程对应分配的中央处理器资源和内存资源的具体实现方式为:按照图形处理器与中央处理器资源以及内存资源之间的资源的配比,基于为每个工作进程分配的图形处理器资源,确定为每个工作进程分配的中央处理器资源和内存资源。
所谓中央处理器资源、内存资源以及图形处理器资源之间的预设的资源配比,一般是基于不断对图形处理器与中央处理器资源以及内存资源之间的资源的配比进行调整后,确定出的使目标应用对GPU资源具有最高利用率,且资源成本相对较低的资源配比。
需要说明的是,在确保GPU资源具有高利用率的同时,还需要考虑可用于支持工作进程运行的CPU资源以及内存。也就是说,在确保CPU资源以及内存可支持工作进程的基础上,确保GPU资源具有高利用率。
对于显存而言,为了提高不同进程间的通行效率,提高工作进程执行效率,可在配置支持工作进程运行的内存时,确定共享内存,共享内存为用于在每个工作进程之间进行共享的内存。
另外,为了提高不同进程间的通行效率,提高工作进程执行效率。在可用于支持进程运行的图形处理器资源包括显卡内存的情况下,将用于支持工作进程运行的图形处理器资源,对应配置给待创建的工作进程的具体实现过程方式可以包括:首先,确定为待创建的工作进程分配的共享显卡内存,共享显卡内存为用于在每个工作进程之间进行共享的显卡内存;然后,将共享显卡内存,配置给待创建的工作进程。
其中,该共享显卡内存能够支持不同工作进程来访问共享数据。
如图5所示,本公开的实施例提供一种数据处理任务的分配装置,该装置包括:
数据处理任务确定单元501,用于确定目标应用针对图形处理器的多个数据处理任务;
图形处理器资源分配单元502,用于采用负载均衡策略,将多个数据处理任务分配给为目标应用创建的多个工作进程,多个工作进程预先配置有对应的图形处理器资源。
在一种实施方式中,图形处理器资源分配单元502可以包括:
第一任务分配子单元,用于按照多个数据处理任务对应的任务生成顺序,采用轮询策略将多个数据处理任务分配给多个工作进程。
在一种实施方式中,数据处理任务确定单元501可以包括:第一任务确定子单元,用于确定多个数据处理任务中关于会话控制的数据处理任务;
图形处理器资源分配单元502可以包括:
第二任务分配子单元,用于将关于会话控制的数据处理任务分配给多个工作进程中的指定工作进程。
在一种实施方式中,数据处理任务确定单元501可以包括:
应用服务请求获取子单元,用于获取目标应用发出的针对图形处理器的应用服务请求;
数据处理任务拆分子单元,用于将应用服务请求按照预定拆分规则拆分为多个数据处理任务。
在一种实施方式中,装置还可以包括:
第一资源确定单元,用于在将多个数据处理任务分配给为目标应用创建的多个工作进程之前,确定用于支持工作进程运行的图形处理器资源;
待创建工作进程确定单元,用于基于用于支持工作进程运行的图形处理器资源,针对目标应用确定待创建的工作进程;
资源配置单元,用于将用于支持工作进程运行的图形处理器资源,对应配置给待创建的工作进程,以创建多个工作进程。
在一种实施方式中,资源配置单元可以包括:
共享显卡内存确定子单元,用于在用于支持进程运行的图形处理器资源包括显卡内存的情况下,确定为待创建的工作进程分配的共享显卡内存,共享显卡内存为用于在每个工作进程之间进行共享的显卡内存;
共享显卡内存配置子单元,用于将共享显卡内存,配置给待创建的工作进程。
在一种实施方式中,该装置还可以包括:
第二资源确定单元,用于确定用于支持工作进程运行的中央处理器资源以及内存资源;
进程创建单元,用于利用预设的资源配比,将用于支持工作进程运行的图形处理器资源,以及用于支持工作进程运行的中央处理器资源以及内存资源,对应配置给待创建的工作进程,创建多个工作进程;
其中,预设的资源配比为图形处理器资源与中央处理器资源以及内存资源之间的资源配比。
根据本公开实施例,本公开还提供了一种电子设备和一种可读存储介质。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件或程序。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如数据处理任务的分配方法。例如,在一些实施例中,数据处理任务的分配方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的数据处理任务的分配方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理任务的分配方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (17)
1.一种数据处理任务的分配方法,包括:
确定目标应用针对图形处理器的多个数据处理任务;
采用负载均衡策略,将所述多个数据处理任务分配给为所述目标应用创建的多个工作进程,所述多个工作进程预先配置有对应的图形处理器资源。
2.根据权利要求1所述的方法,其中,所述采用负载均衡策略,将所述多个数据处理任务分配给为所述目标应用创建的多个工作进程,包括:
按照所述多个数据处理任务对应的任务生成顺序,采用轮询策略将所述多个数据处理任务分配给所述多个工作进程。
3.根据权利要求1或2所述的方法,其中,所述确定目标应用针对图形处理器的多个数据处理任务,包括:确定所述多个数据处理任务中关于会话控制的数据处理任务;
所述将所述多个数据处理任务分配给为所述目标应用创建的多个工作进程,包括:
将所述关于会话控制的数据处理任务分配给所述多个工作进程中的指定工作进程。
4.根据权利要求1所述的方法,其中,所述确定目标应用针对图形处理器的多个数据处理任务,包括:
获取所述目标应用发出的针对所述图形处理器的应用服务请求;
将所述应用服务请求按照预定拆分规则拆分为所述多个数据处理任务。
5.根据权利要求1或4所述的方法,其中,在将所述多个数据处理任务分配给为所述目标应用创建的多个工作进程之前,所述方法还包括:
确定用于支持工作进程运行的图形处理器资源;
基于所述用于支持工作进程运行的图形处理器资源,针对所述目标应用确定待创建的工作进程;
将所述用于支持工作进程运行的图形处理器资源,对应配置给所述待创建的工作进程,以创建所述多个工作进程。
6.根据权利要求5所述的方法,其中,在所述用于支持进程运行的图形处理器资源包括显卡内存的情况下,所述将所述用于支持工作进程运行的图形处理器资源,对应配置给所述待创建的工作进程,包括:
确定为所述待创建的工作进程分配的共享显卡内存,所述共享显卡内存为用于在所述每个工作进程之间进行共享的显卡内存;
将所述共享显卡内存,配置给所述待创建的工作进程。
7.根据权利要求5所述的方法,其中,创建所述多个工作进程的步骤,包括:
确定用于支持工作进程运行的中央处理器资源以及内存资源;
利用预设的资源配比,将所述用于支持工作进程运行的图形处理器资源,以及用于支持工作进程运行的中央处理器资源以及内存资源,对应配置给所述待创建的工作进程,创建所述多个工作进程;
其中,所述预设的资源配比为图形处理器资源与中央处理器资源以及内存资源之间的资源配比。
8.一种数据处理任务的分配装置,包括:
数据处理任务确定单元,用于确定目标应用针对图形处理器的多个数据处理任务;
图形处理器资源分配单元,用于采用负载均衡策略,将所述多个数据处理任务分配给为所述目标应用创建的多个工作进程,所述多个工作进程预先配置有对应的图形处理器资源。
9.根据权利要求8所述的装置,其中,所述图形处理器资源分配单元,包括:
第一任务分配子单元,用于按照所述多个数据处理任务对应的任务生成顺序,采用轮询策略将所述多个数据处理任务分配给所述多个工作进程。
10.根据权利要求8或9所述的装置,其中,所述数据处理任务确定单元,包括:
第一任务确定子单元,用于确定所述多个数据处理任务中关于会话控制的数据处理任务;
所述图形处理器资源分配单元,包括:
第二任务分配子单元,用于将所述关于会话控制的数据处理任务分配给所述多个工作进程中的指定工作进程。
11.根据权利要求8所述的装置,其中,所述数据处理任务确定单元,包括:
应用服务请求获取子单元,用于获取所述目标应用发出的针对所述图形处理器的应用服务请求;
数据处理任务拆分子单元,用于将所述应用服务请求按照预定拆分规则拆分为所述多个数据处理任务。
12.根据权利要求8或11所述的装置,其中,所述装置还包括:
第一资源确定单元,用于在将所述多个数据处理任务分配给为所述目标应用创建的多个工作进程之前,确定用于支持工作进程运行的图形处理器资源;
待创建工作进程确定单元,用于基于所述用于支持工作进程运行的图形处理器资源,针对所述目标应用确定待创建的工作进程;
资源配置单元,用于将所述用于支持工作进程运行的图形处理器资源,对应配置给所述待创建的工作进程,以创建所述多个工作进程。
13.根据权利要求12所述的装置,其中,所述资源配置单元,包括:
共享显卡内存确定子单元,用于在所述用于支持进程运行的图形处理器资源包括显卡内存的情况下,确定为所述待创建的工作进程分配的共享显卡内存,所述共享显卡内存为用于在所述每个工作进程之间进行共享的显卡内存;
共享显卡内存配置子单元,用于将所述共享显卡内存,配置给所述待创建的工作进程。
14.根据权利要求12所述的装置,其中,所述装置还包括:
第二资源确定单元,用于确定用于支持工作进程运行的中央处理器资源以及内存资源;
进程创建单元,用于利用预设的资源配比,将所述用于支持工作进程运行的图形处理器资源,以及用于支持工作进程运行的中央处理器资源以及内存资源,对应配置给所述待创建的工作进程,创建所述多个工作进程;
其中,所述预设的资源配比为图形处理器资源与中央处理器资源以及内存资源之间的资源配比。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任意一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行权利要求1至7中任意一项所述的方法。
17.一种计算机程序产品,包括计算机程序/指令,其中,该计算机程序/指令被处理器执行时实现权利要求1至7中任意一项所述方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154529.5A CN113849312B (zh) | 2021-09-29 | 2021-09-29 | 数据处理任务的分配方法、装置、电子设备及存储介质 |
US17/871,698 US20220357990A1 (en) | 2021-09-29 | 2022-07-22 | Method for allocating data processing tasks, electronic device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111154529.5A CN113849312B (zh) | 2021-09-29 | 2021-09-29 | 数据处理任务的分配方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113849312A true CN113849312A (zh) | 2021-12-28 |
CN113849312B CN113849312B (zh) | 2023-05-16 |
Family
ID=78977225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111154529.5A Active CN113849312B (zh) | 2021-09-29 | 2021-09-29 | 数据处理任务的分配方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220357990A1 (zh) |
CN (1) | CN113849312B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114286107A (zh) * | 2021-12-30 | 2022-04-05 | 武汉华威科智能技术有限公司 | 一种提高实时视频处理效率的方法、系统、设备及介质 |
CN114500398A (zh) * | 2022-01-26 | 2022-05-13 | 中国农业银行股份有限公司 | 一种处理器协同加速的方法、装置、设备及介质 |
CN114529444A (zh) * | 2022-04-22 | 2022-05-24 | 南京砺算科技有限公司 | 图形处理模块、图形处理器以及图形处理方法 |
CN114615273A (zh) * | 2022-03-02 | 2022-06-10 | 北京百度网讯科技有限公司 | 基于负载均衡系统的数据发送方法、装置和设备 |
CN114640681A (zh) * | 2022-03-10 | 2022-06-17 | 京东科技信息技术有限公司 | 一种数据处理方法和系统 |
WO2023151340A1 (zh) * | 2022-02-14 | 2023-08-17 | 腾讯科技(深圳)有限公司 | 图形处理器资源管理方法、装置、设备、存储介质和程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447901A (zh) * | 2010-09-01 | 2012-05-09 | 微软公司 | 用于改进的高速缓存和图像分类的自适应网格生成 |
CN109788325A (zh) * | 2018-12-28 | 2019-05-21 | 网宿科技股份有限公司 | 视频任务分配方法及服务器 |
CN110941481A (zh) * | 2019-10-22 | 2020-03-31 | 华为技术有限公司 | 资源调度方法、装置及系统 |
CN112187581A (zh) * | 2020-09-29 | 2021-01-05 | 北京百度网讯科技有限公司 | 服务信息处理方法、装置、设备及计算机存储介质 |
CN112463349A (zh) * | 2021-01-28 | 2021-03-09 | 北京睿企信息科技有限公司 | 一种高效调度gpu能力的负载均衡方法及系统 |
US11089081B1 (en) * | 2018-09-26 | 2021-08-10 | Amazon Technologies, Inc. | Inter-process rendering pipeline for shared process remote web content rendering |
CN113256481A (zh) * | 2021-06-21 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 图形处理器中的任务处理方法、装置、电子设备及存储介质 |
-
2021
- 2021-09-29 CN CN202111154529.5A patent/CN113849312B/zh active Active
-
2022
- 2022-07-22 US US17/871,698 patent/US20220357990A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447901A (zh) * | 2010-09-01 | 2012-05-09 | 微软公司 | 用于改进的高速缓存和图像分类的自适应网格生成 |
US11089081B1 (en) * | 2018-09-26 | 2021-08-10 | Amazon Technologies, Inc. | Inter-process rendering pipeline for shared process remote web content rendering |
CN109788325A (zh) * | 2018-12-28 | 2019-05-21 | 网宿科技股份有限公司 | 视频任务分配方法及服务器 |
CN110941481A (zh) * | 2019-10-22 | 2020-03-31 | 华为技术有限公司 | 资源调度方法、装置及系统 |
CN112187581A (zh) * | 2020-09-29 | 2021-01-05 | 北京百度网讯科技有限公司 | 服务信息处理方法、装置、设备及计算机存储介质 |
US20210271511A1 (en) * | 2020-09-29 | 2021-09-02 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Service Information Processing Method, Apparatus, Device and Computer Storage Medium |
CN112463349A (zh) * | 2021-01-28 | 2021-03-09 | 北京睿企信息科技有限公司 | 一种高效调度gpu能力的负载均衡方法及系统 |
CN113256481A (zh) * | 2021-06-21 | 2021-08-13 | 腾讯科技(深圳)有限公司 | 图形处理器中的任务处理方法、装置、电子设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
WEIXIN_30858241: "负载均衡之加权轮询算法", 《HTTPS://BLOG.CSDN.NET/WEIXIN_30858241/ARTICLE/DETAILS/94981467》 * |
孙斌主编;王凯,杨光,杨俊伟,佘新桥副主编: "《Linux程序设计(C语言)》", 31 August 2011, 东软电子出版社 * |
王巍达: "聚类算法的GPU实现及其应用", CNKI优秀硕士学位论文全文库 信息科技辑 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114286107A (zh) * | 2021-12-30 | 2022-04-05 | 武汉华威科智能技术有限公司 | 一种提高实时视频处理效率的方法、系统、设备及介质 |
CN114500398A (zh) * | 2022-01-26 | 2022-05-13 | 中国农业银行股份有限公司 | 一种处理器协同加速的方法、装置、设备及介质 |
WO2023151340A1 (zh) * | 2022-02-14 | 2023-08-17 | 腾讯科技(深圳)有限公司 | 图形处理器资源管理方法、装置、设备、存储介质和程序产品 |
CN114615273A (zh) * | 2022-03-02 | 2022-06-10 | 北京百度网讯科技有限公司 | 基于负载均衡系统的数据发送方法、装置和设备 |
CN114640681A (zh) * | 2022-03-10 | 2022-06-17 | 京东科技信息技术有限公司 | 一种数据处理方法和系统 |
CN114529444A (zh) * | 2022-04-22 | 2022-05-24 | 南京砺算科技有限公司 | 图形处理模块、图形处理器以及图形处理方法 |
CN114529444B (zh) * | 2022-04-22 | 2023-08-11 | 南京砺算科技有限公司 | 图形处理模块、图形处理器以及图形处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113849312B (zh) | 2023-05-16 |
US20220357990A1 (en) | 2022-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113849312B (zh) | 数据处理任务的分配方法、装置、电子设备及存储介质 | |
CN109408205B (zh) | 基于hadoop集群的任务调度方法和装置 | |
CN113641457A (zh) | 容器创建方法、装置、设备、介质及程序产品 | |
CN109960575B (zh) | 一种计算能力共享方法、系统及相关设备 | |
EP4060496A2 (en) | Method, apparatus, device and storage medium for running inference service platform | |
CN114936173B (zh) | 一种eMMC器件的读写方法、装置、设备和存储介质 | |
CN114911598A (zh) | 任务调度方法、装置、设备以及存储介质 | |
CN112905314A (zh) | 异步处理方法、装置、电子设备、存储介质、及路侧设备 | |
CN115904761A (zh) | 片上系统、车辆及视频处理单元虚拟化方法 | |
CN112104679A (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN113590329A (zh) | 资源处理方法及装置 | |
CN112527509A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
CN113986497B (zh) | 基于多租户技术的队列调度方法、装置及系统 | |
CN113535020B (zh) | 用于生成应用图标的方法、装置、设备、介质和产品 | |
CN115168040A (zh) | 一种作业抢占调度方法、装置、设备和存储介质 | |
CN113726881A (zh) | 通信连接建立方法、相关装置及计算机程序产品 | |
CN113220555B (zh) | 用于处理数据的方法、装置、设备、介质和产品 | |
EP4030735A1 (en) | Method of data interaction, data interaction apparatus, electronic device and non-transitory computer readable storage medium | |
CN114035885B (zh) | 一种小程序页面渲染方法、装置及电子设备 | |
CN114185673A (zh) | 分布式资源调度方法、装置及系统 | |
CN113946414A (zh) | 一种任务处理方法、装置及电子设备 | |
CN115981872A (zh) | 算法资源的调用方法、装置、电子设备和存储介质 | |
CN115145725A (zh) | 一种云设备分配方法、装置、电子设备和存储介质 | |
CN115269112A (zh) | 连接建立方法、装置、电子设备及存储介质 | |
CN114187376A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |