Artificial intelligence-based gpu resource scheduling method and system

By using artificial intelligence-based methods to analyze and adjust GPU resource scheduling in real time, the problem of low GPU resource utilization in cloud platforms has been solved, and efficient utilization under dynamic demand changes has been achieved.

CN120560798BActive Publication Date: 2025-11-07武汉模态跃迁科技有限公司
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510656995.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-21
Publication Date
2025-11-07
Estimated Expiration
2045-05-21

AI Technical Summary

Technical Problem

Existing technologies struggle to efficiently manage and schedule GPU resources in cloud platforms, resulting in low utilization rates, especially when facing dynamic changes in demand.

Method used

An artificial intelligence-based approach is adopted to perform scheduling analysis by acquiring distributed GPU resource supply data and current demand data, and to adjust resource scheduling by combining real-time demand change data, thereby optimizing resource allocation and improving utilization.

Benefits of technology

It enables efficient utilization of GPU resources when demands change, improves resource utilization efficiency, and ensures optimal utilization of GPU resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120560798B_ABST
    Figure CN120560798B_ABST
Patent Text Reader

Abstract

The application provides a gpu resource scheduling method and system based on artificial intelligence, and relates to the technical field of gpu resource scheduling.The method comprises the following steps: acquiring distributed resource supply data and current resource demand data, performing resource scheduling analysis on resource utilization, and forming current resource scheduling analysis result data; acquiring real-time demand change data, combining the current resource scheduling analysis result data and the distributed resource supply data to perform resource adjustment analysis, and forming real-time resource adjustment analysis result data; and adjusting the current resource scheduling according to the real-time resource adjustment analysis result data.The method realizes more efficient GPU resource scheduling by reasonably analyzing demand changes, and improves the utilization rate of GPU resources.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application relates to the technical field of GPU resource scheduling, in particular to a GPU resource scheduling method and system based on artificial intelligence. BACKGROUND

[0002] With the rapid development of artificial intelligence, deep learning and high-performance computing (HPC), GPU (Graphics Processing Unit) has become one of the core computing resources in modern computing systems. Compared with traditional CPUs, GPUs have significant advantages in parallel computing, accelerating large-scale data processing and complex computing. Due to the high value and scarcity of GPU resources, the management and scheduling efficiency directly affects the overall system performance and cost-effectiveness.

[0003] Cloud platform technology provides a sharing way for many data resources, including computing power and GPU resources. Integrating distributed GPU resources can improve the utilization of GPU resources. However, the demand for GPU resources is time-sensitive, and the demand may change at any time, which makes it difficult to reasonably schedule dynamically.

[0004] Therefore, it is an urgent problem to design a GPU resource scheduling method and system based on artificial intelligence, which can analyze demand changes reasonably to achieve more efficient GPU resource scheduling and improve the utilization of GPU resources. SUMMARY

[0005] The application aims to provide a GPU resource scheduling method based on artificial intelligence, which obtains all distributed GPU resource supply data to analyze the current resource demand for resource scheduling according to the utilization rate, determines the resource scheduling mode with the highest GPU resource utilization rate to meet the current resource demand. When the demand changes, the original resource scheduling and allocation mode is reasonably adjusted according to different demand changes to meet the changed demand while ensuring the best utilization of GPU resources. On the one hand, the distributed resource supply data is reasonably scheduled and allocated to ensure high utilization of current demand, and on the other hand, the demand changes are reasonably adjusted to ensure the high utilization of GPU resources while meeting the changed demand, greatly improving the efficiency of GPU resource use.

[0006] The application also aims to provide a GPU resource scheduling system based on artificial intelligence, which obtains the distributed GPU supplyable resources, the current resource demand and real-time demand change data through a data acquisition unit, realizes high utilization rate scheduling and distribution of the current resources and timely response to the situation after the demand changes through a scheduling analysis unit to form reasonable resource scheduling adjustment data, and timely completes the resource scheduling processing through a scheduling execution unit to ensure that the GPU resources are in a state of efficient utilization, which is an important material basis for realizing efficient utilization of GPU resources.

[0007] In a first aspect, the application provides a GPU resource scheduling method based on artificial intelligence, which comprises: obtaining distributed resource supply data and current resource demand data, performing resource scheduling analysis for resource utilization rate to form current resource scheduling analysis result data; obtaining real-time demand change data, and combining the current resource scheduling analysis result data and the distributed resource supply data to perform resource adjustment analysis to form real-time resource adjustment analysis result data; and adjusting the current resource scheduling according to the real-time resource adjustment analysis result data.

[0008] In the application, the method performs resource scheduling analysis for the current resource demand according to the utilization rate by obtaining all distributed GPU resource supply data, determines the resource scheduling mode with the highest GPU resource utilization rate to meet the current resource demand, and adjusts the original resource scheduling and distribution mode according to different demand change situations when the demand changes, so as to meet the changed demand and ensure the best utilization rate of the GPU resources. On the one hand, the method performs reasonable overall scheduling and distribution based on the distributed resource supply data to ensure the high utilization rate of the current demand, and on the other hand, the method can also make reasonable resource scheduling adjustment to the demand change in time, so as to ensure the changed demand and maintain the high utilization rate of the GPU resources, which greatly improves the use efficiency of the GPU resources.

[0009] As a possible implementation manner, the method of obtaining the distributed resource supply data and the current resource demand data, performing resource scheduling analysis for the resource utilization rate, and forming the current resource scheduling analysis result data comprises: determining the resource scheduling supply amount B m and the total resource supply amount B all of different GPU devices according to the distributed resource supply data, wherein m represents the number of different GPU devices, determining the resource demand amount A n of different demand objects according to the current resource demand data, wherein n represents the number of different demand objects; and determining the different resource demand amount A m according to the different resource scheduling supply amount B nThe combination allocation is performed, and the resource allocation combination formed satisfies the following combination allocation condition: different resource demand amounts A n The corresponding scheduled multiple resource scheduling supply amounts B m Satisfies: k n Indicates the resource demand amount A numbered n n When the combination allocation of the resource scheduling supply amount B m is performed, the number of the resource scheduling supply amount B m allocated, and k n ≤m, Indicates the resource demand amount A numbered n n When the combination allocation of the resource scheduling supply amount B m is performed, the total amount of the resource scheduling supply amount B m allocated, and The different allocation combinations satisfying the combination allocation condition are determined, and the corresponding remaining unallocated resource amount D i is determined, where i is the number of the different allocation combination satisfying the combination allocation condition formed by the combination allocation, The allocation combination corresponding to the minimum value of the different remaining unallocated resource amount D i is determined as the current resource scheduling allocation combination.

[0010] In the present application, the scheduling matching of the current resource demand according to the supply data of the distributed GPU resource mainly considers two aspects. One is that for different resource demand objects, the GPU resource amount scheduled and provided is necessarily less than the demand amount of the demand object to ensure that it can fully meet the demand amount, so the total supply amount provided when performing resource scheduling analysis needs to be not less than the demand amount. Since the distributed GPU resource is scheduled in units of distributed nodes, the GPU resource on each node is called as a whole, so it is necessary to consider how to combine to meet the demand amount. On the other hand, since the resource amount that can be provided on the distributed node is integral, there will be a situation that when the resource demand amount of a demand object is met, the combination of the supply amount on different nodes to ensure that the provided resource amount is sufficient causes the total supply amount to be greater than the demand amount. Therefore, when performing resource scheduling matching of the demand amount of all current demand objects, it is necessary to fully consider whether the selected method can achieve full utilization of GPU resources. Here, the remaining unallocated amount is used as a reference to select the scheduling scheme. After all, the more the remaining resource amount, the closer the total resource amount provided by the combined scheme to the total demand amount, that is, the higher the resource utilization rate.

[0011] One possible implementation involves acquiring real-time demand change data and combining it with current resource scheduling analysis results and distributed resource supply data to perform resource adjustment analysis, thereby generating real-time resource adjustment analysis results data. This includes: when the real-time demand change data represents new demand data, combining current resource scheduling analysis results and distributed resource supply data to perform new demand scheduling adjustment analysis, thereby generating real-time new demand resource scheduling adjustment data; and when the real-time demand change data represents reduced demand data, combining current resource scheduling analysis results and distributed resource supply data to perform reduced demand scheduling adjustment analysis, thereby generating real-time reduced demand resource scheduling adjustment data.

[0012] In this invention, after achieving high utilization of current resource requirements through resource scheduling, changes in demand may occur in practice. To ensure high utilization of GPU resources while releasing or providing more scheduling resources for reasonable resource control, adaptive resource scheduling adjustments are needed to address different demand changes. This application considers both increases and decreases in demand caused by real-time demand changes, and the resource scheduling adjustments for these two scenarios differ and need to be considered separately to ensure more efficient resource scheduling under both conditions.

