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

By obtaining and processing resource allocation information of multiple nodes, appropriate scheduling nodes are selected for resource creation, solving the problem of insufficient heterogeneous nodes resulting in insufficient heterogeneous resources and improving the accuracy of load balancing.

CN120066774APending Publication Date: 2025-05-30CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510125499.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-26
Publication Date
2025-05-30

AI Technical Summary

Technical Problem

In the hybrid scheduling scenario of heterogeneous resource, when there are few heterogeneous nodes, heterogeneous resources are not fully utilized, resulting in a decrease in accuracy during load balancing.

Method used

When receiving the scheduling task, the resource allocation information of multiple nodes is obtained, the resource information of heterogeneous nodes and non-heterogeneous nodes is determined, and the reserved resources are eliminated from the resource information of heterogeneous nodes is obtained, so as to screen out suitable scheduling nodes for resource creation.

Benefits of technology

Effectively utilize heterogeneous resources, improve the accuracy during load balancing, and avoid the situation where heterogeneous resources are not fully utilized.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120066774A_ABST
    Figure CN120066774A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a resource scheduling method and device, equipment, a storage medium and a computer program product, and the method comprises the steps: obtaining a plurality of groups of resource distribution information of a plurality of nodes under the condition that a scheduling task is received; determining a plurality of pieces of first total resource information and a plurality of pieces of reserved resource information corresponding to a plurality of heterogeneous nodes in the plurality of nodes according to the plurality of groups of resource allocation information, and determining a plurality of pieces of second total resource information corresponding to a plurality of non-heterogeneous nodes in the plurality of nodes; rejecting a plurality of pieces of reserved resource information from the plurality of pieces of first total resource information to obtain a plurality of pieces of rejected first total resource information; screening a scheduling node from the plurality of nodes according to the plurality of pieces of first total resource information after elimination and the plurality of pieces of second total resource information; and executing a resource creation process corresponding to the scheduling task on the scheduling node. According to the invention, the accuracy of load balancing can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud computing technology, and in particular, to a resource scheduling method, apparatus, device, storage medium, and computer program product. Background Art

[0002] After nearly 20 years of rapid development, cloud computing has become increasingly mature. To meet the different computing power and storage requirements of users, the heterogeneous resources supported by cloud computing are becoming increasingly rich. Considering cost and performance, heterogeneous resources can be mixedly deployed and scheduled, so that server resources can be utilized more effectively and resource waste can be avoided.

[0003] In related technologies, heterogeneous resource mixed scheduling is to directly determine a node for processing the scheduling task from multiple nodes by means of load balancing when receiving a scheduling task corresponding to creating a non-heterogeneous resource combination instance, and execute the creation process of the non-heterogeneous resource combination instance corresponding to the scheduling task on this node. When there are few heterogeneous nodes among multiple nodes, this processing method of scheduling tasks will cause insufficient utilization of heterogeneous resources, thereby reducing the accuracy of load balancing. Summary of the Invention

[0004] To solve the above technical problems, embodiments of this application are expected to provide a resource scheduling method, apparatus, device, storage medium, and computer program product, which can improve the accuracy of load balancing.

[0005] The technical solution of this application is implemented as follows:

[0006] Embodiments of this application provide a resource scheduling method, and the method includes:

[0007] When receiving a scheduling task, obtain multiple groups of resource allocation information of multiple nodes;

[0008] According to the multiple groups of resource allocation information, determine multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among the multiple nodes, and determine multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes;

[0009] Exclude the multiple reserved resource information from the multiple first total resource information to obtain multiple excluded first total resource information;

[0010] According to the multiple excluded first total resource information and the multiple second total resource information, screen scheduling nodes from the multiple nodes;

[0011] Execute the resource creation process corresponding to the scheduling task on the scheduling node.

[0012] The embodiment of the present application provides a resource scheduling device, the resource scheduling device comprising:

[0013] An acquisition unit, configured to acquire multiple sets of resource allocation information of multiple nodes when receiving a scheduling task;

[0014] a determining unit, configured to determine, based on the multiple sets of resource allocation information, multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among the multiple nodes, and determine multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes;

[0015] A removing unit, used for removing the plurality of reserved resource information from the plurality of first total resource information to obtain a plurality of first total resource information after removing;

[0016] A screening unit, configured to screen a scheduling node from the plurality of nodes according to the plurality of first total resource information after elimination and the plurality of second total resource information;

[0017] An execution unit is used to execute the resource creation process corresponding to the scheduling task on the scheduling node.

[0018] The embodiment of the present application provides a resource scheduling device, the resource scheduling device comprising:

[0019] A memory, a processor and a communication bus, wherein the memory communicates with the processor via the communication bus, and the memory stores a resource scheduling program executable by the processor. When the resource scheduling program is executed, the resource scheduling method described above is executed by the processor.

[0020] An embodiment of the present application provides a storage medium having a computer program stored thereon, which is applied to a resource scheduling device, and is characterized in that the computer program implements the resource scheduling method described above when executed by a processor.

[0021] The embodiment of the present application also provides a computer program product, including a computer program, which can be executed by a processor in a resource scheduling device to complete the steps of the aforementioned resource scheduling method.

[0022] The embodiments of the present application provide a resource scheduling method, apparatus, device, storage medium, and computer program product. The resource scheduling method includes: when receiving a scheduling task, obtaining multiple sets of resource allocation information of multiple nodes; according to the multiple sets of resource allocation information, determining multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among the multiple nodes, and determining multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes; excluding the multiple reserved resource information from the multiple first total resource information to obtain multiple excluded first total resource information; according to the multiple excluded first total resource information and the multiple second total resource information, screening scheduling nodes from the multiple nodes; and executing the resource creation process corresponding to the scheduling task on the scheduling nodes. By adopting the above method implementation solution, when receiving a scheduling task, according to the multiple sets of resource allocation information of multiple nodes, determining multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among the multiple nodes, and determining multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes; by excluding the multiple reserved resource information reserved for creating heterogeneous resource combination instances from the multiple first total resource information, multiple excluded first total resource information is obtained, so as to screen scheduling nodes from the multiple nodes according to the multiple excluded first total resource information and the multiple second total resource information, that is, when there are few heterogeneous nodes among the multiple nodes, by reserving multiple reserved resource information for heterogeneous resources, it is possible to create heterogeneous resource combination instances among the multiple reserved resource information, avoiding the situation where heterogeneous resources are not fully utilized and improving the accuracy of load balancing. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] Figure 1 FIG. 6 is a schematic diagram of independent scheduling of heterogeneous resources in the prior art provided by an embodiment of the present application;

[0024] Figure 2 FIG. 10 is a schematic diagram of hybrid scheduling of heterogeneous resources in the prior art provided by an embodiment of the present application;

[0025] Figure 3 FIG. 14 is a flowchart of a resource scheduling method provided by an embodiment of the present application;

[0026] Figure 4 FIG. 18 is a schematic diagram of the overall scheduling process during resource scheduling provided by an embodiment of the present application;

[0027] Figure 5 FIG. 22 is a schematic flowchart of an exemplary resource scheduling method provided by an embodiment of the present application Figure 1 ;

[0028] Figure 6 FIG. 28 is a schematic flowchart of an exemplary resource scheduling method provided by an embodiment of the present application Figure 2 ;

[0029] Figure 7 An exemplary schematic diagram of heterogeneous resource hybrid scheduling provided by an embodiment of the present application;

[0030] Figure 8 A schematic diagram of the composition structure of a resource scheduling device provided by an embodiment of the present application;

[0031] Figure 9 A schematic diagram of the composition structure of a resource scheduling device provided by an embodiment of the present application. Detailed implementation manners

[0032] Next, the technical solutions in the embodiments of the present application will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present application. It should be understood that the specific embodiments described herein are only used to explain the present application, and are not used to limit the present application.

[0033] Heteroid refers to a property that contains different components. In cloud computing, heterogeneous computing refers to the inclusion of different types of computing power resources, such as Central Processing Unit (CPU), Graphics Processing Unit (GPU), Field Programmable Gate Array (FPGA), and Data Processing Unit (DPU). Heterogeneous computing usually consists of different forms of computing power working together in combination, such as CPU+GPU. Heterogeneous storage refers to storage resources that include different types (such as local storage, distributed storage) or different media (such as hard disks including Hard Disk Drive (HDD) and Solid State Disk (SSD)).

[0034] Heterogeneous resource scheduling can be divided into two forms: independent scheduling and hybrid scheduling. This solution proposes an optimized flexible scheduling solution for the heterogeneous resource hybrid scheduling scenario.

[0035] Independent scheduling of heterogeneous resources is as Figure 1 shown, which means that each node can only schedule and create one resource combination, which is equivalent to dividing nodes into multiple independent clusters by deploying the types of heterogeneous resources. As Figure 1 shown, the nodes deploying heterogeneous resource c1 form cluster 1, and the nodes deploying heterogeneous resource c2 form cluster 2. Example: Independent scheduling of heterogeneous storage medium resources. The heterogeneous resource c1 deployed on servers 1 to N is an SSD hard disk, and the heterogeneous resource c2 deployed on servers N+1 to M is an HDD hard disk. When scheduling, the corresponding cluster will be selected for creation according to the storage medium specified by the created resource.

[0036] Heterogeneous resource hybrid scheduling means that at least two types of resource combinations can be scheduled to the same node. For example, Figure 2 as shown, nodes of Server 1 to Server N support scheduling to create basic resource combinations [a, b, c] and heterogeneous resource combinations [a, b, c, d], while nodes of Server N+1 to Server M only support scheduling to create basic resource combinations [a, b, c].

