Resource scheduling method and device, computer equipment, storage medium and program product

By filtering and scoring computing resource information in the node pool and selecting appropriate node groups for binding, the problem of inflexible heterogeneous computing resource management is solved, and the efficiency and resource utilization of computing tasks are improved.

CN119311406APending Publication Date: 2025-01-14NEW H3C CLOUD TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411336747.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-24
Publication Date
2025-01-14

AI Technical Summary

Technical Problem

The existing heterogeneous computing resource management and scheduling methods are not flexible enough to effectively utilize the advantages of different processors, resulting in low efficiency or inability to complete computing tasks, and lack targetedness and flexibility.

Method used

By filtering node groups in the node pool, obtaining and scoring computing resource information, including resource information of the central processor, graphics processor and data processing unit, and selecting the most suitable target node for binding, ensuring the effective utilization and efficient allocation of computing resources. .

Benefits of technology

Improve the completion efficiency and performance of computing tasks, especially in high-performance computing and data-intensive tasks, the operation efficiency and resource utilization of container group target loads are improved, and resource waste is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119311406A_ABST
    Figure CN119311406A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of resource scheduling, and discloses a resource scheduling method and device, computer equipment, a storage medium and a program product, and the resource scheduling method comprises the steps: screening out a node group from a node pool based on monitored creation information of a container group; obtaining computing resource information respectively corresponding to a plurality of nodes in the node group sent by the resource monitor; wherein the resource monitors are deployed on a plurality of nodes in the node group and are used for acquiring computing resource information through monitoring agents running on the plurality of nodes; the computing resource information represents hardware resource information which can be applied to load computing on the container group; scoring the computing resource information corresponding to the plurality of nodes to obtain a plurality of scoring results; and selecting at least one target node from the plurality of nodes according to the plurality of scoring results, and binding the at least one target node with the container group. Different hardware resources are transferred, the completion efficiency of a calculation task is improved, and pertinence and flexibility are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of resource scheduling, and in particular to a resource scheduling method, device, computer equipment, storage medium and program product. Background Art

[0002] With the increasing demand for computing resources in data centers, especially when it comes to complex data processing and deep learning tasks, the computing model of traditional single resource types such as CPU (Central Processing Unit) or GPU (Graphics Processing Unit) has become difficult to meet the dual requirements of efficiency and performance. Therefore, the configuration of heterogeneous computing resources, especially the simultaneous use of CPU, GPU and dedicated DPU (Data Processing Unit), is becoming more and more common.

[0003] At present, the management and scheduling of heterogeneous computing resources are not flexible enough, and the advantages of different processors cannot be effectively utilized, resulting in low efficiency or even incompletion of computing tasks, and a lack of specificity and flexibility. Summary of the Invention

[0004] In view of this, the present invention provides a resource scheduling method, apparatus, computer equipment, storage medium and program product to solve the problem of low efficiency or even inability to complete computing tasks, lack of specificity and flexibility.

[0005] In a first aspect, the present invention provides a resource scheduling method, comprising: screening out a node group from a node pool based on monitored creation information of a container group; wherein the hardware resources contained in the node group are used to carry the load on the container group; the node pool is used to represent the container pool that stores all nodes; obtaining computing resource information corresponding to multiple nodes in the node group sent by a resource monitor; wherein the resource monitor is deployed on multiple nodes in the node group, and is used to obtain computing resource information through monitoring agents running on multiple nodes; the computing resource information represents hardware resource information that can be applied to load calculation on the container group, including central processing unit resource information, graphics processing unit resource information and data processing unit resource information; scoring the computing resource information corresponding to multiple nodes to obtain multiple scoring results; based on the multiple scoring results, selecting at least one target node from multiple nodes, and binding the at least one target node to the container group.

[0006] The present invention filters out node groups from the node pool based on the creation information of the monitored container group, obtains the node group of the hardware resources used to carry the load on the container group, performs preliminary screening, simplifies the subsequent screening process, and avoids the waste of screening resources. The resource monitor of the present invention is deployed on multiple nodes in the node group, and is used to obtain computing resource information through monitoring agents running on multiple nodes, realize real-time computing resource monitoring, accurately grasp the usage of each computing resource, provide accurate data support for resource scheduling, and ensure that resource limits are not exceeded during the allocation process. The computing resource information of the present invention includes central processing unit resource information, graphics processing unit resource information and data processing unit resource information, so that resource scheduling for the central processing unit, graphics processing unit and data processing unit can be realized, and the efficiency of computing task completion can be improved. The present invention obtains computing resource information corresponding to multiple nodes in a node group, and scores the computing resource information corresponding to multiple nodes. The scoring process is an evaluation process of the computing resources corresponding to the node. By evaluating the computing resources corresponding to the node, it is determined whether the node can meet the operation of the target load corresponding to the container group. At the same time, at least one target node is selected from multiple nodes, and the selected at least one target node meets the computing resources required for the operation of the target load corresponding to the container group to the greatest extent. After binding the at least one target node to the container group, accurate computing resources are provided for the operation of the target load corresponding to the container group. The present invention improves the utilization rate of computing resources and avoids waste of computing resources through meticulous and precise computing resource allocation. The present invention takes into account the characteristics of computing resources and the needs of application scenarios, especially in high-performance computing and data-intensive tasks, and effectively improves the operating efficiency and performance of the target load corresponding to the container group.

[0007] In an optional embodiment, at least one target node is selected from multiple nodes based on multiple scoring results, including: selecting the scoring result with the highest score from the multiple scoring results, and using the node corresponding to the scoring result with the highest score as the target node; the resource scheduling method also includes: when there are multiple target nodes and the number of hardware resources deployed on the multiple target nodes is different, selecting the node with the least number of deployed hardware resources from the multiple target nodes and binding it to the container group.

[0008] The present invention selects the node with the least amount of deployed hardware resources from multiple target nodes. Since the graphics processor and the data processing unit are connected to the central processing unit through an expansion bus, and the connection of the expansion bus consumes a part of computing resources, the node with the least amount of deployed hardware resources is preferentially selected to reduce the resource consumption caused by the expansion bus, leaving more resources for the integrated use of the graphics processor and the data processing unit, thereby providing a better resource allocation solution for complex computing scenarios and ensuring the dual optimization of performance and resource efficiency.

[0009] In an optional implementation, node groups are selected from a node pool based on the monitored container group creation information, including: obtaining, based on the monitored container group creation information, type requirement information and quantity requirement information for hardware resources carried when the container group is created; and selecting, from the node pool, node groups that meet the type requirement information and quantity requirement information.