[0013] As one possible implementation, when the real-time demand change data is new demand data, the current resource scheduling analysis results and distributed resource supply data are combined to perform new demand scheduling adjustment analysis, forming real-time new demand resource scheduling adjustment data, including: when the real-time demand change data is new demand data, determining the amount of new demand resource Q. add The additional resource demand Q will be... add All resource scheduling supplies B combined with the current resource scheduling allocation m Compare: If the newly added resource demand Q add Greater than the total resource supply B under any current resource scheduling and allocation combination. m Perform scheduling and allocation analysis of remaining resource utilization to generate incremental remaining resource utilization adjustment and allocation result data; if the newly added demand for resources Q add There exists a resource scheduling supply B that is no greater than the current resource scheduling allocation combination. m A simplified replacement analysis targeting resource utilization is conducted to generate incremental replacement utilization adjustment and allocation result data.

[0014] In this invention, when new resource demands arise due to real-time changes in demand, the first step is to determine the amount of new demand. This quantifies the demand and facilitates subsequent adjustments to resource scheduling. It is understood that the high-utilization resource scheduling approach will differ depending on the size of the new demand. Because it is necessary to consider whether the new demand affects the current resource scheduling allocation combination, the new demand is compared with the supply of any resource selected in the current resource scheduling allocation combination to determine the appropriate scheduling adjustment direction.

[0015] As one possible implementation, if the additional resource requirement Q add Greater than the total resource supply B under any current resource scheduling and allocation combination. m The remaining resource utilization scheduling and allocation analysis is performed to generate incremental remaining utilization adjustment and allocation result data, including: the remaining resource scheduling supply B under the current resource scheduling and allocation combination. m Arrange the resources in ascending order to form a residual sequential supply resource set; allocate different resource supply quantities B to the residual sequential supply resource set. m Resource allocation is performed in the following manner: if the remaining sequential supply resource set has a total resource supply of B... m The total amount is no greater than the newly added resource demand Q. add Then all remaining resources will be allocated to supply quantity B. m As the newly added demand resource quantity Q add The corresponding allocated resource quantity; if the remaining sequential supply resource set has a total resource scheduling supply quantity B. m The total is greater than the new resource demand Q. add Then: Supply quantity B to different resources in the remaining sequential supply resource set according to the extraction quantity starting from 1. m Perform extraction comparison; when the extraction quantity is 1, extract one resource scheduling supply quantity B each time according to the arrangement order of the remaining resource sets. m With the increase in demand for resources Q add Compare, if Q exists add ≤B m Then the minimum resource scheduling supply B that satisfies the conditions m As the newly added demand resource quantity Q add The corresponding allocated resource amount, if Q does not exist add ≤B m If the extraction quantity is 2, then increase the extraction quantity; when the extraction quantity is 2, first supply the first resource in the resource center according to the remaining order, supplying quantity B. m Based on the remaining resource scheduling supply B, respectively m If the total amount of resources after combination is not less than the newly required resource amount Q, then...add The minimum total resource amount that meets the condition is determined as the new demand resource amount Q add The corresponding allocation resource amount, if there is no combination that meets the condition, the second resource scheduling supply amount B in the remaining order is supplied m The reference is the remaining resource scheduling supply amount B m The combination is performed again to determine whether all combinations are extracted, and if no combination that meets the condition is found, the extraction amount is increased until a combination that meets the condition is determined; the combination of the determined allocation resource amount is determined as the incremental remaining utilization adjustment allocation result data.

[0016] In the present application, for the case that the new demand amount is greater than any resource scheduling supply amount in the current resource scheduling allocation combination, it can be determined that any extraction of a resource scheduling supply amount in the current resource scheduling allocation combination cannot meet the supply of the new demand. Although multiple resource scheduling amounts may meet the new demand amount, the influence on the current resource scheduling allocation combination will be larger, causing the adjustment of the current value resource scheduling allocation combination to be more complex, and considering that the allocation combination formed in the current resource scheduling allocation combination for different demand objects is the combination with the best utilization rate, excessive replacement of resource scheduling supply amounts in the combination will greatly reduce the overall resource utilization, which is not conducive to efficient use of resources. Therefore, the present application extracts the resource scheduling supply amount that has not been scheduled and allocated to meet the new demand amount. Here, when extracting the resource scheduling supply amount that has not been scheduled and allocated, the extraction is performed in the order of supply amount size, and the extraction amount starts from 1. On the one hand, the order of extraction from small to large can quickly determine the resource scheduling supply amount combination closest to and meeting the new demand amount, and on the other hand, the extraction amount starts from 1, which can improve the analysis efficiency and avoid the complexity of data processing to reduce the analysis efficiency. For extracting a single number of resource scheduling supply amounts, the order of supply amount from small to large is used, and for extracting a number of 2, the smallest supply amount is used as a reference to combine the other one in the order of small to large to form a combination, and all two combinations are traversed in turn, and for more extraction quantities, the combination is still based on a single change.

[0017] As a possible implementation, if the new demand resource amount Q add There is no resource scheduling supply amount B m , a simplified replacement analysis for resource utilization is performed to form incremental replacement utilization adjustment allocation result data, including: determining the total amount of resources provided by the different demand objects in the current resource scheduling allocation combination under the allocated resource scheduling supply amount B m and the resource demand amount An resource allocation difference, and sorts the resource allocation groups corresponding to different demand objects in the current resource scheduling allocation combination in ascending order of the resource allocation difference, to form a current resource allocation difference order set; determines the resource allocation group in the current resource allocation difference order set corresponding to a demand object whose resource supply amount is not less than the new demand resource amount Q add resource scheduling supply amount B m is calibrated as a resource supply amount to be replaced, and the remaining resource scheduling supply amount B m closest to and greater than the resource supply amount to be replaced is determined in the current resource scheduling allocation combination m , and is marked as a resource supply amount to be replaced; replacement comparison data is obtained according to the following manner: one resource supply amount to be replaced in the resource allocation group is replaced by the corresponding resource supply amount to be replaced in ascending order of the current resource allocation difference order set, and the total resource supply amount of the newly formed resource allocation group is determined after the replacement, and the resource demand amount A n of the corresponding demand object is compared to determine the resource replacement allocation difference, and the allocation difference increase amount corresponding to this replacement is determined according to the resource allocation difference of the original resource allocation group; all resource supply amounts to be replaced in the current resource allocation difference order set are replaced in turn to determine the corresponding allocation difference increase amount; all allocation difference increase amounts are compared to determine the newly formed resource allocation group with the smallest allocation difference increase amount, and the resource allocation group is calibrated as a comparison effective resource allocation group; after the comparison effective resource allocation group is formed, all remaining unallocated resource scheduling supply amounts B m are determined, which are not less than the new demand resource amount Q add and closest to the new demand resource amount Q add , to determine the resource scheduling supply amount B m , and determine the replacement new resource difference between the new demand resource amount Q add and the determined resource scheduling supply amount B m ; the total replacement resource increase amount is determined according to the allocation difference increase amount corresponding to the comparison effective resource allocation group and the replacement new resource difference; all resource scheduling supply amounts B m remaining in the original current resource scheduling allocation combination are determined, which are not less than the new demand resource amount Q add and closest to the new demand resource amount Q add , to determine the resource scheduling supply amount B m , and determine the replacement new resource difference between the new demand resource amount Q add and the determined resource scheduling supply amount B ma direct newly added resource difference between the first and second allocation adjustment forms; comparing the direct newly added resource difference and the total amount of added replacement resources: if the direct newly added resource difference is not greater than the total amount of added replacement resources, determining the allocation adjustment form corresponding to the direct newly added resource difference as the allocation adjustment result data for the incremental difference value utilization; if the direct newly added resource difference is greater than the total amount of added replacement resources, determining the allocation adjustment form corresponding to the total amount of added replacement resources as the allocation adjustment result data for the incremental difference value utilization.

