A method and system for dynamic scheduling of intelligent computing power applied to vGPU

By using intelligent computing power dynamic scheduling method in Kubernetes GPU clusters, matching GPU resources are filtered and allocated, and the problem of GPU resources cannot be shared and low utilization is solved, achieving more efficient GPU resource utilization and load balancing.

CN119201475BActive Publication Date: 2025-03-18GUANGZHOU BOCHENG NETWORK SCI & TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411680947.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-22
Publication Date
2025-03-18
Estimated Expiration
2044-11-22

AI Technical Summary

Technical Problem

In the existing Kubernetes GPU cluster, GPU resources cannot be shared by different containers, resulting in each container having exclusive GPU, increasing communication overhead and failing to maximize the utilization of GPU resources.

Method used

An intelligent computing power dynamic scheduling method is adopted to filter out GPU matching nodes that match the resource application amount and whose communication overhead is less than the preset overhead value by accessing the computing model, and allocate them to the corresponding container to run, and record allocation information to update the GPU cluster.

Benefits of technology

It improves the utilization rate of GPU resources, realizes load balancing, reduces the load of GPU resource scheduling, and ensures full utilization of each GPU matching node.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119201475B_ABST
    Figure CN119201475B_ABST
Patent Text Reader

Abstract

The present application relates to a method and system for dynamic scheduling of intelligent computing power applied to vGPU, including obtaining application information of this GPU resource from the GPU resource request message when receiving a GPU resource request message, the application information including the resource application amount and access network information; sending the application information to a preset access calculation model, the access calculation model screens out GPU matching nodes that match the resource application amount and have a communication overhead less than a preset overhead value from a preset GPU cluster based on the resource application amount and access network information; assigning the GPU matching node to a container corresponding to the GPU resource request message to run the GPU; recording the allocation information of the GPU matching node that has completed the allocation, storing the record and updating the GPU cluster. The present application has the effect of improving the resource utilization of the GPU in GPU resource scheduling based on Kubernetes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of GPU, and in particular to a method and system for dynamic scheduling of intelligent computing power applied to vGPU. Background Art

[0002] vGPU allocates and shares physical GPU resources in a virtualized environment, allowing multiple virtual machines to access a physical GPU simultaneously, thereby efficiently running graphics-intensive applications and computing tasks.

[0003] Currently, Nvidia's GPU parallel computing is generally supported by the open source container orchestration system Kubernetes. In the existing Kubernetes GPU cluster, GPU is the smallest resource allocation unit. We use the Kubernetes device plugin framework to divide the physical GPU into multiple virtual GPUs to form a GPU cluster topology, and allocate these virtual GPUs to containers that apply for resources. However, when Kubernetes schedules GPUs, different containers cannot share GPUs, which means that each container engine will monopolize the entire GPU. Therefore, the communication overhead when scheduling access to GPU resources will increase, and GPU resources are not maximized, so it needs to be improved. Summary of the invention

[0004] In order to improve the resource utilization of GPU in Kubernetes-based GPU resource scheduling, the present application provides a method and system for intelligent computing power dynamic scheduling applied to vGPU.

[0005] The above-mentioned invention objective of the present application is achieved through the following technical solutions:

[0006] A method for dynamic scheduling of intelligent computing power applied to vGPU, comprising the steps of:

[0007] When receiving a GPU resource request message, obtain the application information of this GPU resource from the GPU resource request message, the application information includes the resource application amount and access network information;

[0008] The application information is sent to a preset access calculation model. The access calculation model selects GPU matching nodes that match the resource application amount and have a communication overhead less than a preset overhead value from a preset GPU cluster based on the resource application amount and access network information.

[0009] Allocating a GPU matching node to a container corresponding to the GPU resource request message to run the GPU;

[0010] The allocation information of the GPU matching node that has completed the allocation is recorded, stored and recorded, and the GPU cluster is updated.