[0037] Exemplarily, CPUs and GPUs are heterogeneous computing power resources. GPU instances need to use CPU and GPU resources, and non-heterogeneous resource combination instances need to use CPU resources. Therefore, the CPU is regarded as the basic resource c, the GPU is regarded as the heterogeneous resource d, and the basic resources a and b are regarded as memory and hard disk. General virtual machines can be scheduled to all nodes, and GPU virtual machines are only scheduled to Servers 1 to Server N that contain the heterogeneous resource d.

[0038] Exemplarily, distributed block storage (such as Ceph RBD) and local hard disk storage are heterogeneous storage resources. Local storage instances need to use CPU, memory, and local disk resources; distributed storage instances need to use CPU, memory, and distributed storage resources. Since distributed storage resources can be deployed independently of computing nodes, it is equivalent to not occupying computing node resources. Therefore, the CPU and memory can be regarded as basic resources. Distributed storage instances only use basic resources, and local storage instances use basic resources and local disk resources. Distributed storage instances can be scheduled to all nodes, and local storage instances are only scheduled to heterogeneous nodes (with local disks), and the scenario also conforms to the above heterogeneous resource hybrid scheduling model.

[0039] According to the resource hybrid scheduling method in the related art, when there are few heterogeneous nodes among multiple nodes, heterogeneous resources cannot be fully utilized, thus reducing the accuracy of load balancing.

[0040] For the problems existing in the related art, they can be specifically solved by the methods in the following embodiments.

[0041] An embodiment of the present application provides a resource scheduling method. A resource scheduling method is applied to a resource scheduling device. Figure 3 As shown in the flowchart of a resource scheduling method provided by an embodiment of the present application, Figure 3 the resource scheduling method may include:

[0042] S101. When receiving a scheduling task, obtain multiple groups of resource allocation information of multiple nodes.

[0043] The resource scheduling method provided by an embodiment of the present application is applicable to the scenario of hybrid scheduling of heterogeneous resources in cloud computing.

[0044] In the embodiments of the present application, the resource scheduling device can be implemented in various forms. For example, the resource scheduling device described in the present application can include devices such as servers and clouds, or can be other devices. Specifically, the embodiments of the present application do not limit this.

[0045] In the embodiments of the present application, multiple nodes correspond to multiple groups of resource allocation information one by one, that is, one node corresponds to one group of resource allocation information.

[0046] In the embodiments of the present application, a group of resource allocation information includes the total amount and the allocated amount of resources such as the CPU, memory, GPU, and storage of one node.

[0047] In the embodiments of the present application, the resource scheduling device includes a resource collection and reporting unit, a scheduling decision-making unit, and a task receiving unit. The task receiving unit is used to receive scheduling tasks. The resource collection and reporting unit is used to collect and record in real time multiple groups of resource allocation information of multiple nodes in the current situation and report them to the scheduling decision-making unit. When the task receiving unit receives a scheduling task, it also transmits the scheduling task to the scheduling decision-making unit.

[0048] In the embodiments of the present application, when receiving a scheduling task, the resource scheduling device obtains the multiple groups of resource allocation information of multiple nodes reported by the resource collection and reporting unit for the last time, so as to obtain the multiple groups of resource allocation information of multiple nodes.

[0049] It should be noted that a group of resource allocation information can include the total amount and the allocated amount of resources such as the CPU, memory, GPU, and storage of one node.

[0050] In the embodiments of the present application, the scheduling task can be a task including scheduling non-heterogeneous resources.

[0051] S102. According to the multiple groups of resource allocation information, determine multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among the multiple nodes, and determine multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes.

[0052] In the embodiments of the present application, after the resource scheduling device obtains the multiple groups of resource allocation information of multiple nodes, it determines multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among the multiple nodes according to the multiple groups of resource allocation information, and determines multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes.

[0053] It should be noted that the multiple reserved resource information is part of the multiple first total resource information. The multiple reserved resource information is the basic resources for creating heterogeneous resource combination instances in multiple heterogeneous nodes.

[0054] It should also be noted that the basic resources are specifically non - heterogeneous resources.

[0055] In the embodiments of the present application, the multiple first total resource information is specifically the currently unused basic resource information on multiple heterogeneous nodes. The multiple second total resource information is specifically the currently unused basic resource information on multiple non - heterogeneous nodes.

[0056] In the embodiments of the present application, the multiple nodes include multiple heterogeneous nodes and multiple non - heterogeneous nodes.

[0057] In the embodiments of the present application, the multiple heterogeneous nodes correspond one - to - one with the multiple first total resource information, that is, one heterogeneous node corresponds to one first total resource information. The multiple heterogeneous nodes correspond one - to - one with the multiple reserved resource information, that is, one heterogeneous node corresponds to one reserved resource information.

[0058] In the embodiments of the present application, the multiple non - heterogeneous nodes correspond one - to - one with the multiple second total resource information, that is, one non - heterogeneous node corresponds to one second total resource information.

[0059] In the embodiments of the present application, the process by which the resource scheduling device determines the multiple reserved resource information corresponding to multiple heterogeneous nodes according to multiple groups of resource allocation information includes: determining the multiple unused heterogeneous resource information of multiple heterogeneous nodes from the multiple groups of resource allocation information; obtaining the reserved resource adjustment parameter; and determining the multiple reserved resource information according to the reserved resource adjustment parameter and the multiple unused heterogeneous resource information.

[0060] In the embodiments of the present application, the multiple unused heterogeneous resource information corresponds one - to - one with the multiple reserved resource information. Specifically, one unused heterogeneous resource information corresponds to one reserved resource information.

[0061] It should be noted that a heterogeneous node includes two parts: basic resources and heterogeneous resources. A non - heterogeneous node only includes basic resources and does not include heterogeneous resources.

[0062] It should be noted that the reserved resource adjustment parameter can be a configured parameter, or a parameter transmitted by other devices to the resource scheduling device, or a parameter obtained by the resource scheduling device through other means. The specific way for the resource scheduling device to obtain the reserved resource adjustment parameter can be determined according to the actual situation, and the embodiments of the present application do not limit this.

[0063] In the embodiment of the present application, the process of the resource scheduling device determining multiple reserved resource information according to the reserved resource adjustment parameter and multiple unused heterogeneous resource information includes: determining multiple initial reserved information according to the reserved resource adjustment parameter and multiple unused heterogeneous resource information; when the multiple initial reserved information corresponds to being greater than multiple first total resource information, determining the multiple first total resource information as the multiple reserved resource information; when the multiple initial reserved information corresponds to being less than or equal to the multiple first total resource information, determining the multiple initial reserved information as the multiple reserved resource information.

[0064] Exemplarily, the number of multiple nodes is 3, and there are 3 first total resource information and 3 reserved resource information corresponding to the 3 nodes; if the first initial reserved information corresponding to the first node is 5G and the first total resource information corresponding to the first node is 10G, it is determined that the first initial reserved information is less than the first total resource information, and the first initial reserved information is used as the reserved resource information of the first node; the second initial reserved information corresponding to the second node is 20G and the second total resource information corresponding to the second node is 20G, it is determined that the second initial reserved information is equal to the second total resource information, and the second initial reserved information is used as the reserved resource information of the second node; the third initial reserved information corresponding to the third node is 10G and the third total resource information corresponding to the third node is 20G, it is determined that the third initial reserved information is greater than the third total resource information, and the third total resource information is used as the reserved resource information of the third node.

[0065] Exemplarily, there are 2 heterogeneous nodes: node A and node B. The heterogeneous resources on these two heterogeneous nodes are GPUs, and the non-heterogeneous resources are memories. Among them, the unused GPU video memory Rh of node A is 10G, and the unused memory Rb is 15G; the unused GPU video memory Rh of node B is 10G, and the unused memory Rb is 30G.

[0066] If the reserved resource adjustment parameter a0 is set to 2 (if the memory of the most heterogeneous instances created: CPU video memory = 2:1, that is, generally creating a combination of (2G memory + 1GB GPU video memory), or creating a combination of (4G memory + 2GB GPU video memory), etc. In short, the ratio of memory to GPU is 2, so a0 = 2 / 1 = 2), then for node A and node B, the unused GPU video memory Rh is 10G each, and the initial reserved information Rbres = a0 * Rh = 20G of memory. For node A, the initial reserved information Rbres (20G) is greater than the first total resource information (the unused memory Rb is 15G), so the reserved resource information of node A is the first total resource information (15G of memory); for node B, the initial reserved information Rbres (20G) is less than the first total resource information (the unused memory Rb is 30G), so the reserved resource information of node A is the initial reserved information (20G of memory).

[0067] In the embodiments of the present application, the method for determining multiple initial reserved information according to the reserved resource adjustment parameter and multiple unused heterogeneous resource information is shown in formula (1):

[0068] Rb res =a 0 *Rh (1)

[0069] It should be noted that a 0 is the reserved resource adjustment parameter, Rh is the unused heterogeneous resource information on any heterogeneous node, and Rb res is the initial reserved information corresponding to the any heterogeneous node.

[0070] In the embodiments of the present application, the basic resources reserved for creating heterogeneous resource combination instances on heterogeneous nodes can be preset according to experience as shown in formula (1), that is, if the remaining heterogeneous resources Rh on a heterogeneous node are not allocated, the basic resources Rbres to be reserved are a 0 times of the heterogeneous resources.

