Resource scheduling method, resource scheduling device and computer storage medium
Through the collaborative work of the virtual resource calculation module and the computing task scheduling module, the operation of multiple computing tasks on the entire card physical image processor, solving the problem of low GPU utilization rate in existing technology, improved the utilization of image processor use Rate.
Patent Information
- Application Number
- CN202411945483.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-27
- Publication Date
- 2025-01-28
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing GPU plug-ins can only use one GPU alone and cannot be used in virtualization, resulting in a reduced utilization rate of image processors during AI model calculation or inference.
Proposal a resource scheduling method to obtain the virtual image processor card information of the physical image processor card through the virtual resource calculation module, and submit the virtual image processor card information to the cluster management system through the calculation of the task scheduling module, and schedule to the calculation node. Implement the mapping of the target virtual image processor card, and then perform the computing task.
The operation of multiple computing tasks on the entire card physical image processor, which improves the utilization rate of the image processor.
Smart Images

Figure CN119376897A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of distributed computing task scheduling, and in particular to a resource scheduling method, a resource scheduling device, and a computer storage medium. Background Art
[0002] Kubernetes (K8s) is an open source cluster management system that allows hardware to be registered and managed as resources. Currently, NVIDI (NVIDIA) has officially open-sourced a GPU (Graphics Processing Unit) plug-in for use on Kubernetes, but this plug-in can only use a single GPU and cannot be used in a virtualized manner. For example, in some scenarios, AI (Artificial Intelligence) models do not need to occupy the entire GPU card during calculation or reasoning, but a single graphics processor cannot run multiple training tasks or reasoning tasks at the same time, which will greatly reduce the utilization of the graphics processor. Summary of the invention
[0003] In order to solve the above technical problems, the present application proposes a resource scheduling method, a resource scheduling device and a computer storage medium.
[0004] To solve the above technical problems, the present application proposes a resource scheduling method, which is applied to a resource scheduling system. The resource scheduling system includes: a virtual resource computing module, a computing task scheduling module, and a computing node; the resource scheduling method includes: The virtual resource calculation module obtains virtual image processor card information of the physical image processor card based on the calculation task; The computing task scheduling module submits the virtual image processor card information to the cluster management system, and the cluster management system schedules the virtual image processor card information to the computing node; The computing node acquires a corresponding target virtual image processor card based on the virtual image processor card information; The computing node maps the target virtual image processor card to a container in the cluster management system, so as to execute the computing task through the target virtual image processor card.
[0005] Wherein, the resource scheduling system also includes a task lifecycle management module; The resource scheduling method further includes: The task lifecycle management module monitors the task status executed by the target virtual image processor card in the container of the cluster management system according to the managed task issued by the computing task scheduling module.
[0006] Wherein, the computing node includes a node agent and an image processor virtualization plug-in; The computing node acquires a corresponding target virtual image processor card based on the virtual image processor card information, including: The node agent sends the virtual image processor card information to the image processor virtualization plug-in; The image processor virtualization plug-in obtains a virtual identification code of a target virtual image processor card and a physical identification code of a target physical image processor card where the target virtual image processor card is located according to the virtual image processor card information; The image processor virtualization plug-in maps and mounts the target physical image processor card to a container in the cluster management system according to the physical identification code to run the target virtual image processor card.
[0007] Wherein, the resource scheduling method further includes: The image processor virtualization plug-in obtains a physical identification code of a physical image processor card; The image processor virtualization plug-in virtualizes each physical image processor card into a plurality of virtual image processor cards, and generates a virtual identification code for each virtual image processor card; The image processor virtualization plug-in constructs an image processor card table, uses the physical identification codes of all physical image processor cards as values of the image processor card table, uses the virtual identification codes of all virtual image processor cards as keys of the image processor card table, and reports the image processor card table to the cluster management system.
[0008] The virtual resource calculation module obtains virtual image processor card information of the physical image processor card based on the calculation task, including: The virtual resource calculation module requests physical image processor card information from the cluster management system; The virtual resource calculation module compares the physical image processor card information with the user information of the calculation task to obtain the user type; In response to the user type being a historical user, the virtual resource calculation module allocates the calculation task to a physical image processor card used by the historical user, and generates virtual image processor card information of the physical image processor card; In response to the user type being a newly created user, the virtual resource calculation module allocates the calculation task to an idle physical image processor card and generates virtual image processor card information of the physical image processor card.
[0009] The virtual resource calculation module obtains virtual image processor card information of the physical image processor card based on the calculation task, including: In response to the computing task being a training task, the virtual resource computing module generates the virtual image processor card information according to all virtual image processor cards of the physical image processor card; In response to the computing task being an inference task, the virtual resource computing module generates virtual image processor card information for allocating a physical image processor card according to user-specified information.
[0010] The virtual resource calculation module allocates the calculation task to the physical image processor card used by the historical user and generates virtual image processor card information of the physical image processor card, including: The virtual resource calculation module obtains the number of vacant virtual image processor cards of the physical image processor cards used by the historical user; The virtual resource calculation module traverses all physical image processor cards used by the historical user, and determines whether there are vacant virtual image processor cards of the physical image processor cards in a number that meets the required number of virtual image processor cards for the calculation task; If yes, determine the virtual graphics processor card information of the physical graphics processor card.
[0011] Wherein, the resource scheduling method further includes: In response to the fact that there are no physical image processor cards whose number of vacant virtual image processor cards meets the number of virtual image processor cards required for the computing task among all the physical image processor cards used by the historical user, the virtual resource computing module allocates the computing task to the idle physical image processor cards and generates virtual image processor card information of the physical image processor cards.
[0012] To solve the above technical problems, the present application also proposes a resource scheduling device, which includes a memory and a processor coupled to the memory; wherein the memory is used to store program data, and the processor is used to execute the program data to implement the resource scheduling method as described above.
[0013] In order to solve the above technical problems, the present application also proposes a computer storage medium, which is used to store program data. When the program data is executed by a computer, it is used to implement the above resource scheduling method.
[0014] Compared with the prior art, the beneficial effects of the present application are as follows: the resource scheduling system of the present application includes: a virtual resource computing module, a computing task scheduling module, and a computing node; the resource scheduling method includes: the virtual resource computing module obtains the virtual image processor card information of the physical image processor card based on the computing task; the computing task scheduling module submits the virtual image processor card information to the cluster management system, and the cluster management system schedules the virtual image processor card information to the computing node; the computing node obtains the corresponding target virtual image processor card based on the virtual image processor card information; the computing node maps the target virtual image processor card to a container in the cluster management system to execute the computing task through the target virtual image processor card. Through the above resource scheduling method, combined with the image processor card virtualization technology, it is possible to run multiple computing tasks on the entire card physical image processor, which is conducive to improving the utilization rate of the image processor. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. Among them: Figure 1 It is a flowchart of an embodiment of a resource scheduling method provided by the present application; Figure 2 It is a schematic diagram of the framework of the resource scheduling system provided by this application; Figure 3 It is a schematic diagram of the workflow of the vGpu resource calculation module provided by this application; Figure 4 It is a schematic diagram of the pre-allocation process of the vGpu resource computing module provided by this application; Figure 5 This is a schematic diagram of the quota control process of the vGpu resource computing module provided by this application; Figure 6 It is a workflow diagram of the computing task scheduling module provided by this application; Figure 7 yes Figure 1 The specific flow chart of step S13 of the resource scheduling method shown; Figure 8 It is a flowchart of another embodiment of the resource scheduling method provided by the present application; Fig. 9 This is a schematic diagram of the workflow of the GPU virtualization plug-in provided by this application; Fig.10It is a schematic diagram of the correspondence between the physical GPU and the virtual vGpu provided in this application; Fig.11 It is a structural diagram of an embodiment of a resource scheduling device provided by the present application; Fig.12 It is a structural diagram of an embodiment of a computer storage medium provided by the present application. DETAILED DESCRIPTION
[0016] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0017] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present application described herein can, for example, be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0018] To solve the problems of the prior art, this application provides a computing task scheduling technology on a GPU resource virtualization cluster. Figure 1 and Figure 2 , Figure 1 is a flow chart of an embodiment of a resource scheduling method provided by the present application. Figure 2 It is a schematic diagram of the framework of the resource scheduling system provided in this application.
[0019] like Figure 2 As shown, the resource scheduling system provided by the present application mainly includes: a virtual resource computing module (the vGpu resource computing module in the figure), a computing task scheduling module, and a computing node.
[0020] Figure 2The core principle of the resource scheduling system shown is that when a user submits a computing task, it is pushed to the computing task scheduling module after passing through the vGpu resource computing module, and then scheduled to kubernetes and hosted in the task lifecycle management module. The task lifecycle management module is responsible for monitoring the task status from kubernetes. According to the information specified by the task, kubernetes schedules the task to the specified computing node. The kubelet (node agent) on the computing node requests the vGpu information from the GPU virtualization plug-in and maps it to the container for use.
[0021] Among them, vGpu refers to a component that renders graphics on a virtual desktop. The application field is large-scale graphics processing, that is, the virtual image processor mentioned in this application.
[0022] like Figure 1 As shown, the specific steps are as follows: Step S11: the virtual resource calculation module obtains the virtual image processor card information of the physical image processor card based on the calculation task.
[0023] In the embodiment of the present application, the user Figure 2 The resource scheduling system shown submits a computing task to calculate the virtual graphics processor card (vGpu) information of the physical graphics processor card (GPU) that processes the computing task, such as the vGpu serial number, identifier, etc., through a virtual resource computing module, namely, a vGpu resource computing module.
[0024] Specifically, the vGpu resource calculation module verifies and pre-allocates the vGpu quota for the computing tasks submitted by the user according to the predetermined strategy. For the specific process, please continue to refer to Figure 3 , Figure 3 It is a schematic diagram of the workflow of the vGpu resource calculation module provided in this application.
[0025] like Figure 3 As shown in the figure, after the vGpu resource computing module is started, it requests the computing node information of the cluster from kubernetes, builds a cache based on the physical GPU card and its video memory information, and starts monitoring the change information of the nodes on kubernetes to update the cache.
[0026] When the vGpu resource calculation module receives a computing task request, it starts the vGpu resource calculation service. First, the vGpu resource calculation module needs to determine whether the computing task belongs to the training type or the inference type. The difference between the two is that the computing task of the training type requires a large amount of computing resources due to multiple iterations in the training phase; while the computing task of the inference type only needs to perform a single model inference to output the calculation result, and does not need to occupy too many computing resources.
[0027] Therefore, if Figure 3 As shown in the figure, if the computing task is of training type, the entire physical GPU card is allocated, that is, if the physical GPU card is virtualized as N vGPUs, N vGpu resources are allocated for the task. If the computing task is of inference type, and the vGpu information and video memory information are not specified, the entire physical GPU card allocation process is followed; if the video memory is specified, the node information in the cluster is obtained from the cache, and the video memory information is converted into vGpu information. Among them, specifying the video memory information means that the user specifies the vGpu serial number or identifier to be requested when submitting the computing task. If the video memory is not specified, the entire physical GPU card still needs to be allocated and the physical GPU card is converted into vGpu resource information.
[0028] Furthermore, in order to achieve resource sharing for the same user and resource isolation between different users on the GPU resource virtualization cluster, and improve GPU resource utilization and stability, the vGpu resource calculation module of this application also needs to provide the ability to pre-allocate vGpu resources, that is, to allocate the same user task to the vGpu virtualized from the same physical GPU. For details, please refer to Figure 4 , Figure 4 It is a schematic diagram of the pre-allocation process of the vGpu resource computing module provided by this application.
[0029] like Figure 4 As shown, the vGpu resource calculation module needs to determine whether the user who submitted the computing task request already has a vGpu allocation record. If so, it means that the user is a historical user, and the computing nodes that meet the required number of vGpus, that is, the computing nodes that can meet the computing task, can be found from the computing nodes that the historical user has already allocated. It should be noted that if there is no computing node that can meet the required number of vGpus among the computing nodes that the historical user has already allocated, the vGpu resource calculation module can also continue searching from the idle computing nodes.
[0030] If there is no vGpu allocation record, it means that the user is a new user, and then the idle computing nodes are directly searched for the required number of vGpus, that is, the computing nodes that can meet the computing tasks.
[0031] When the vGpu resource calculation module determines the computing node that meets the user's needs, it can allocate vGpu resources, update the corresponding computing node cache information, and generate virtual image processor card information.
[0032] In addition, the vGpu resource calculation module also provides user vGpu quota management capabilities, that is, management from two dimensions: the total number of vGpus that each user can use, and the number of vacant vGpus that appear during allocation.
[0033] Please refer to Figure 5 , Figure 5This is a schematic diagram of the quota control process of the vGpu resource computing module provided in this application.
[0034] like Figure 5 As shown, after the vGpu resource calculation module calculates the number of vGpus required by the user according to the computing task, it determines whether the number of vGpus required for the current computing task exceeds the total vGpu quota of the user. If it exceeds, the computing task needs to be queued until the user completes the previous task calculation and releases enough vGpu resources before continuing to allocate vGpu resources to the current computing task. If it does not exceed, the vGpu resource calculation module still needs to continue to determine whether the unallocated vGpu resources virtualized by the GPU card used by the user can meet the needs of the current computing task. If it cannot be met, a new GPU card needs to be allocated to the user. However, at this time, the vGpu resource calculation module also needs to determine whether the number of vacant vGpus of the new GPU card after allocating the vGpu resources of the current computing task will exceed the quota. If it exceeds the quota, the current computing task still needs to enter the queue and wait for subsequent resource allocation.
[0035] Among them, the number of vacant vGPUs refers to the number of N vGPUs virtualized from one physical GPU. Assuming that a computing task uses M of them, then NM vGPUs are vacant. The cumulative total of all vacant vGPUs of the same user is the number of vacant vGPUs caused by the user.
[0036] Step S12: the computing task scheduling module submits the virtual image processor card information to the cluster management system, and the cluster management system schedules the virtual image processor card information to the computing node.
[0037] In the embodiment of the present application, the computing task scheduling module submits the computing tasks submitted by the user to Kubernetes, which is then scheduled by Kubernetes to the computing node for execution.
[0038] Furthermore, the computing task scheduling module can also host the current computing task to the task lifecycle management module, and the task lifecycle management module monitors the task status executed by the target virtual image processor card in the Kubernetes container.
[0039] Please refer to Figure 6 , Figure 6 It is a workflow diagram of the computing task scheduling module provided in this application.
[0040] like Figure 6As shown in the figure, the computing task scheduling module requests kubernetes to create a job to schedule vGpu resources to the computing node. The computing task scheduling module continuously polls the virtual graphics processor card information to determine whether the vGpu resources have been allocated. If not, the current polling ends.
[0041] Step S13: the computing node obtains the corresponding target virtual image processor card based on the virtual image processor card information.
[0042] In an embodiment of the present application, the computing node starts the vGpu allocation service according to the allocated vGpu resources. This service mainly receives kubernetes's setting requests for using vGpu. The service returns the uuid (Universally Unique Identifier) and other information of the physical GPU corresponding to the vGpu according to the parameters. kubernetes maps and mounts it to the container for use based on the returned physical GPU information.
[0043] Specifically, Figure 2 As shown, the computing node specifically includes a node agent (kubelet) and a graphics processor virtualization plug-in (GPU virtualization plug-in).
[0044] For the detailed workflow of computing nodes and GPU virtualization plug-ins, please continue to refer to Figure 7 , Figure 7 yes Figure 1 The specific flow chart of step S13 of the resource scheduling method is shown.
[0045] like Figure 7 As shown, the specific steps are as follows: Step S131: the node agent sends the virtual graphics processor card information to the graphics processor virtualization plug-in.
[0046] Step S132: the image processor virtualization plug-in obtains the virtual identification code of the target virtual image processor card and the physical identification code of the target physical image processor card where the target virtual image processor card is located according to the virtual image processor card information.
[0047] In an embodiment of the present application, the GPU virtualization plug-in obtains the relevant virtual identification code of the vGpu, such as uuid (Universally Unique Identifier), etc., and the physical identification code of the GPU according to the virtual image processor card information.
[0048] Step S133: the image processor virtualization plug-in maps and mounts the target physical image processor card to a container in the cluster management system according to the physical identification code to run the target virtual image processor card.
[0049] In an embodiment of the present application, the GPU virtualization plug-in registers and reports the vGpu according to the physical identification code of the GPU to run the vGpu in the container of the GPU.
[0050] For further information, please refer to Figure 8 and Fig. 9 , Figure 8 is a flow chart of another embodiment of the resource scheduling method provided by the present application. Fig. 9 This is a schematic diagram of the workflow of the GPU virtualization plug-in provided in this application.
[0051] like Figure 8 As shown, the specific steps are as follows: Step S21: the image processor virtualization plug-in obtains the physical identification code of the physical image processor card.
[0052] In the embodiments of the present application, Fig. 9 As shown in the figure, the GPU virtualization plug-in uses the device management mechanism of Kubernetes to virtualize the physical GPU on the computing node into N vGPUs through direct passthrough, where N is configurable on demand.
[0053] Specifically, each physical GPU on the computing node starts a plug-in, and each physical GPU has a unique uuid.
[0054] Step S22: the GPU virtualization plug-in virtualizes each physical GPU card into a plurality of virtual GPU cards, and generates a virtual identification code for each virtual GPU card.
[0055] In an embodiment of the present application, the GPU virtualization plug-in virtualizes each physical GPU into N vGpus and generates a unique uuid for each vGpu.
[0056] Step S23: the image processor virtualization plug-in constructs an image processor card table, uses the physical identification codes of all physical image processor cards as values of the image processor card table, uses the virtual identification codes of all virtual image processor cards as keys of the image processor card table, and reports the image processor card table to the cluster management system.
[0057] In the embodiment of the present application, the GPU virtualization plug-in constructs a map, the key is the uuid of the vGpu, and the value is the uuid of the physical GPU. Finally, the GPU virtualization plug-in registers and reports all vGpus to kubernetes. Assuming that there are M physical GPUs on the physical node, there will be M*N vGpus on kubernetes. Fig.10 As shown, Fig.10It is a schematic diagram of the correspondence between the physical GPU and the virtual vGpu provided in this application.
[0058] Step S14: the computing node maps the target virtual image processor card to a container in the cluster management system to execute computing tasks through the target virtual image processor card.
[0059] In the present application, the resource scheduling system includes: a virtual resource computing module, a computing task scheduling module, and a computing node; the resource scheduling method includes: the virtual resource computing module obtains the virtual image processor card information of the physical image processor card based on the computing task; the computing task scheduling module submits the virtual image processor card information to the cluster management system, and the cluster management system schedules the virtual image processor card information to the computing node; the computing node obtains the corresponding target virtual image processor card based on the virtual image processor card information; the computing node maps the target virtual image processor card to a container in the cluster management system to execute the computing task through the target virtual image processor card. Through the above resource scheduling method, combined with the image processor card virtualization technology, it is possible to run multiple computing tasks on the entire card physical image processor, which is conducive to improving the utilization rate of the image processor.
[0060] The resource scheduling system provided by this application can select multiple resource configurations when submitting computing tasks according to different application scenarios: vGpu, video memory, physical GPU, and combine GPU virtualization technology to unify these resource configurations into vGpu when computing the resources required for the task. When allocating vGpu resources, the same user is allocated to the vGpu virtualized from the same physical GPU, and different users are allocated to the vGpu virtualized from different physical GPUs. At the same time, quota management is performed to avoid excessive dispersion of vGpu allocation and improve GPU resource utilization and stability.
[0061] Those skilled in the art will appreciate that, in the above method of specific implementation, the order in which the steps are written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of the steps should be determined by their functions and possible internal logic.
[0062] In order to implement the above resource scheduling method, this application also proposes a resource scheduling device, please refer to Fig.11 , Fig.11 It is a structural diagram of an embodiment of a resource scheduling device provided in the present application.
[0063] The resource scheduling device 400 of this embodiment includes a processor 41 , a memory 42 , an input / output device 43 , and a bus 44 .
[0064] The processor 41 , the memory 42 , and the input / output device 43 are respectively connected to the bus 44 . The memory 42 stores program data. The processor 41 is used to execute the program data to implement the resource scheduling method described in the above embodiment.
[0065] In the embodiment of the present application, the processor 41 may also be referred to as a CPU (Central Processing Unit). The processor 41 may be an integrated circuit chip having the ability to process signals. The processor 41 may also be a general-purpose processor, a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gates or transistor logic devices, or discrete hardware components. A general-purpose processor may be a microprocessor or the processor 41 may also be any conventional processor, etc.
[0066] This application also provides a computer storage medium, please continue to refer to Fig.12 , Fig.12 It is a structural diagram of an embodiment of a computer storage medium provided in the present application. The computer storage medium 600 stores a computer program 61. When the computer program 61 is executed by a processor, it is used to implement the resource scheduling method of the above embodiment.
[0067] When the embodiments of the present application are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including several instructions to enable a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk and other media that can store program code.
[0068] The above description is only an implementation method of the present application, and does not limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly used in other related technical fields, are also included in the patent protection scope of the present application.
Claims
1. A resource scheduling method, characterized in that: The resource scheduling method is applied to a resource scheduling system, the resource scheduling system includes: a virtual resource computing module, a computing task scheduling module, and a computing node; the resource scheduling method includes: The virtual resource calculation module obtains virtual image processor card information of the physical image processor card based on the calculation task; The computing task scheduling module submits the virtual image processor card information to the cluster management system, and the cluster management system schedules the virtual image processor card information to the computing node; The computing node acquires a corresponding target virtual image processor card based on the virtual image processor card information; The computing node maps the target virtual image processor card to a container in the cluster management system, so as to execute the computing task through the target virtual image processor card.
2. The resource scheduling method according to claim 1, characterized in that: The resource scheduling system also includes a task lifecycle management module; The resource scheduling method further includes: The task lifecycle management module monitors the task status executed by the target virtual image processor card in the container of the cluster management system according to the managed task issued by the computing task scheduling module.
3. The resource scheduling method according to claim 1, characterized in that: The computing node includes a node agent and an image processor virtualization plug-in; The computing node acquires a corresponding target virtual image processor card based on the virtual image processor card information, including: The node agent sends the virtual image processor card information to the image processor virtualization plug-in; The image processor virtualization plug-in obtains a virtual identification code of a target virtual image processor card and a physical identification code of a target physical image processor card where the target virtual image processor card is located according to the virtual image processor card information; The image processor virtualization plug-in maps and mounts the target physical image processor card to a container in the cluster management system according to the physical identification code to run the target virtual image processor card.
4. The resource scheduling method according to claim 3, characterized in that: The resource scheduling method further includes: The image processor virtualization plug-in obtains a physical identification code of a physical image processor card; The image processor virtualization plug-in virtualizes each physical image processor card into a plurality of virtual image processor cards, and generates a virtual identification code for each virtual image processor card; The image processor virtualization plug-in constructs an image processor card table, uses the physical identification codes of all physical image processor cards as values of the image processor card table, uses the virtual identification codes of all virtual image processor cards as keys of the image processor card table, and reports the image processor card table to the cluster management system.
5. The resource scheduling method according to claim 1, characterized in that: The virtual resource calculation module obtains virtual image processor card information of the physical image processor card based on the calculation task, including: The virtual resource calculation module requests physical image processor card information from the cluster management system; The virtual resource calculation module compares the physical image processor card information with the user information of the calculation task to obtain the user type; In response to the user type being a historical user, the virtual resource calculation module allocates the calculation task to a physical image processor card used by the historical user, and generates virtual image processor card information of the physical image processor card; In response to the user type being a newly created user, the virtual resource calculation module allocates the calculation task to an idle physical image processor card and generates virtual image processor card information of the physical image processor card.
6. The resource scheduling method according to claim 5, characterized in that: The virtual resource calculation module obtains virtual image processor card information of the physical image processor card based on the calculation task, including: In response to the computing task being a training task, the virtual resource computing module generates the virtual image processor card information according to all virtual image processor cards of the physical image processor card; In response to the computing task being an inference task, the virtual resource computing module generates virtual image processor card information for allocating a physical image processor card according to user-specified information.
7. The resource scheduling method according to claim 5, characterized in that: The virtual resource calculation module allocates the calculation task to the physical image processor card used by the historical user and generates virtual image processor card information of the physical image processor card, including: The virtual resource calculation module obtains the number of vacant virtual image processor cards of the physical image processor cards used by the historical user; The virtual resource calculation module traverses all physical image processor cards used by the historical user, and determines whether there are vacant virtual image processor cards of the physical image processor cards in a number that meets the required number of virtual image processor cards for the calculation task; If yes, determine the virtual graphics processor card information of the physical graphics processor card.
8. The resource scheduling method according to claim 7, characterized in that: The resource scheduling method further includes: In response to the fact that there are no physical image processor cards whose number of vacant virtual image processor cards meets the number of virtual image processor cards required for the computing task among all the physical image processor cards used by the historical user, the virtual resource computing module allocates the computing task to the idle physical image processor cards and generates virtual image processor card information of the physical image processor cards.
9. A resource scheduling device, characterized in that: The resource scheduling device includes a memory and a processor coupled to the memory; The memory is used to store program data, and the processor is used to execute the program data to implement the resource scheduling method according to any one of claims 1 to 8.
10. A computer storage medium, characterized in that: The computer storage medium is used to store program data, and when the program data is executed by a computer, it is used to implement the resource scheduling method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Cloud platform resource dynamic configuration method and device and cloud platform
CN110209499A
Method and device for sharing GPU, electronic equipment and readable storage medium
CN111913794A
Computer resource management method and device, cloud server and storage medium
CN116450290A
Dynamic allocation method and device for GPU resources, equipment and storage medium
CN116680084A
Virtual GPU (Graphics Processing Unit) allocation method and system under container cloud environment based on API (Application Program Interface) interception and forwarding
CN116991553A
Cited By
Task scheduling method and device, equipment and storage medium
CN120336034A