[0011] By adopting the above technical solution, when a GPU resource request message is received, the resource application amount required for this application and the access network information of the application end are first identified, wherein the communication type can be obtained according to the access network information, and the access calculation model can find a GPU node with a communication overhead less than a preset overhead value in the topology structure of the GPU cluster through the communication type, and by setting a pre-trained access calculation model, the access application amount and the access network information can be identified, and the GPU matching node with a small communication overhead and matching the resource application amount can be screened for the current resource application amount. The matching of the resource application amount can achieve the saturation of the GPU matching node in the GPU cluster filled by the GPU resource application amount, including different application amounts greater than 1 and between 0 and 1, and the GPU matching nodes are screened according to different resource application amounts so that each GPU matching node can be fully utilized. After the screening is completed, the GPU matching node is allocated to the corresponding container to run, and the allocation information is recorded at the same time to update the usage of the GPU cluster, so as to apply for a matching GPU running node for the subsequent container, thereby improving the utilization rate of the GPU cluster.

[0012] Optionally, the application information is sent to a preset access calculation model, and the access calculation model selects a GPU matching node that matches the resource application amount and has a communication overhead less than a preset overhead value from a preset GPU cluster based on the resource application amount and the access network information; including:

[0013] Access the calculation model to identify resource application quantities and retrieve preset application quantity thresholds;

[0014] Compare the resource application amount with the application amount threshold;

[0015] When the resource application amount is greater than or equal to the application amount threshold, a first GPU matching node with the shortest communication distance with the CPU core is selected from the GPU cluster based on the access network information, the first GPU matching node is in an idle state, and the communication overhead of the first GPU matching node is less than a preset overhead value;

[0016] When the resource application amount is less than the application amount threshold, a number of nodes to be matched whose communication overhead is less than a preset overhead value are selected from the GPU cluster based on the access network information;

[0017] Based on a preset resource filling rule, a second GPU matching node is screened out from a plurality of nodes to be matched, and part of the GPU resources have been allocated to the second GPU matching node.

[0018] By adopting the above technical solution, the application amount of this application is first judged by the access calculation model through the preset application amount threshold, which is divided into different application amounts greater than 1 and between 0 and 1. On the GPU cluster, since the GPU needs to communicate with the memory and CPU frequently, when the application resource amount is greater than 1, it is necessary to screen out the idle GPU matching nodes to meet the current resource application amount. At the same time, when the communication overhead is less than the preset overhead value, the first GPU matching node with the shortest communication distance with the CPU core and meeting the resource application amount is screened out. When the dimension application amount is between 0 and 1, on the basis of the communication overhead being less than the preset overhead value, the resource filling rule is used to select the second GPU matching node that meets the current resource application amount from the to-be-matched nodes that have been allocated some GPU resources, thereby improving the GPU resource utilization.

[0019] Optionally, the method of selecting a second GPU matching node from a plurality of to-be-matched nodes based on a preset resource filling rule, wherein the second GPU matching node has been allocated a portion of GPU resources, comprises:

[0020] Identify and obtain the used and total GPU resources in each node to be matched;

[0021] Calculate the remaining amount of GPU resources in the node to be matched based on the used amount of GPU resources and the total amount of GPU resources in the node to be matched;

[0022] The node to be matched whose remaining resource amount is closest to the resource application amount is used as the second GPU matching node, and the resource application amount is less than or equal to the remaining resource amount.

[0023] By adopting the above technical solution, when the resource filling rule is called, the total resource situation and resource usage situation of the screened nodes to be matched are first obtained and collected, and the remaining GPU resources of each node to be matched are further calculated, and the node to be matched whose remaining GPU resources are closest to the current resource application amount is selected as the second GPU matching node, so that each GPU matching node can be fully utilized as much as possible, thereby improving the GPU resource utilization rate.

[0024] Optionally, the application information is sent to a preset access calculation model, and the access calculation model selects a GPU matching node that matches the resource application amount and has a communication overhead less than a preset overhead value from a preset GPU cluster based on the resource application amount and the access network information; and further includes:

[0025] When the number of GPU matching nodes screened out is less than the resource application amount, the preset overhead value is increased based on the preset adjustment range;

[0026] When the number of the screened GPU matching nodes is equal to or greater than the resource application amount, the currently adjusted preset cost value is locked.

[0027] By adopting the above technical solution, when the number of screened GPU matching nodes is less than the resource application amount, it proves that the current usage of the GPU cluster cannot temporarily meet the resource application amount under the current communication overhead limit. The access calculation model automatically increases the preset overhead value to expand the screening range of GPU matching nodes, thereby meeting the allocation of resource application amount.

[0028] Optionally, when the resource application amount is greater than or equal to the application amount threshold, selecting a first GPU matching node with the shortest communication distance with the CPU core from the GPU cluster based on the access network information includes:

[0029] When the resource application amount includes two or more, the first GPU matching node with the shortest communication distance with the CPU core is screened out based on the access network information, and the first GPU matching node is marked;

[0030] The marked first GPU matching nodes are filtered, and then the first GPU matching node with the shortest communication distance with the CPU core is selected from the remaining GPU matching nodes based on the access network information.

[0031] By adopting the above technical solution, when the number of resource applications is two or more, multiple idle GPU nodes are required to be allocated to the container to run. Regarding the screening of the first GPU matching nodes, if two first GPU matching nodes with the shortest distance cannot be selected, first select an idle first GPU matching node with the shortest distance to the CPU core, mark and filter it, and then select the first GPU matching node with the shortest current distance from the remaining GPU matching nodes to ensure that the communication overhead of the operation of multiple first GPU matching nodes is minimized.

[0032] Optionally, the application information is sent to a preset access calculation model, and the access calculation model selects a GPU matching node that matches the resource application amount and has a communication overhead less than a preset overhead value from a preset GPU cluster based on the resource application amount and the access network information; and further includes:

[0033] When the number of the screened GPU matching nodes is less than the resource application amount, the preset allocation splitting strategy is called to split the resource application amount into fragments to obtain a number of fragment resource application amounts, where the fragment resource application amount is less than the application amount threshold;

[0034] Based on the preset resource filling rule, the second GPU matching node corresponding to the resource application amount of each fragment is screened out.

[0035] By adopting the above technical solution, when the number of screened GPU matching nodes is less than the resource application amount, in addition to increasing the preset overhead value, the resource application amount can also be split into fragments by calling the allocation splitting strategy and allocated to different second GPU matching nodes with communication overheads less than the preset overhead value, thereby improving the GPU resource utilization of multiple nodes.

[0036] Optionally, when the number of the screened GPU matching nodes is less than the resource application amount, a preset allocation splitting strategy is called to split the resource application amount into fragments to obtain a plurality of fragment resource application amounts, including:

[0037] When the number of GPU matching nodes screened out is less than the resource application amount, the allocation splitting strategy is called to obtain several to-be-matched nodes whose communication overhead is less than the preset overhead value;

[0038] Identify the remaining amount of GPU resources in several nodes to be matched;

[0039] Based on the remaining resource amount distribution of each to-be-matched node, the resource application amount is split to obtain several fragment resource application amounts.

[0040] By adopting the above technical solution, when the allocation splitting strategy is called, the number of splits and the ratio of the split fragments are determined by identifying the number of screened nodes to be allocated and the current remaining resources of each node to be allocated, and the number of split fragments is controlled to be less than or equal to the number of nodes to be allocated, and the split ratio is controlled to be less than and close to the remaining resources of the nodes to be allocated, so that the utilization of as many second GPU matching nodes as possible can be filled.

[0041] The second object of the invention is achieved by the following technical solutions:

[0042] An intelligent computing power dynamic scheduling system applied to vGPU, comprising:

[0043] A request acquisition module is used to obtain application information of this GPU resource from the GPU resource request message when receiving the GPU resource request message, where the application information includes the resource application amount and access network information;