[0071] In the embodiments of the present application, as heterogeneous instances are created, Rb res can be dynamically corrected. For example, in the specification of the first completed heterogeneous resource combination instance creation, the number of basic resources is a 1 times of the number of heterogeneous resources. Then, the method for determining multiple initial reserved information according to the reserved resource adjustment parameter and multiple unused heterogeneous resource information is shown in formula (2):

[0072]

[0073] It should be noted that a 0 and a 1 are the reserved resource adjustment parameters, Rh is the unused heterogeneous resource information on any heterogeneous node, and Rbres The initial reservation information corresponding to any heterogeneous node.

[0074] In the embodiment of the present application, a plurality of unused heterogeneous resource information corresponds one-to-one to a plurality of initial reservation information, that is, one piece of unused heterogeneous resource information corresponds to one piece of the plurality of initial reservation information.

[0075] S103: Eliminate multiple pieces of reserved resource information from multiple pieces of first total resource information to obtain multiple pieces of first total resource information after elimination.

[0076] In an embodiment of the present application, after the resource scheduling device determines multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among multiple nodes based on multiple groups of resource allocation information, it removes multiple reserved resource information from the multiple first total resource information to obtain multiple first total resource information after removal.

[0077] In an embodiment of the present application, the first reserved resource information in multiple reserved resource information can be eliminated from the first first total resource information of multiple first total resource information, so as to obtain the first first total resource information after elimination; the second reserved resource information in multiple reserved resource information can be eliminated from the second first total resource information of multiple first total resource information, so as to obtain the second first total resource information after elimination; the third reserved resource information in multiple reserved resource information can be eliminated from the third first total resource information of multiple first total resource information, so as to obtain the third first total resource information after elimination;…; the last reserved resource information in multiple reserved resource information can be eliminated from the last first total resource information of multiple first total resource information, so as to obtain the last first total resource information after elimination; the first first total resource information after elimination, the second first total resource information after elimination, the second first total resource information after elimination,…, the last first total resource information after elimination is used as multiple first total resource information after elimination.

[0078] It should be noted that the first first total resource information is the total resource information of the first heterogeneous node among multiple heterogeneous nodes; the first reserved resource information is the reserved resource information in the first heterogeneous node. The second first total resource information is the total resource information of the second heterogeneous node among multiple heterogeneous nodes; the second reserved resource information is the reserved resource information in the second heterogeneous node. The third first total resource information is the total resource information of the third heterogeneous node among multiple heterogeneous nodes; the third reserved resource information is the reserved resource information in the third heterogeneous node. The last first total resource information is the total resource information of the last heterogeneous node among multiple heterogeneous nodes; the last reserved resource information is the reserved resource information in the last heterogeneous node.

[0079] In an embodiment of the present application, the process of excluding multiple reserved resource information from multiple first total resource information to obtain multiple first total resource information after exclusion may be to subtract multiple reserved resource information from the corresponding multiple first total resource information respectively, so as to obtain multiple first total resource information after exclusion.

[0080] It should be noted that multiple first total resource information and multiple reserved resource information are in one-to-one correspondence, specifically, one first total resource information corresponds to one reserved resource information. Multiple reserved resource information and multiple first total resource information after exclusion are in one-to-one correspondence, that is, one reserved resource information corresponds to one first total resource information after exclusion.

[0081] S104. Screen scheduling nodes from multiple nodes according to multiple first total resource information after exclusion and multiple second total resource information.

[0082] In an embodiment of the present application, after the resource scheduling device excludes multiple reserved resource information from multiple first total resource information to obtain multiple first total resource information after exclusion, it screens scheduling nodes from multiple nodes according to multiple first total resource information after exclusion and multiple second total resource information.

[0083] In an embodiment of the present application, the process of the resource scheduling device screening scheduling nodes from multiple nodes according to multiple first total resource information after exclusion and multiple second total resource information includes: determining a first node that does not meet the scheduling resource requirements from multiple nodes; excluding the first node from multiple nodes to obtain multiple target nodes; determining multiple weights corresponding to the multiple target nodes according to multiple first total resource information after exclusion and multiple second total resource information; and screening scheduling nodes from multiple target nodes according to the multiple weights.

[0084] In an embodiment of the present application, the number of first nodes may be one, or the number of first nodes may be multiple. Specifically, the number of first nodes may be determined according to the actual situation, and the present application embodiment does not limit this.

[0085] In an embodiment of the present application, both the forced scheduling nodes and the nodes with insufficient resource inventory are nodes that do not meet the scheduling resource requirements. Specifically, the forced scheduling nodes may be determined from multiple nodes according to the labels of the nodes; the nodes with insufficient resource inventory may be determined from multiple nodes according to multiple first total resource information after exclusion and multiple second total resource information.

[0086] In an embodiment of the present application, the first node that does not meet the scheduling resource requirements may also be determined from multiple nodes by other means. Specifically, the implementation manner may be determined according to the actual situation, and the present application embodiment does not limit this.

[0087] In the embodiments of the present application, multiple target nodes correspond to multiple weights one by one, that is, one weight corresponds to one target node.

[0088] In the embodiments of the present application, after obtaining multiple target nodes, a candidate node list can be established according to the multiple target nodes. When the number of multiple target nodes is 0, there is no such candidate node list; when the number of multiple target nodes is not 0, there is such a candidate node list.

[0089] In the embodiments of the present application, filter the forced scheduling nodes and nodes with insufficient inventory, and put the remaining nodes into the candidate node list; among them, the forced scheduling nodes are determined according to the forced affinity / forced anti-affinity requirements (if any) of the resource creation request; the nodes with insufficient inventory include the nodes whose remaining resource inventory does not meet the requested resource specifications. Through the forced affinity scheduling strategy, non-heterogeneous resource combination instances and heterogeneous resource instances can be forced to be created on the same node to ensure low-latency network interconnection.

[0090] In the embodiments of the present application, the process of the resource scheduling device determining multiple weights corresponding to multiple target nodes according to multiple filtered first total resource information and multiple second total resource information includes: determining multiple first weights corresponding to multiple target heterogeneous nodes according to multiple filtered first total resource information; determining multiple second weights corresponding to multiple target non-heterogeneous nodes according to multiple second total resource information; and using multiple first weights and multiple second weights as multiple weights.

[0091] It should be noted that multiple target heterogeneous nodes are heterogeneous nodes among multiple target nodes; multiple target non-heterogeneous nodes are nodes other than multiple target heterogeneous nodes among multiple target nodes.

[0092] In the embodiments of the present application, the process of the resource scheduling device determining multiple first weights corresponding to multiple target heterogeneous nodes according to multiple filtered first total resource information can be to obtain multiple target total resource information corresponding to multiple target heterogeneous nodes from multiple filtered first total resource information; and then determine multiple first weights corresponding to multiple target heterogeneous nodes according to multiple target total resource information.

[0093] In the embodiments of the present application, multiple first weights and multiple second weights constitute multiple weights.

[0094] In the embodiments of the present application, multiple target nodes include multiple target heterogeneous nodes and multiple heterogeneous non-heterogeneous nodes.

[0095] In the embodiments of the present application, the process of the resource scheduling device screening scheduling nodes from multiple target nodes according to multiple weights includes: determining the target weight with the largest weight value among multiple weights; and determining the scheduling node corresponding to the target weight among multiple target nodes.

[0096] In the embodiments of the present application, the number of target weights may be one, or the number of target weights may be more than one. The specific number of target weights may be determined according to the actual situation, and the embodiments of the present application do not limit this.

[0097] Exemplarily, if the number of target weights is more than one, the weight values of the more than one target weights are the same.

[0098] In the embodiments of the present application, if the number of target weights may be one, then among multiple target nodes, the scheduling node corresponding to the target weight is determined. If the number of target weights is more than one, then among multiple target nodes, more than one node corresponding to more than one target weight is determined, and any one of the more than one nodes may be selected as the scheduling node.

[0099] In the embodiments of the present application, the scheduling node may also be determined from more than one node by other means. The specific determination method may be determined according to the actual situation, and the embodiments of the present application do not limit this.

[0100] In the embodiments of the present application, the process of the resource scheduling device determining multiple first weights corresponding to multiple target heterogeneous nodes according to multiple filtered first total resource information includes: obtaining multiple groups of target resource allocation information corresponding to multiple target nodes from multiple groups of resource allocation information; determining the first unused non-heterogeneous resource information on the second node with the largest number of currently unused non-heterogeneous resources and the second unused non-heterogeneous resource information on the third node with the smallest number of currently unused non-heterogeneous resources from the multiple groups of target resource allocation information; determining multiple first weights according to the first unused non-heterogeneous resource information, the second unused non-heterogeneous resource information, and the multiple filtered first total resource information; correspondingly, the process of determining multiple second weights corresponding to multiple target non-heterogeneous nodes according to multiple second total resource information includes: determining multiple second weights according to the first unused non-heterogeneous resource information, the second unused non-heterogeneous resource information, and the multiple second total resource information.

[0101] It should be noted that multiple target nodes correspond one-to-one with multiple groups of target resource allocation information, that is, one target node corresponds to one group of target resource allocation information.

[0102] In the embodiments of the present application, the method of determining multiple first weights according to the first unused non-heterogeneous resource information, the second unused non-heterogeneous resource information, and the multiple filtered first total resource information is shown in formula (3):

[0103]

[0104] It should be noted that W 1is the first weight of any one of multiple target heterogeneous nodes, Rb total The difference from Rb res is the first total resource information after elimination corresponding to any one of the target heterogeneous nodes, Rb total is the first total resource information corresponding to any one of the target heterogeneous nodes, Rb res is the reserved resource information corresponding to any one of the target heterogeneous nodes, Rb max is the first unused non-heterogeneous resource information, Rb min is the second unused non-heterogeneous resource information.