[0018] In the present application, for the newly added demand amount, there is indeed a case that the resource scheduling supply amount in the current resource scheduling allocation combination is less than the resource scheduling supply amount. Full utilization rate consideration is needed to adjust the resource scheduling supply amount in the current resource scheduling allocation combination. First of all, it needs to be pointed out that the allocation combination formed for different demand objects in the current resource scheduling allocation combination is the best combination for the utilization rate of the demand object. If any resource scheduling supply amount that is not used is replaced in the combination, it will cause insufficient supply or relatively lower utilization rate. However, since the demand amount is newly added, if the replacement leads to the utilization rate of the supply amount replaced and the newly added demand amount matching to form an improved utilization rate, and the degree of improvement is greater than the degree of utilization rate reduction affected by the replacement, the overall utilization rate will continue to remain or not decrease too much. Based on this consideration, the resource matching difference of different demand objects in the current resource scheduling allocation combination is determined first, and then the resource scheduling supply amount in the combination is replaced. This replacement first selects the resource scheduling supply amount in the combination that is greater than the newly added demand amount, and the replacement is single to avoid the impact of the source matching combination. After all, the single replaced resource scheduling supply amount can already meet the newly added demand amount. Of course, the resource allocation difference of the new allocation combination formed after the replacement is obtained, and the increment of the resource matching difference corresponding to the original allocation combination is confirmed. Here, the allocation difference increment is essentially the quantitative value of the utilization rate reduction of the resources after the original allocation combination is replaced. Since it is a single replacement, all resource scheduling supply amounts greater than or equal to the newly added demand amount in the original current resource scheduling allocation combination will be replaced once, which will form multiple different replacement schemes. By comparing the size of the allocation difference increment, it can be determined which replacement has the lowest overall utilization rate impact on the original current resource scheduling allocation combination. In this way, the best replacement scheme is determined. At this time, it also needs to consider whether the replacement scheme is smaller than the impact of the resource utilization rate after the newly added demand amount directly matches the remaining resource scheduling supply amount in the current resource scheduling allocation combination. Therefore, the new resource difference of the resource scheduling supply amount after the newly added demand amount directly matches the remaining resource scheduling supply amount in the current resource scheduling allocation combination is obtained to compare with the total replacement resource increment corresponding to the best replacement scheme. It needs to be reminded here that the total replacement resource increment corresponding to the best replacement scheme includes the resource amount increased after the original resource scheduling allocation combination is replaced and the resource difference amount generated by the newly added demand amount using the replaced resource scheduling supply amount to match. Through comparative analysis, the scheme with the smallest increment is determined as the final scheduling adjustment scheme to ensure a high resource utilization rate.

[0019] As one possible implementation, when real-time demand change data indicates a decrease in demand, a demand reduction scheduling adjustment analysis is performed by combining the current resource scheduling analysis results and distributed resource supply data to form real-time demand reduction resource scheduling adjustment data. This includes: when real-time demand change data indicates a decrease in demand, determining the amount of resource to be reduced, Q. cut This will reduce the required resource quantity Q. cut The resource allocation group corresponding to the current resource allocation combination and the total resource allocation supply B in the remaining resource allocation groups of the current resource allocation combination. m Compare: If the required resource quantity Q is reduced cut The resource scheduling supply B in the corresponding resource allocation group m Not less than the total resource allocation supply B of all remaining resource allocation groups in the current resource allocation combination. m Perform screening and scheduling allocation analysis to generate data on the results of reduction, elimination, and adjustment allocation; if the required resource quantity Q is reduced... cut The resource scheduling supply B in the corresponding resource allocation group m There exists a resource allocation supply B in the remaining resource allocation group that is less than the current resource allocation combination. m We perform replacement scheduling and allocation analysis to generate data on the results of reduction, replacement, and allocation adjustments.

[0020] In this invention, if real-time demand changes cause a decrease in demand, it is necessary to consider whether the reduced demand, corresponding to the release of resource supply from the original resource scheduling allocation combination, can negatively impact the resource utilization of the remaining allocation combinations. Therefore, there are two different directions for scheduling analysis, which will correspondingly lead to different scheduling adjustment methods.

[0021] As one possible implementation, if the required resource quantity Q is reduced... cut The resource scheduling supply B in the corresponding resource allocation group m Not less than the total resource allocation supply B of all remaining resource allocation groups in the current resource allocation combination. m The process involves screening and scheduling allocation analysis to generate data on the results of reduction, elimination, and adjustment allocation, including: data on the reduction of required resource quantity Q. cut The corresponding resource allocation group contains all resource scheduling supply B. m Perform resource release calibration; reduce the required resource quantity Q by dividing the set. cut The other resource allocation groups in the corresponding resource allocation group form the data for the reduction, screening, and adjustment of allocation results.

[0022] In the present application, if all the resource scheduling supply amounts in the allocation combination corresponding to the reduced demand amount are greater than the resource scheduling supply amounts in the remaining allocation combinations, it can be ensured that the released resource scheduling supply amounts will not have a positive impact on the resource utilization of the remaining allocation combinations, thus ensuring that the original combination mode of the remaining allocation combinations is the best mode.

[0023] As a possible implementation, if the reduced demand resource amount Q cut is less than the resource scheduling supply amount B m in the corresponding resource allocation group, the resource scheduling supply amount B m in the corresponding resource allocation group is replaced by the resource scheduling supply amount B cut in the other resource allocation group, and the resource scheduling supply amount B j in the other resource allocation group is replaced by the resource scheduling supply amount B m in the corresponding resource allocation group, and the resource scheduling supply amount B m in the corresponding resource allocation group is replaced by the resource scheduling supply amount B cut in the other resource allocation group, and the resource scheduling supply amount B m in the other resource allocation group is replaced by the resource scheduling supply amount B m in the corresponding resource allocation group, and the resource scheduling supply amount B j in the corresponding resource allocation group is replaced by the resource scheduling supply amount B m in the other resource allocation group, and the resource scheduling supply amount B m in the other resource allocation group is replaced by the resource scheduling supply amount B m in the corresponding resource allocation group, and the resource scheduling supply amount B m in the corresponding resource allocation group is replaced by the resource scheduling supply amount B mSubstitute until all reduced replacement resource supply is used up; determine the newly formed allocation group set as the reduced replacement adjustment allocation result data.

[0024] In the present application, for the reduced demand corresponding to all resource scheduling supply in the allocation combination, there is no more than the remaining allocation combination of resource scheduling supply. It can be sure that replacing the resource scheduling supply in some remaining allocation combination will improve the utilization of resources to some extent. Therefore, by replacing all resource scheduling supplies released and resource amount not greater than the maximum resource scheduling supply in the remaining allocation combination with the resource scheduling supply in the remaining allocation combination, the way to improve the utilization is realized. The replacement method is to replace from small to large according to the size of the released resource scheduling supply. Starting from the smallest, the replacement can be quickly performed, because the smaller the value, the less the replacement can be performed. The replacement method is to traverse all resource scheduling supplies in the remaining allocation combination with the selected reduced replacement resource supply. By analyzing the change of the unallocated resource amount, the best replacement scheme is determined. After the replacement scheme is determined, the replaced resource scheduling supply can also be replaced with other resource scheduling supplies in the remaining allocation combination. In this way, the replacement is gradually replaced, until all resource scheduling supplies in the remaining allocation combination are replaced, or the replacement appears the reverse change of the change value of the unallocated resource amount. This reverse change refers to the unallocated resource amount after replacement is greater than or equal to the unallocated resource amount before replacement. The unallocated resource amount is obtained in the same way as the remaining unallocated resource amount determined by the current resource scheduling analysis. All reduced replacement resource supplies are replaced in this way, and then the new allocation combination scheme is formed.

[0025] In the second aspect, the present application provides a gpu resource scheduling system based on artificial intelligence, comprising: a data acquisition unit for acquiring distributed resource supply data, current resource demand data and real-time demand change data; a scheduling analysis unit for resource scheduling analysis of the distributed resource supply data and the current resource demand data acquired by the data acquisition unit, forming a current resource scheduling analysis result data, and combining the real-time demand change data for resource adjustment analysis, forming a real-time resource adjustment analysis result data; a scheduling execution unit adjusts the current resource scheduling according to the real-time resource adjustment analysis result data formed by the scheduling analysis unit.

[0026] In the application, the system acquires the existing distributed GPU supplyable resources and the current resource demand and real-time demand change data through a data acquisition unit, uses a scheduling analysis unit to realize high utilization rate scheduling and distribution of the current resources and timely response to the situation after the demand changes to form reasonable resource scheduling adjustment data, timely completes the most resource scheduling processing through a scheduling execution unit, ensures that the GPU resources are in a state of high efficient utilization, and is an important material basis for realizing high efficient utilization of the GPU resources.

[0027] The application provides a GPU resource scheduling method and system based on artificial intelligence.

[0028] The method determines the resource scheduling mode with the highest GPU resource utilization rate to meet the current resource demand by acquiring all distributed GPU resource supply data to perform resource scheduling analysis on the current resource demand according to the resource utilization rate.

[0029] The system acquires the existing distributed GPU supplyable resources and the current resource demand and real-time demand change data through a data acquisition unit, uses a scheduling analysis unit to realize high utilization rate scheduling and distribution of the current resources and timely response to the situation after the demand changes to form reasonable resource scheduling adjustment data, timely completes the most resource scheduling processing through a scheduling execution unit, ensures that the GPU resources are in a state of high efficient utilization, and is an important material basis for realizing high efficient utilization of the GPU resources. BRIEF DESCRIPTION OF DRAWINGS

[0030] In order to more clearly illustrate the technical solutions of the embodiments of the application, the following will briefly introduce the drawings needed to be used in the embodiments of the application. It should be understood that the following drawings only show some of the embodiments of the application, and therefore should not be regarded as a limitation to the scope. For those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.