[0044] An access calculation module is used to send the application information to a preset access calculation model. The access calculation model selects GPU matching nodes that match the resource application amount and have a communication overhead less than a preset overhead value from a preset GPU cluster based on the resource application amount and access network information.

[0045] A matching module, configured to allocate a GPU matching node to a container corresponding to the GPU resource request message to run the GPU;

[0046] The storage update module is used to record the allocation information of the GPU matching nodes that have completed the allocation, store the records and update the GPU cluster.

[0047] The third objective of the present application is achieved through the following technical solutions:

[0048] A computer device includes a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the above-mentioned intelligent computing power dynamic scheduling method applied to vGPU are implemented.

[0049] The fourth objective of the present application is achieved through the following technical solutions:

[0050] A computer-readable storage medium stores a computer program, which, when executed by a processor, implements the steps of the above-mentioned intelligent computing power dynamic scheduling method applied to vGPU.

[0051] In summary, the present application includes at least one of the following beneficial technical effects:

[0052] 1. Identify the access application amount and access network information, and filter out GPU matching nodes with low communication overhead and matching resource application amount for the current resource application amount. The matching of resource application amount can achieve the saturation of GPU matching nodes in the GPU cluster with GPU resource application amount, including different application amounts greater than 1 and between 0 and 1. According to different resource application amounts, GPU matching nodes are screened so that each GPU matching node can be fully utilized. After the screening is completed, the GPU matching node is allocated to the corresponding container operation, and the allocation information is recorded to update the usage of the GPU cluster so that the subsequent container can apply for a matching GPU running node, thereby improving the utilization rate of the GPU cluster and the load balancing of GPU resource scheduling;

[0053] 2. When the dimension application amount is between 0 and 1, based on the communication overhead being less than the preset overhead value, the resource filling rule is used to select the second GPU matching node that meets the current resource application amount from the matching nodes that have allocated some GPU resources, thereby achieving load balancing and improving GPU resource utilization;

[0054] 3. When the number of GPU matching nodes screened out is less than the resource application amount, it proves that the current GPU cluster usage cannot temporarily meet the resource application amount under the current communication overhead limit. The access calculation model automatically increases the preset overhead value to expand the screening range of GPU matching nodes, thereby meeting the allocation of resource application amount;

[0055] 4. When the number of screened GPU matching nodes is less than the resource application amount, in addition to increasing the preset overhead value, the resource application amount can also be split into fragments by calling the allocation split strategy and allocated to the second GPU matching nodes with different communication overheads less than the preset overhead value, thereby improving the GPU resource utilization of multiple nodes. BRIEF DESCRIPTION OF THE DRAWINGS

[0056] Figure 1 This is a schematic diagram of an implementation of an embodiment of an intelligent computing power dynamic scheduling method applied to a vGPU in the present application;

[0057] Figure 2 This is a schematic diagram of an implementation of step S20 in an embodiment of a method for dynamic scheduling of intelligent computing power applied to a vGPU of the present application;

[0058] Figure 3 This is a schematic diagram of an implementation of step S25 in an embodiment of a method for dynamic scheduling of intelligent computing power applied to a vGPU in the present application;

[0059] Figure 4 It is a schematic diagram of a computer device of the present application. DETAILED DESCRIPTION

[0060] The following is combined with Figure 1-4 This application is described in further detail.

[0061] Example 1

[0062] like Figure 1 As shown, the present application discloses a method for dynamic scheduling of intelligent computing power applied to vGPU, which specifically includes the following steps:

[0063] S10: when receiving the GPU resource request message, obtaining the application information of the GPU resource from the GPU resource request message, where the application information includes the resource application amount and the access network information;

[0064] In this embodiment, the application end sends a GPU resource request message, which includes the number of GPU resources applied for by this container, that is, the resource application amount and access network information, and the GPU and CPU core are automatically bound. On the GPU cluster, since the GPU needs to communicate frequently with the memory and CPU core, the GPU is first bound to the nearest CPU on the Kubernetes cluster. In kubernetes, the distance between the CPU and the GPU in physical space can be obtained by accessing the network information.