[0105] In the embodiments of the present application, the method for determining multiple second weights according to the first unused non-heterogeneous resource information, the second unused non-heterogeneous resource information, and multiple second total resource information is as shown in formula (4):

[0106]

[0107] It should be noted that W 2 is the second weight of any one of multiple target non-heterogeneous nodes, Rb is the second total resource information corresponding to any one of the target non-heterogeneous nodes, Rb max is the first unused non-heterogeneous resource information, Rb min is the second unused non-heterogeneous resource information.

[0108] In the embodiments of the present application, according to the various available resource information of nodes transmitted by the resource collection and reporting unit, the weight value corresponding to each available resource of each node can be calculated, and the weight values corresponding to various available resources of each node are accumulated to obtain the total score corresponding to the node. The node with the highest total score is selected as the optimal scheduling node for scheduling. In particular, to improve the resource utilization rate of heterogeneous nodes, the heterogeneous nodes reserve part of the basic resources for creating heterogeneous resource combination instances, and the remaining resources can be used to create non-heterogeneous resource combination instances. When creating non-heterogeneous resource combination instances, the weight value of the heterogeneous node will be calculated after deducting the reserved part, so as to achieve the purpose of reducing the weight of the heterogeneous node, and realize: ① Non-heterogeneous resource combination instances are preferentially created on non-heterogeneous nodes; ② When the resource utilization rate of non-heterogeneous nodes is much higher than that of heterogeneous nodes, non-heterogeneous resource combination instances can also be scheduled to heterogeneous nodes. It should be noted that the reserved resource quantity can be dynamically set according to actual application needs to achieve the best effect.

[0109] In the embodiment of the present application, when calculating the weight of a candidate node, the type of the specific combination instance is considered, that is, whether the heterogeneous resource combination instance or the non - heterogeneous resource combination instance is to be created currently. The heterogeneous nodes dynamically reserve basic resources, and the reserved basic resources are used for the creation of heterogeneous resource combination instances. If a non - heterogeneous resource combination instance is created, when calculating the corresponding weight of the heterogeneous nodes, the weight score of the heterogeneous nodes is considered to be reduced, so as to achieve: ① the non - heterogeneous resource combination instance is preferentially created on non - heterogeneous nodes; ② when the resource utilization rate of non - heterogeneous nodes is much greater than that of heterogeneous nodes, the non - heterogeneous resource combination instance can also be scheduled to heterogeneous nodes.

[0110] In the embodiment of the present application, the scheduling task is a task including scheduling non - heterogeneous resources; after the resource scheduling device determines the first nodes that do not meet the scheduling resource requirements from multiple nodes, when the number of the first nodes is the same as the number of multiple nodes, it is determined whether the scheduling task includes a task of scheduling heterogeneous resources; in the case that the scheduling task includes a task of scheduling heterogeneous resources, it is determined whether there are at least two fourth nodes among multiple heterogeneous nodes that meet the preemptive processing of the scheduling task; in the case that there are at least two fourth nodes, at least two data migration cost scores of the at least two fourth nodes are determined; according to the at least two data migration cost scores, the node with the lowest score is determined as the node to be migrated from the at least two fourth nodes; the non - heterogeneous resource combination instance on the node to be migrated is migrated to other nodes; and the resource creation process corresponding to the scheduling task is executed on the node to be migrated.

[0111] It should be noted that the other node is any one of multiple non - heterogeneous nodes.

[0112] In the embodiment of the present application, if the number of the first nodes is the same as the number of multiple nodes, it is determined that all multiple nodes do not meet the scheduling resource requirements, that is, the number of multiple target nodes is 0, and there is no candidate node list.

[0113] In the embodiment of the present application, the manner of determining whether the scheduling task includes a task of scheduling heterogeneous resources can be determined according to the actual situation, and the embodiment of the present application does not limit this.

[0114] In the embodiment of the present application, in the case that the scheduling task does not include a task of scheduling heterogeneous resources, it is determined that the scheduling task fails. In the case that there are no at least two fourth nodes among multiple heterogeneous nodes that meet the preemptive processing of the scheduling task, it is determined that the scheduling task fails.

[0115] In an embodiment of the present application, the process of determining whether there are at least two fourth nodes among multiple heterogeneous nodes that meet the preemptive processing scheduling task includes: when there are instances of non-heterogeneous resource combinations to be migrated on some of the multiple heterogeneous nodes, and the remaining resources of some nodes after migrating the instances of non-heterogeneous resource combinations to be migrated meet the condition for successfully creating a target heterogeneous resource combination instance corresponding to the scheduling task, determining the some nodes as at least two fourth nodes.

[0116] It should be noted that the number of some nodes is at least two.

[0117] In an embodiment of the present application, when there are no instances of non-heterogeneous resource combinations among the multiple heterogeneous nodes, it is determined that there are no some nodes.

[0118] In an embodiment of the present application, when there are instances of non-heterogeneous resource combinations to be migrated on some of the multiple heterogeneous nodes, the instances of non-heterogeneous resource combinations to be migrated do not have a mandatory affinity with the heterogeneous resource combination instances in the some nodes, and the remaining resources of the some nodes after migrating the instances of non-heterogeneous resource combinations to be migrated meet the condition for successfully creating a target heterogeneous resource combination instance corresponding to the scheduling task, determining the some nodes as at least two fourth nodes.

[0119] In an embodiment of the present application, before migrating the instances of non-heterogeneous resource combinations on the node to be migrated to other nodes, multiple non-heterogeneous node weights corresponding to multiple non-heterogeneous nodes are further determined according to multiple second total resource information; the target non-heterogeneous node weight with the largest weight value is selected from the multiple non-heterogeneous node weights; and the node corresponding to the target non-heterogeneous node weight is used as the other node.

[0120] In an embodiment of the present application, the process of migrating the instances of non-heterogeneous resource combinations on the node to be migrated to other nodes can be determined according to the actual situation, and the embodiments of the present application do not limit this.

[0121] In an embodiment of the present application, the manner of performing the resource creation process corresponding to the scheduling task on the node to be migrated can be determined according to the actual situation, and the embodiments of the present application do not limit this.

[0122] In the embodiment of the present application, it is determined whether the heterogeneous nodes with insufficient inventory meet the preemptive creation. If they meet the requirements, the list of heterogeneous nodes that meet the preemptive creation is listed, the nodes are scored, the node with the smallest comprehensive cost of the number of migrated instances and the migrated instance specifications is selected, the combined instances of non-heterogeneous resource instances on it are migrated to other nodes, and the combined instances of heterogeneous resource instances are scheduled and created on this node. If the scheduling is successful, the process ends; if the preemptive creation is not met, it indicates that the resource inventory of all current nodes does not meet the requested resource requirements, the scheduling fails, and the process ends. Here, meeting the preemptive creation means that the creation of combined non-heterogeneous resource instances on the heterogeneous node causes insufficient resources to create combined heterogeneous resource instances, and only a small number of combined non-heterogeneous resource instances need to be migrated to meet the requested resource requirements.

[0123] It should be noted that for preemptive creation, it is necessary to first perform hot migration on the combined non-heterogeneous resource instances on the heterogeneous node and then create combined heterogeneous resource instances. If the memory resources occupied by the migrated instances are too large and the memory dirty pages are written too fast, it may cause the hot migration to take a long time and affect the response efficiency of the heterogeneous resource creation request. An optimization solution is to use the resources of non-heterogeneous nodes occupied by stateless tasks without time limit requirements. When preemptive creation is required, the resources occupied by these tasks are directly released, which can effectively shorten the response time of the heterogeneous resource creation request.

[0124] In the embodiment of the present application, the process of determining the at least two data migration cost scores of at least two fourth nodes by the resource scheduling device includes: determining at least two instance quantity migration costs, at least two memory migration costs, and at least two affinity instance migration costs corresponding to the at least two fourth nodes; and determining at least two data migration cost scores according to the at least two instance quantity migration costs, the at least two memory migration costs, and the at least two affinity instance migration costs.

[0125] In the embodiment of the present application, the number of instances that need to be hot migrated for each of the at least two fourth nodes is determined to obtain at least two hot migration instance quantities; the maximum value of the number of combined non-heterogeneous resource instances that need to be hot migrated for multiple heterogeneous nodes is determined; and at least two instance quantity migration costs corresponding to the at least two fourth nodes are determined according to the at least two hot migration instance quantities and the maximum value of the hot migration instance quantities.

[0126] In the embodiment of the present application, the total memory of the instances that need to be hot migrated for each of the at least two fourth nodes is determined to obtain at least two total instance memories; the maximum value of the total memory of the instances that need to be hot migrated for multiple heterogeneous nodes is determined; and at least two memory migration costs are determined according to the at least two total instance memories and the maximum value of the total instance memories.

[0127] In an embodiment of the present application, determine the maximum number of hot migration instances that need to be hot migrated for multiple heterogeneous nodes; determine the number of affinity binding instances that need to be hot migrated but are affinity bound to heterogeneous instances on the nodes; determine at least two affinity instance migration costs according to the maximum number of hot migration instances and the number of affinity binding instances.

[0128] In an embodiment of the present application, determine the sum of at least two instance number migration costs, at least two memory migration costs, and at least two affinity instance migration costs to obtain at least two data migration cost scores.

[0129] Exemplarily, the process of determining at least two data migration cost scores according to at least two instance number migration costs, at least two memory migration costs, and at least two affinity instance migration costs is shown in formula (5):