[0010] The present invention first screens out node groups that meet the type and quantity requirements of hardware resources carried by the acquired container group when it is created, thereby facilitating subsequent screening of target nodes in the node group. During subsequent screening, there is no need to consider whether the nodes meet the type and quantity requirements of hardware resources carried by the container group when it is created, thereby saving screening resources and improving screening accuracy.

[0011] In an optional embodiment, the computing resource information corresponding to multiple nodes is scored to obtain multiple scoring results, including: scoring the central processing unit on each node according to the first computing resource information corresponding to each node to obtain a central processing unit score; wherein the first computing resource information includes the management information of the central processing unit on the node; scoring the graphics processing unit on each node according to the second computing resource information corresponding to each node to obtain a graphics processing unit score; wherein the second computing resource information includes the management information of the graphics processing unit on the node; scoring the data processing unit on each node according to the third computing resource information corresponding to each node to obtain a data processing unit score; wherein the third computing resource information includes the management information of the data processing unit on the node; scoring the expansion bus on each node according to the fourth computing resource information corresponding to each node to obtain an expansion bus score; wherein the fourth computing resource information includes the attribute information of the expansion bus on the node; and obtaining the scoring result corresponding to each node according to the central processing unit score corresponding to each node, the graphics processing unit score corresponding to each node, the data processing unit score corresponding to each node, and the expansion bus score corresponding to each node.

[0012] The present invention integrates the central processing unit score, graphics processing unit score, data processing unit score and expansion bus score, considers the cooperative balance relationship between the three processors, and incorporates the expansion bus score, considering the impact of the expansion bus on the computing resources of the three processors, so that the obtained scoring results are more accurate and more in line with the evaluation of computing resources under actual circumstances.

[0013] In an optional embodiment, the central processing unit on each node is scored according to the first computing resource information corresponding to each node to obtain a central processing unit score, including: based on the first computing resource information, dividing the difference between the total number of central processing units corresponding to each node and the number of used central processing units corresponding to each node by the central processing unit demand carried by the container group to obtain a first scoring result; taking the inverse of the product of the delay penalty coefficient and the average response delay of the central processing unit and the sum of the first preset value to obtain a second scoring result; and taking a weighted sum of the first scoring result and the second scoring result to obtain the central processing unit score.

[0014] In an optional embodiment, the graphics processor on each node is scored based on the second computing resource information corresponding to each node to obtain a graphics processor score, including: based on the second computing resource, taking the inverse of the number of idle graphics processors corresponding to each node and multiplying the result by the sum of the performance weights of the idle graphics processors to obtain a third scoring result; taking the quotient of the number of idle graphics processors corresponding to each node and the required number of graphics processors carried by the container group as a fourth scoring result; and taking a weighted sum of the third and fourth scoring results to obtain the graphics processor score.

[0015] In an optional embodiment, the data processing unit on each node is scored according to the third computing resource information corresponding to each node to obtain a data processing unit score, including: based on the third computing resource, weightedly summing the quotient of the number of available network interface cards and the required number of network interface cards carried by the container group, and the product of the number of central processing unit cores inside the data processing unit and the main frequency of the core of the central processing unit of the data processing unit, to obtain a fifth scoring result; subtracting the used bandwidth from the first preset value and dividing it by the total bandwidth of the data processing unit to obtain a sixth scoring result; and weightedly summing the fifth scoring result, the average latency of the central processing unit inside the data processing unit, and the sixth scoring result to obtain the data processing unit score.

[0016] In an optional embodiment, the expansion bus on each node is scored according to the fourth computing resource information corresponding to each node to obtain an expansion bus score, including: based on the fourth computing resource, taking a weighted sum of the quotient of the total number of graphics processors and the total number of expansion bus slots and the quotient of the total number of data processing units and the total number of expansion bus slots, and then multiplying the sum by the upper limit of the score range to obtain a seventh scoring result; subtracting the seventh scoring result from the upper limit of the score range to obtain an eighth scoring result; and selecting the maximum value between the eighth scoring result and the first preset value as the expansion bus score.

[0017] In an optional embodiment, a scoring result corresponding to each node is obtained based on the central processing unit score corresponding to each node, the graphics processing unit score corresponding to each node, the data processing unit score corresponding to each node, and the expansion bus score corresponding to each node, including: dividing the product of the graphics processing unit score and the data processing unit score by the sum of the graphics processing unit score, the data processing unit score and the first preset value to obtain a ninth scoring result; inputting the quotient of the expansion bus score and the second preset value into an exponential function to obtain a tenth scoring result; multiplying the ninth scoring result by the tenth scoring result as the collaboration score; and dividing the graphics processor score by the sum of the graphics processing unit score and the data processing unit score by the first preset value. The sum of the score and the data processing unit score is divided by the second preset value to obtain an eleventh scoring result; the quotient of the first preset value minus the expansion bus score divided by the second preset value is obtained to obtain a twelfth scoring result; the product of the eleventh scoring result and the twelfth scoring result is added to the quotient of the central processing unit score and the third preset value to obtain a competition factor score; the product of the collaboration score and the second preset value is divided by the sum of the competition factor score and the first preset value to obtain a thirteenth scoring result; the maximum value is selected from the thirteenth scoring result and the fourth preset value as the fourteenth scoring result; the minimum value is selected from the fourteenth scoring result and the second preset value as the scoring result.

[0018] The present invention generates a collaborative score based on the GPU score, the DPU score, and the GPU score and expansion bus score, reflecting the cooperative relationship when the GPU and DPU both have high scores. By dividing their product by their sum, the impact of scores when one is extremely high and the other is extremely low is reduced. The positive impact of the expansion bus score is increased exponentially, encouraging improvements in the expansion bus score. The present invention calculates a competitive factor score based on the GPU score, the DPU score, the CPU score, and the expansion bus score. Using the sum of squares, the present invention reflects that the higher the sum of the GPU and DPU, the greater their impact on the expansion bus score. The inclusion of the CPU score allows for a more balanced adjustment of the final score, minimizing its impact on the scoring result.

[0019] In a second aspect, the present invention provides a resource scheduling device, which is applied to a scheduler and includes: a node group screening module, which is used to screen out node groups from a node pool based on the creation information of a monitored container group; wherein the hardware resources contained in the node group are used to carry the load on the container group; the node pool is used to represent the container pool that stores all nodes; a computing resource information acquisition module, which is used to obtain computing resource information corresponding to multiple nodes in the node group sent by a resource monitor; wherein the resource monitor is deployed on multiple nodes in the node group and is used to obtain computing resource information through monitoring agents running on multiple nodes; the computing resource information represents hardware resource information that can be applied to load calculation on the container group, including central processing unit resource information, graphics processing unit resource information and data processing unit resource information; a scoring module, which is used to score the computing resource information corresponding to multiple nodes and obtain multiple scoring results; a target node determination module, which is used to select at least one target node from multiple nodes based on multiple scoring results, and bind at least one target node to the container group.