[0065] S20: Sending the application information to a preset access calculation model. The access calculation model selects a GPU matching node that matches the resource application amount and has a communication overhead less than a preset overhead value from a preset GPU cluster based on the resource application amount and the access network information.

[0066] In this embodiment, the access computing model pre-trained model is used to match the container applying for GPU resources with sufficient GPU running nodes with low communication overhead, that is, parallel calculation of running communication cost and GPU utilization is performed. The preset GPU cluster includes the network topology of the GPU cluster, and the communication overhead of the GPU is related to the network topology of the GPU cluster.

[0067] By accessing the network information to obtain the communication mode, the communication mode overhead is SOC, followed by PXB, and finally PHB. In the PIX communication mode, the communication overhead between GPUs is the lowest, and then the GPU matching node with the lowest communication overhead can be found. The GPU matching node is used to provide the container with a GPU.

[0068] Further, see Figure 2 , step S20 comprises the steps of:

[0069] S21: Access the calculation model to identify the resource application amount, and retrieve the preset application amount threshold;

[0070] S22: comparing the resource application amount with the application amount threshold;

[0071] S23: when the resource application amount is greater than or equal to the application amount threshold, a first GPU matching node with the shortest communication distance with the CPU core is selected from the GPU cluster based on the access network information, the first GPU matching node is in an idle state, and the communication overhead of the first GPU matching node is less than a preset overhead value;

[0072] S24: when the resource application amount is less than the application amount threshold, a number of to-be-matched nodes having a communication overhead less than a preset overhead value are selected from the GPU cluster based on the access network information;

[0073] S25: Based on a preset resource filling rule, a second GPU matching node is screened out from a plurality of nodes to be matched, where the second GPU matching node has been allocated a portion of GPU resources.

[0074] In this embodiment, the application amount threshold is 1. The interval of the resource application amount includes greater than 1 and between 0 and 1, such as 0.1 to 0.9.

[0075] An idle first GPU matching node is used to run a resource application quantity of 1. Further, when the resource application quantity includes two or more integers, if two first GPU matching nodes with the shortest distances cannot be selected, the first GPU matching node with the shortest communication distance with the CPU core is screened out based on the access network information, and the first GPU matching node is marked; then the marked first GPU matching nodes are filtered, and the first GPU matching node with the shortest communication distance with the CPU core is screened out from the remaining GPU matching nodes based on the access network information;

[0076] The nodes to be matched refer to several GPU matching nodes whose communication overhead is less than a preset overhead value, and the nodes to be matched include idle GPU matching nodes and GPU matching nodes to which some resources have been allocated.

[0077] The resource filling rule is a rule for filling the resource application amount into the GPU matching node to improve the matching node utilization of the GPU.

[0078] Further, see Figure 3 , step S25 comprises the steps of:

[0079] S251: Identify and obtain the used amount and total amount of GPU resources in each node to be matched;

[0080] S252: Calculate the remaining amount of GPU resources in the node to be matched based on the used amount of GPU resources and the total amount of GPU resources in the node to be matched;

[0081] S253: The node to be matched whose remaining resource amount is closest to the resource application amount is used as the second GPU matching node, and the resource application amount is less than or equal to the remaining resource amount.

[0082] In this embodiment, after calculating the remaining amount of GPU resources in each node to be matched, the GPU matching nodes belonging to the idle part are first eliminated, and then the node to be matched whose remaining amount of resources is closest to the resource application amount is used as the second GPU matching node, which can maximize the utilization rate of the second GPU matching node.

[0083] Furthermore, when the number of screened GPU matching nodes is less than the resource application amount, that is, when the current GPU matching node that is less than the preset overhead value fails to meet the resource application amount, the resource application amount is fragmented by calling the preset allocation splitting strategy to obtain several fragment resource application amounts, and the fragment resource application amount is less than the application amount threshold.