[0130]

[0131] It should be noted that c is the data migration cost score; N max is the maximum number of hot migration instances that need to be hot migrated for multiple heterogeneous nodes; n is the number of hot migration instances; m is the total instance memory, and M max is the maximum total instance memory; n a is the number of affinity binding instances that need to be hot migrated but are affinity bound to heterogeneous instances on the nodes.

[0132] In an embodiment of the present application, when preemptive creation of heterogeneous resource combination instances is required, it indicates that there is no node in the current resource state that meets the requirements of the requested resources. It is necessary to migrate the non - heterogeneous resource combination instances on the heterogeneous nodes to release the basic resources. To ensure that the hot migration time is short enough and release the basic resources as soon as possible to create heterogeneous resource combination instances, set the following restrictive conditions: the number of non - heterogeneous resource combination instances that need to be hot migrated is not greater than N max and the amount of critical resources (i.e., memory) that need to be hot migrated is not greater than M max According to these two restrictive conditions, a candidate node list that meets the migration conditions can be filtered out, and then the optimal resource migration source node is selected.

[0133] In an embodiment of the present application, is the instance number migration cost; is the memory migration cost; is the affinity instance migration cost. In the case where the number of instances that need to be hot migrated is as small as possible, the memory of the hot migration instances is as low as possible, and there is as little affinity binding relationship as possible between the hot - migrated instances and heterogeneous instances, the comprehensive cost reaches the minimum, that is, the cost function c in the above formula (5) takes the minimum value, and the optimal preemptive creation of heterogeneous nodes is selected in this way.

[0134] In the embodiment of the present application, heterogeneous nodes to be preemptively created and instances to be migrated are determined. Next, a migration target node needs to be selected. Since the resources of heterogeneous nodes are tight, it is desired to schedule the instances to be migrated to non-heterogeneous nodes as much as possible. During migration scheduling, only weight calculation is performed among non-heterogeneous nodes, and the node with the highest score is selected for migration scheduling, that is, load balancing is performed as much as possible on non-heterogeneous nodes.

[0135] Exemplarily, when the number of the first nodes is the same as the number of multiple nodes and the scheduling task is a task including scheduling heterogeneous resources, it is determined whether there are at least two fourth nodes among the multiple heterogeneous nodes that meet the requirement of preemptively processing the scheduling task; when there are at least two fourth nodes and the number of the at least two fourth nodes is five, five instance quantity migration costs corresponding to the five fourth nodes are determined (determine the number of instances that need to be hot migrated for each fourth node to obtain five hot migration instance quantities; determine the maximum value of the number of non-heterogeneous resource combination instances that need to be hot migrated among the multiple heterogeneous nodes; determine five instance quantity migration costs corresponding to the five fourth nodes according to the five hot migration instance quantities and the maximum value of the hot migration instance quantities), five memory migration costs (determine the total memory of the instances that need to be hot migrated for each fourth node to obtain the total memory of each instance; determine the maximum value of the total memory of the instances that need to be hot migrated among the multiple heterogeneous nodes; determine each memory migration cost according to the total memory of each instance and the maximum value of the total memory of the instances), and five affinity instance migration costs (determine the maximum value of the number of hot migration instances that need to be hot migrated among the multiple heterogeneous nodes; determine the number of affinity binding instances that need to be hot migrated but are affinity bound to heterogeneous instances on the node; determine five affinity instance migration costs according to the maximum value of the hot migration instance quantities and the number of affinity binding instances); determine five data migration cost scores corresponding to the five fourth nodes according to the five instance quantity migration costs, the five memory migration costs, and the five affinity instance migration costs; use the fourth node with the highest score among the five data migration cost scores as the node to be migrated; migrate the non-heterogeneous resource combination instances on the node to be migrated to other nodes (that is, any one of the multiple non-heterogeneous nodes. The multiple non-heterogeneous node weights corresponding to the multiple non-heterogeneous nodes can be determined according to the multiple second total resource information; screen the target non-heterogeneous node weight with the largest weight value from the multiple non-heterogeneous node weights; use the node corresponding to the target non-heterogeneous node weight as other nodes), and execute the resource creation process corresponding to the scheduling task on the node to be migrated.

[0136] In an embodiment of the present application, after the resource scheduling device determines whether the scheduling task includes a task of scheduling heterogeneous resources, in the case where the scheduling task includes a task of scheduling heterogeneous resources, there is an instance of a non-heterogeneous resource combination to be released in the fifth node among multiple heterogeneous nodes, and the remaining resources after the fifth node releases the instance of the non-heterogeneous resource combination to be released meet the condition for successfully creating a target heterogeneous resource combination instance corresponding to the scheduling task, the instance of the non-heterogeneous resource combination to be released is released; in the case where the instance of the non-heterogeneous resource combination to be released is successfully released, a resource creation process corresponding to the scheduling task is executed on the fifth node.

[0137] It should be noted that there is no mandatory affinity between the instance of the non-heterogeneous resource combination to be released in the fifth node and the instance of the heterogeneous resource combination in the fifth node.

[0138] In an embodiment of the present application, the manner of executing the resource creation process corresponding to the scheduling task on the fifth node can be determined according to the actual situation, and the embodiment of the present application does not limit this.

[0139] It should be noted that the fifth node is a node where there is an instance of a non-heterogeneous resource combination to be released, and the remaining resources after releasing the instance of the non-heterogeneous resource combination to be released meet the condition for successfully creating a target heterogeneous resource combination instance corresponding to the scheduling task.

[0140] S105. Execute a resource creation process corresponding to the scheduling task on the scheduling node.

[0141] In an embodiment of the present application, after the resource scheduling device screens the scheduling node from multiple nodes according to multiple filtered first total resource information and multiple second total resource information, a resource creation process corresponding to the scheduling task is executed on the scheduling node.

[0142] In an embodiment of the present application, the resource scheduling device further includes a scheduling execution unit, and the scheduling execution unit can be used to execute a resource creation process corresponding to the scheduling task on the scheduling node.

[0143] It should be noted that the manner of executing the resource creation process corresponding to the scheduling task on the scheduling node can be determined according to the actual situation, and the embodiment of the present application does not limit this.

[0144] In an embodiment of the present application, after the resource creation process corresponding to the scheduling task is executed on the scheduling node, it is determined that the scheduling task is successfully scheduled.

[0145] Exemplarily, such as Figure 4As shown in the figure: The resource scheduling device includes a resource collection and reporting unit, a scheduling decision-making unit, a task receiving unit, and a scheduling execution unit. The resource collection and reporting unit is used to collect and record multiple sets of resource allocation information of multiple nodes under the current situation in real time and report it to the scheduling decision-making unit. When the task receiving unit receives a scheduling task, the task receiving unit transmits the scheduling task to the scheduling decision-making unit. The scheduling decision-making unit determines multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among the multiple nodes, and determines multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes, according to the multiple sets of resource allocation information of the multiple nodes reported by the resource collection and reporting unit for the last time; eliminates the multiple reserved resource information from the multiple first total resource information to obtain multiple eliminated first total resource information; screens scheduling nodes from the multiple nodes according to the multiple eliminated first total resource information and the multiple second total resource information; the scheduling decision-making unit notifies the scheduling execution unit of the scheduling node, and the scheduling execution unit executes the resource creation process corresponding to the scheduling task on the scheduling node.

[0146] Exemplarily, such as Figure 5As shown below: When a scheduling task is received, obtain multiple sets of resource allocation information of multiple nodes; according to the multiple sets of resource allocation information, determine multiple first total resource information corresponding to multiple heterogeneous nodes among the multiple nodes and multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes; according to the multiple sets of resource allocation information, determine multiple reserved resource information corresponding to the multiple heterogeneous nodes; exclude the multiple reserved resource information (forced scheduling nodes, nodes with insufficient inventory filtering) from the multiple first total resource information to obtain multiple excluded first total resource information; from the multiple nodes, determine the first nodes that do not meet the scheduling resource requirements; among the multiple nodes, exclude the first nodes to obtain multiple target nodes; create a candidate node list according to the multiple target nodes, and determine whether the candidate list is empty (when the number of the multiple target nodes is 0, the candidate list is empty; when the number of the multiple target nodes is not 0, the candidate list is not empty). If the candidate node list is not empty, then determine multiple weights corresponding to the multiple target nodes according to the multiple excluded first total resource information and the multiple second total resource information (node weight calculation); according to the multiple weights, screen the scheduling nodes from the multiple target nodes (select the optimal node and schedule for creation), and then execute the resource creation process corresponding to the scheduling task on the scheduling node (when the resource creation process is completed, the scheduling is successful). If the candidate node list is empty (that is, the number of the first nodes is the same as the number of the multiple nodes), determine whether the scheduling task includes a task of scheduling heterogeneous resources (the requested resources involve heterogeneous resources); if not, the scheduling fails; if so (that is, the scheduling task includes a task of scheduling heterogeneous resources), then determine whether there are at least two fourth nodes among the multiple heterogeneous nodes that meet the preemptive processing of the scheduling task (determine whether the heterogeneous resource nodes with insufficient inventory meet the preemptive creation); if so (that is, there are at least two fourth nodes), then determine at least two data migration cost scores of the at least two fourth nodes; according to the at least two data migration cost scores, determine the node with the lowest score among the at least two fourth nodes as the node to be migrated; migrate the non-heterogeneous resource combination instances on the node to be migrated to other nodes; execute the resource creation process corresponding to the scheduling task on the node to be migrated (that is, select the optimal node, migrate the non-heterogeneous resource combination instances, and schedule to create heterogeneous resource combination instances). When the resource creation process is completed, the scheduling is successful. If the preemptive creation is not satisfied (that is, there are no at least two fourth nodes), then determine that the scheduling fails.