[0020] In a third aspect, the present invention provides a computer device comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the resource scheduling method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.

[0021] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the resource scheduling method of the first aspect or any corresponding embodiment thereof.

[0022] In a fifth aspect, the present invention provides a computer program product, comprising computer instructions, which are used to enable a computer to execute the resource scheduling method of the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the specific embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0024] Figure 1 is a flow chart of a resource scheduling method according to an embodiment of the present invention;

[0025] Figure 2 is a schematic diagram of a communication structure of a resource monitor according to an embodiment of the present invention;

[0026] Figure 3 is a schematic diagram of a resource configuration execution process according to an embodiment of the present invention;

[0027] Figure 4 A schematic diagram of another resource scheduling method according to an embodiment of the present invention is shown in FIG.

[0028] Figure 5 is a schematic diagram of another resource configuration execution process according to an embodiment of the present invention;

[0029] Figure 6 is a structural block diagram of a resource scheduling device according to an embodiment of the present invention;

[0030] Figure 7 Schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0031] To make the purpose, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without making creative efforts shall fall within the scope of protection of the present invention.

[0032] In the cluster environment of the open source container orchestration system (Kubernetes, K8s), K8s is a cloud platform used to manage different hardware computing resources through multiple nodes. Generally, hardware computing resources include multiple CPUs, multiple GPUs, and multiple DPUs in multiple hosts. Of course, other hardware computing resources can also be connected to the host. GPUs and DPUs are connected to the host CPU via an expansion bus (Peripheral Component Interconnect Express, PCIe). During the application process, when a computing request is received, a container group (POD, the smallest resource management component in K8s) is created, the POD is bound to the node, and hardware computing resources are scheduled to calculate the computing request. PODs are divided into different Quality of Service (QoS) levels based on their resource requirements, such as high level (Guaranteed), medium level (Burstable), and low level (BestEffort). The high level represents the level corresponding to PODs that must be completed, the medium level represents the level corresponding to PODs that can be completed, and the low level represents the level corresponding to PODs that are completed with best efforts.

[0033] The embodiment of the present invention provides a resource scheduling method, which scores computing resource information corresponding to multiple nodes and selects a target node to achieve the effect of efficiently completing computing tasks.

[0034] According to an embodiment of the present invention, an embodiment of a resource scheduling method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0035] In this embodiment, a resource scheduling method is provided, which can be used for the above-mentioned scheduler. In the embodiment of the present invention, the scheduler can be a hybrid scheduler. Figure 1 is a flow chart of a resource scheduling method according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps:

[0036] Step S101: Based on the monitored container group creation information, a node group is selected from the node pool. The hardware resources contained in the node group are used to carry the load on the container group, and the node pool is used to represent the container pool that stores all nodes.

[0037] In some optional implementations, based on the monitored container group creation information, multiple nodes that meet the hardware computing resource requirements carried in the creation information are screened from multiple nodes; and a node group is formed from the multiple nodes.

[0038] Among them, after monitoring / receiving the POD creation information, the hybrid scheduler screens out multiple nodes that meet the hardware computing resource requirements from all nodes according to the hardware computing resource requirements, and the multiple nodes form a node group.

[0039] In some optional implementations, by adding a data structure corresponding to the hardware computing resource requirements in the annotation, it is ensured that the container group creation information includes the hardware computing resource requirements.

[0040] When Kubernetes receives a computing task, it creates a POD. The computing task carries the computing resource requirements required to complete the task. When creating a POD, the creation information includes the computing resource requirements carried by the computing task. For example, if computing task A requires 3 CPUs, 3 GPUs, and 2 DPUs during the computation process, then multiple nodes are selected from multiple nodes that include at least 3 CPUs, 3 GPUs, and 2 DPUs, and these nodes form a node group.

[0041] Step S102, obtaining computing resource information corresponding to multiple nodes in the node group sent by the resource monitor; wherein the resource monitor is deployed on multiple nodes in the node group, and is used to obtain computing resource information through monitoring agents running on multiple nodes; the computing resource information represents hardware resource information that can be applied to load calculations on the container group, including central processing unit resource information, graphics processing unit resource information and data processing unit resource information.

[0042] The monitoring agent represents an agent node used to monitor and obtain hardware computing resources.

[0043] In some optional embodiments, first computing resource information of the central processing unit, second computing resource information of the graphics processing unit, third computing resource information of the data processing unit, and fourth computing resource information of the expansion bus corresponding to multiple nodes in the node group sent by the resource monitor are obtained, and the computing resource information is composed of the first resource information, the second resource information, the third resource information, and the fourth resource information, wherein the first computing resource information may be the central processing unit resource information, the second computing resource information may be the graphics processing unit resource information, and the third computing resource information may be the data processing unit resource information.

[0044] Among them, Figure 2 The figure shows a schematic diagram of the communication structure of the resource monitor, including hardware resources including host 1, host 2, host 3, host 4 and host 5. The hosts are managed by nodes. Therefore, each host corresponds to a node, and a monitoring agent (het-monitor-agent) is deployed on each node to obtain the CPU computing resources and GPU computing resources of the node, including the number and usage of CPUs and DPUs. A DPU agent (het-dpu-agent) is deployed on the DPU to obtain DPU computing resources and feed back the DPU computing resources to the monitoring agent to record and manage the DPU information of the host, including the number and basic information of the DPU network card on the host. The CPU is connected to the DPU and GPU through an extension bus, and the monitoring agent also obtains the resource information consumed by the extension bus when it is in use. The monitoring agent sends the computing resources on the node to the resource monitor (het-monitor) and stores them in the distributed key-value storage through a standard interface for subsequent scheduling by the scheduler. In Figure 2In the example, for host 1, the monitoring agent obtains the computing resources of CPU-47; for host 2, the monitoring agent obtains the computing resources of CPU-23, and the DPU agent obtains the computing resources of DPU2-1, DPU2-2, and DPU2-3 and sends them to the monitoring agent; for host 3, the monitoring agent obtains the computing resources of CPU-23 and GPU3-a; for host 4, the monitoring agent obtains the computing resources of CPU-23, GPU4-a, and GPU4-b, and the DPU agent obtains the computing resources of DPU4-1 and DPU4-2, and sends them to the monitoring agent; for host 5, the monitoring agent obtains the computing resources of CPU-47, GPU5-a, GPU5-b, and GPU5-c, and the DPU agent obtains the computing resources of DPU5-1 and sends them to the monitoring agent.