[0031] Fig. 1 The application provides a GPU resource scheduling method based on artificial intelligence.

[0032] Fig. 2 A structural schematic diagram of a gpu resource scheduling system based on artificial intelligence provided for an embodiment of the present application. DETAILED DESCRIPTION

[0033] The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.

[0034] With the rapid development of artificial intelligence, deep learning and high-performance computing (HPC), GPU (Graphics Processing Unit) has become one of the core computing resources in modern computing systems. Compared with traditional CPUs, GPUs have significant advantages in parallel computing, accelerating large-scale data processing and complex computing. Due to the high value and scarcity of GPU resources, the management and scheduling efficiency directly affects the overall system performance and cost-effectiveness.

[0035] Cloud platform technology provides a sharing way for many data resources, including computing power and GPU resources. Integrating distributed GPU resources can improve the utilization of GPU resources. However, the demand for GPU resources is time-dependent, and the demand may change at any time, which makes it difficult to reasonably perform dynamic scheduling.

[0036] Reference Figs. 1-2 The embodiments of the present application provide a gpu resource scheduling method based on artificial intelligence. The method obtains all distributed GPU resource supply data to analyze the resource scheduling according to the utilization rate of the current resource demand, determines the resource scheduling mode with the highest GPU resource utilization rate to meet the current resource demand. When the demand changes, the original resource scheduling and allocation mode is reasonably adjusted according to different demand changes, so as to meet the changed demand while ensuring the best utilization of GPU resources. On the one hand, the distributed resource supply data is reasonably allocated and scheduled to ensure high utilization of current demand, and on the other hand, the demand changes are reasonably adjusted in a timely manner. The high utilization of GPU resources is maintained while meeting the changed demand, greatly improving the efficiency of using GPU resources.

[0037] A gpu resource scheduling method based on artificial intelligence specifically includes the following steps:

[0038] S1: Obtain distributed resource supply data and current resource demand data, and perform resource scheduling analysis according to resource utilization rate to form current resource scheduling analysis result data.

[0039] Obtaining distributed resource supply data and current resource demand data, performing resource scheduling analysis for resource utilization, forming current resource scheduling analysis result data, including: determining resource scheduling supply amount B corresponding to different GPU devices according to the distributed resource supply data m and total resource supply amount B all , m represents the number of different GPU devices, According to the current resource demand data, the resource demand amount A corresponding to different demand objects is determined n , n represents the number of different demand objects; different resource scheduling supply amount B m According to different resource demand amount A n Combination and distribution are carried out to form a resource allocation combination which satisfies the following combination and distribution conditions: different resource demand amount A n The multiple resource scheduling supply amount B corresponding to the scheduling satisfies: k n represents the number of resource demand amount A with the number n n When the combination and distribution of resource scheduling supply amount B m The number of resource scheduling supply amount B m Allocated to the resource scheduling supply amount B n , and k n ≤m, represents the total amount of resource scheduling supply amount B m Allocated to the resource scheduling supply amount B m When the combination and distribution of resource scheduling supply amount B j , and Determine different allocation combinations that satisfy the combination and distribution conditions, and determine the corresponding remaining unallocated resource amount D of each allocation combination i , where i is the number of different allocation combinations that satisfy the combination and distribution conditions formed by combination and distribution, The allocation combination corresponding to the minimum value of different remaining unallocated resource amount D add is determined as the current resource scheduling allocation combination.

[0040] The scheduling matching of the current resource demand according to the distributed GPU resource supply data mainly considers two aspects. One is that for different resource demand objects, the amount of GPU resources provided by the scheduling is necessarily less than the demand amount of the demand object to ensure that the demand amount can be fully met, so the total supply amount needs to be provided when performing resource scheduling analysis, and since the distributed GPU resources are scheduled in distributed nodes, the GPU resources on each node are called as a whole, so it is necessary to consider how to combine to meet the demand amount. On the other hand, since the amount of resources that can be provided on the distributed nodes is integral, there will be a situation that the total supply amount is greater than the demand amount when meeting the resource demand amount of a demand object to ensure that the amount of resources provided is sufficient, so when performing resource scheduling matching of the demand amount of all current demand objects, it is necessary to fully consider whether the selected method can realize the full use of GPU resources. Here, the remaining unallocated amount is used as a reference to select the scheduling scheme, because the more the remaining resource amount, the closer the total amount of resources provided by the combined scheme to the total demand amount, that is, the higher the resource utilization rate.

[0041] S2: Obtain real-time demand change data, and perform resource adjustment analysis in combination with the current resource scheduling analysis result data and the distributed resource supply data to form real-time resource adjustment analysis result data.

[0042] Obtaining real-time demand change data, and performing resource adjustment analysis in combination with the current resource scheduling analysis result data and the distributed resource supply data to form real-time resource adjustment analysis result data, including: when the real-time demand change data is new demand data, performing demand new scheduling adjustment analysis in combination with the current resource scheduling analysis result data and the distributed resource supply data to form real-time new demand resource scheduling adjustment data; when the real-time demand change data is demand reduction data, performing demand reduction scheduling adjustment analysis in combination with the current resource scheduling analysis result data and the distributed resource supply data to form real-time reduced demand resource scheduling adjustment data.

[0043] After completing the high-utilization resource scheduling of the current resource demand, demand changes may occur in actual situations. At this time, in order to ensure the high utilization of GPU resources and release or provide more scheduling resources to realize reasonable resource control, adaptive resource scheduling adjustment needs to be performed for different demand change situations. The present application considers two cases of demand increase and demand decrease caused by real-time demand change, and the resource scheduling adjustment methods adopted for the two cases are different and need to be considered separately to ensure more efficient use of resource scheduling in the two different situations.

[0044] When the real-time demand change data is the newly added demand data, the demand newly added scheduling adjustment analysis is performed in combination with the current resource scheduling analysis result data and the distributed resource supply data to form real-time newly added demand resource scheduling adjustment data, including: when the real-time demand change data is the newly added demand data, the newly added demand resource quantity Q add is determined add ; the newly added demand resource quantity Q m is compared with all the resource scheduling supply quantities B add under the current resource scheduling allocation combination; if the newly added demand resource quantity Q m is greater than all the resource scheduling supply quantities B add under any current resource scheduling allocation combination, the scheduling allocation analysis of the remaining resource utilization is performed to form the incremental remaining utilization adjustment allocation result data; if the newly added demand resource quantity Q m is not greater than the resource scheduling supply quantity B add under the current resource scheduling allocation combination, the simplified replacement analysis for the resource utilization rate is performed to form the incremental replacement utilization adjustment allocation result data.

[0045] When the real-time demand change produces newly added resource demand, the newly added demand quantity should be determined first, so that the demand can be quantified to facilitate subsequent reasonable resource scheduling adjustment. It can be understood that the high utilization rate resource scheduling situation adopted is different for different sizes of newly added demand quantity. Because it needs to be considered whether the newly added demand quantity affects the current resource scheduling allocation combination, the reasonable scheduling adjustment direction is determined by comparing the size of the newly added demand quantity with any resource scheduling supply quantity selected in the current resource scheduling allocation combination.

[0046] If the newly added demand resource quantity Q m is greater than all the resource scheduling supply quantities B m under any current resource scheduling allocation combination, the scheduling allocation analysis of the remaining resource utilization is performed to form the incremental remaining utilization adjustment allocation result data, including: all the resource scheduling supply quantities B m remaining under the current resource scheduling allocation combination are arranged in descending order to form a remaining sequential supply resource set; different resource scheduling supply quantities B m in the remaining sequential supply resource set are allocated in the following manner: if the sum of all the resource scheduling supply quantities B add in the remaining sequential supply resource set is not greater than the newly added demand resource quantity Q m , all the resource scheduling supply quantities B add remaining are taken as the corresponding allocation resource quantity of the newly added demand resource quantity Q m ; if the sum of all the resource scheduling supply quantities B add in the remaining sequential supply resource set is greater than the newly added demand resource quantity QIf B m , the extraction quantity is 1, and one resource scheduling supply amount B m is extracted according to the arrangement order of the residual supply resource set each time add is compared with the newly added demand resource amount Q add , if Q m ≤ B m , the minimum resource scheduling supply amount B add that meets the condition is the corresponding allocation resource amount, if there is no Q add ≤ B m , the extraction quantity is increased, when the extraction quantity is 2, the first resource scheduling supply amount B m in the residual supply resource set is taken as the reference to respectively combine with the subsequent residual resource scheduling supply amount B m , if the total amount of the combined resources is not less than the newly added demand resource amount Q add , the minimum total amount of the combined resources that meets the condition is determined as the newly added demand resource amount Q add , the corresponding allocation resource amount, if there is no combination that meets the condition, the second resource scheduling supply amount B m in the residual supply resource set is taken as the reference to respectively combine with the subsequent residual resource scheduling supply amount B m , the combination is judged again until all the combinations are extracted and no combination that meets the condition is found, then the extraction quantity is increased until the combination that meets the condition is determined, and the combination of the determined allocation resource amount is determined as the incremental residual utilization adjustment allocation result data.