[0147] In an embodiment of the present application, an exemplary resource scheduling method is as Figure 6 shown:

[0148] S1. Among multiple nodes, determine the first nodes that do not meet the scheduling resource requirements.

[0149] In the embodiment of the present application, before step S1, when a scheduling task is received, multiple groups of resource allocation information of multiple nodes are obtained; according to the multiple groups of resource allocation information, multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among the multiple nodes are determined, and multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes is determined. The multiple reserved resource information is excluded from the multiple first total resource information to obtain multiple excluded first total resource information.

[0150] Among them, the process of determining multiple reserved resource information corresponding to multiple heterogeneous nodes according to multiple groups of resource allocation information includes: determining multiple unused heterogeneous resource information of multiple heterogeneous nodes from the multiple groups of resource allocation information; obtaining a reserved resource adjustment parameter; determining multiple initial reservation information according to the reserved resource adjustment parameter and the multiple unused heterogeneous resource information; when the multiple initial reservation information is greater than the multiple first total resource information, determining the multiple first total resource information as the multiple reserved resource information; when the multiple initial reservation information is less than or equal to the multiple first total resource information, determining the multiple initial reservation information as the multiple reserved resource information.

[0151] S2. Among the multiple nodes, the first node is excluded to obtain multiple target nodes.

[0152] S3. From the multiple groups of resource allocation information, multiple groups of target resource allocation information corresponding to the multiple target nodes are obtained, and from the multiple groups of target resource allocation information, first unused non-heterogeneous resource information on the second node with the largest number of currently unused non-heterogeneous resources and second unused non-heterogeneous resource information on the third node with the smallest number of currently unused non-heterogeneous resources are determined.

[0153] S4. Multiple first weights are determined according to the first unused non-heterogeneous resource information, the second unused non-heterogeneous resource information, and the multiple excluded first total resource information; multiple second weights are determined according to the first unused non-heterogeneous resource information, the second unused non-heterogeneous resource information, and the multiple second total resource information, and the multiple first weights and the multiple second weights are used as the multiple weights.

[0154] It should be noted that multiple target heterogeneous nodes are heterogeneous nodes among the multiple target nodes. Multiple target non-heterogeneous nodes are nodes among the multiple target nodes except the multiple target heterogeneous nodes.

[0155] S5. Among the multiple weights, a target weight with the largest weight value is determined, and among the multiple target nodes, a scheduling node corresponding to the target weight is determined; a resource creation process corresponding to the scheduling task is executed on the scheduling node.

[0156] S6. When the number of first nodes is the same as the number of multiple nodes, determine whether the scheduling task includes a task of scheduling heterogeneous resources.

[0157] After executing step S1, step S2 can be directly executed, or step S6 can be executed.

[0158] It should be noted that when the scheduling task does not include a task of scheduling heterogeneous resources, it is determined that the scheduling task fails.

[0159] S7. When the scheduling task includes a task of scheduling heterogeneous resources, determine whether there are at least two fourth nodes among the multiple heterogeneous nodes that meet the condition of preemptively processing the scheduling task.

[0160] It should be noted that when there are no at least two fourth nodes among the multiple heterogeneous nodes that meet the condition of preemptively processing the scheduling task, it is determined that the scheduling task fails.

[0161] S8. When there are at least two fourth nodes, determine at least two instance quantity migration costs, at least two memory migration costs, and at least two affinity instance migration costs corresponding to the at least two fourth nodes; determine at least two data migration cost scores according to the at least two instance quantity migration costs, at least two memory migration costs, and at least two affinity instance migration costs; determine the node with the lowest score as the node to be migrated from the at least two fourth nodes according to the at least two data migration cost scores.

[0162] S9. Migrate the non - heterogeneous resource combination instances on the node to be migrated to other nodes, and execute the resource creation process corresponding to the scheduling task on the node to be migrated.

[0163] It should be noted that other nodes are any one of the multiple non - heterogeneous nodes;

[0164] S10. When the scheduling task includes a task of scheduling heterogeneous resources, there are non - heterogeneous resource combination instances to be released in the fifth node of the multiple heterogeneous nodes, and the remaining resources of the fifth node after releasing the non - heterogeneous resource combination instances to be released meet the condition of successfully creating the target heterogeneous resource combination instance corresponding to the scheduling task, release the non - heterogeneous resource combination instances to be released.

[0165] After executing step S6, step S7 can be executed next, or step S10 can be executed.

[0166] S11. When the non - heterogeneous resource combination instances to be released are successfully released, execute the resource creation process corresponding to the scheduling task on the fifth node.

[0167] Exemplarily, such as Figure 7As shown in the figure, a small cloud platform is built with a total of 10 computing nodes, which are used to create non - heterogeneous resource combination instances and GPU instances. Among them, GPU instances are only scheduled to Server 1 and Server 2 where GPU resources are deployed, and non - heterogeneous resource combination instances can be scheduled to Server 1 - Server 10. Here, the GPU is a virtualized GPU and is allocated by video memory. The example method for passthrough GPUs also applies equally.

[0168] The initial available resources of each Server are shown in Table 1 as follows:

[0169] Table 1

[0170] Node CPU (Core) Memory (GiB) GPU Video Memory (GB) Server1 200 800 96 Server2 200 800 96 Server3 200 800 0 … … … … Server10 200 800 0

[0171] That is, GPUs are deployed on Server1 and Server2, and no GPUs are deployed on Server3 - Server10. The CPU and memory resource quantities of all nodes are the same. The instances created by scheduling include non - heterogeneous resource combination instances and GPU instances. Among them, the node resources utilized by non - heterogeneous resource combination instances include {CPU, memory}; the node resources utilized by GPU instances include {CPU, memory, GPU}. Through the scheduling scheme proposed in this case, both ordinary instances and GPU instances can be scheduled to heterogeneous nodes Server1 and Server2, effectively utilizing idle resources.

[0172] Step1: On Server1 and Server2 nodes, reserve a certain amount of CPU and memory resources for GPU instances. In this example, initially set the CPU reservation coefficient a 0 = 1, and initially set the memory reservation coefficient b 0 = 2, that is, reserve 96 cores of CPU and 192G of memory only for creating GPU instances, and the remaining 104 cores of CPU and 608G of memory can be used to create non - heterogeneous resource combination instances or GPU instances.

[0173] After resource reservation, for creating GPU instances, the available resources of each node are shown in Table 2:

[0174] Table 2

[0175] Node CPU (Core) Memory (GiB) GPU Video Memory (GB) Server1 200 800 96 Server2 200 800 96

[0176] For creating non - heterogeneous resource combination instances, the available resources of each node library are shown in Table 3:

[0177] Table 3

[0178] Node CPU (Core) Memory (GiB) Server1 104 608 Server2 104 608 Server3 200 800 … … … Server10 200 800

[0179] Step 2: Receive the first request to create a GPU instance with CPU, memory, and GPU specifications of {4C, 16G, 4G}. Filter the nodes that do not meet the requirements according to the resource requirements. The candidate node list is {Server1, Server2}. Since no resources have been created on Server1 and Server2, the available resources for both are 200-core CPUs, 800G of memory, and 96G of GPU video memory. Use normalization to assign weight values to the nodes. According to the weight calculation formula The scores of both nodes in terms of CPU, memory, and GPU are 1, and the cumulative scores are both 3. Randomly select one node as the optimal node for scheduling. Assume that Server1 is selected for scheduling and creation.

[0180] After creation, for the GPU instance, the available resources of each node are shown in Table 4:

[0181] Table 4

[0182] Node CPU (Core) Memory (GiB) GPU Video Memory (GB) Server1 196 784 92 Server2 200 800 96

[0183] Revise the reserved resources. The CPU reservation coefficient a 1 = 1, and the memory reservation coefficient b 1 = 4. According to The reserved CPU coefficient is (1 + 1) / 2 = 1, and the reserved memory coefficient is (2 + 4) / 2 = 3. For creating a non-heterogeneous resource combination instance, the available resources of each node during scheduling are shown in Table 5:

[0184] Table 4

[0185] Node CPU (Core) Memory (GiB) Server1 104 508 Server2 104 512 Server3 200 800 … … … Server10 200 800

[0186] Step 4: Receive the second request to create a GPU instance with CPU, memory, and GPU specifications of {8C, 32G, 8G}. According to the weight calculation formula The GPU weight score calculation formula for Server1 is (92 - 92) / (96 - 92) = 0, and the GPU weight score calculation formula for Server2 is (96 - 92) / (96 - 92) = 1. The calculation formulas for CPU and memory are the same. Finally, the total score of Server1 is 0, and the total score of Server2 is 3. Server2 is the optimal scheduling node.

[0187] After creation, for the GPU instance, for the GPU instance, the available resources of each node are shown in Table 6:

[0188] Table 6

[0189] Node CPU (Core) Memory (GiB) GPU Video Memory (GB) Server1 196 784 92 Server2 192 768 88

[0190] Revise the reserved resources. The CPU reservation coefficient a2 = 1, memory reservation coefficient b 2 = 4. According to The reserved CPU coefficient is (1 + 1 + 1) / 3 = 1, and the reserved memory coefficient is (2 + 4 + 4) / 3 = 3.3. For creating a non - heterogeneous resource combination instance, the available sources of each node library are shown in Table 7:

[0191] Table 7