[0084] Among them, regarding the allocation splitting strategy, the first step is to obtain the number of nodes to be matched whose communication overhead in the current GPU cluster is less than the preset overhead value; then identify the current remaining resources of each of the obtained nodes to be matched, and obtain the distribution of the remaining resources. For example, if the current number of nodes to be matched is 3, and the remaining resources are 0.4, 0.3, and 0.1 respectively, then in the process of splitting the fragments, the fragments are split according to the number of nodes to be matched and their respective remaining resources, for example, the resource application amount of 0.7 is split into 0.1 and two 0.3.

[0085] Based on the preset resource filling rules, the second GPU matching nodes corresponding to the resource application amounts of each fragment are selected, wherein the fragment resource application amount of 0.1 is filled in the node to be matched with the remaining resource amount of 0.1, that is, filled in the second GPU matching node of 0.1, and the two fragment resource application amounts of 0.3 are filled in two nodes to be matched with 0.3, that is, filled in two second GPU matching nodes of 0.3. The utilization rate of each GPU matching node is evenly distributed, thereby improving the balance of the load.

[0086] S30: Allocate a GPU matching node to a container corresponding to the GPU resource request message to run the GPU;

[0087] In this embodiment, the screened first GPU matching node or the second GPU matching node is subjected to a signature confirmation procedure, and is allocated to a container corresponding to the GPU resource request message after completing the signature confirmation.

[0088] S40: Record the allocation information of the GPU matching node that has completed the allocation, store the record and update the GPU cluster.

[0089] In this embodiment, the allocation information of the already allocated GPU matching nodes is obtained, and the allocation information is recorded and updated to the usage of the GPU cluster, so as to update the latest remaining resource amount of each GPU matching node in the current GPU cluster.

[0090] Example 2

[0091] Step S20 further includes the steps of:

[0092] S21A: When the number of the screened GPU matching nodes is less than the resource application amount, the preset overhead value is increased based on the preset adjustment range;

[0093] S22A: When the number of the screened GPU matching nodes is equal to or greater than the resource application amount, the currently adjusted preset cost value is locked.

[0094] In this embodiment, the adjustment range is a custom setting, and the choice of communication mode can also be increased. The access calculation model expands the screening range of GPU matching nodes by automatically increasing the preset overhead value, thereby satisfying the allocation of resource application amount.

[0095] It should be understood that the size of the serial numbers of the steps in the above embodiments does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0096] In one embodiment, a smart computing power dynamic scheduling system applied to vGPU is provided, and the smart computing power dynamic scheduling system applied to vGPU corresponds one-to-one to the smart computing power dynamic scheduling method applied to vGPU in the above embodiment. The smart computing power dynamic scheduling system applied to vGPU includes:

[0097] A request acquisition module is used to obtain application information of this GPU resource from the GPU resource request message when receiving the GPU resource request message, where the application information includes the resource application amount and access network information;

[0098] An access calculation module is used to send the application information to a preset access calculation model. The access calculation model selects GPU matching nodes that match the resource application amount and have a communication overhead less than a preset overhead value from a preset GPU cluster based on the resource application amount and access network information.

[0099] A matching module, configured to allocate a GPU matching node to a container corresponding to the GPU resource request message to run the GPU;

[0100] The storage update module is used to record the allocation information of the GPU matching nodes that have completed the allocation, store the records and update the GPU cluster.

[0101] Optionally, access to the calculation module includes:

[0102] A threshold retrieval submodule is used to access the calculation model to identify the resource application amount and retrieve the preset application amount threshold;

[0103] A comparison submodule, used to compare the resource application amount with the application amount threshold;

[0104] A first judgment submodule is used for selecting a first GPU matching node with the shortest communication distance with the CPU core from the GPU cluster based on the access network information when the resource application amount is greater than or equal to the application amount threshold, the first GPU matching node is in an idle state and the communication overhead of the first GPU matching node is less than a preset overhead value;

[0105] The second judgment submodule is used to select a number of to-be-matched nodes whose communication overhead is less than a preset overhead value from the GPU cluster based on the access network information when the resource application amount is less than the application amount threshold;