[0047] For the case that the new demand is greater than any resource scheduling supply in the current resource scheduling allocation combination, first, it can be determined that any extraction of a resource scheduling supply in the current resource scheduling allocation combination cannot meet the supply of the new demand. Although multiple resource scheduling quantities can meet the new demand, the influence on the current resource scheduling allocation combination will be greater, causing the adjustment of the current value resource scheduling allocation combination to be more complex. At the same time, the allocation combination formed in the current resource scheduling allocation combination for different demand objects is the combination with the best utilization rate. Too much replacement of resource scheduling supply in the combination will greatly reduce the overall resource utilization, which is not conducive to the efficient use of resources. Therefore, the present application extracts the resource scheduling supply from the remaining resource scheduling supply that has not been allocated to meet the new demand. Here, when extracting the resource scheduling supply from the remaining resource scheduling supply that has not been allocated, the extraction is performed in the order of supply size, and the number of extractions starts from 1. On the one hand, the extraction from small to large can quickly determine the resource scheduling supply combination closest to and meeting the new demand, and on the other hand, the number of extractions starts from 1, which can improve the analysis efficiency and avoid the complexity of data processing to reduce the analysis efficiency. For the extraction of a single number of resource scheduling supplies, the order is from small to large. For the extraction of two numbers, the smallest supply is used as the basis to combine the other supply in the order from small to large to form a combination, and all two combinations are traversed in turn. For more extractions, the combination is still based on a single change.

[0048] If the new demand resource quantity Q add is greater than any resource scheduling supply B m in the current resource scheduling allocation combination, a simplified replacement analysis is performed for resource utilization to form an incremental replacement utilization adjustment allocation result data, including: determining the resource allocation difference between the total amount of resources provided by the resource scheduling supply B m of different demand objects in the current resource scheduling allocation combination and the resource demand A n , and sorting the resource allocation groups corresponding to different demand objects in the current resource scheduling allocation combination in the order of resource allocation difference from small to large to form a current resource allocation difference order set; marking the resource scheduling supply B add whose resource supply in the resource allocation group corresponding to different demand objects in the current resource allocation difference order set is not less than the new demand resource quantity Q m as the resource to be replaced, and determining the resource scheduling supply B m closest to and greater than the resource to be replaced in the remaining resource scheduling supply B mand mark as the to-be-replaced resource supply amount; the replacement comparison data is obtained in the following manner: one to-be-replaced resource supply amount in the resource allocation group is replaced by the corresponding to-be-replaced resource supply amount in the order of the current resource allocation difference sequence set, and the total resource supply amount of the newly formed resource allocation group after replacement is determined n The resource replacement allocation difference, and according to the resource allocation difference of the original resource allocation group, the allocation difference increase amount corresponding to the replacement is determined; all to-be-replaced resource supply amounts in the current resource allocation difference sequence set are replaced in turn to determine the corresponding allocation difference increase amount; all allocation difference increase amounts are compared to determine the newly formed resource allocation group with the smallest allocation difference increase amount, and the comparison effective resource allocation group is marked; after the comparison effective resource allocation group is formed, all remaining unallocated resource scheduling supply amounts B m The resource scheduling supply amount B add that is not less than the newly added demand resource amount Q add and closest to the newly added demand resource amount Q m is determined, and the replacement newly added resource difference between the newly added demand resource amount Q add and the determined resource scheduling supply amount B m is determined; according to the allocation difference increase amount corresponding to the comparison effective resource allocation group and the replacement newly added resource difference, the total replacement resource increase amount is determined; the resource scheduling supply amount B m that is not less than the newly added demand resource amount Q add and closest to the newly added demand resource amount Q add is determined from all remaining resource scheduling supply amounts B m under the original current resource scheduling allocation group combination, and the direct newly added resource difference between the newly added demand resource amount Q add and the determined resource scheduling supply amount B m is determined; the direct newly added resource difference and the total replacement resource increase amount are compared: if the direct newly added resource difference is not greater than the total replacement resource increase amount, the allocation adjustment form corresponding to the direct newly added resource difference is determined as the increment difference utilization adjustment allocation result data; if the direct newly added resource difference is greater than the total replacement resource increase amount, the allocation adjustment form corresponding to the total replacement resource increase amount is determined as the increment difference utilization adjustment allocation result data.

[0049] If the new demand is less than the resource scheduling supply in the current resource scheduling allocation combination, the utilization rate should be fully considered to adjust the resource scheduling supply in the current resource scheduling allocation combination. First of all, it should be pointed out that the allocation combination formed for different demand objects in the current resource scheduling allocation combination is the best combination in terms of utilization rate of the demand objects. If any resource scheduling supply that is not used is replaced in the combination, it will cause insufficient supply or relatively lower utilization rate. However, since the demand has been added, if the replacement results in the utilization rate of the replaced supply matching the new demand, the degree of improvement is greater than the degree of utilization rate reduction affected by the replacement, then the overall utilization rate will continue to remain or not decrease too much. Based on this consideration, the resource matching difference of different demand objects in the current resource scheduling allocation combination is determined first, and then the resource scheduling supply in the combination is replaced. This replacement is single, so as to avoid the impact of the source matching combination. After all, the single replacement of the resource scheduling supply can meet the new demand. Of course, the resource allocation difference of the new allocation combination formed after the replacement is obtained, and the increment of the resource matching difference corresponding to the original allocation combination is confirmed. The allocation difference increment is essentially the quantitative value of the degree of utilization rate reduction of the original allocation combination after replacement. Since it is a single replacement, all resource scheduling supplies greater than or equal to the new demand in the original current resource scheduling allocation combination will be replaced once, which will form multiple different replacement schemes. By comparing the size of the allocation difference increment, it can be determined which replacement has the lowest overall utilization rate impact on the original current resource scheduling allocation combination. In this way, the best replacement scheme is determined. At this time, it also needs to be considered whether the replacement scheme is smaller than the impact of the resource utilization rate of the remaining resource scheduling supply after the new demand directly matches the current resource scheduling allocation combination. Therefore, the new resource difference of the remaining resource scheduling supply after the new demand directly matches the current resource scheduling allocation combination is obtained to compare with the total replacement resource increment corresponding to the best replacement scheme. It needs to be reminded here that the total replacement resource increment corresponding to the best replacement scheme includes the resource amount increased after the replacement of the original resource scheduling allocation combination and the resource difference amount generated by the use of the replaced resource scheduling supply to match the new demand. Through comparison and analysis, the scheme with the smallest increment is determined as the final scheduling adjustment scheme to ensure a high resource utilization rate.

[0050] When real-time demand change data indicates a decrease in demand, a demand reduction scheduling adjustment analysis is performed by combining the current resource scheduling analysis results and distributed resource supply data to form real-time demand reduction resource scheduling adjustment data. This includes determining the amount of resource demand to be reduced, Q, when the real-time demand change data indicates a decrease in demand. cut This will reduce the required resource quantity Q. cut The resource allocation group corresponding to the current resource allocation combination and the total resource allocation supply B in the remaining resource allocation groups of the current resource allocation combination. m Compare: If the required resource quantity Q is reduced cut The resource scheduling supply B in the corresponding resource allocation group m Not less than the total resource allocation supply B of all remaining resource allocation groups in the current resource allocation combination. m Perform screening and scheduling allocation analysis to generate data on the results of reduction, elimination, and adjustment allocation; if the required resource quantity Q is reduced... cut The resource scheduling supply B in the corresponding resource allocation group m There exists a resource allocation supply B in the remaining resource allocation group that is less than the current resource allocation combination. m We perform replacement scheduling and allocation analysis to generate data on the results of reduction, replacement, and allocation adjustments.

[0051] If real-time demand changes lead to a decrease in demand, it's necessary to consider whether the reduced demand, corresponding to the release of resource supply from the original resource allocation combination, can negatively impact the resource utilization of the remaining allocation combinations. Therefore, there are two different directions for scheduling analysis, which will correspondingly lead to different scheduling adjustment methods.

[0052] If the required resource quantity Q is reduced cut The resource scheduling supply B in the corresponding resource allocation group m Not less than the total resource allocation supply B of all remaining resource allocation groups in the current resource allocation combination. m The process involves screening and scheduling allocation analysis to generate data on the results of reduction, elimination, and adjustment allocation, including: data on the reduction of required resource quantity Q. cut The corresponding resource allocation group contains all resource scheduling supply B. m Perform resource release calibration; reduce the required resource quantity Q by dividing the set. cut The other resource allocation groups in the corresponding resource allocation group form the data for the reduction, screening, and adjustment of allocation results.