[0045] Step S103 , scoring the computing resource information corresponding to the multiple nodes respectively, and obtaining multiple scoring results.

[0046] In some optional embodiments, the computing resource information corresponding to multiple nodes is scored to obtain multiple scoring results, including: scoring the central processing unit on each node according to the first computing resource information corresponding to each node to obtain a central processing unit score; wherein the first computing resource information includes management information of the central processing unit on the node; scoring the graphics processing unit on each node according to the second computing resource information corresponding to each node to obtain a graphics processing unit score; wherein the second computing resource information includes management information of the graphics processing unit on the node; scoring the data processing unit on each node according to the third computing resource information corresponding to each node to obtain a data processing unit score; wherein the third computing resource information includes management information of the data processing unit on the node; scoring the expansion bus on each node according to the fourth computing resource information corresponding to each node to obtain an expansion bus score; wherein the fourth computing resource information includes attribute information of the expansion bus on the node; and obtaining a scoring result corresponding to each node according to the central processing unit score corresponding to each node, the graphics processing unit score corresponding to each node, the data processing unit score corresponding to each node, and the expansion bus score corresponding to each node.

[0047] In some optional embodiments, the central processing unit on each node is scored according to the first computing resource information corresponding to each node to obtain a central processing unit score, including: based on the first computing resource information, dividing the difference between the total number of central processing units corresponding to each node and the number of used central processing units corresponding to each node by the central processing unit demand carried by the container group to obtain a first scoring result; taking the inverse of the product of the delay penalty coefficient and the average response delay of the central processing unit and the sum of the first preset value to obtain a second scoring result; and taking a weighted sum of the first scoring result and the second scoring result to obtain the central processing unit score.

[0048] The first preset value is 1, and the CPU score is calculated as follows:

[0049]

[0050] Among them, CPU Score represents the CPU score, ω1 represents the first weight coefficient, CPU total Indicates the total number of central processing units, CPU used Indicates the number of central processing units used, CPU request represents the CPU demand carried by the container group, ω2 represents the second weight coefficient, β represents the delay penalty coefficient, and CPU latency Indicates the average response latency of the CPU.

[0051] The first weight coefficient and the second weight coefficient are used to adjust the influence of the available CPU ratio and CPU latency on the CPU score; the latency penalty coefficient is used to adjust the influence of latency on the CPU score.

[0052] In some optional implementations, the graphics processor on each node is scored based on the second computing resource information corresponding to each node to obtain a graphics processor score, including: based on the second computing resource, taking the inverse of the number of idle graphics processors corresponding to each node, and multiplying the result by the sum of the performance weights of the idle graphics processors to obtain a third scoring result; taking the quotient of the number of idle graphics processors corresponding to each node and the required number of graphics processors carried by the container group as a fourth scoring result; and taking a weighted sum of the third scoring result and the fourth scoring result to obtain the graphics processor score.

[0053] The calculation formula for the graphics processor score is:

[0054]

[0055] Among them, GPU Score Represents the graphics processor score, ω3 is the third weight coefficient, GPU free Indicates the number of idle graphics processors, represents the performance weight of the i-th idle GPU, ω4 represents the fourth weight coefficient, GPU request Indicates the demand for graphics processors.

[0056] The third weight coefficient is used to adjust the influence of the average value of the performance weight, and the fourth weight coefficient is used to adjust the influence based on the number of idle graphics processors and the ratio of the number of idle graphics processors.

[0057] In some optional implementations, as long as the GPU carries high-performance computing and deep learning training services, high-performance GPUs are given priority, and scores are given based on the GPU model and performance. Different weight values ​​can be set for the GPUs to reflect their performance differences.

[0058] In some optional embodiments, the data processing unit on each node is scored according to the third computing resource information corresponding to each node to obtain a data processing unit score, including: based on the third computing resource, weightedly summing the quotient of the number of available network interface cards and the required number of network interface cards carried by the container group, and the product of the number of central processing unit cores inside the data processing unit and the main frequency of the core of the central processing unit of the data processing unit to obtain a fifth scoring result; subtracting the used bandwidth from the first preset value and dividing it by the total bandwidth of the data processing unit to obtain a sixth scoring result; and weightedly summing the fifth scoring result, the average latency of the central processing unit inside the data processing unit, and the sixth scoring result to obtain the data processing unit score.

[0059] The calculation formula of the data processing unit is:

[0060]

[0061] Among them, ω5 represents the fifth weight coefficient, ω6 represents the sixth weight coefficient, ω7 represents the seventh weight coefficient, ω8 represents the eighth weight coefficient, DPU NICsFree Indicates the number of available network interface cards, DPU NICsRequest Indicates the number of network interface cards required by the container group, DPU CPUCores Indicates the number of CPU cores inside the data processing unit, DPU CPUFreq Indicates the core frequency of the central processing unit of the data processing unit, DPU latency Indicates the average latency of the central processing unit inside the data processing unit, DPU BandwindthUsed Indicates the used bandwidth, DPU TotalBandwidth Indicates the total bandwidth of the data processing unit.

[0062] The quotient of the used bandwidth and the total bandwidth of the data processing unit reflects the ratio of used bandwidth. The higher the ratio of used bandwidth, the higher the score.

[0063] In some optional implementations, in converged computing application scenarios, the DPU is used to accelerate data exchange between services. At the same time, the CPU and network export bandwidth inside the DPU, as well as the extended bus resource consumption when deployed together with the GPU on the same POD, should be considered.

[0064] In some optional embodiments, the expansion bus on each node is scored according to the fourth computing resource information corresponding to each node to obtain an expansion bus score, including: based on the fourth computing resource, taking the weighted sum of the quotient of the total number of graphics processors and the total number of expansion bus slots and the quotient of the total number of data processing units and the total number of expansion bus slots, and then multiplying the sum by the upper limit of the score range to obtain a seventh scoring result; subtracting the seventh scoring result from the upper limit of the score range to obtain an eighth scoring result; and selecting the maximum value between the eighth scoring result and the first preset value as the expansion bus score.

[0065] The calculation formula for the extended bus score is:

[0066]

[0067] Among them, PCIE Score represents the extended bus score, N represents the upper limit of the score range, ω9 represents the ninth weight coefficient, GPU total Indicates the total number of graphics processors, PCIE AvailableSlotMax Indicates the total number of expansion bus slots, ω 10 Represents the tenth weight coefficient, DPU total Indicates the total number of data processing units.

[0068] Wherein, N ensures that the score is between 1 and 100, the ninth weight coefficient and the tenth weight coefficient are used to control the influence of the graphics processor and the data processing unit on the expansion bus score, and the sum of the ninth weight coefficient and the tenth weight coefficient is 1.

