WO2018233299A1 - 调度处理器的方法、装置、设备及介质 - Google Patents
调度处理器的方法、装置、设备及介质 Download PDFInfo
- Publication number
- WO2018233299A1 WO2018233299A1 PCT/CN2018/076009 CN2018076009W WO2018233299A1 WO 2018233299 A1 WO2018233299 A1 WO 2018233299A1 CN 2018076009 W CN2018076009 W CN 2018076009W WO 2018233299 A1 WO2018233299 A1 WO 2018233299A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- resource
- processor
- server
- resource request
- usage rate
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
Definitions
- the present application belongs to the field of software, and in particular, to a method, device, device and medium for scheduling a processor.
- the processor of the graphics card is called a graphics processing unit (GPU), and it is connected to the central processing unit (Central).
- the Processing Unit (CPU) is similar, except that the GPU was originally designed to perform complex mathematical and geometric calculations.
- the graphics processor has been more and more fully utilized, and the GPU can complete the work of some CPUs, which can reduce the dependence of the computer on the CPU.
- the CPU was responsible for all operations, while the GPU was only responsible for the final display work, so when dealing with complex graphics data, many computer systems using weaker CPUs began to slow down.
- a computer system that uses a CPU with a strong performance may also have a large amount of CPU resources.
- the graphics data processing part that would consume a lot of valuable resources of the CPU is all handed over to the GPU for processing, thereby reducing the burden on the CPU, and utilizing its own features, the graphics data processing efficiency is faster. Thereby improving system performance.
- the prior art performs an increasingly fine division of CPU and GPU, that is, assigns specific tasks to the GPU processing according to preset rules to share the pressure of the CPU.
- preset rules often lag behind the actual usage scenarios, so when a new usage scenario occurs, the GPU often cannot share the CPU pressure in time.
- the embodiment of the present application provides a method, an apparatus, a device, and a medium for scheduling a processor, so as to solve the problem that the GPU cannot flexibly share the CPU pressure in the prior art.
- a first aspect of the embodiments of the present application provides a method for scheduling a processor, including:
- the resource request is used to request an operation resource, and the operation resource is provided by a central processing unit and a graphics processor;
- the usage rate of the computing resource is obtained, and the central processing and/or image processor processing resource request is allocated according to the condition that the usage rate is satisfied by using a preset resource allocator.
- a second aspect of the embodiments of the present application provides an apparatus for scheduling a processor, including:
- the receiving module is configured to receive a resource request, and the resource request is used to request a computing resource, where the computing resource is provided by a central processing unit and a graphics processor.
- the obtaining module is configured to obtain the usage rate of the computing resource, and allocate a central processing and/or an image processor to process the resource request according to a condition that the usage rate is satisfied by using a preset resource allocator.
- a third aspect of an embodiment of the present application provides an apparatus for scheduling a processor, including a memory and a processor, wherein the memory stores computer readable instructions executable on the processor, the processor executing the The following steps are implemented when the computer readable instructions are described:
- the resource request is used to request an operation resource, and the operation resource is provided by a central processing unit and a graphics processor;
- the usage rate of the computing resource is obtained, and the central processing and/or image processor processing resource request is allocated according to the condition that the usage rate is satisfied by using a preset resource allocator.
- a fourth aspect of the embodiments of the present application provides a computer readable storage medium storing computer readable instructions that, when executed by a processor, implement the following steps:
- the resource request is used to request an operation resource, and the operation resource is provided by a central processing unit and a graphics processor;
- the usage rate of the computing resource is obtained, and the central processing and/or image processor processing resource request is allocated according to the condition that the usage rate is satisfied by using a preset resource allocator.
- the embodiment of the present application flexibly allocates resource requests by using the CPU and the GPU. Compared with the fixed division of labor in the prior art, the existing computing resources can be more fully utilized to improve the processing speed, and further, The GPU shares the computational pressure of the CPU to ensure stable operation of the system.
- FIG. 1 is a flowchart of a method for scheduling a processor according to an embodiment of the present application
- FIG. 2 is a flowchart of a method for allocating resource requests according to an embodiment of the present application
- FIG. 3 is a flowchart of a method for allocating resource requests according to a preferred embodiment of the present application
- Figure 4 is a schematic view of the preferred embodiment shown in Figure 3;
- FIG. 5 is a flowchart of another method for allocating resource requests according to a preferred embodiment of the present application.
- Figure 6 is a schematic view of the preferred embodiment shown in Figure 5;
- FIG. 7 is a structural block diagram of an apparatus for scheduling a processor according to an embodiment of the present application.
- FIG. 8 is a schematic diagram of an apparatus for scheduling a processor according to an embodiment of the present application.
- FIG. 1 is a flowchart of a method for scheduling a processor according to an embodiment of the present application. As shown in FIG. 1 , the method includes steps S110 and S120.
- Step S110 Receive a resource request, where the resource request is used to request an operation resource, and the operation resource is provided by a central processing unit and a graphics processor.
- the resource request can be an HTTP request (Hypertext Transfer Protocol HyperText)
- HTTP Hypertext Transfer Protocol HyperText
- the transfer protocol is abbreviated as HTTP, which is a request message from the client to the server.
- the HTTP request may refer to a request sent by the client to the server when the computing resource is required.
- the computing resource is a hardware resource with computing power.
- the computing resource may be an arithmetic logic unit (Arithmetic Logic) Unit, referred to as ALU).
- ALU arithmetic logic unit
- the CPU and GPU perform various arithmetic operations through the ALU.
- Step S120 Acquire a usage rate of the computing resource, and allocate a central processing and/or an image processor processing resource request according to a condition that the usage rate is satisfied by using a preset resource allocator.
- the usage rate of computing resources is also the usage ratio of computing resources, which is generally expressed as a percentage, for example, the current computing resource usage rate is 50%.
- the number of CPUs is much smaller than the number of GPUs.
- the CPU generally has a complicated structure and can be used for complex operations. Therefore, it can handle both simple operations and the operation of the entire system.
- the GPU structure is simple and can only be used for general purposes. With simple operations, multiple GPUs can be used in parallel.
- CPU and GPU are very different because of their different design goals, they are targeted at two different application scenarios.
- CPUs need to be very versatile to handle a variety of different data types, while at the same time logically judging, will introduce a large number of branch jumps and interrupt processing. These make the internal structure of the CPU extremely complicated.
- the GPU is faced with a highly unified, non-dependent large-scale data and a pure computing environment that does not need to be interrupted.
- the resource request generally requests a simple operation. If the number of resource requests is too large and the resource requests are not properly allocated, resulting in occupying a large CPU computing resource, the operation of the entire system will be affected accordingly.
- the GPU uses a large number of computing units and an ultra-long pipeline, but only very simple control logic and saves Cache. Unlike CPUs that excel at logic control and general-purpose data manipulation, GPUs excel at large-scale concurrent computations, so GPUs are much faster than CPUs for requirements such as voiceprint feature extraction.
- FIG. 2 is a flowchart of a method for allocating resource requests according to an embodiment of the present application.
- the method is a preferred implementation manner of step S110. As shown in FIG. 2, the method includes steps S210 and S220.
- Step S210 acquiring a graphics processor usage rate.
- API Application Programming Interface
- Step S220 if the graphics processor usage rate is lower than the preset value, the graphics processor processing resource request is preferentially allocated.
- the number of GPUs is more and the CPU plays a larger role in the overall operation of the system than the GPU, in order to share the pressure of the CPU and let the CPU be more invested in the overall operation of the system, it can be prioritized when allocating resource requests.
- the resource request is allocated to the GPU, and the preset value may be set according to different situations, for example, set to 70%-90%.
- the operation of allocating resource requests may be accomplished by a load balancing policy.
- the Nginx load balancing server may be utilized to allocate central processing units and/or image processors to process resource requests.
- Nginx can directly support Rails framework and PHP programs to serve externally, and can also support external services as an HTTP proxy server.
- Nginx can be written in C language, and system resource overhead is much better than Perlbal.
- the embodiment of the present application allocates resource requests according to the usage rate of the GPU. Compared with the fixed division of labor in the prior art, the existing computing resources can be more fully utilized to improve the processing speed, and further, the CPU is shared by the GPU. The calculation pressure ensures the stable operation of the system.
- FIG. 3 is a flowchart of a method for allocating resources according to a preferred embodiment of the present application. As shown in FIG. 3, the method includes steps S310 to S330.
- Step S310 deploying a first server for receiving a resource request allocated to the graphics processor, and a second server for receiving a resource request allocated to the central processing unit.
- multiple servers may be deployed on the hardware device, and after the resources of one server are used up, the next server is run, so that the computing resources can be used more reasonably.
- the first server and the second server deployed in this step may be two virtual servers.
- a virtual server is a technology that saves the cost of the server hardware. It can logically divide one or all of the service contents of one server hardware into multiple service units, and externally represent multiple servers, so that the server hardware resources can be fully utilized.
- the virtual server may be a server program such as tomcat, jboss, or weblogic.
- the first server corresponds to the GPU
- the second server corresponds to the CPU
- the Nginx is used as the load balancing server to allocate requests for each server according to the configuration.
- step S320 the weight of the first server is set to be higher than that of the second server.
- the GPU version of the server sets a higher weight, so that the resource request can be preferentially assigned to the server.
- Step S330 after receiving the resource request, perform resource request allocation according to the weight and the usage rate.
- the resource request can be allocated to the server with a larger value by multiplying the weight of each server by the proportion of the remaining resources of the corresponding processor.
- the weight of the first server is 0.7
- the usage rate of the GPU is 30%
- the weight of the second server is 0.3
- the usage rate of the CPU is 25%.
- a server is assigned to the GPU.
- the thread pool usage rate may also be considered, and the scheduling scheme is finally determined by the above two usage rates.
- the task execution mode is performed in the manner of slice polling to maximize the utilization of the CPU; if assigned to the GPU, a single exclusive session holding mode is adopted, that is, The GPU will be monopolized by the current user before the task ends. This is because the GPU core thread needs to be scheduled by the CPU thread. If the exclusive mode is not used, it will cause task conflict and reduce system efficiency.
- Nginx performs event distribution, and assigns an HTTP request to a server corresponding to the GPU or a server corresponding to the CPU, and the server passes init.
- Py performs the initialization module, in which the server corresponding to the CPU can directly initialize the unified service model (UBM model); the server corresponding to the GPU needs to start the spring container first, and then load the specified GPU, and then initialize the UBM model.
- the server corresponding to the GPU uses the resources in the UBM pool (thread pool) of the GPU through the get/set; the CPU uses the resources in the UBM pool of the CPU through the get.
- Each server can only process a certain number of maxprocess requests (maximum number of connection requests) at the same time, which is equal to the number of GPUs and CPUs. If the resource request exceeds maxprocess, it will be placed in the Nginx request queue for redistribution.
- the preferred embodiment hands over the allocation to Nginx with a small core load.
- FIG. 5 is a flowchart of another resource allocation request provided by a preferred embodiment of the present application. As shown in FIG. 5, the method includes step S510 and step S520.
- Step S510 deploying multiple servers, the server corresponding to a preset number of graphics processors and a central processing unit. If the usage rate of the graphics processor is lower than a preset value, the graphics processor is preferentially allocated to process resource requests, and the maximum setting of each server is set.
- the computing resource value, the maximum computing resource value is equal to the sum of the computing resources of the central processing unit in the server and the computing resources of the graphics processor.
- each server instead of separately managing the GPU and the CPU, each server includes a certain CPU and GPU computing resources, and after a server reaches a certain load, the next server is used.
- Step S520 The server is used in a preset order, and when the resource request allocated to the current server is greater than the maximum computing resource value, the resource request exceeding the maximum computing resource value is allocated to the next server.
- the preset order may be to number multiple servers, for example, server1, server2, server3...
- the resource request is greater than the maximum computing resource value, ie maxprocess, the resource request is assigned to the next server.
- FIG. 6 is a schematic diagram of the preferred embodiment shown in FIG. 5.
- nginx performs event distribution, assigns an HTTP request to a server, and the server initializes the module through init.py, specifically, Start the spring container, load the specified GPU, then initialize the UBM model, then initialize the UBM of the CPU and put it into the spring container.
- the resource in the UBM pool of the GPU is used by the get/set to determine whether the computing resource of the GPU is obtained. If the computing resource of the GPU is obtained, the resource is returned; if the computing resource of the GPU is not obtained, Get CPU computing resources. If the resource request is greater than maxprocess, the resource request is placed in the request queue of nginx and allocated in the next server.
- the GPU/CPU option is given to the server, the GPU is fully utilized, and the code maintenance is simple. Different servers in the deployment only need to simply configure the GPU parameters.
- FIG. 7 is a structural block diagram of an apparatus for scheduling a processor according to an embodiment of the present application. As shown in FIG. 7, the device includes a receiving module 710 and an obtaining module 720.
- the receiving module 710 is configured to receive a resource request, and the resource request is used to request a computing resource, where the computing resource is provided by a central processing unit and a graphics processor.
- the obtaining module 720 is configured to acquire a usage rate of the computing resource, and allocate a central processing and/or an image processor processing resource request according to a condition that the usage rate is satisfied by using a preset resource allocator.
- the obtaining module comprises: an obtaining sub-module, configured to acquire a graphics processor usage rate; and an allocation sub-module, configured to preferentially allocate the graphics processor to process the resource request when the graphics processor usage rate is lower than a preset value.
- the obtaining module is further configured to: use the Nginx load balancing server to allocate a central processing unit and/or an image processor to process the resource request.
- the obtaining module comprises: a first deployment submodule, configured to deploy the first server and the second server, the first server is configured to receive a resource request allocated to the graphics processor, and the second server is configured to receive and allocate to the central processor a resource request; a first setting sub-module, configured to set a first server with a higher weight than the second server; and a sending sub-module, configured to perform resource request allocation according to the weight and the usage rate after receiving the resource request.
- a first deployment submodule configured to deploy the first server and the second server, the first server is configured to receive a resource request allocated to the graphics processor, and the second server is configured to receive and allocate to the central processor a resource request
- a first setting sub-module configured to set a first server with a higher weight than the second server
- a sending sub-module configured to perform resource request allocation according to the weight and the usage rate after receiving the resource request.
- the obtaining module comprises: a second deployment sub-module, configured to deploy a plurality of servers, where the server corresponds to a preset number of graphics processors and a central processing unit, and if the graphics processor usage rate is lower than a preset value, the graphics are preferentially allocated.
- the processor processes the resource request
- the second setting sub-module is configured to set a maximum computing resource value of each server, where the maximum computing resource value is equal to the sum of the computing resources of the central processing unit and the computing resources of the graphics processor in the server;
- the module is configured to use multiple servers in a preset order, and allocate a resource request exceeding the maximum computing resource value to the next server when the resource request allocated to the current server is greater than the maximum computing resource value of the server.
- the embodiment of the present application flexibly allocates resource requests by using the CPU and the GPU. Compared with the fixed division of labor in the prior art, the existing computing resources can be more fully utilized to improve the processing speed, and further, The GPU shares the computational pressure of the CPU to ensure stable operation of the system.
- FIG. 8 is a schematic diagram of an apparatus for scheduling a processor according to an embodiment of the present application.
- the apparatus 8 of the scheduling processor of this embodiment includes a processor 80 and a memory 81 in which computer readable instructions 82, such as schedules, executable on the processor 80 are stored.
- the processor 80 executes the computer readable instructions 82 to implement the steps in the method embodiments of the various scheduling processors described above, such as steps 101 through 102 shown in FIG.
- the processor 80 when executing the computer readable instructions 82, implements the functions of the various modules/units in the various apparatus embodiments described above, such as the functions of the modules 710 through 720 shown in FIG.
- the computer readable instructions 82 may be partitioned into one or more modules/units that are stored in the memory 81 and executed by the processor 80, To complete this application.
- the one or more modules/units may be a series of computer readable instruction segments capable of performing a particular function for describing the execution of the computer readable instructions 82 in the device 8 of the scheduling processor. .
- the device 8 of the scheduling processor may be a computing device such as a desktop computer, a notebook, a palmtop computer, and a cloud server.
- the devices of the scheduling processor may include, but are not limited to, a processor 80, a memory 81. It will be understood by those skilled in the art that FIG. 8 is merely an example of the device 8 that schedules the processor, does not constitute a limitation on the device 8 of the scheduling processor, may include more or less components than illustrated, or may combine certain Components, or different components, such as the devices of the scheduling processor, may also include input and output devices, network access devices, buses, and the like.
- the so-called processor 80 can be a central processing unit (Central Processing Unit, CPU), can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, etc.
- the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
- the memory 81 may be an internal storage unit of the device 8 of the dispatch processor, such as a hard disk or memory of the device 8 of the dispatch processor.
- the memory 81 may also be an external storage device of the device 8 of the scheduling processor, such as a plug-in hard disk equipped on the device 8 of the scheduling processor, a smart memory card (SMC), and a secure digital device. (Secure Digital, SD) card, flash card, etc.
- SMC smart memory card
- secure digital device Secure Digital, SD
- the memory 81 may also include both an internal storage unit of the device 8 of the scheduling processor and an external storage device.
- the memory 81 is used to store the computer readable instructions and other programs and data required by the device that schedules the processor.
- the memory 81 can also be used to temporarily store data that has been output or is about to be output.
- each functional unit and module in the foregoing system may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit, and the integrated unit may be implemented by hardware.
- Formal implementation can also be implemented in the form of software functional units.
- the specific names of the respective functional units and modules are only for the purpose of facilitating mutual differentiation, and are not intended to limit the scope of protection of the present application.
- the disclosed device/terminal device and method may be implemented in other manners.
- the device/terminal device embodiments described above are merely illustrative.
- the division of the modules or units is only a logical function division.
- there may be another division manner for example, multiple units.
- components may be combined or integrated into another system, or some features may be omitted or not performed.
- the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in electrical, mechanical or other form.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
- the integrated modules/units if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium.
- the present application implements all or part of the processes in the foregoing embodiments, and may also be implemented by computer readable instructions, which may be stored in a computer readable storage medium.
- the computer readable instructions when executed by a processor, may implement the steps of the various method embodiments described above.
- the computer readable instructions comprise computer readable instruction code, which may be in the form of source code, an object code form, an executable file or some intermediate form or the like.
- the computer readable storage medium may include any entity or device capable of carrying the computer readable instruction code, a recording medium, a USB flash drive, a removable hard disk, a magnetic disk, an optical disk, a computer memory, a read only memory (Read-Only Memory) , ROM), random access memory (Random Access Memory, RAM), electrical carrier signals, telecommunications signals, and software distribution media. It should be noted that the content contained in the computer readable storage medium may be appropriately increased or decreased according to the requirements of legislation and patent practice in a jurisdiction, for example, in some jurisdictions, according to legislation and patent practice, computer readable The storage medium does not include an electrical carrier signal and a telecommunication signal.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims (20)
- 一种调度处理器的方法,其特征在于,包括:接收资源请求,所述资源请求用于请求运算资源,所述运算资源由中央处理器和图形处理器提供;获取所述运算资源的使用率,利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求。
- 如权利要求1所述的调度处理器的方法,其特征在于,所述利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求,包括:获取图形处理器使用率;若所述图形处理器使用率低于预设值,则优先分配所述图形处理器处理所述资源请求。
- 如权利要求1所述的调度处理器的方法,其特征在于,所述利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求,包括:利用Nginx负载均衡服务器分配所述中央处理器和/或所述图像处理器处理所述资源请求。
- 如权利要求1所述的调度处理器的方法,其特征在于,所述获取所述运算资源的使用率,利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求,包括:部署第一服务器和第二服务器,所述第一服务器用于接收分配给所述图形处理器的所述资源请求,所述第二服务器用于接收分配给所述中央处理器的所述资源请求;设置所述第一服务器的权重高于所述第二服务器;在接收到所述资源请求之后,根据所述权重和所述使用率进行资源请求分配。
- 如权利要求1所述的调度处理器的方法,其特征在于,所述获取所述运算资源的使用率,利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求,包括:部署多个服务器,所述服务器对应预设数量的所述图形处理器和所述中央处理器,若所述图形处理器使用率低于预设值,则优先分配所述图形处理器处理所述资源请求;设置每个所述服务器的最大运算资源值,所述最大运算资源值等于该服务器中所述中央处理器的运算资源与所述图形处理器的运算资源之和;按预设顺序使用所述多个服务器,在给当前服务器分配的资源请求大于该服务器的所述最大运算资源值时,将超出所述最大运算资源值的所述资源请求分配至下一个服务器。
- 一种调度处理器的装置,其特征在于,包括:接收模块,用于接收资源请求,资源请求用于请求运算资源,运算资源由中央处理器和图形处理器提供。获取模块,用于获取运算资源的使用率,利用预设的资源分配器,根据使用率满足的条件,分配中央处理和/或图像处理器处理资源请求。
- 根据权利要求6所述的调度处理器的装置,其特征在于,所述获取模块包括:获取子模块,用于获取图形处理器使用率;分配子模块,用于在图形处理器使用率低于预设值时,优先分配图形处理器处理资源请求。
- 根据权利要求6所述的调度处理器的装置,其特征在于,所述获取模块还用于:利用Nginx负载均衡服务器分配中央处理器和/或图像处理器处理资源请求。
- 根据权利要求6所述的调度处理器的装置,其特征在于,所述获取模块包括:第一部署子模块,用于部署第一服务器和第二服务器,第一服务器用于接收分配给图形处理器的资源请求,第二服务器用于接收分配给中央处理器的资源请求;第一设置子模块,用于设置第一服务器的权重高于第二服务器;发送子模块,用于在接收到资源请求之后,根据权重和使用率进行资源请求分配。
- 根据权利要求6所述的调度处理器的装置,其特征在于,所述获取模块包括:第二部署子模块,用于部署多个服务器,服务器对应预设数量的图形处理器和中央处理器,若图形处理器使用率低于预设值,则优先分配图形处理器处理资源请求;第二设置子模块,用于设置每个服务器的最大运算资源值,最大运算资源值等于该服务器中中央处理器的运算资源与图形处理器的运算资源之和;使用子模块,用于按预设顺序使用多个服务器,在给当前服务器分配的资源请求大于该服务器的最大运算资源值时,将超出最大运算资源值的资源请求分配至下一个服务器。
- 一种调度处理器的设备,其特征在于,包括存储器以及处理器,所述存储器中存储有可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:接收资源请求,所述资源请求用于请求运算资源,所述运算资源由中央处理器和图形处理器提供;获取所述运算资源的使用率,利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求。
- 根据权利要求11所述的调度处理器的设备,其特征在于,所述利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求,包括:获取图形处理器使用率;若所述图形处理器使用率低于预设值,则优先分配所述图形处理器处理所述资源请求。
- 根据权利要求11所述的调度处理器的设备,其特征在于,所述利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求,包括:利用Nginx负载均衡服务器分配所述中央处理器和/或所述图像处理器处理所述资源请求。
- 根据权利要求11所述的调度处理器的设备,其特征在于,所述获取所述运算资源的使用率,利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求,包括:部署第一服务器和第二服务器,所述第一服务器用于接收分配给所述图形处理器的所述资源请求,所述第二服务器用于接收分配给所述中央处理器的所述资源请求;设置所述第一服务器的权重高于所述第二服务器;在接收到所述资源请求之后,根据所述权重和所述使用率进行资源请求分配。
- 根据权利要求11所述的调度处理器的设备,其特征在于,所述获取所述运算资源的使用率,利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求,包括:部署多个服务器,所述服务器对应预设数量的所述图形处理器和所述中央处理器,若所述图形处理器使用率低于预设值,则优先分配所述图形处理器处理所述资源请求;设置每个所述服务器的最大运算资源值,所述最大运算资源值等于该服务器中所述中央处理器的运算资源与所述图形处理器的运算资源之和;按预设顺序使用所述多个服务器,在给当前服务器分配的资源请求大于该服务器的所述最大运算资源值时,将超出所述最大运算资源值的所述资源请求分配至下一个服务器。
- 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被至少一个处理器执行时实现如下步骤:接收资源请求,所述资源请求用于请求运算资源,所述运算资源由中央处理器和图形处理器提供;获取所述运算资源的使用率,利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求。
- 根据权利要求16所述的计算机可读存储介质,其特征在于,所述利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求,包括:获取图形处理器使用率;若所述图形处理器使用率低于预设值,则优先分配所述图形处理器处理所述资源请求。
- 根据权利要求16所述的计算机可读存储介质,其特征在于,所述利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求,包括:利用Nginx负载均衡服务器分配所述中央处理器和/或所述图像处理器处理所述资源请求。
- 根据权利要求16所述的计算机可读存储介质,其特征在于,所述获取所述运算资源的使用率,利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求,包括:部署第一服务器和第二服务器,所述第一服务器用于接收分配给所述图形处理器的所述资源请求,所述第二服务器用于接收分配给所述中央处理器的所述资源请求;设置所述第一服务器的权重高于所述第二服务器;在接收到所述资源请求之后,根据所述权重和所述使用率进行资源请求分配。
- 根据权利要求19所述的计算机可读存储介质,其特征在于,所述获取所述运算资源的使用率,利用预设的资源分配器,根据所述使用率满足的条件,分配所述中央处理和/或所述图像处理器处理所述资源请求,包括:部署多个服务器,所述服务器对应预设数量的所述图形处理器和所述中央处理器,若所述图形处理器使用率低于预设值,则优先分配所述图形处理器处理所述资源请求;设置每个所述服务器的最大运算资源值,所述最大运算资源值等于该服务器中所述中央处理器的运算资源与所述图形处理器的运算资源之和;按预设顺序使用所述多个服务器,在给当前服务器分配的资源请求大于该服务器的所述最大运算资源值时,将超出所述最大运算资源值的所述资源请求分配至下一个服务器。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710481998.5 | 2017-06-22 | ||
| CN201710481998.5A CN107688495B (zh) | 2017-06-22 | 2017-06-22 | 调度处理器的方法及设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018233299A1 true WO2018233299A1 (zh) | 2018-12-27 |
Family
ID=61152632
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2018/076009 Ceased WO2018233299A1 (zh) | 2017-06-22 | 2018-02-09 | 调度处理器的方法、装置、设备及介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN107688495B (zh) |
| WO (1) | WO2018233299A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115421915A (zh) * | 2022-08-29 | 2022-12-02 | 苏州浪潮智能科技有限公司 | 一种基于cpu和gpu混合分时工作流调度方法及系统 |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110389763B (zh) * | 2018-04-20 | 2023-06-16 | 伊姆西Ip控股有限责任公司 | 用于调度专用处理资源的方法、设备和计算机可读介质 |
| CN110858161B (zh) * | 2018-08-24 | 2023-05-12 | 阿里巴巴集团控股有限公司 | 资源分配方法、装置、系统、设备和介质 |
| CN109561134B (zh) * | 2018-10-26 | 2022-06-10 | 平安科技(深圳)有限公司 | 电子装置、分布式集群服务分配方法及存储介质 |
| TWI739235B (zh) * | 2019-12-12 | 2021-09-11 | 中華電信股份有限公司 | 一種gpu運算資源指配系統及其方法 |
| CN111897639B (zh) * | 2020-07-29 | 2022-12-27 | 平安科技(深圳)有限公司 | 图像增广方法、装置、计算机设备及存储介质 |
| CN112035247A (zh) * | 2020-08-12 | 2020-12-04 | 博泰车联网(南京)有限公司 | 一种资源调度方法、车机及计算机存储介质 |
| CN112162864B (zh) * | 2020-10-26 | 2023-06-09 | 新华三大数据技术有限公司 | 一种云资源分配方法、装置及存储介质 |
| CN112506637B (zh) * | 2020-12-17 | 2024-12-24 | 广东省科技基础条件平台中心 | 图像数据处理方法、装置、计算机设备和存储介质 |
| CN114428665A (zh) * | 2022-01-24 | 2022-05-03 | 北京百度网讯科技有限公司 | 数据处理的方法、装置、设备以及存储介质 |
| CN114500398B (zh) * | 2022-01-26 | 2024-05-28 | 中国农业银行股份有限公司 | 一种处理器协同加速的方法、装置、设备及介质 |
| CN114640681B (zh) * | 2022-03-10 | 2024-05-17 | 京东科技信息技术有限公司 | 一种数据处理方法和系统 |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101447939A (zh) * | 2008-12-16 | 2009-06-03 | 中国移动通信集团北京有限公司 | 一种业务分配方法和负载均衡器 |
| CN102958166A (zh) * | 2011-08-29 | 2013-03-06 | 华为技术有限公司 | 一种资源分配方法及资源管理平台 |
| CN105988874A (zh) * | 2015-02-10 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 资源处理方法及装置 |
| CN106155811A (zh) * | 2015-04-28 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 图形处理装置、资源服务装置、资源调度方法和装置 |
| US9576332B1 (en) * | 2014-06-02 | 2017-02-21 | VCE IP Holding Company LLC | Systems and methods for remote graphics processing unit service |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101467558B1 (ko) * | 2007-07-26 | 2014-12-01 | 엘지전자 주식회사 | 그래픽데이터 처리 장치 및 방법 |
| US9479449B2 (en) * | 2013-06-03 | 2016-10-25 | Advanced Micro Devices, Inc. | Workload partitioning among heterogeneous processing nodes |
| CN104778080A (zh) * | 2014-01-14 | 2015-07-15 | 中兴通讯股份有限公司 | 基于协处理器的作业调度处理方法及装置 |
| CN104102546B (zh) * | 2014-07-23 | 2018-02-02 | 浪潮(北京)电子信息产业有限公司 | 一种实现cpu和gpu负载均衡的方法及系统 |
-
2017
- 2017-06-22 CN CN201710481998.5A patent/CN107688495B/zh active Active
-
2018
- 2018-02-09 WO PCT/CN2018/076009 patent/WO2018233299A1/zh not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101447939A (zh) * | 2008-12-16 | 2009-06-03 | 中国移动通信集团北京有限公司 | 一种业务分配方法和负载均衡器 |
| CN102958166A (zh) * | 2011-08-29 | 2013-03-06 | 华为技术有限公司 | 一种资源分配方法及资源管理平台 |
| US9576332B1 (en) * | 2014-06-02 | 2017-02-21 | VCE IP Holding Company LLC | Systems and methods for remote graphics processing unit service |
| CN105988874A (zh) * | 2015-02-10 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 资源处理方法及装置 |
| CN106155811A (zh) * | 2015-04-28 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 图形处理装置、资源服务装置、资源调度方法和装置 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115421915A (zh) * | 2022-08-29 | 2022-12-02 | 苏州浪潮智能科技有限公司 | 一种基于cpu和gpu混合分时工作流调度方法及系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN107688495A (zh) | 2018-02-13 |
| CN107688495B (zh) | 2020-11-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2018233299A1 (zh) | 调度处理器的方法、装置、设备及介质 | |
| CN114020470B (zh) | 资源分配方法、装置、可读介质及电子设备 | |
| US10109030B1 (en) | Queue-based GPU virtualization and management system | |
| US10496446B2 (en) | Altruistic dependable memory overcommit for virtual machines | |
| CN109726005B (zh) | 用于管理资源的方法、服务器系统和计算机可读介质 | |
| CN102906726B (zh) | 协处理加速方法、装置及系统 | |
| CN105045658B (zh) | 一种利用多核嵌入式dsp实现动态任务调度分发的方法 | |
| CN104536937B (zh) | 基于cpu‑gpu异构集群的大数据一体机实现方法 | |
| CN103646006B (zh) | 一种处理器的调度方法、装置和系统 | |
| CN118897736A (zh) | 模型推理调度方法、装置和服务器集群 | |
| CN104778080A (zh) | 基于协处理器的作业调度处理方法及装置 | |
| CN108363623A (zh) | Gpu资源调度方法、装置、设备及计算机可读存储介质 | |
| CN109729113B (zh) | 管理专用处理资源的方法、服务器系统和计算机程序产品 | |
| US10037225B2 (en) | Method and system for scheduling computing | |
| CN114168301B (zh) | 线程调度方法、处理器以及电子装置 | |
| US20250278318A1 (en) | Data processing method and apparatus, electronic device, and computer-readable storage medium | |
| US20200174821A1 (en) | System, method and computer program for virtual machine resource allocation | |
| CN106325995B (zh) | 一种gpu资源的分配方法及系统 | |
| US9471387B2 (en) | Scheduling in job execution | |
| CN106325996B (zh) | 一种gpu资源的分配方法及系统 | |
| US20230063893A1 (en) | Simultaneous-multi-threading (smt) aware processor allocation for cloud real-time workloads | |
| CN114637536A (zh) | 任务处理方法、计算协处理器、芯片及计算机设备 | |
| CN111694672B (zh) | 资源分配方法、任务提交方法、装置、电子设备和介质 | |
| Orellana et al. | FPGA‐Aware Scheduling Strategies at Hypervisor Level in Cloud Environments | |
| CN117149440B (zh) | 一种任务调度方法、装置、电子设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18820714 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18820714 Country of ref document: EP Kind code of ref document: A1 |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM1205 DATED 18/03/2020) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 18820714 Country of ref document: EP Kind code of ref document: A1 |