[0106] The filling submodule is used to screen out a second GPU matching node from a plurality of to-be-matched nodes based on a preset resource filling rule, wherein the second GPU matching node has been allocated a part of the GPU resources.

[0107] Optionally, fill submodules include:

[0108] A node resource identification unit, used to identify and obtain the used amount and total amount of GPU resources in each node to be matched;

[0109] A resource calculation unit, used to calculate the remaining resource amount of the GPU resource in the node to be matched based on the used resource amount and the total resource amount of the GPU resource in the node to be matched;

[0110] The filling unit is used to use the to-be-matched node whose remaining resource amount is closest to the resource application amount as the second GPU matching node, and the resource application amount is less than or equal to the remaining resource amount.

[0111] Optionally, the access calculation module also includes:

[0112] The threshold adjustment module is used to increase the preset overhead value based on the preset adjustment range when the number of the screened GPU matching nodes is less than the resource application amount; when the number of the screened GPU matching nodes is equal to or greater than the resource application amount, the currently adjusted preset overhead value is locked.

[0113] Optionally, the first judgment submodule includes:

[0114] a marking unit, configured to, when the resource application amount includes two or more, filter out a first GPU matching node having the shortest communication distance with the CPU core based on the access network information, and mark the first GPU matching node;

[0115] The filtering unit is used to filter the marked first GPU matching node, and then select the first GPU matching node with the shortest communication distance with the CPU core from the remaining GPU matching nodes based on the access network information.

[0116] Optionally, the access calculation module also includes:

[0117] The fragment splitting submodule is used to call the preset allocation splitting strategy to split the resource application amount into fragments when the number of the screened GPU matching nodes is less than the resource application amount, and obtain a number of fragment resource application amounts, wherein the fragment resource application amounts are less than the application amount threshold; based on the preset resource filling rule, screen out the second GPU matching node corresponding to each fragment resource application amount;

[0118] When the number of GPU matching nodes screened out is less than the resource application amount, the allocation splitting strategy is called to obtain several to-be-matched nodes whose communication overhead is less than the preset overhead value;

[0119] Identify the remaining amount of GPU resources in several nodes to be matched;

[0120] Based on the remaining resource amount distribution of each to-be-matched node, the resource application amount is split to obtain several fragment resource application amounts.

[0121] For the specific definition of an intelligent computing power dynamic scheduling system applied to vGPU, please refer to the definition of an intelligent computing power dynamic scheduling method applied to vGPU above, which will not be repeated here. Each module in the above-mentioned intelligent computing power dynamic scheduling system applied to vGPU can be implemented in whole or in part through software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0122] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 4 As shown. The computer device includes a processor, a memory, a network interface and a database connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a method for dynamic scheduling of intelligent computing power applied to vGPU is implemented.

[0123] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, a method for dynamic scheduling of intelligent computing power applied to a vGPU is implemented.

[0124] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, a method for dynamic scheduling of intelligent computing power applied to a vGPU is implemented.

[0125] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).

[0126] Those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example. In actual applications, the above-mentioned functions can be distributed and completed by different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.

[0127] The embodiments described above are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, a person skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some of the technical features may be replaced by equivalents. Such modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be included in the protection scope of the present application.

Claims