[0069] In some optional implementations, a scoring result corresponding to each node is obtained based on the CPU score corresponding to each node, the GPU score corresponding to each node, the data processing unit score corresponding to each node, and the expansion bus score corresponding to each node, including: dividing the product of the GPU score and the data processing unit score by the sum of the GPU score, the data processing unit score, and the first preset value to obtain a ninth scoring result; inputting the quotient of the expansion bus score and the second preset value into an exponential function to obtain a tenth scoring result; multiplying the ninth scoring result by the tenth scoring result as the collaboration score; and dividing the GPU ... and the data processing unit score by the sum of the GPU score, the data processing unit score, and the first preset value. The sum of the score and the data processing unit score is divided by the second preset value to obtain an eleventh scoring result; the quotient of the first preset value minus the expansion bus score divided by the second preset value is obtained to obtain a twelfth scoring result; the product of the eleventh scoring result and the twelfth scoring result is added to the quotient of the central processing unit score and the third preset value to obtain a competition factor score; the product of the collaboration score and the second preset value is divided by the sum of the competition factor score and the first preset value to obtain a thirteenth scoring result; the maximum value is selected from the thirteenth scoring result and the fourth preset value as the fourteenth scoring result; the minimum value is selected from the fourteenth scoring result and the second preset value as the scoring result.

[0070] The second preset value is 100, the third preset value is 200, and the fourth preset value is 0. The calculation formula of the collaboration score is:

[0071]

[0072] Among them, SynergyScore represents the synergy score, GPU Score Indicates the graphics processor score, DPU Score Indicates the data processing unit score, PCIE Score Indicates the expansion bus score.

[0073] The formula for calculating the competitive factor score is:

[0074]

[0075] Among them, CompetitionFactor represents the competition factor score, GPU Score Indicates the graphics processor score, DPU Score Indicates the data processing unit score, PCIE Score Indicates the expansion bus score, CPU Score Indicates the graphics processor score.

[0076] The calculation formula for the scoring result is:

[0077]

[0078] Among them, NodeScore represents the scoring result, SynergyScore represents the synergy score, CompetitionFactor represents the competition factor score, min represents selecting a smaller value, and max represents selecting a larger value.

[0079] The embodiment of the present invention ensures that the scoring result is always within the range of 0 to 100 by using a scaling factor.

[0080] The embodiment of the present invention integrates the central processing unit score, graphics processing unit score, data processing unit score and expansion bus score, considers the cooperative balance relationship between the three processors, and incorporates the expansion bus score to consider the impact of the expansion bus on the computing resources of the three processors, so that the resulting scoring result is more accurate and more in line with the evaluation of computing resources in actual situations. The collaborative score is obtained based on the graphics processor score, the data processing unit score, the graphics processor score and the expansion bus score, reflecting the cooperative relationship when the graphics processor and the data processing unit have high scores. By using their product divided by their sum, the impact of the score when one is extremely high and the other is extremely low is reduced. The positive impact of the expansion bus score is increased in the form of an exponential function to encourage the improvement of the expansion bus score. The present invention calculates the competition factor score based on the graphics processor score, the data processing unit score, the central processing unit score and the expansion bus score. The higher the sum of the graphics processor and the data processing unit, the greater their impact on the expansion bus score is reflected in the form of the sum of squares. At the same time, the central processing unit score is included to adjust the final score in a more balanced manner, reducing the impact on the scoring result.

[0081] Step S104 : selecting at least one target node from the multiple nodes according to the multiple scoring results, and binding the at least one target node to the container group.

[0082] In some optional implementations, at least one node corresponding to at least one scoring result with the highest score is selected from the multiple scoring results as the at least one target node.

[0083] For example, Figure 3 As shown in the figure, it is a schematic diagram of the resource configuration execution process. The computing resources required by PODⅠ include two data processing units Da and Db, two graphics processors Gc and Gd, the computing resources required by PODⅡ include one data processing unit De, one central processing unit Cg and one graphics processor Gf, the computing resources required by PODⅢ include two central processing units Ch and Ci, and the computing resources required by PODⅣ include two data processing units Dj and Dk. Figure 3The hosts corresponding to the nodes in the example include: host 1, which includes a central processing unit CPU-47; host 2, which includes a central processing unit CPU-23, three data processing units DPU2-1, DPU2-2, and DPU2-3; host 3, which includes a central processing unit CPU-23, a graphics processor GPU3-a; host 4, which includes a central processing unit CPU-23, two data processing units DPU4-1 and DPU4-2, two graphics processors GPU4-a and GPU4-b; host 5, which includes a central processing unit CPU-47, a data processing unit DPU5-1, and three graphics processors GPU5-a, GPU5-b, and GPU5-c.

[0084] After executing steps S101, S102, S103, and S104 of the embodiment of the present invention, it is obtained that: for PODⅠ, two data processing units and two graphics processors are required. Only host 4 has both two data processing units and two graphics processors. Therefore, the node with the highest score is the node corresponding to host 4. The node corresponding to host 4 is bound to the container group PODⅠ as the target node; for PODⅡ, one data processing unit, one central processing unit, and one graphics processor are required. The hosts corresponding to the nodes that meet the computing resources required by PODⅡ are host 4 and host 5. After calculation, the score corresponding to host 5 is the highest. Therefore, the computing resources of host 5 are more in line with the requirements of PODⅡ. The computing resources required by PODⅢ include two central processing units, and the hosts with two central processing units are host 1 and host 5. According to the calculation, the score corresponding to host 1 is the highest. Therefore, the computing resources of host 1 better meet the computing resources required by PODⅢ, and the node corresponding to host 1 is taken as the target node and bound to PODⅢ. For PODⅣ, the computing resources required include two data processing units, and the hosts with two or more data processing units are host 2 and host 4. After calculation, the score corresponding to host 2 is the highest. Therefore, the node corresponding to host 2 is taken as the target node and bound to PODⅣ.