[0053] If the reduced demand corresponds to all resource scheduling supply in the allocation combination being greater than the resource scheduling supply in the remaining allocation combination, it can be certain that the released resource scheduling supply will not have a positive impact on the resource utilization of the remaining allocation combination, thus ensuring that the original combination of the remaining allocation combination is the best way.

[0054] If the reduced demand resource amount Q cut corresponds to all resource scheduling supply B m in the corresponding resource allocation group, and there is a resource scheduling supply B m in the remaining resource allocation group of the current resource scheduling allocation combination that is less than the resource scheduling supply B cut in the corresponding resource allocation group, a replacement scheduling allocation analysis is performed to form a reduced replacement adjustment allocation result data, including: determining other resource allocation groups in the corresponding resource allocation group as a set of to-be-replaced allocation groups, and determining the corresponding excluded remaining unallocated resource amount D j , where j = i - 1, and the largest resource scheduling supply B m in all resource scheduling supplies B m in the set of to-be-replaced allocation groups is designated as a replacement exclusion supply; all resource scheduling supplies B cut in the corresponding resource allocation group of the reduced demand resource amount Q m that are not greater than the replacement exclusion supply are designated as reduced replacement resource supplies; all reduced replacement resource supplies are analyzed in the following manner: different reduced replacement resource supplies are extracted in order from small to large, and a traversal replacement of resource scheduling supplies B m in the set of to-be-replaced allocation groups is performed, and the corresponding replacement remaining unallocated resource amount and the remaining reduction difference from the excluded remaining unallocated resource amount D j after each replacement are determined; the replacement remaining unallocated resource amount corresponding to the largest remaining reduction difference is determined as the first direct replacement method, and the replaced resource scheduling supply B m is replaced out of the resource scheduling supplies B m in the set of to-be-replaced allocation groups other than the reduced replacement resource supplies; the replacement method corresponding to the largest remaining reduction difference in the newly formed replacement method is determined as the second direct replacement method, and the new resource scheduling supply B m that is replaced out is subjected to the same traversal replacement; the traversal replacement of all resource scheduling supplies B m in the set of to-be-replaced allocation groups is completed or the newly formed remaining reduction difference is greater than zero; the reduced replacement resource supplies are sequentially subjected to a traversal replacement of resource scheduling supplies B mSubstitute until all reduced replacement resource supply is used up; determine the newly formed allocation group set as the reduced replacement adjustment allocation result data.

[0055] For the case that all resource scheduling supply in the allocation group corresponding to the reduced demand exists no more than the resource scheduling supply in the remaining allocation group, it can be sure that replacing the resource scheduling supply in a certain remaining allocation group will improve the utilization of resources to some extent. Therefore, the way to improve the utilization is to replace all resource scheduling supplies released and whose resource amount is no more than the largest resource scheduling supply in the remaining allocation group with the resource scheduling supply in the remaining allocation group one by one. The replacement mode is to perform replacement from small to large according to the size of the released resource scheduling supply. Starting from the smallest, replacement can be quickly performed. After all, the smaller the value, the fewer the replacements that can be performed. The replacement mode is to traverse all resource scheduling supplies in the remaining allocation group with the selected reduced replacement resource supply, and determine the optimal replacement scheme by analyzing the change in the amount of unallocated resources. After determining the replacement scheme, the replaced resource scheduling supply can also be replaced with other resource scheduling supplies in the remaining allocation group. In this way, the replacement gradually decreases until all resource scheduling supplies in the remaining allocation group are replaced, or the replacement occurs in the opposite direction of the change in the amount of unallocated resources. This opposite direction change refers to the unallocated resource amount after replacement being greater than or equal to the unallocated resource amount before replacement. The unallocated resource amount is obtained in the same way as the remaining unallocated resource amount determined in the analysis of the current resource scheduling. All reduced replacement resource supplies are subjected to such replacement processing, and then the new allocation group scheme is formed.

[0056] S3: According to the real-time resource adjustment analysis result data, the current resource scheduling is adjusted.

[0057] According to the formed new allocation group scheme, the resource scheduling adjustment is performed on the continuously sustained demand object according to the need, and the corresponding resource scheduling adjustment is performed on the changed part.

[0058] The application also provides a gpu resource scheduling system based on artificial intelligence, which comprises a data acquisition unit, a scheduling analysis unit and a scheduling execution unit. The data acquisition unit is used to acquire distributed resource supply data, current resource demand data and real-time demand change data. The scheduling analysis unit is used to perform resource scheduling analysis on the distributed resource supply data and the current resource demand data acquired by the data acquisition unit, form current resource scheduling analysis result data, and perform resource adjustment analysis in combination with the real-time demand change data to form real-time resource adjustment analysis result data. The scheduling execution unit adjusts the current resource scheduling according to the real-time resource adjustment analysis result data formed by the scheduling analysis unit.

[0059] The system obtains the existing distributed GPU supplyable resources and the current resource demand and real-time demand change data through a data acquisition unit, uses a scheduling analysis unit to realize high utilization rate scheduling and distribution of the current resources and timely response to the situation after the demand changes to form reasonable resource scheduling adjustment data, and timely completes the resource scheduling processing through a scheduling execution unit, so that the GPU resources are in a state of efficient utilization at all times, which is an important material basis for realizing efficient utilization of GPU resources.

[0060] In summary, the gpu resource scheduling method and system based on artificial intelligence provided by the embodiment of the application have the following advantages:

[0061] The method determines the resource scheduling mode with the highest GPU resource utilization rate to meet the current resource demand by obtaining all distributed GPU resource supply data to perform resource scheduling analysis on the current resource demand according to the resource utilization rate, and adjusts the original resource scheduling and distribution mode to meet the changed demand and ensure the best utilization of GPU resources. On the one hand, the method performs reasonable overall scheduling and distribution on the basis of the distributed resource supply data to ensure high utilization rate of the current demand, and on the other hand, the method can also make reasonable resource scheduling adjustment to the demand change in time, so that the high utilization rate of GPU resources can be maintained while meeting the changed demand, and the use efficiency of GPU resources is greatly improved.

[0062] The system obtains the existing distributed GPU supplyable resources and the current resource demand and real-time demand change data through a data acquisition unit, uses a scheduling analysis unit to realize high utilization rate scheduling and distribution of the current resources and timely response to the situation after the demand changes to form reasonable resource scheduling adjustment data, and timely completes the resource scheduling processing through a scheduling execution unit, so that the GPU resources are in a state of efficient utilization at all times, which is an important material basis for realizing efficient utilization of GPU resources.

[0063] In the embodiments of the present application, the indication can include direct indication and indirect indication, and can also include explicit indication and implicit indication. The information indicated by certain information is referred to as to-be-indicated information. In the implementation process, there are many ways to indicate the to-be-indicated information, for example, but not limited to, the to-be-indicated information can be directly indicated, such as the to-be-indicated information itself or an index of the to-be-indicated information. The to-be-indicated information can also be indirectly indicated by indicating other information, where the other information and the to-be-indicated information have an association relationship. The to-be-indicated information can also be indicated only by a part of the to-be-indicated information, and the other part of the to-be-indicated information is known or agreed in advance. For example, the indication of a specific information can also be achieved by means of the arrangement order of various information agreed in advance (for example, specified by a protocol), thereby reducing the indication overhead to a certain extent. Meanwhile, a common part of various information can be identified and uniformly indicated, so as to reduce the indication overhead caused by separately indicating the same information.

[0064] In addition, the specific indication manner can also be various existing indication manners, for example, but not limited to, the above indication manners and various combinations thereof. The specific details of various indication manners can refer to the prior art, and will not be described herein. As known from the above, for example, when multiple information of the same type needs to be indicated, the indication manners of different information can be different. In the implementation process, the required indication manner can be selected according to the specific needs, and the selected indication manner is not limited in the embodiments of the present application. In this way, the indication manner involved in the embodiments of the present application should be understood as covering various methods that can enable the to-be-indicated party to know the to-be-indicated information.

[0065] It should be understood that the to-be-indicated information can be sent as a whole, or can be divided into multiple sub-information and sent separately, and the sending period and / or sending occasion of the sub-information can be the same or different. The specific sending method is not limited in the embodiments of the present application. The sending period and / or sending occasion of the sub-information can be pre-defined, for example, pre-defined according to a protocol, or configured by the sending end device by sending configuration information to the receiving end device.

[0066] The "pre-definition" or "pre-configuration" can be implemented by pre-saving corresponding codes, tables or other information indicating manners in the device, and the specific implementation manner is not limited in the embodiments of the present application. The "saving" can mean saving in one or more memories. The one or more memories can be separately set, or integrated in the encoder or decoder, processor, or communication device. The one or more memories can be partially separately set and partially integrated in the decoder, processor, or communication device. The type of the memory can be any form of storage medium, and the embodiments of the present application do not limit this.