[0192] Node CPU (Core) Memory (GiB) Server1 104 480 Server2 104 478 Server3 200 800 … … … Server10 200 800

[0193] Step5: Receive the third request, which requires creating a non - heterogeneous resource combination instance with CPU and memory specifications of {2C, 4G}. According to the weight calculation formula The CPU weight score calculation formula for Server1 and Server2 is (104 - 104) / (200 - 104)=0; According to the weight calculation formula The CPU weight score calculation formula for Server3 to Server10 is (200 - 104) / (200 - 104)=1. Similarly, the memory weight score of Server1 is (480 - 478) / (800 - 478)=0.006; The memory weight score of Server2 is (478 - 478) / (800 - 478)=0; The memory weight scores of Server3 to Server10 are (800 - 478) / (800 - 478)=1. Cumulating the weights, the total score of Server3 to Server10 is the highest, and a node will be randomly selected from Server3 to Server10 as the optimal scheduling node. Assume that Server3 is selected as the optimal scheduling node.

[0194] After creation, for the GPU instance, for the GPU instance, the available resources of each node are shown in Table 8:

[0195] Table 8

[0196] Node CPU (Core) Memory (GiB) GPU Video Memory (GB) Server1 196 784 92 Server2 192 768 88

[0197] For the non - heterogeneous resource combination instance, the available resources of each node are shown in Table 9:

[0198] Table 9

[0199] Node CPU (Core) Memory (GiB) Server1 104 480 Server2 104 478 Server3 198 796 Server4 200 800 … … … Server10 200 800

[0200] The subsequent request - receiving processing logic is the same. It can be seen that based on the weight calculation strategy of heterogeneous node basic resource reservation, non - heterogeneous resource combination instances will be preferentially scheduled to non - heterogeneous nodes. When the resource utilization rate of non - heterogeneous nodes is much higher than that of heterogeneous nodes, non - heterogeneous resource combination instances can also be scheduled to heterogeneous nodes.

[0201] The operation process of preemptively creating heterogeneous resource combination instances is similar to the above, and it is necessary to apply the above-mentioned preemptive creation cost function calculation method, select the source node for migration with the minimum cost, and after determining the migration object, select the target node for migration through the normalized weight calculation method, which will not be elaborated here.

[0202] It can be understood that when receiving a scheduling task, according to the multiple sets of resource allocation information of multiple nodes, determine the multiple first total resource information and multiple reserved resource information corresponding to the multiple heterogeneous nodes among the multiple nodes, and determine the multiple second total resource information corresponding to the multiple non-heterogeneous nodes among the multiple nodes; by excluding the multiple reserved resource information reserved for creating heterogeneous resource combination instances from the multiple first total resource information, multiple excluded first total resource information is obtained, so as to screen scheduling nodes from the multiple nodes according to the multiple excluded first total resource information and the multiple second total resource information, that is, when there are fewer heterogeneous nodes among the multiple nodes, by reserving multiple reserved resource information for heterogeneous resources, it is possible to create heterogeneous resource combination instances among the multiple reserved resource information, avoiding the situation where heterogeneous resources are not fully utilized and improving the accuracy of load balancing.

[0203] Based on the same inventive concept as the above resource scheduling method, an embodiment of the present application provides a resource scheduling device 1, corresponding to a resource scheduling method; Figure 8 The composition structure diagram of a resource scheduling device provided by an embodiment of the present application Figure 1 The resource scheduling device 1 may include:

[0204] An obtaining unit 11, configured to obtain multiple sets of resource allocation information of multiple nodes when receiving a scheduling task;

[0205] A determining unit 12, configured to determine multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among the multiple nodes according to the multiple sets of resource allocation information, and determine multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes;

[0206] An excluding unit 13, configured to exclude the multiple reserved resource information from the multiple first total resource information to obtain multiple excluded first total resource information;

[0207] A screening unit 14, configured to screen scheduling nodes from the multiple nodes according to the multiple excluded first total resource information and the multiple second total resource information;

[0208] An execution unit 15, configured to execute the resource creation process corresponding to the scheduling task on the scheduling node.

[0209] In some embodiments of the present application, the determining unit 12 is configured to determine, from the multiple nodes, a first node that does not meet the scheduling resource requirements;

[0210] The removing unit 13 is configured to remove the first node from the multiple nodes to obtain multiple target nodes;

[0211] The determining unit 12 is configured to determine multiple weights corresponding to the multiple target nodes according to the multiple first total resource information after removal and the multiple second total resource information;

[0212] The screening unit 14 is configured to screen the scheduling node from the multiple target nodes according to the multiple weights.

[0213] In some embodiments of the present application, the determining unit 12 is configured to determine multiple first weights corresponding to multiple target heterogeneous nodes according to the multiple first total resource information after removal; the multiple target heterogeneous nodes are heterogeneous nodes among the multiple target nodes; determine multiple second weights corresponding to multiple target non - heterogeneous nodes according to the multiple second total resource information; the multiple target non - heterogeneous nodes are nodes other than the multiple target heterogeneous nodes among the multiple target nodes; and use the multiple first weights and the multiple second weights as the multiple weights.

[0214] In some embodiments of the present application, the determining unit 12 is configured to determine a target weight with the largest weight value among the multiple weights; and determine the scheduling node corresponding to the target weight among the multiple target nodes.

[0215] In some embodiments of the present application, the obtaining unit 11 is configured to obtain, from the multiple groups of resource allocation information, multiple groups of target resource allocation information corresponding to the multiple target nodes;

[0216] The determining unit 12 is configured to determine first unused non - heterogeneous resource information on a second node with the largest number of currently unused non - heterogeneous resources and second unused non - heterogeneous resource information on a third node with the smallest number of currently unused non - heterogeneous resources from the multiple groups of target resource allocation information; and determine the multiple first weights according to the first unused non - heterogeneous resource information, the second unused non - heterogeneous resource information, and the multiple first total resource information after removal;

[0217] Correspondingly, the determining unit 12 is configured to determine the multiple second weights according to the first unused non - heterogeneous resource information, the second unused non - heterogeneous resource information, and the multiple second total resource information.

[0218] In some embodiments of the present application, the apparatus further includes a migration unit;

[0219] The determining unit 12 is configured to determine whether the scheduling task includes a task of scheduling heterogeneous resources when the number of the first nodes is the same as the number of the multiple nodes; when the scheduling task includes a task of scheduling heterogeneous resources, determine whether there are at least two fourth nodes among the multiple heterogeneous nodes that satisfy preemptive processing of the scheduling task; when there are the at least two fourth nodes, determine at least two data migration cost scores of the at least two fourth nodes; and determine, according to the at least two data migration cost scores, a node with the lowest score among the at least two fourth nodes as the node to be migrated.

[0220] The migrating unit is configured to migrate the non-heterogeneous resource combination instances on the node to be migrated to other nodes; the other nodes are any nodes among the multiple non-heterogeneous nodes.

[0221] The execution unit 15 is configured to execute a resource creation process corresponding to the scheduling task on the node to be migrated.

[0222] In some embodiments of the present application, the determining unit 12 is configured to determine at least two instance quantity migration costs, at least two memory migration costs, and at least two affinity instance migration costs corresponding to the at least two fourth nodes; and determine the at least two data migration cost scores according to the at least two instance quantity migration costs, the at least two memory migration costs, and the at least two affinity instance migration costs.

[0223] In some embodiments of the present application, the apparatus further includes a releasing unit.

[0224] The releasing unit is configured to release the non-heterogeneous resource combination instance to be released when the scheduling task includes a task of scheduling heterogeneous resources, there is a non-heterogeneous resource combination instance to be released in a fifth node among the multiple heterogeneous nodes, and the remaining resources of the fifth node after releasing the non-heterogeneous resource combination instance to be released satisfy the condition for successfully creating a target heterogeneous resource combination instance corresponding to the scheduling task.

[0225] The execution unit 15 is configured to execute a resource creation process corresponding to the scheduling task on the fifth node when the non-heterogeneous resource combination instance to be released is successfully released.

[0226] In some embodiments of the present application, the determining unit 12 is configured to determine multiple unused heterogeneous resource information of the multiple heterogeneous nodes from the multiple groups of resource allocation information; and determine the multiple reserved resource information according to the reserved resource adjustment parameter and the multiple unused heterogeneous resource information.

[0227] The obtaining unit 11 is configured to obtain reserved resource adjustment parameters.

[0228] In some embodiments of the present application, the determining unit 12 is configured to determine a plurality of initial reservation information according to the reserved resource adjustment parameters and the plurality of unused heterogeneous resource information; when the plurality of initial reservation information corresponds to being greater than the plurality of first total resource information, determine the plurality of first total resource information as the plurality of reserved resource information; when the plurality of initial reservation information corresponds to being less than or equal to the plurality of first total resource information, determine the plurality of initial reservation information as the plurality of reserved resource information.

[0229] It should be noted that, in practical applications, the above-mentioned obtaining unit 11, determining unit 12, eliminating unit 13, screening unit 14, and executing unit 15 can be implemented by a processor 16 on a resource scheduling device, specifically implemented by a CPU (Central Processing Unit), an MPU (Microprocessor Unit), a DSP (Digital Signal Processing), or a field programmable gate array (FPGA, Field Programmable Gate Array), etc.; the above-mentioned data storage can be implemented by a memory 17 on the resource scheduling device.

[0230] An embodiment of the present application further provides a resource scheduling device, as Figure 9 shown, the resource scheduling device includes: a processor 16, a memory 17, and a communication bus 18. The memory 17 communicates with the processor 16 through the communication bus 18. The memory 17 stores a program executable by the processor 16. When the program is executed, the resource scheduling method as described above is executed through the processor 16.