[0085] The resource scheduling method provided in this embodiment, based on the creation information of the monitored container group, screens out the node group from the node pool, obtains the node group of the hardware resources used to carry the load on the container group, performs preliminary screening, simplifies the subsequent screening process, and avoids the waste of screening resources. The resource monitor of the embodiment of the present invention is deployed on multiple nodes in the node group, and is used to obtain computing resource information through monitoring agents running on multiple nodes, realize real-time computing resource monitoring, accurately grasp the usage of each computing resource, provide accurate data support for resource scheduling, and ensure that resource limits are not exceeded during the allocation process. The computing resource information of the embodiment of the present invention includes central processing unit resource information, graphics processing unit resource information and data processing unit resource information, so that resource scheduling for the central processing unit, graphics processing unit and data processing unit can be realized, and the efficiency of computing task completion can be improved. An embodiment of the present invention obtains computing resource information corresponding to multiple nodes in a node group, and scores the computing resource information corresponding to the multiple nodes. The scoring process is an evaluation process of the computing resources corresponding to the node. By evaluating the computing resources corresponding to the node, it is determined whether the node can meet the operation of the target load corresponding to the container group. At the same time, at least one target node is selected from multiple nodes, and the selected at least one target node meets the computing resources required for the operation of the target load corresponding to the container group to the greatest extent. After binding the at least one target node to the container group, accurate computing resources are provided for the operation of the target load corresponding to the container group. The embodiment of the present invention improves the utilization rate of computing resources and avoids waste of computing resources through meticulous and precise computing resource allocation. The present invention takes into account the characteristics of computing resources and the needs of application scenarios, especially in high-performance computing and data-intensive tasks, and effectively improves the operating efficiency and performance of the target load corresponding to the container group.

[0086] In this embodiment, a resource scheduling method is provided, which can be used for the above-mentioned scheduler. In the embodiment of the present invention, the scheduler can be a hybrid scheduler. Figure 4 is a flow chart of another resource scheduling method according to an embodiment of the present invention. Figure 4 As shown, the process includes the following steps:

[0087] Step S401: Based on the monitored container group creation information, a node group is selected from the node pool. The hardware resources contained in the node group are used to carry the load on the container group. The node pool is used to represent the container pool that stores all nodes.

[0088] Specifically, the above step S401 includes:

[0089] Step S4011: Based on the monitored container group creation information, obtain the type and quantity requirement information of the hardware resources carried when the container group is created.

[0090] Among them, when K8s receives a computing task, it creates a POD. The computing task carries the type requirement information and quantity requirement information for hardware resources. Therefore, when creating a POD, it also carries the type requirement information and quantity requirement information for hardware resources. For example, the type requirement information includes a central processing unit, and the quantity requirement information is 2, that is, the required hardware computing resources are 2 central processing units.

[0091] Step S4012: Filter out node groups that meet the type requirement information and quantity requirement information from the node pool.

[0092] Step S402: Obtain computing resource information corresponding to each of the multiple nodes in the node group sent by the resource monitor. The resource monitor is deployed on multiple nodes in the node group and is used to obtain computing resource information through monitoring agents running on the multiple nodes. The computing resource information represents hardware resource information applicable to load calculations on the container group, including CPU resource information, GPU resource information, and data processing unit resource information. For details, see Figure 1 Step S102 of the illustrated embodiment will not be described in detail here.

[0093] Step S403: Score the computing resource information corresponding to the multiple nodes to obtain multiple scoring results. Figure 1 Step S103 of the illustrated embodiment will not be described in detail here.

[0094] Step S404 : selecting at least one target node from the multiple nodes according to the multiple scoring results, and binding the at least one target node to the container group.

[0095] Specifically, the above step S404 includes:

[0096] Step S4041: Select the scoring result with the highest score from among multiple scoring results, and use the node corresponding to the scoring result with the highest score as the target node.

[0097] Step S4042: When there are multiple target nodes and the number of hardware resources deployed on the multiple target nodes is different, the node with the least number of deployed hardware resources is selected from the multiple target nodes and bound to the container group.

[0098] like Figure 5 As shown, it is another schematic diagram of resource configuration execution process. Figure 5 For PODⅤ, a graphics processor Gm is required, combined with Figure 4, multiple processors in multiple hosts have been used, so the hosts corresponding to the nodes that meet the required computing resources and have the highest scores include host 3 and host 5. Host 3 is only connected to one graphics processor GPU3-a, while host 5 is connected to one data processing unit DPU5-1 and three graphics processors GPU5-a, GPU5-b and GPU5-c. Although the nodes corresponding to host 3 and host 5 can both be used as target nodes, since host 3 has fewer processors mounted on it and consumes less expansion bus resources, the node corresponding to host 3 is selected as the target node and bound to PODⅤ.

[0099] Another resource scheduling method provided in this embodiment selects a node with the least number of deployed hardware resources from multiple target nodes. Since the graphics processor and the data processing unit are connected to the central processing unit through an expansion bus, and the connection of the expansion bus consumes a portion of computing resources, the node with the least number of deployed hardware resources is preferentially selected to reduce the resource consumption caused by the expansion bus, leaving more resources for the integrated use of the graphics processor and the data processing unit, thereby providing a better resource allocation solution for complex computing scenarios and ensuring dual optimization of performance and resource efficiency.

[0100] This embodiment also provides a resource scheduling device for implementing the above-mentioned embodiments and preferred implementations. Details already described will not be repeated. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.

[0101] This embodiment provides a resource scheduling device, such as Figure 6 Shown, including:

[0102] The node group screening module 601 is used to screen node groups from the node pool based on the monitored container group creation information; wherein the hardware resources contained in the node group are used to carry the load on the container group, and the node pool is used to represent the container pool that stores all nodes.

[0103] The computing resource information acquisition module 602 is used to obtain computing resource information corresponding to multiple nodes in the node group sent by the resource monitor; wherein the resource monitor is deployed on multiple nodes in the node group and is used to obtain computing resource information through monitoring agents running on multiple nodes; the computing resource information represents hardware resource information that can be applied to load calculations on the container group, including central processing unit resource information, graphics processing unit resource information and data processing unit resource information.

[0104] The scoring module 603 is used to score the computing resource information corresponding to the multiple nodes respectively, and obtain multiple scoring results.

[0105] The target node determination module 604 is configured to select at least one target node from the multiple nodes according to the multiple scoring results, and bind the at least one target node to the container group.

[0106] In some optional implementations, the resource scheduling device further includes:

[0107] The priority deployment module is used to select the scoring result with the highest score from multiple scoring results and use the node corresponding to the scoring result with the highest score as the target node. It is also used to select the node with the least number of deployed hardware resources from multiple target nodes when there are multiple target nodes with different numbers of deployed hardware resources, and bind it to the container group.

[0108] In some optional implementations, the node group screening module 601 includes:

[0109] The requirement information acquisition unit is configured to acquire, based on the monitored container group creation information, the type and quantity requirement information of the hardware resources carried when the container group is created.

[0110] The node group screening unit is used to screen out node groups that meet type requirement information and quantity requirement information from the node pool.

[0111] In some optional implementations, the scoring module 603 includes:

[0112] The CPU score determination unit is used to score the CPU on each node according to the first computing resource information corresponding to each node to obtain the CPU score; wherein the first computing resource information includes the management information of the CPU on the node.

[0113] Specifically, the CPU score determination unit includes:

[0114] The first operator unit is configured to obtain a first scoring result by dividing the difference between the total number of central processing units corresponding to each node and the number of used central processing units corresponding to each node by the number of central processing units required by the container group based on the first computing resource information; and obtain a second scoring result by taking the inverse of the product of the delay penalty coefficient and the average response delay of the central processing unit and the sum of the first preset value.

[0115] The first weighted operation subunit is used to perform weighted summation on the first scoring result and the second scoring result to obtain a CPU score.

[0116] The graphics processor score determination unit is used to score the graphics processor on each node according to the second computing resource information corresponding to each node to obtain a graphics processor score; wherein the second computing resource information includes management information of the graphics processor on the node.

[0117] Specifically, the graphics processor score determination unit includes:

[0118] The second operator unit is configured to obtain a third scoring result by taking the inverse of the number of idle graphics processors corresponding to each node based on the second computing resource and multiplying the result by the sum of the performance weights of the idle graphics processors; and obtaining a fourth scoring result based on the quotient of the number of idle graphics processors corresponding to each node and the required number of graphics processors carried by the container group.

[0119] The second weighted operation subunit is used to perform weighted summation on the third scoring result and the fourth scoring result to obtain a GPU score.

[0120] The data processing unit score determination unit is used to score the data processing unit on each node according to the third computing resource information corresponding to each node to obtain the data processing unit score; wherein the third computing resource information includes the management information of the data processing unit on the node.

[0121] Specifically, the data processing unit score determination unit includes:

[0122] The third operator unit is configured to perform a weighted summation of the quotient of the number of available network interface cards and the required number of network interface cards carried by the container group, and the product of the number of central processing unit cores within the data processing unit and the main frequency of the core of the central processing unit of the data processing unit, based on the third computing resource, to obtain a fifth scoring result; and obtain a sixth scoring result by subtracting the quotient of the used bandwidth from the first preset value and dividing it by the total bandwidth of the data processing unit.

[0123] The third weighted operation subunit is used to perform weighted summation on the fifth scoring result, the average delay of the central processing unit inside the data processing unit, and the sixth scoring result to obtain a score for the data processing unit.

[0124] The expansion bus score determination unit is used to score the expansion bus on each node according to the fourth computing resource information corresponding to each node to obtain the expansion bus score; wherein the fourth computing resource information includes attribute information of the expansion bus on the node.

[0125] The extended bus score determination unit includes:

[0126] The fourth operator unit is configured to, based on the fourth computing resource, perform a weighted sum of the quotient of the total number of graphics processors and the total number of expansion bus slots and the quotient of the total number of data processing units and the total number of expansion bus slots, and then multiply the sum by the upper limit of the score range to obtain a seventh scoring result; and subtract the seventh scoring result from the upper limit of the score range to obtain an eighth scoring result.

[0127] The first selection subunit is configured to select a maximum value between the eighth scoring result and the first preset value as the extended bus score.

[0128] The scoring result determination unit is used to obtain the scoring result corresponding to each node according to the central processing unit score corresponding to each node, the graphics processing unit score corresponding to each node, the data processing unit score corresponding to each node, and the expansion bus score corresponding to each node.

[0129] Specifically, the scoring result determination unit includes:

[0130] The collaborative score determination subunit is used to divide the product of the graphics processor score and the data processing unit score by the sum of the graphics processor score, the data processing unit score and the first preset value to obtain a ninth scoring result; input the quotient of the expansion bus score and the second preset value into an exponential function to obtain a tenth scoring result; and use the product of the ninth scoring result and the tenth scoring result as the collaborative score.

[0131] The competitive factor score determination subunit is used to divide the sum of the graphics processor score and the data processing unit score by the second preset value to obtain an eleventh scoring result; subtract the quotient of the expansion bus score divided by the second preset value from the first preset value to obtain a twelfth scoring result; and add the product of the eleventh scoring result and the twelfth scoring result to the quotient of the central processing unit score and the third preset value to obtain a competitive factor score.

[0132] The fifth operator unit is used to divide the product of the collaboration score and the second preset value by the sum of the competition factor score and the first preset value to obtain a thirteenth scoring result; and select the maximum value between the thirteenth scoring result and the fourth preset value as the fourteenth scoring result.

[0133] The second selection subunit is used to select the minimum value between the fourteenth scoring result and the second preset value as the scoring result.

[0134] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0135] The resource scheduling device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0136] The embodiment of the present invention also provides a computer device having the above Figure 6 As shown, among the multiple scoring results, at least one node corresponding to at least one scoring result with the highest score is selected as at least one target node device.

[0137] See also Figure 7 , Figure 7 is a structural diagram of a computer device provided by an optional embodiment of the present invention, such as Figure 7 As shown, the computer device includes: one or more processors 10, memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components utilize different buses to communicate with each other and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in the memory or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Equally, multiple computer devices can be connected, and each device provides part of the necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 7 A processor 10 is taken as an example.

[0138] The processor 10 may be a central processing unit, a network processor, or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit, a programmable logic device, or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic, or any combination thereof.

[0139] The memory 20 stores instructions that can be executed by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.

[0140] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and application programs required for at least one function; the data storage area may store data created based on the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely located relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0141] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid-state drive; the memory 20 may also include a combination of the above types of memory.

[0142] The computer device further includes a communication interface 30 for the computer device to communicate with other devices or a communication network.

[0143] The embodiment of the present invention also provides a computer-readable storage medium. The above-mentioned method according to the embodiment of the present invention can be implemented in hardware, firmware, or implemented as a computer code that can be recorded in a storage medium, or implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and downloaded through a network and will be stored in a local storage medium, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor or hardware, the method shown in the above embodiment is implemented.

[0144] A portion of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the form in which the computer program instruction exists in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc. Accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium that can be accessed by the computer.

[0145] Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention. Such modifications and variations are all within the scope defined by the appended claims.

Claims

1. A resource scheduling method, characterized in that: Applied to a scheduler, the method comprises: Based on the monitored creation information of the container group, a node group is screened out from the node pool; wherein the hardware resources contained in the node group are used to carry the load on the container group; and the node pool is used to represent the container pool storing all nodes; Obtain computing resource information corresponding to each of the multiple nodes in the node group sent by a resource monitor; wherein the resource monitor is deployed on multiple nodes in the node group, and is used to obtain the computing resource information through monitoring agents running on the multiple nodes; the computing resource information represents hardware resource information applicable to load calculation on the container group, including central processing unit resource information, graphics processing unit resource information, and data processing unit resource information; Scoring the computing resource information respectively corresponding to the multiple nodes to obtain multiple scoring results; At least one target node is selected from the multiple nodes according to the multiple scoring results, and the at least one target node is bound to the container group.