1. An intelligent computing power dynamic scheduling method applied to vGPU, characterized by: S10: when receiving the GPU resource request message, obtaining the application information of the GPU resource from the GPU resource request message, where the application information includes the resource application amount and the access network information; S20: Sending the application information to a preset access calculation model. The access calculation model selects a GPU matching node that matches the resource application amount and has a communication overhead less than a preset overhead value from a preset GPU cluster based on the resource application amount and the access network information. S30: Allocate a GPU matching node to a container corresponding to the GPU resource request message to run the GPU; S40: Recording the allocation information of the GPU matching node that has completed the allocation, storing the record and updating the GPU cluster; Step S20 includes the steps of: S21: Access the calculation model to identify the resource application amount, and retrieve the preset application amount threshold; S22: comparing the resource application amount with the application amount threshold; S23: when the resource application amount is greater than or equal to the application amount threshold, a first GPU matching node with the shortest communication distance with the CPU core is selected from the GPU cluster based on the access network information, the first GPU matching node is in an idle state, and the communication overhead of the first GPU matching node is less than a preset overhead value; S24: when the resource application amount is less than the application amount threshold, a number of to-be-matched nodes having a communication overhead less than a preset overhead value are selected from the GPU cluster based on the access network information; S25: based on a preset resource filling rule, selecting a second GPU matching node from a plurality of to-be-matched nodes, wherein the second GPU matching node has been allocated a portion of GPU resources, wherein step S25 includes step S253: selecting a to-be-matched node whose remaining resource amount is closest to the resource application amount as the second GPU matching node, and whose resource application amount is less than or equal to the remaining resource amount; Step S20 also includes: when the current GPU matching node with a cost smaller than the preset cost value fails to meet the resource application amount, calling the preset allocation splitting strategy to obtain a number of to-be-matched nodes whose communication cost is smaller than the preset cost value; identifying the remaining resource amount of the GPU resources in the current number of to-be-matched nodes; based on the distribution of the remaining resource amount of each to-be-matched node, splitting the resource application amount into segments to obtain a number of segment resource application amounts, wherein the segment resource application amount is smaller than the application amount threshold; based on the preset resource filling rule, screening out the second GPU matching node corresponding to each segment resource application amount; Step S20 also includes the steps of: S21A: When the selected GPU matching node fails to meet the resource application amount, the preset overhead value is increased based on the preset adjustment range; S22A: When the screened GPU matching node meets the resource application amount, the currently adjusted preset cost value is locked.

2. According to claim 1, a method for dynamic scheduling of intelligent computing power applied to vGPU is characterized in that , the step S25 further comprises the steps of: S251: Identify and obtain the used amount and total amount of GPU resources in each node to be matched; S252: Calculate the remaining amount of the GPU resources in the node to be matched based on the used amount of the GPU resources and the total amount of the GPU resources in the node to be matched.

3. The intelligent computing power dynamic scheduling method applied to vGPU according to claim 1 is characterized in that ,When the resource application amount is greater than or equal to the application amount threshold, the first GPU matching node with the shortest communication distance with the CPU core is selected from the GPU cluster based on the access network information, including: When the resource application amount includes two or more, the first GPU matching node with the shortest communication distance with the CPU core is screened out based on the access network information, and the first GPU matching node is marked; The marked first GPU matching nodes are filtered, and then the first GPU matching node with the shortest communication distance with the CPU core is selected from the remaining GPU matching nodes based on the access network information.

4. An intelligent computing power dynamic scheduling system applied to vGPU, used to execute an intelligent computing power dynamic scheduling method applied to vGPU as claimed in any one of claims 1 to 3, characterized in that: include: The request acquisition module is used to obtain the application information of the GPU resource from the GPU resource request message when receiving the GPU resource request message, and the application information includes the resource application amount and the access network information; An access calculation module is used to send the application information to a preset access calculation model. The access calculation model selects GPU matching nodes that match the resource application amount and have a communication overhead less than a preset overhead value from a preset GPU cluster based on the resource application amount and access network information. A matching module, configured to allocate a GPU matching node to a container corresponding to the GPU resource request message to run the GPU; The storage update module is used to record the allocation information of the GPU matching nodes that have completed the allocation, store the records and update the GPU cluster.

5. A computer device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the intelligent computing power dynamic scheduling method applied to vGPU as described in any one of claims 1 to 3 are implemented.

6. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the steps of a method for dynamic scheduling of intelligent computing power applied to a vGPU as described in any one of claims 1 to 3 are implemented.

Citation Information

Patent Citations

  • Container scheduling method and device based on GPU topological structure, medium and equipment

    CN118656177A