[0067] The "protocol" referred to in the embodiments of the present application can refer to a protocol family in the communication field, a standard protocol similar to the protocol family frame structure, or a related protocol applied to a future communication system, and the embodiments of the present application do not make specific limitations thereon.

[0068] In the embodiments of the present application, "when", "in the case of", "if", and the like all refer to the device making corresponding processing under certain objective conditions, and are not limited to time, and do not require the device to have a judgment action when implemented, nor does it mean that there are other limitations.

[0069] In the description of the embodiments of the present application, unless otherwise specified, " / " represents that the objects before and after the " / " are in an "or" relationship, for example, A / B can represent A or B; "and / or" in the embodiments of the present application is only a description of the association relationship of the associated objects, and represents that there can be three relationships, for example, A and / or B can represent: A exists alone, A and B exist simultaneously, and B exists alone, where A and B can be singular or plural. In addition, in the description of the embodiments of the present application, unless otherwise specified, "multiple" refers to two or more than two. "At least one of the following" or the like refers to any combination of these items, including any combination of single item or multiple items. For example, at least one of a, b, or c can represent: a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, and c can be single or multiple. In addition, in order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, "first", "second", and the like are used to distinguish the same items or similar items with basically the same function and role. Those skilled in the art can understand that "first", "second", and the like do not limit the quantity and execution order, and "first", "second", and the like do not necessarily mean different. At the same time, in the embodiments of the present application, "exemplary" or "for example" is used to represent as an example, illustration, or description. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as more preferred or more advantageous than other embodiments or design schemes. Rather, "exemplary" or "for example" is used to present the relevant concept in a specific manner, and is convenient for understanding.

[0070] It should be appreciated that a processor in the embodiments of the present application can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, etc. The general-purpose processor can be a microprocessor or the processor can be any conventional processor.

[0071] It should also be understood that the memory in the embodiments of the present application can be a volatile memory or a nonvolatile memory, or can include both volatile and nonvolatile memory. Among them, the nonvolatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically EPROM (EEPROM) or a flash memory. The volatile memory can be a random access memory (RAM) used as an external cache. By way of example, but not limitation, many forms of random access memory (RAM) are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDR SDRAM), enhanced SDRAM (ESDRAM), synchlink DRAM (SLDRAM) and direct rambus RAM (DRRAM).

[0072] The above-described embodiments can be implemented in part or in whole through software, hardware (e.g., circuitry), firmware, or any combination thereof. When implemented in software, the above-described embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions or computer programs. When loaded and executed by a computer, the computer instructions or computer programs can produce the processes or functions described above in accordance with the embodiments of the present application. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable apparatus. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, such as from a website site, a computer, a server, or a data center to another website site, a computer, a server, or a data center through a wired (e.g., infrared, wireless, microwave, etc.) manner. The computer-readable storage medium can be any available medium or a collection of medium accessible by a computer or a data storage device such as a server, a data center, etc. containing one or more available medium. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium. The semiconductor medium can be a solid-state disk.

[0073] It should be understood that the term "and / or" in this document is merely used to describe an associated relationship between associated objects, and can represent three relationships, for example, A and / or B can represent three cases of A alone, A and B together, and B alone, where A and B can be singular or plural. In addition, the character " / " in this document generally represents an "or" relationship between the front and rear associated objects, but can also represent an "and / or" relationship. The specific meaning can be understood according to the context before and after.

[0074] In this application, "at least one" means one or more, and "multiple" means two or more. "At least one of the following" or similar expressions means any combination of the items, including any combination of single or multiple items. For example, at least one of a, b, or c can represent a, b, c, a-b, a-c, b-c, or a-b-c, where a, b, and c can be single or multiple.

[0075] It should be understood that in various embodiments of the present application, the size of the sequence number of the above-described processes does not mean the order of execution, and the execution order of the processes should be determined according to their functions and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0076] Those skilled in the art can clearly understand that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0077] Those skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, which will not be repeated here.

[0078] In several embodiments provided in the present application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the above-described device embodiments are only schematic, for example, the division of the units is only a logical function division, and actual implementation can have another division manner, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the units shown or discussed can be indirect coupling or communication connection through some interface, device or unit, and can be electrical, mechanical or other forms.

[0079] The units described as separate components can or can not be physically separated, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on a plurality of network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the embodiment.

[0080] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically, or two or more units can be integrated into one unit.

[0081] If the functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the parts that contribute to the prior art or parts of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various media that can store program codes.

[0082] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.

Claims