2. The method according to claim 1, characterized in that The selecting at least one target node from the multiple nodes according to the multiple scoring results includes: Selecting the scoring result with the highest score from among the multiple scoring results, and taking the node corresponding to the scoring result with the highest score as the target node; The method further comprises: When there are multiple target nodes and different numbers of hardware resources deployed on the multiple target nodes, a node with the least number of deployed hardware resources is selected from the multiple target nodes and bound to the container group.

3. The method according to claim 1 or 2, characterized in that: The step of filtering out a node group from the node pool based on the monitored creation information of the container group includes: Based on the monitored creation information of the container group, obtain the type requirement information and quantity requirement information of the hardware resources carried when the container group is created; A node group that meets the type requirement information and the quantity requirement information is screened out from the node pool.

4. The method according to claim 1 or 2, characterized in that: The scoring of the computing resource information respectively corresponding to the multiple nodes to obtain multiple scoring results includes: Scoring the central processing unit on each node according to the first computing resource information corresponding to each node to obtain a central processing unit score; wherein the first computing resource information includes management information of the central processing unit on the node; Scoring the graphics processor on each node according to the second computing resource information corresponding to each node to obtain a graphics processor score; wherein the second computing resource information includes management information of the graphics processor on the node; Scoring the data processing unit on each node according to the third computing resource information corresponding to each node to obtain a data processing unit score; wherein the third computing resource information includes management information of the data processing unit on the node; Scoring the expansion bus on each node according to the fourth computing resource information corresponding to each node to obtain an expansion bus score; wherein the fourth computing resource information includes attribute information of the expansion bus on the node; According to the central processing unit score corresponding to each node, the graphics processing unit score corresponding to each node, the data processing unit score corresponding to each node and the expansion bus score corresponding to each node, a scoring result corresponding to each node is obtained.

5. The method according to claim 4, characterized in that Scoring the central processing unit on each node according to the first computing resource information corresponding to each node to obtain a central processing unit score includes: Based on the first computing resource information, the difference between the total number of central processing units corresponding to each node and the number of used central processing units corresponding to each node is divided by the number of central processing units required by the container group to obtain a first scoring result; the reciprocal of the product of the delay penalty coefficient and the average response delay of the central processing unit and the sum of the first preset value is taken to obtain a second scoring result; The first scoring result and the second scoring result are weightedly summed to obtain the CPU score.

6. The method according to claim 4, characterized in that Scoring the graphics processor on each node according to the second computing resource information corresponding to each node to obtain a graphics processor score includes: Based on the second computing resource, the inverse of the number of idle graphics processors corresponding to each node is taken and multiplied by the sum of the performance weights of the idle graphics processors to obtain a third scoring result; the quotient of the number of idle graphics processors corresponding to each node and the required number of graphics processors carried by the container group is used as the fourth scoring result; The third scoring result and the fourth scoring result are weightedly summed to obtain the GPU score.

7. The method according to claim 4, characterized in that Scoring the data processing unit on each node according to the third computing resource information corresponding to each node to obtain the data processing unit score includes: Based on the third computing resource, a fifth scoring result is obtained by weightedly summing the quotient of the number of available network interface cards and the required number of network interface cards carried by the container group and the product of the number of central processing unit cores in the data processing unit and the main frequency of the core of the central processing unit of the data processing unit; and a sixth scoring result is obtained by subtracting the quotient of the used bandwidth divided by the total bandwidth of the data processing unit from the first preset value; The score of the data processing unit is obtained by taking a weighted sum of the fifth scoring result, the average delay of the central processing unit inside the data processing unit, and the sixth scoring result.

8. The method according to claim 4, characterized in that Scoring the expansion bus on each node according to the fourth computing resource information corresponding to each node to obtain the expansion bus score includes: Based on the fourth computing resource, a weighted sum of the quotient of the total number of graphics processors and the total number of expansion bus slots and the quotient of the total number of data processing units and the total number of expansion bus slots is taken, and then multiplied by the upper limit of the score range to obtain a seventh scoring result; the upper limit of the score range is subtracted from the seventh scoring result to obtain an eighth scoring result; Among the eighth scoring result and the first preset value, a maximum value is selected as the extended bus score.

9. The method according to claim 4, characterized in that The step of obtaining a scoring result corresponding to each node according to the CPU score corresponding to each node, the GPU score corresponding to each node, the data processing unit score corresponding to each node, and the expansion bus score corresponding to each node includes: The product of the graphics processor score and the data processing unit score is divided by the sum of the graphics processor score, the data processing unit score and the first preset value to obtain a ninth scoring result; the quotient of the expansion bus score and the second preset value is input into the exponential function to obtain a tenth scoring result; The product of the ninth scoring result and the tenth scoring result is used as the collaboration score; The sum of the graphics processor score and the data processing unit score is divided by the second preset value to obtain an eleventh scoring result; the quotient of the expansion bus score divided by the second preset value is subtracted from the first preset value to obtain a twelfth scoring result; The product of the eleventh scoring result and the twelfth scoring result is added to the quotient of the CPU score and a third preset value to obtain a competition factor score; The product of the synergy score and the second preset value is divided by the sum of the competition factor score and the first preset value to obtain a thirteenth scoring result; between the thirteenth scoring result and the fourth preset value, the maximum value is selected as the fourteenth scoring result; Between the fourteenth scoring result and the second preset value, the minimum value is selected as the scoring result.

10. A resource scheduling device, characterized in that: Applied to a scheduler, the device comprises: A node group screening module is used to screen out node groups from a node pool based on the creation information of the monitored container groups; wherein the hardware resources contained in the node groups are used to carry the load on the container groups; and the node pool is used to represent the container pool storing all nodes; A computing resource information acquisition module, used to acquire computing resource information corresponding to a plurality of nodes in the node group respectively, sent by a resource monitor; wherein the resource monitor is deployed on a plurality of nodes in the node group, and is used to acquire the computing resource information through monitoring agents running on the plurality of nodes; the computing resource information represents hardware resource information applicable to load calculation on the container group, including central processing unit resource information, graphics processing unit resource information, and data processing unit resource information; A scoring module, used to score the computing resource information respectively corresponding to the multiple nodes to obtain multiple scoring results; The target node determination module is used to select at least one target node from the multiple nodes according to the multiple scoring results, and bind the at least one target node to the container group.

11. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the resource scheduling method according to any one of claims 1 to 9 by executing the computer instructions.

12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the resource scheduling method according to any one of claims 1 to 9.

13. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to enable a computer to execute the resource scheduling method according to any one of claims 1 to 9.