[0231] In practical applications, the above-mentioned memory 17 can be a volatile memory, such as a random access memory (RAM); or a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid-state drive (SSD); or a combination of the above types of memories, and provides instructions and data to the processor 16.

[0232] An embodiment of the present application provides a computer-readable storage medium with a computer program thereon. When the program is executed by a processor 16, it implements the resource scheduling method as described above.

[0233] Exemplarily, an embodiment of the present application further provides a computer program product, including a computer program, which can be executed by a processor 16 in a resource scheduling device to complete the steps of the foregoing resource scheduling method.

[0234] It can be understood that, in the case of receiving a scheduling task, according to multiple sets of resource allocation information of multiple nodes, multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among the multiple nodes are determined, and multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes is determined; by excluding the multiple reserved resource information reserved for creating heterogeneous resource combination instances from the multiple first total resource information, multiple excluded first total resource information is obtained, so that according to the multiple excluded first total resource information and the multiple second total resource information, scheduling nodes are screened from the multiple nodes. That is, when there are few heterogeneous nodes among the multiple nodes, by reserving multiple reserved resource information for heterogeneous resources, it is possible to create heterogeneous resource combination instances among the multiple reserved resource information, avoiding the situation where heterogeneous resources are not fully utilized and improving the accuracy of load balancing.

[0235] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, a system, or a computer program product. Therefore, the present application can adopt the form of a hardware embodiment, a software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) containing computer-usable program code.

[0236] The present application is described with reference to the flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, and the combination of processes and / or blocks in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing devices generate a device for implementing the specified functions in Figure 1 one process or multiple processes and / or blocks Figure 1 one block or multiple blocks.

[0237] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to operate in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction means that implements the function specified in one or more of the flows Figure 1 one or more of the flows and / or boxes Figure 1 specified in one box or more boxes.

[0238] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable apparatus provide steps for implementing the function specified in one or more of the flows Figure 1 one or more of the flows and / or boxes Figure 1 specified in one box or more boxes.

[0239] As described above, it is only the preferred embodiment of the present application, and is not used to limit the protection scope of the present application.

Claims

1. A resource scheduling method, characterized in that: The method comprises: When receiving a scheduling task, obtaining multiple sets of resource allocation information of multiple nodes; Determine, according to the multiple groups of resource allocation information, multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among the multiple nodes, and determine multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes; Eliminate the plurality of reserved resource information from the plurality of first total resource information to obtain a plurality of first total resource information after elimination; Filtering a scheduling node from the plurality of nodes according to the plurality of first total resource information after elimination and the plurality of second total resource information; A resource creation process corresponding to the scheduling task is executed on the scheduling node.

2. The method according to claim 1, characterized in that The step of selecting a scheduling node from the plurality of nodes according to the plurality of first total resource information after elimination and the plurality of second total resource information includes: Determining, from the plurality of nodes, a first node that does not meet the scheduling resource requirement; Eliminate the first node from the multiple nodes to obtain multiple target nodes; Determine a plurality of weights corresponding to the plurality of target nodes according to the plurality of first total resource information after elimination and the plurality of second total resource information; The scheduling node is selected from the plurality of target nodes according to the plurality of weights.

3. The method according to claim 2, characterized in that The determining the multiple weights corresponding to the multiple target nodes according to the multiple eliminated first total resource information and the multiple second total resource information includes: Determine a plurality of first weights corresponding to a plurality of target heterogeneous nodes according to the plurality of first total resource information after elimination; the plurality of target heterogeneous nodes are heterogeneous nodes among the plurality of target nodes; Determine a plurality of second weights corresponding to a plurality of target non-heterogeneous nodes according to the plurality of second total resource information; the plurality of target non-heterogeneous nodes are nodes among the plurality of target nodes except the plurality of target heterogeneous nodes; The plurality of first weights and the plurality of second weights are used as the plurality of weights.

4. The method according to claim 2 or 3, characterized in that: The step of selecting the scheduling node from the plurality of target nodes according to the plurality of weights includes: Determine a target weight having a maximum weight value among the multiple weights; Among the multiple target nodes, determine the scheduling node corresponding to the target weight.

5. The method according to claim 3, characterized in that: The determining a plurality of first weights corresponding to a plurality of target heterogeneous nodes according to the plurality of first total resource information after elimination includes: Acquire, from the multiple groups of resource allocation information, multiple groups of target resource allocation information corresponding to the multiple target nodes; Determine, from the multiple groups of target resource allocation information, first unused non-heterogeneous resource information on a second node having the largest number of currently unused non-heterogeneous resources, and second unused non-heterogeneous resource information on a third node having the smallest number of currently unused non-heterogeneous resources; Determine the plurality of first weights according to the first unused non-heterogeneous resource information, the second unused non-heterogeneous resource information, and the plurality of first total resource information after elimination; Correspondingly, determining a plurality of second weights corresponding to a plurality of target non-heterogeneous nodes according to the plurality of second total resource information includes: The plurality of second weights are determined according to the first unused non-heterogeneous resource information, the second unused non-heterogeneous resource information, and a plurality of second total resource information.

6. The method according to claim 2, characterized in that The scheduling task is a task including scheduling non-heterogeneous resources; after determining the first node that does not meet the scheduling resource requirement from the multiple nodes, the method further includes: In a case where the number of the first nodes is the same as the number of the plurality of nodes, determining whether the scheduling task includes a task of scheduling heterogeneous resources; In a case where the scheduling task includes a task of scheduling heterogeneous resources, determining whether there are at least two fourth nodes among the plurality of heterogeneous nodes that meet the requirements of preemptively processing the scheduling task; In the case where the at least two fourth nodes exist, determining at least two data migration cost scores of the at least two fourth nodes; According to the at least two data migration cost scores, determining a node with the lowest score from the at least two fourth nodes as a node to be migrated; Migrating the non-heterogeneous resource combination instance on the node to be migrated to another node; the other node is any one of the multiple non-heterogeneous nodes; A resource creation process corresponding to the scheduling task is executed on the node to be migrated.

7. The method according to claim 6, characterized in that The determining of at least two data migration cost scores of the at least two fourth nodes includes: Determine at least two instance quantity migration costs, at least two memory migration costs, and at least two affinity instance migration costs corresponding to the at least two fourth nodes; The at least two data migration cost scores are determined according to the at least two instance quantity migration costs, the at least two memory migration costs, and the at least two affinity instance migration costs.

8. The method according to claim 6, characterized in that After determining whether the scheduling task includes a task for scheduling heterogeneous resources, the method further includes: In the case where the scheduling task includes a task for scheduling heterogeneous resources, a fifth node of the plurality of heterogeneous nodes has a non-heterogeneous resource combination instance to be released, and the remaining resources after the fifth node releases the non-heterogeneous resource combination instance to be released meet the condition of successfully creating a target heterogeneous resource combination instance corresponding to the scheduling task, the non-heterogeneous resource combination instance to be released is released; In the case where the to-be-released non-heterogeneous resource combination instance is released successfully, a resource creation process corresponding to the scheduling task is executed on the fifth node.

9. The method according to claim 1, characterized in that: The determining, according to the multiple groups of resource allocation information, multiple reserved resource information corresponding to the multiple heterogeneous nodes includes: Determining, from the multiple sets of resource allocation information, multiple unused heterogeneous resource information of the multiple heterogeneous nodes; Get reserved resource adjustment parameters; The multiple pieces of reserved resource information are determined according to the reserved resource adjustment parameter and the multiple pieces of unused heterogeneous resource information.

10. The method according to claim 9, characterized in that The determining the plurality of reserved resource information according to the reserved resource adjustment parameter and the plurality of unused heterogeneous resource information includes: Determining multiple initial reservation information according to the reserved resource adjustment parameter and the multiple unused heterogeneous resource information; In a case where the plurality of initial reservation information corresponds to more than the plurality of first total resource information, determining the plurality of first total resource information as the plurality of reserved resource information; In a case where the plurality of initial reservation information corresponds to less than or equal to the plurality of first total resource information, the plurality of initial reservation information is determined as the plurality of reserved resource information.

11. A resource scheduling device, characterized in that: The resource scheduling device comprises: An acquisition unit, configured to acquire multiple sets of resource allocation information of multiple nodes when receiving a scheduling task; a determining unit, configured to determine, according to the multiple groups of resource allocation information, multiple first total resource information and multiple reserved resource information corresponding to multiple heterogeneous nodes among the multiple nodes, and determine multiple second total resource information corresponding to multiple non-heterogeneous nodes among the multiple nodes; A removing unit, used for removing the plurality of reserved resource information from the plurality of first total resource information to obtain a plurality of first total resource information after removing; A screening unit, configured to screen a scheduling node from the plurality of nodes according to the plurality of first total resource information after elimination and the plurality of second total resource information; An execution unit is used to execute the resource creation process corresponding to the scheduling task on the scheduling node.

12. A resource scheduling device, characterized in that: The resource scheduling device comprises: A memory, a processor and a communication bus, wherein the memory communicates with the processor via the communication bus, the memory stores a resource scheduling program executable by the processor, and when the resource scheduling program is executed, the method according to any one of claims 1 to 10 is executed by the processor.

13. A storage medium having a computer program stored thereon, applied to a resource scheduling device, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 10 is implemented.

14. A computer program product comprising a computer program, characterized in that The computer program implements the method according to any one of claims 1 to 10 when executed by a processor.