1. An artificial intelligence-based gpu resource scheduling method, characterized in that, The method comprises the following steps: obtaining distributed resource supply data and current resource demand data, performing resource scheduling analysis for resource utilization, and forming current resource scheduling analysis result data; obtaining real-time demand change data, combining the current resource scheduling analysis result data and the distributed resource supply data to perform resource adjustment analysis, and forming real-time resource adjustment analysis result data; adjusting the current resource scheduling according to the real-time resource adjustment analysis result data; wherein obtaining distributed resource supply data and current resource demand data, performing resource scheduling analysis for resource utilization, and forming current resource scheduling analysis result data comprises: determining resource scheduling supply amounts corresponding to different GPU devices according to the distributed resource supply data and a total resource supply amount , m represents the number of different GPU devices, ; According to the current resource demand data, the resource demand quantity corresponding to different demand objects is determined n represents the number of different demand objects scheduling supply amount of different said resources scheduling supply amount of different said resources combination allocation, and the formed resource allocation combination satisfies the following combination allocation conditions: Different said resource demand quantity Corresponding to the scheduling of the resource scheduling supply quantity Satisfy: , Indicates the resource demand quantity numbered n In the combination allocation of the resource scheduling supply quantity The number of the resource scheduling supply quantity allocated to , and , Indicates the resource demand quantity numbered n In the combination allocation of the resource scheduling supply quantity The total amount of resources of the resource scheduling supply quantity allocated to , and , ; determining different distribution combinations satisfying the combination distribution condition, and determining a corresponding residual unallocated resource amount of each of the distribution combinations wherein i is a number of different distribution combinations satisfying the combination distribution condition formed by the combination distribution, ; determining a minimum value among the different allocation combinations The allocation combination corresponding to the minimum value is determined as the current resource scheduling allocation combination. 2.The AI-based GPU resource scheduling method of claim 1, wherein, obtaining real-time demand change data, combining the current resource scheduling analysis result data and the distributed resource supply data to perform resource adjustment analysis, and forming real-time resource adjustment analysis result data comprises: when the real-time demand change data is new demand data, combining the current resource scheduling analysis result data and the distributed resource supply data to perform new demand scheduling adjustment analysis, and forming real-time new demand resource scheduling adjustment data; when the real-time demand change data is demand reduction data, combining the current resource scheduling analysis result data and the distributed resource supply data to perform demand reduction scheduling adjustment analysis, and forming real-time reduced demand resource scheduling adjustment data. 3.The AI-based GPU resource scheduling method of claim 2, wherein, when the real-time demand change data is new demand data, combining the current resource scheduling analysis result data and the distributed resource supply data to perform new demand scheduling adjustment analysis, and forming real-time new demand resource scheduling adjustment data comprises: when the real-time demand change data is the newly-added demand data, determining a newly-added demand resource amount ; The newly added demand for resources All resource scheduling supplies combined with the current resource scheduling allocation Comparison: if the new demand resource amount is greater than all the resource scheduling supply amount under any of the current resource scheduling allocation combinations , a scheduling allocation analysis of remaining resource utilization is performed to form an incremental remaining utilization adjustment allocation result data; If the newly added demand resource amount There is no more than the resource scheduling supply amount under the current resource scheduling allocation combination , a simplified replacement analysis for resource utilization is performed to form an incremental replacement utilization adjustment allocation result data. 4.The AI-based GPU resource scheduling method of claim 3, wherein, if the new demand resource amount is greater than all the resource schedule supply amount under any of the current resource schedule allocation combination , performing a schedule allocation analysis of the remaining resource utilization, forming an incremental remaining utilization adjustment allocation result data, comprising: combining all of the resource schedule offerings remaining under the current resource schedule allocation arranging in ascending order to form a remaining ordered offering set scheduling a supply amount for different ones of the remaining set of sequential supply resources making a resource allocation in the following manner: If all the resource scheduling supply amounts in the remaining sequential supply resource set are less than the newly added demand resource amount The sum is not greater than the newly added demand resource amount Then all the resource scheduling supply amounts in the remaining sequential supply resource set are allocated as the corresponding allocation resource amount of the newly added demand resource amount ​ if the sum of the remaining ordered supply resource set and the newly added demand resource set is greater than the total resource scheduling supply amount total resource scheduling supply amount, then: scheduling an amount of provisioning of different ones of the resources in the set of remaining sequential provisioning resources in order from one starting with an amount of extraction performing an extraction comparison; When the extraction quantity is 1, extract one resource scheduling supply quantity according to the arrangement order of the resource set supplied in the remaining order each time The newly added demand resource quantity is compared, if there is ≤ The minimum resource scheduling supply quantity that meets the condition The newly added demand resource quantity Corresponding allocation resource quantity, if there is no ≤ Increase the extraction quantity; When the extraction quantity is 2, the first resource scheduling supply quantity in the resource set is supplied in the remaining order as a reference respectively with the remaining resource scheduling supply quantity Combination is performed, if the combined total resource quantity is not less than the newly added demand resource quantity , the minimum total resource quantity that meets the condition is determined as the newly added demand resource quantity The corresponding allocation resource quantity, if there is no combination that meets the condition, the second resource scheduling supply quantity in the resource set is supplied in the remaining order as a reference respectively with the remaining resource scheduling supply quantity Combination is performed again, until all combinations are extracted and no combination that meets the condition is found, then the extraction quantity is increased until a combination that meets the condition is determined. determining the combination of the allocated resource amount as the incremental remaining utilization adjustment allocation result data. 5.The AI-based GPU resource scheduling method of claim 4, wherein, if the newly added demand resource amount there is not more than the resource scheduling supply amount under the current resource scheduling allocation combination , a simplified replacement analysis for resource utilization is performed to form an incremental replacement utilization adjustment allocation result data, including: determining the resource allocation difference of different demand objects in the current resource scheduling allocation combination the total amount of resources provided below and the resource demand the resource allocation difference, and sorting the resource allocation groups corresponding to different demand objects in the current resource scheduling allocation combination in ascending order of the resource allocation difference, to form a current resource allocation difference order set; The resource supply amount in the resource allocation group corresponding to the different demand object in the current resource allocation difference sequence set is not less than the new demand resource amount The resource scheduling supply amount The resource scheduling supply amount closest to and greater than the to-be-replaced resource supply amount in the current resource scheduling allocation combination is determined The resource scheduling supply amount closest to and greater than the to-be-replaced resource supply amount in the current resource scheduling allocation combination is determined And marked as a to-be-replaced resource supply amount; The replacement comparison data is obtained in the following manner: replacing one of the resource supply amounts in the resource allocation group by a corresponding resource supply amount to be replaced according to the order of the current resource allocation difference sequence set, and determining a total resource supply amount of a newly formed resource allocation group after the replacement and a resource demand amount of the demand object a resource replacement allocation difference, and determining an allocation difference increase amount corresponding to the replacement according to the resource allocation difference of the original resource allocation group sequentially replacing all the to-be-replaced resource supply amounts in the current resource allocation difference sequence set to determine the corresponding allocation difference increment; comparing all the allocation difference increments to determine the newly formed resource allocation group with the smallest allocation difference increment, and marking it as the comparison effective resource allocation group; After forming the aforementioned effective resource allocation group, all remaining unallocated resources will be scheduled and supplied. The amount of resources required is determined to be no less than the newly added demand. And closest to the amount of newly added demand resources. The resource scheduling supply And determine the amount of newly added required resources. The same as the determined resource scheduling supply quantity The difference in additional resources between the replacements; determining the total amount of replacement resource increase according to the allocation difference increment corresponding to the comparison effective resource allocation group and the newly added resource difference; All remaining resource scheduling supplies under the original current resource scheduling allocation combination The amount of new resources required is determined to be no less than the stated amount. And closest to the amount of newly added demand resources. The resource scheduling supply And determine the amount of newly added required resources. The same as the determined resource scheduling supply quantity The direct difference in newly added resources between them; comparing the directly added resource difference and the total amount of replacement resource increase: if the directly added resource difference is not greater than the total amount of replacement resource increase, determining the allocation adjustment form corresponding to the directly added resource difference as the incremental difference value utilization adjustment allocation result data; if the directly added resource difference is greater than the total amount of replacement resource increase, determining the allocation adjustment form corresponding to the total amount of replacement resource increase as the incremental difference value utilization adjustment allocation result data. 6.The AI-based GPU resource scheduling method of claim 5, wherein, when the real-time demand change data is demand reduction data, combining the current resource scheduling analysis result data and the distributed resource supply data to perform demand reduction scheduling adjustment analysis, and forming real-time reduced demand resource scheduling adjustment data comprises: when the real-time demand change data is demand decrease data, determining a decreased demand resource amount ; the reduced amount of demand resources all of the resource scheduling supply amounts in the corresponding resource allocation group and the remaining resource allocation groups of the current resource scheduling allocation combination comparison: if the reduced demand resource amount corresponding to all the resource scheduling supply amounts in the resource allocation group not less than the remaining resource allocation group of the current resource scheduling allocation combination of all the resource scheduling supply amounts , and performing a screening scheduling allocation analysis to form a reduced screening adjustment allocation result data; if the reduced demand resource amount corresponding to all the resource schedule supply amounts in the resource allocation group remaining from the current resource schedule allocation combination there is less than the resource schedule supply amount in the resource allocation group remaining from the current resource schedule allocation combination a replacement schedule allocation analysis is performed to form a reduced replacement adjustment allocation result data. 7.The AI-based GPU resource scheduling method of claim 6, wherein, said resource allocation group all said resource scheduling supply amounts in said resource allocation group all said resource scheduling supply amounts in said resource allocation group remaining after said current resource scheduling allocation combination , performing a screening scheduling allocation analysis to form a reduced screening adjustment allocation result data, comprising: an amount of resources required for the reduction an amount of resources scheduled for provision in the corresponding resource allocation group performing resource release calibration; the set of resources excluding the reduced demand amount of resources other resource allocation groups of the corresponding resource allocation group, forming a reduced-screening adjusted allocation result data. 8.The AI-based GPU resource scheduling method of claim 7, wherein, if the reduced demand resource amount corresponding to all the resource scheduling supply amounts in the resource allocation group remaining in the current resource scheduling allocation combination if the reduced demand resource amount performing a replacement scheduling allocation analysis to form a reduced-amount replacement adjustment allocation result data, comprising: reducing the amount of resources required other resource allocation groups of the corresponding resource allocation group are determined as a set of to-be-replaced allocation groups, and the remaining unallocated resource amount is determined after the corresponding screening from the set of to-be-replaced allocation groups wherein j = i-1, and the resource scheduling supply amount of all the resource scheduling supply amounts in the set of to-be-replaced allocation groups is the maximum resource scheduling supply amount in the set of to-be-replaced allocation groups calibrated as a replacement screening supply amount; determining the reduced demand resource amount all of the resource scheduling supply amounts in the corresponding resource allocation group that have a supply amount not greater than the replacement screened supply amount and calibrated as a reduced replacement resource supply amount; performing replacement analysis on all the reduced replacement resource supply amounts in the following manner: extracting the different said reduced replacement resource supply amounts in ascending order, and performing the resource scheduling supply amount on the said to-be-replaced allocation group set traversing replacement, and determining the corresponding replacement remaining unallocated resource amount after each replacement and the remaining reduced difference value from the screened remaining unallocated resource amount ​ determining the replacement mode corresponding to the remaining unallocated resource quantity with the largest reduced difference as the first direct replacement mode, and determining the replaced resource scheduling supply quantity performing traversal replacement on the other resource scheduling supply quantities in the to-be-replaced allocation group set except the reduced replacement resource supply quantity , and determining the replacement mode with the largest reduced difference in the newly formed replacement mode as the second direct replacement mode, and performing traversal replacement on the new resource scheduling supply quantity replaced out , until the replacement of all resource scheduling supply quantities in the to-be-replaced allocation group set is completed or the newly formed remaining reduced difference is greater than zero ​ sequentially performing the reducing replacement resource supply amount on the resource scheduling supply amount in the to-be-replaced allocation group set replacing, until all the reducing replacement resource supply amounts are used up; Determine the newly formed allocation group set as the decrement replacement adjustment allocation result data.

9. An artificial intelligence-based GPU resource scheduling system, adopting the artificial intelligence-based GPU resource scheduling method of any one of claims 1-8. Comprise: a data acquisition unit for acquiring distributed resource supply data, current resource demand data and real-time demand change data; a scheduling analysis unit for performing resource scheduling analysis on the distributed resource supply data and current resource demand data acquired by the data acquisition unit to form current resource scheduling analysis result data, and performing resource adjustment analysis in combination with real-time demand change data to form real-time resource adjustment analysis result data; a scheduling execution unit for adjusting the current resource scheduling according to the real-time resource adjustment analysis result data formed by the scheduling analysis unit.

Citation Information

Patent Citations

  • Computing resource scheduling method and device

    CN110362407A

  • Resource scheduling method and device, electronic equipment and storage medium

    CN111722928A