Method and apparatus for scheduling virtual cloud computing resources
Through the virtual cloud computing resource scheduling method, unified computing power measures and describes heterogeneous physical computing resources, solving the problem that Kubernetes cannot schedule heterogeneous resources, realizing resource integration and efficient utilization, and improving resource utilization efficiency.
Patent Information
- Application Number
- PCT/CN2024/094276
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-02
- Filing Date
- 2024-05-20
- Publication Date
- 2024-12-05
AI Technical Summary
The existing container automation orchestration software Kubernetes only supports scheduling physical computing resources of specified resource types, and cannot effectively schedule heterogeneous computing resources, resulting in waste of resources and low utilization.
By introducing virtual cloud computing resource scheduling methods, unified computing power measures and describe heterogeneous physical computing resources, create virtual cloud computing resources based on computing power description, and determine the target physical computing resources from various types of physical computing resources for Binding to achieve resource integration and improve utilization.
It realizes unified scheduling of heterogeneous physical computing resources, improves resource utilization and overall resource utilization efficiency, blocks the differences between different resource types, and enables fragmented resources to be efficiently utilized.
Smart Images

Figure CN2024094276_05122024_PF_FP_ABST
Abstract
Description
Method and device for scheduling virtual cloud computing resources
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on June 2, 2023, with application number 202310648519.X and application name “Scheduling Method and Device for Virtual Cloud Computing Resources”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] One or more embodiments of this specification relate to the field of resource scheduling, and more particularly, to a method and apparatus for scheduling virtual cloud computing resources. Background Art
[0003] The rise of container technology has led to the development of Kubernetes (K8s), an automated container orchestration software. K8s can create containers for services and bind them to the required physical computing resources. It can also scale containers up or down based on demand. However, K8s only supports scheduling physical computing resources of a specific resource type. It schedules resources based on the resource type corresponding to the service. However, it lacks adaptability for heterogeneous computing resources, making unified scheduling impossible.
[0004] Summary of the Invention
[0005] In view of this, one or more embodiments of this specification provide a method and apparatus for scheduling virtual cloud computing resources to solve the problems existing in the related art.
[0006] To achieve the above objectives, one or more embodiments of this specification provide the following technical solutions:
[0007] According to a first aspect of one or more embodiments of this specification, a method for scheduling virtual cloud computing resources is provided. The method is applied to a resource scheduling system for scheduling virtual cloud computing resources. The resource type of the virtual cloud computing resources includes virtual cloud computing resources described based on computing power. The method includes:
[0008] Obtain the computing power requirements corresponding to the target service;
[0009] Creating a target virtual cloud computing resource described based on the computing power requirement;
[0010] A target physical computing resource is determined for the target virtual cloud computing resource from multiple types of physical computing resources managed by the resource scheduling system, the target physical computing resource is bound to the target virtual cloud computing resource, and after the binding is completed, the target virtual cloud computing resource is allocated to the target service.
[0011] Optionally, obtaining the computing power requirement corresponding to the target service includes:
[0012] Get resource request information of the target service;
[0013] The computing power requirement of the target service is estimated based on the resource request information using a preset computing power estimation algorithm.
[0014] Optionally, the resource request information includes resource restriction conditions;
[0015] The step of determining a target physical computing resource for the target virtual cloud computing resource from multiple types of physical computing resources managed by the resource scheduling system comprises:
[0016] A target physical computing resource that meets the resource constraint condition is determined for the target virtual cloud computing resource from multiple types of physical computing resources managed by the resource scheduling system.
[0017] Optionally, the resource restriction condition includes any one or a combination of the following:
[0018] resource constraints corresponding to the resource type of the physical computing resource;
[0019] resource constraints corresponding to the resource amount of the physical computing resources;
[0020] a resource constraint corresponding to a resource bandwidth of the physical computing resource;
[0021] Resource constraints corresponding to the topological relationships between the physical computing resources.
[0022] Optionally, determining a target physical computing resource that satisfies the resource constraint condition for the target virtual cloud computing resource from multiple types of physical computing resources managed by the resource scheduling system includes:
[0023] By using a preset resource scheduling planning algorithm and taking the resource restriction condition as a constraint condition, a target physical computing resource is determined for the target virtual cloud computing resource from multiple types of physical computing resources managed by the resource scheduling system.
[0024] Optionally, the optimization objective of the resource scheduling planning algorithm includes one or any combination of the following:
[0025] The target physical computing resources include the least number of physical computing resources;
[0026] The number of nodes where the target physical computing resource is located is the least;
[0027] The target physical computing resource is selected to use the least bandwidth.
[0028] Optionally, the resource scheduling system is a Kubernetes-based resource scheduling system; the physical computing resources are processor resources; the virtual cloud computing resources are virtual container resources; and the computing power requirement is the computing power requirement corresponding to at least one container created by the target service request.
[0029] According to a second aspect of one or more embodiments of this specification, a scheduling device for virtual cloud computing resources is provided, including:
[0030] The request acquisition module is used to obtain the computing power requirements corresponding to the target service;
[0031] A resource creation module, configured to create a target virtual cloud computing resource described based on the computing power requirement;
[0032] A resource allocation module is used to determine a target physical computing resource for the target virtual cloud computing resource from multiple types of physical computing resources managed by the resource scheduling system, bind the target physical computing resource to the target virtual cloud computing resource, and allocate the target virtual cloud computing resource to the target service after the binding is completed.
[0033] According to a third aspect of one or more embodiments of this specification, an electronic device is provided, including:
[0034] processor;
[0035] a memory for storing processor-executable instructions;
[0036] The processor implements the method described in the first aspect by running the executable instructions.
[0037] According to a fourth aspect of one or more embodiments of this specification, a computer-readable storage medium is provided, on which computer instructions are stored. When the instructions are executed by a processor, the steps of the method described in the first aspect are implemented.
[0038] In the above technical solution, the required computing power and heterogeneous physical computing resources of the target service are measured and described through unified computing power, and virtual cloud computing resources described based on computing power are created. The virtual cloud computing resources are bound to the corresponding physical computing resources based on computing power, and the virtual cloud computing resources are scheduled as allocable resource units, so that the differences between heterogeneous physical computing resources of different resource types can be shielded, so that heterogeneous physical computing resources can be divided and aggregated based on unified computing power; when the target physical computing resources that meet the computing power requirements are determined from the physical computing resources of multiple resource types and bound to the virtual cloud computing resources, the fragmented physical computing resources can be bound to the virtual cloud computing resources as needed, so that the resource integration of the physical computing resources can be realized, the utilization rate of the fragmented resources can be improved, and the overall resource utilization efficiency can be higher. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] FIG1 is a schematic diagram of the architecture of a scheduling system for virtual cloud computing resources provided by an exemplary embodiment;
[0040] FIG2 is a flow chart of a method for scheduling virtual cloud computing resources provided by an exemplary embodiment;
[0041] FIG3 is a schematic diagram of a binding process of virtual cloud computing resources provided by an exemplary embodiment;
[0042] FIG4 is a flow chart of another method for scheduling virtual cloud computing resources provided by an exemplary embodiment;
[0043] FIG5 is a flow chart of another method for scheduling virtual cloud computing resources provided by an exemplary embodiment;
[0044] FIG6 is a schematic structural diagram of a scheduling device for virtual cloud computing resources provided by an exemplary embodiment;
[0045] FIG7 is a schematic structural diagram of an electronic device provided by an exemplary embodiment. DETAILED DESCRIPTION
[0046] Exemplary embodiments will be described in detail herein, with examples illustrated in the accompanying drawings. In the following description, when referring to the drawings, identical numerals in different figures represent identical or similar elements, unless otherwise indicated. The implementations described in the following exemplary embodiments are not intended to represent all implementations consistent with one or more embodiments of this specification. Rather, they are merely examples of apparatuses and methods consistent with certain aspects of one or more embodiments of this specification, as detailed in the appended claims.
[0047] It should be noted that in other embodiments, the steps of the corresponding method are not necessarily performed in the order shown and described in this specification. In some other embodiments, the method may include more or fewer steps than those described in this specification. In addition, a single step described in this specification may be broken down into multiple steps for description in other embodiments, and multiple steps described in this specification may be combined into a single step for description in other embodiments.
[0048] The rise of container technology has led to the development of K8S, an automated container orchestration software. K8S can create containers for services and bind them to the required physical computing resources. It can also scale containers up or down based on demand. However, K8S still has several flaws: 1. The physical computing resources bound to containers by K8S may not be fully utilized, which can lead to resource waste. 2. K8S only supports scheduling physical computing resources of a specific resource type. It schedules resources based on the resource type associated with the service. However, it lacks adaptability for heterogeneous physical computing resources, making unified scheduling impossible.
[0049] In view of this, this specification proposes a scheduling method for virtual cloud computing resources. By introducing heterogeneous physical computing resource pooling technology and measuring and describing heterogeneous physical computing resources with unified computing power, the resource scheduling system supports customized virtual cloud computing resources described based on the computing power they can provide. Based on the computing power requirements corresponding to the target service, a target virtual cloud computing resource described based on the computing power requirements is created. A target physical computing resource is then determined for the target virtual cloud computing resource from multiple types of managed physical computing resources, and the resource is bound to the target virtual cloud computing resource, thereby allocating the bound virtual cloud computing resource to the target service.
[0050] During implementation, the computing power requirements corresponding to the target service are obtained; based on the computing power requirements, a target virtual cloud computing resource described based on the computing power requirements is created; a target physical computing resource is determined for the target virtual cloud computing resource from multiple types of physical computing resources managed by the resource scheduling system, the target physical computing resource is bound to the target virtual cloud computing resource, and after the binding is completed, the target virtual cloud computing resource is allocated to the target service.
[0051] In the above technical solution, the required computing power and heterogeneous physical computing resources of the target service are measured and described through unified computing power, and virtual cloud computing resources described based on computing power are created. The virtual cloud computing resources are bound to the corresponding physical computing resources based on computing power, and the virtual cloud computing resources are scheduled as allocable resource units, so that the differences between heterogeneous physical computing resources of different resource types can be shielded, so that heterogeneous physical computing resources can be divided and aggregated based on unified computing power; when the target physical computing resources that meet the computing power requirements are determined from the physical computing resources of multiple resource types and bound to the virtual cloud computing resources, the fragmented physical computing resources can be bound to the virtual cloud computing resources as needed, so that the resource integration of the physical computing resources can be realized, the utilization rate of the fragmented resources can be improved, and the overall resource utilization efficiency can be higher.
[0052] Please refer to Figure 1, which is a schematic diagram of the architecture of a scheduling system for virtual cloud computing resources provided by an exemplary embodiment. As shown in Figure 1, the system may include a network 10, a server 11, and several electronic devices, such as terminal devices 12, 13, and 14.
[0053] The server 11 may be a physical server including an independent host, or the server 11 may be a virtual server, a cloud server, etc. hosted by a host cluster. The terminal devices 12-14 are only one type of electronic device that a user may use. In fact, the user may also use electronic devices such as mobile phones, tablet devices, laptop computers, PDAs (Personal Digital Assistants), wearable devices (such as smart glasses, smart watches, etc.), etc., and one or more embodiments of this specification are not limited to this. The network 10 may include various types of wired or wireless networks.
[0054] In one embodiment, the server 11 can cooperate with the terminal devices 12-14; wherein, the terminal devices 12-14 can apply to the server 11 through the network 10 to establish a target virtual cloud computing resource corresponding to the target service, and then the server 11 executes the virtual cloud computing resource scheduling method of this specification based on the computing power requirements of the target service, and allocates the established target virtual cloud computing resource to the target service.
[0055] In order to enable people skilled in the art to better understand the technical solutions in this application, the technical solutions in this specification will be clearly and completely described below in conjunction with the drawings in the embodiments of this application.
[0056] Please refer to Figure 2, which shows a method for scheduling virtual cloud computing resources according to an exemplary embodiment. The method can be applied to a resource scheduling system for scheduling virtual cloud computing resources, including customized virtual cloud computing resources described based on computing power.
[0057] Among them, the resource scheduling system can manage physical computing resources of various resource types, that is, heterogeneous physical computing resources. The computing resources of various resource types can be various types of processor resources, for example, including graphics processing units (GPUs), tensor processing units (TPUs), physical computing processors (PPUs), brain processors (BPUs), neural network processors (NPUs), etc. The physical computing resources of various resource types can also include processor resources using different resource partitioning methods, for example, processor resources partitioned based on space or time.
[0058] The resource scheduling system can abstract physical computing resources of various resource types in a preset abstract manner, so as to be able to describe various types of physical computing resources based on the computing power they can provide, obtain computing power information corresponding to each physical computing resource, and facilitate unified management of physical computing resources of various resource types based on computing power. The computing power information may include the used computing power, remaining computing power, etc. of each physical computing resource. The resource scheduling system can divide and aggregate each physical computing resource based on computing power, create virtual cloud computing resources described based on computing power, and bind the virtual cloud computing resources to the corresponding physical computing resources based on computing power, so that the resource scheduling system uses virtual cloud computing resources as resource units for resource scheduling and allocation.
[0059] The resource scheduling system can manage physical computing resources located on different resource nodes. Multiple resource nodes can form a resource cluster. Each resource node can include one or more physical computing resources of the multiple resource types described above. For example, one resource node can include 2 CPUs and 8 GPUs.
[0060] The computing power that the resource scheduling system can provide for describing physical computing resources and virtual cloud computing resources can be varied and can be a unit of measurement for expressing data processing capabilities, for example, Tera Floating Point Operations Per Second (TFlops / s), Million Floating Point Operations Per Second (MFlop / s), etc., which are used to express the number of floating-point operations per second; Tera Operations Per Second (TOPS), Million Operations Per Second (MOPS), etc., which are used to express the number of operations executed by the processor per second; Million Instructions Per Second (MIPS), etc., which are used to express the average execution speed of processing single-word fixed-point instructions. For simplicity, TFlops / s is used as an example in the following embodiments for illustration.
[0061] The method for scheduling virtual cloud computing resources may include the following steps.
[0062] S210: Obtain the computing power requirements corresponding to the target service.
[0063] When a user needs to deploy a target service, he or she may send resource request information for the target service to the resource scheduling system, and the resource scheduling system may obtain the computing power requirement corresponding to the target service from the resource request information.
[0064] Wherein, the resource request information may be the resource request information for the running component when the user requests to create the running component for running the target service. The computing power requirement corresponding to the target service may be the computing power requirement corresponding to the running component for running the target service. Wherein, the running component may be a container (container) or a container set (pod) for running the target service, and the computing power requirement corresponding to the target service may be the computing power requirement corresponding to at least one container or container set for running the target service. For the sake of simplicity, the following embodiments are all illustrated by taking pod as an example of the running component for running the target service.
[0065] The resource request information may be expressed in a data file edited in a preset data serialization language, such as a YAML file, etc.
[0066] There are various ways to obtain the computing power requirements corresponding to the target service. The user can carry the computing power requirements for the pod corresponding to the target service in the resource request information sent to the resource scheduling system. For example, the computing power requirement corresponding to the pod can be indicated as mTFlops / s in the YAML file, and the resource scheduling system can extract the computing power requirement corresponding to the target service as mTFlops / s from the resource request information; if the resource request information received by the resource scheduling system does not carry the computing power requirements for the pod corresponding to the target service, the resource request information can be parsed through a preset computing power estimation algorithm to estimate the computing power requirements corresponding to the target service. For example, if the resource request information provides the requirement information of the physical computing resources required for running the pod of the target service, the preset computing power estimation algorithm can be used to parse the requirement information of the physical computing resources required for the pod to estimate the computing power requirements corresponding to the target service.
[0067] Among them, the computing power estimation algorithm can be a method or service that can abstract the physical computing resources of various resource types, so as to abstract the physical computing resources of various resource types based on the computing power they can provide, so as to estimate the computing power requirements corresponding to the target service; for example, if the resource request information includes that the physical computing resources required by the pod are 40% of the A100 GPU, the computing power estimation algorithm can be used to obtain the computing power requirement corresponding to the target service as mTFlops / s.
[0068] S220: Create a target virtual cloud computing resource described based on the computing power requirement.
[0069] S230. Determine a target physical computing resource for the target virtual cloud computing resource from multiple types of physical computing resources managed by the resource scheduling system, bind the target physical computing resource to the target virtual cloud computing resource, and allocate the target virtual cloud computing resource to the target service after the binding is completed.
[0070] After obtaining the computing power requirements corresponding to the target service, the resource scheduling system can create a target virtual cloud computing resource described based on the computing power requirements. The virtual cloud computing resource can be represented as a vXPU.
[0071] It should be noted that the computing power that can actually be called upon by the target virtual cloud computing resource can be close to, equal to, or exceed the computing power requirement. The description information of the target virtual cloud computing resource may include the user's computing power requirement for the target virtual cloud computing resource, that is, the user's computing power requirement for the target service; the description information of the target virtual cloud computing resource may also include the computing power of the created target virtual cloud computing resource, or other computing power information such as the computing power of the physical computing resources bound to the target virtual cloud computing resource.
[0072] The resource scheduling system can also obtain resource information for each physical computing resource it manages. The resource information can include computing power information for each physical computing resource, topology information corresponding to each physical computing resource, and so on. The computing power information can include the used computing power and remaining computing power of each physical computing resource. The topology information can include the nodes where each physical computing resource is located, as well as the transmission method between each physical computing resource. There are various ways to obtain resource information for each physical computing resource, and it can be obtained through the computing power estimation method described above.
[0073] The resource scheduling system determines the target physical computing resource that can be used to construct the target virtual cloud computing resource from the physical computing resources it manages based on the computing power demand corresponding to the target virtual cloud computing resource and the resource information of each physical computing resource obtained.
[0074] When determining the target physical computing resource for the target virtual cloud computing resource from the multiple types of physical computing resources managed by the resource scheduling system, the resource scheduling system can select the target physical computing resource that is the target virtual cloud computing resource from all the physical computing resources it manages based on a preset resource selection strategy. For example, the resource selection strategy can be to select a physical computing resource from the physical computing resources it manages whose sum of remaining computing power can meet the computing power requirements of the target virtual cloud computing resource as the target physical computing resource.
[0075] In order to make the target virtual cloud computing resources more suitable for the target service, the resource selection strategy may include resource constraints on the target physical computing resources. The resource constraints may be various, for example, any one or a combination of the following:
[0076] Resource constraints corresponding to the resource types of the physical computing resources; for example, the target physical computing resources may be required to be a specified combination of one or more resource types such as GPU, NPU, PPU, etc.;
[0077] Resource constraints corresponding to the resource amount of the physical computing resource; the resource amount of the physical computing resource may include a computing power requirement based on computing power; may also include resource amounts for various resource types, for example, the resource amount for the A100 GPU may be 40%; may also include the number of processors for the physical computing resource, for example, one GPU, or no more than two GPUs, etc.;
[0078] A resource constraint corresponding to the resource bandwidth of the physical computing resource, for example, a bandwidth of not less than 50 GB / s may be required;
[0079] Resource restriction conditions corresponding to the topological relationship between the physical computing resources; the topological relationship may include restrictions on the resource nodes where the target physical computing resources are located; for example, requiring that cross-node GPUs are not allowed; the topological relationship may also include restrictions on transmission methods between different target physical computing resources, for example, requiring the use of NVlink transmission method between GPUs, pcie transmission method between CPUs and GPUs, IPC / MPI transmission method between CPUs, tcp transmission method between nodes, and so on.
[0080] In which, the resource restriction condition can be specified by the user, for example, the resource request information received corresponding to the target service includes the resource restriction condition. If the resource scheduling system obtains the resource restriction condition specified by the user, the resource scheduling system will determine the target physical computing resource that meets the resource restriction condition for the target virtual cloud computing resource from the multiple types of physical computing resources managed by the resource scheduling system based on the resource restriction condition specified by the user; if the user does not specify the resource restriction condition, the resource scheduling system can determine the resource restriction condition corresponding to the target service according to the characteristics of the target service or the preset default conditions, and based on the resource restriction condition, determine the target physical computing resource that meets the resource restriction condition for the target virtual cloud computing resource from the multiple types of physical computing resources managed by the resource scheduling system.
[0081] It can be seen that by obtaining resource constraint conditions, a target physical computing resource that meets the resource constraint conditions is determined for the target virtual cloud computing resource from the multiple types of physical computing resources managed by the resource scheduling system. Therefore, after the target physical computing resource is bound to the target virtual cloud computing resource, the target virtual cloud computing resource allocated to the target service can be more suitable for running the target service and meet the needs of the target service.
[0082] It should be noted that when determining the target physical computing resources corresponding to the target virtual cloud computing resources, the selection can also be made based on the current resource usage of each physical computing resource; if the resource utilization rate of each physical computing resource is low and there are a large number of unused physical computing resources, then the target physical computing resources that are relatively beneficial to the operation of the target service can be selected, for example, relatively more target physical computing resources can be selected to make the target virtual resources have a certain redundancy; if the resource utilization rate of each physical computing resource is high or there are a large number of fragmented physical computing resources, then the target physical computing resources that are relatively beneficial to improving resource utilization can be selected.
[0083] After determining the target physical computing resource corresponding to the target virtual cloud computing resource, the resource scheduling system can bind the target physical computing resource to the target virtual cloud computing resource, effectively integrating the target physical computing resource into a target virtual cloud computing resource described by computing power. The bound target virtual cloud computing resource can then be allocated to the target service, that is, to the pod running the target service.
[0084] It should be noted that the target physical computing resource bound to the target virtual cloud computing resource can include one or more physical computing resources. Accordingly, binding the target physical computing resource to the target virtual cloud computing resource essentially binds all or part of the computing power of the target physical computing resource to the target virtual cloud computing resource. Therefore, a physical computing resource can be bound to one or more virtual cloud computing resources. The mapping relationship between the target virtual cloud computing resource and the target physical computing resource can be 1:n, 1:1, or n:1, etc., thereby achieving resource integration of physical computing resources and improving the utilization of fragmented resources.
[0085] Please refer to FIG3 , which shows a process of binding virtual cloud computing resources.
[0086] As shown in Figure 3, the two resource nodes managed by the resource scheduling system each include physical computing resources of two CPUs and eight GPUs. The topology information between the physical computing resources may include: within the same node, NVlink transmission is used between GPUs, PCIE transmission is used between CPUs and GPUs, IPC / MPI transmission is used between CPUs, and TCP transmission is used between nodes. The shaded area within each physical computing resource in Figure 3 represents the used computing power of the physical computing resource, and the blank area represents the remaining computing power of the physical computing resource. The more blank areas, the greater the proportion of remaining computing power of the physical computing resource.
[0087] Based on the acquired computing power requirements corresponding to the target service and the computing power information of each physical computing resource, the resource scheduling system can determine, from the resource nodes shown in FIG3 , a target physical computing resource that satisfies resource constraints and corresponds to the target virtual cloud computing resource. These resource constraints may include whether cross-node transmission is permitted, whether NVlinkw transmission is required between GPUs, whether PCIE transmission is required between CPUs and GPUs, whether IPC / MPI transmission is required between CPUs, or whether TCP transmission is required between nodes. If the target physical computing resource is determined to be the physical computing resource contained in the dashed box shown in FIG3 , the two CPUs and six GPUs located in the two resource nodes in the dashed box are bound to the target virtual cloud computing resource, and the target virtual cloud computing resource is allocated to the target service.
[0088] It should be noted that the resource scheduling system can be a K8s-based resource scheduling system; the resource scheduling system can also be a resource management service that can be connected to the K8s resource scheduling system; the virtual cloud computing resources created by the resource scheduling system based on computing power description are virtual container resources, and the virtual cloud computing resources can be allocated to containers or container sets deployed on resource nodes in the K8s resource cluster.
[0089] Please refer to Figure 4, which shows a scheduling method for virtual cloud computing resources. In this scheduling method, in order to improve the resource scheduling system's ability to obtain the computing power requirements corresponding to the target service to create virtual cloud computing resources, and quickly determine the target physical computing resources corresponding to the target virtual cloud computing resources from the managed heterogeneous physical computing resources, a computing power estimation platform can be set. The computing power estimation platform can implement the computing power estimation method described above, and can be used to parse the obtained resource request information corresponding to the target service to obtain the computing power requirements corresponding to the target service, as well as the resource constraints corresponding to the target service; the computing power estimation platform can also parse the heterogeneous physical computing resources managed by the resource scheduling system, and the resource information of each physical computing resource obtained can include the computing power information of each physical computing resource, as well as the topology information between each physical computing resource, etc.; wherein, the computing power information can include used computing power, remaining computing power, etc.; the topology information can include the nodes where each physical computing resource is located, as well as the transmission method between each physical computing resource, etc. It can be seen that when the resource scheduling system is connected to new heterogeneous physical computing resources, the new heterogeneous physical computing resources can be analyzed through the computing power estimation platform, so that the new heterogeneous physical computing resources can be quickly entered into the resource pool for unified scheduling.
[0090] In the scheduling method of virtual cloud computing resources shown in FIG4 , a user first initiates a resource request for a target service, and sends the resource request information to the resource scheduling system and inputs it into the computing power estimation platform;
[0091] The computing power estimation platform can parse the acquired resource request information corresponding to the target service to obtain the computing power requirements and resource constraints corresponding to the target service, and send them to the resource scheduling system;
[0092] The resource scheduling system creates a target virtual cloud computing resource corresponding to the target service based on the acquired computing power requirements corresponding to the target service. Based on the resource constraints corresponding to the target service, as well as computing power information and topology information of each physical computing resource, the resource scheduling system determines the target physical computing resource corresponding to the target virtual cloud computing resource from the physical computing resources corresponding to the multiple resource types managed. The resource scheduling system can bind the determined target physical computing resource to the target virtual cloud computing resource.
[0093] A pod corresponding to the target service can be deployed on the target node in the Kubernetes cluster. The pod includes at least one container running the target service. The bound target virtual cloud computing resource can be allocated to the pod corresponding to the target service on the target node to run the at least one container corresponding to the target service.
[0094] It can be seen from the technical solutions of the above embodiments that the embodiments of the present application measure and describe the required computing power and heterogeneous physical computing resources of the target service through unified computing power, create virtual cloud computing resources described based on computing power, bind the virtual cloud computing resources with the corresponding physical computing resources based on computing power, and schedule them with virtual cloud computing resources as allocable resource units, so as to shield the differences between heterogeneous physical computing resources of different resource types, so that heterogeneous physical computing resources can be divided and aggregated based on unified computing power; when determining the target physical computing resources that meet the computing power requirements from physical computing resources of multiple resource types and binding them with virtual cloud computing resources, the fragmented physical computing resources can be bound to the virtual cloud computing resources as needed, so as to realize resource integration of physical computing resources, improve the utilization rate of fragmented resources, and make the overall resource utilization efficiency higher.
[0095] Based on the above embodiments, the specific implementation method of determining the target physical computing resource that meets the resource constraint conditions for the target virtual cloud computing resource from the multiple types of physical computing resources managed by the resource scheduling system can be diverse. For example, based on a preset resource selection strategy, a combination of multiple physical computing resources that meet the computing power requirements and resource constraint conditions can be selected from the managed physical computing resources, and the advantages and disadvantages of various combinations can be compared or scored to determine the best or highest-scoring combination as the target physical computing resource corresponding to the target virtual cloud computing resource.
[0096] The resource selection strategy can be selected by the operation and maintenance personnel based on experience, but the operation and maintenance personnel need to be familiar with the scheduling strategy. In order to reduce the operation and maintenance costs, an algorithm that can scientifically measure and express scheduling requirements can be adopted. For example, in one embodiment, the resource selection strategy can be abstracted into a preset resource scheduling planning algorithm, and the resource restriction conditions can be set as the constraints of the resource scheduling planning algorithm. The target physical computing resources are determined for the target virtual cloud computing resources from the multiple types of physical computing resources managed by the resource scheduling system.
[0097] The resource scheduling rule algorithm may adopt an optimization mathematical rule algorithm, such as linear programming, integer programming, stochastic programming, combinatorial optimization, etc. For example, in one embodiment, an operations research algorithm may be adopted, which can find the optimal or approximately optimal solution to a complex problem.
[0098] When determining the target physical computing resources for the target virtual cloud computing resources from the multiple types of physical computing resources managed by the resource scheduling system based on the resource scheduling rule algorithm, the optimization function in the resource scheduling rule algorithm can be set based on the preset optimization target to determine the optimal combination of target physical computing resources for the target virtual cloud computing resources from the multiple types of physical computing resources managed by the resource scheduling system.
[0099] The optimization objectives of the resource scheduling planning algorithm may include one or any combination of the following:
[0100] The target physical computing resources include the least number of physical computing resources;
[0101] The number of nodes where the target physical computing resource is located is the least;
[0102] The target physical computing resource is selected to use the least bandwidth.
[0103] Please refer to Figure 5, which shows a scheduling method for virtual cloud computing resources. The resource scheduling system can first obtain the computing power requirements and resource constraints corresponding to the target service, as well as the computing power information and topology information corresponding to each physical computing resource from the computing power evaluation platform and the physical computing resources it manages; based on the preset resource scheduling rule algorithm, modeling is performed according to the above information obtained, including constraints corresponding to the resource constraints and optimization functions corresponding to the optimization objectives; then, a solver is used to solve the optimal combination of physical computing resources for constructing the target virtual cloud computing resource based on the optimization objective, as the target physical computing resource corresponding to the target virtual cloud computing resource; the determined target physical computing resource is bound to the target virtual cloud computing resource, and the bound virtual cloud computing resource is allocated to the target service.
[0104] It should be noted that when solving the optimal combination of physical computing resources for constructing the target virtual cloud computing resources based on the preset resource scheduling planning algorithm, multiple optimal combinations can be solved, and then one group is randomly selected from the multiple solved combinations as the target physical computing resources and bound to the target virtual cloud computing resources.
[0105] The embodiment of the present application abstracts the method of determining the target physical computing resources corresponding to the target virtual cloud computing resources into a preset resource scheduling rule algorithm, so that scheduling requirements can be measured and expressed more scientifically instead of using resource selection strategies empirically. This can effectively reduce operation and maintenance costs and enable better and intelligent utilization and scheduling of resources.
[0106] Corresponding to the aforementioned embodiments of the virtual cloud computing resource method, the present application also provides embodiments of a scheduling device for virtual cloud computing resources.
[0107] As shown in FIG6 , the virtual cloud computing resource scheduling device includes: a request acquisition module 601 , a resource creation module 602 and a resource allocation module 603 .
[0108] The request acquisition module 601 is used to obtain the computing power requirements corresponding to the target service;
[0109] The resource creation module 602 is configured to create a target virtual cloud computing resource described based on the computing power requirement;
[0110] The resource allocation module 603 is used to determine the target physical computing resource for the target virtual cloud computing resource from the multiple types of physical computing resources managed by the resource scheduling system, bind the target physical computing resource with the target virtual cloud computing resource, and allocate the target virtual cloud computing resource to the target service after the binding is completed.
[0111] Optionally, the request acquisition module 601 is used to:
[0112] Get resource request information of the target service;
[0113] The computing power requirement of the target service is estimated based on the resource request information using a preset computing power estimation algorithm.
[0114] Optionally, the resource request information includes resource restriction conditions;
[0115] The resource allocation module 603 is configured to determine a target physical computing resource that meets the resource constraint condition for the target virtual cloud computing resource from among multiple types of physical computing resources managed by the resource scheduling system.
[0116] Optionally, the resource restriction condition includes any one or a combination of the following:
[0117] resource constraints corresponding to the resource type of the physical computing resource;
[0118] resource constraints corresponding to the resource amount of the physical computing resources;
[0119] a resource constraint corresponding to a resource bandwidth of the physical computing resource;
[0120] Resource constraints corresponding to the topological relationships between the physical computing resources.
[0121] Optionally, the resource allocation module 603 is configured to:
[0122] By using a preset resource scheduling planning algorithm and taking the resource restriction condition as a constraint condition, a target physical computing resource is determined for the target virtual cloud computing resource from multiple types of physical computing resources managed by the resource scheduling system.
[0123] Optionally, the optimization objective of the resource scheduling planning algorithm includes one or any combination of the following:
[0124] The target physical computing resources include the least number of physical computing resources;
[0125] The number of nodes where the target physical computing resource is located is the least;
[0126] The target physical computing resource is selected to use the least bandwidth.
[0127] Optionally, the resource scheduling system is a K8s-based resource scheduling system; the physical computing resources are processor resources; the virtual cloud computing resources are virtual container resources; and the computing power requirement is the computing power requirement corresponding to at least one container created by the target service request.
[0128] In the above technical solution, the required computing power and heterogeneous physical computing resources of the target service are measured and described through unified computing power, and virtual cloud computing resources described based on computing power are created. The virtual cloud computing resources are bound to the corresponding physical computing resources based on computing power, and the virtual cloud computing resources are scheduled as allocable resource units, so that the differences between heterogeneous physical computing resources of different resource types can be shielded, so that heterogeneous physical computing resources can be divided and aggregated based on unified computing power; when the target physical computing resources that meet the computing power requirements are determined from the physical computing resources of multiple resource types and bound to the virtual cloud computing resources, the fragmented physical computing resources can be bound to the virtual cloud computing resources as needed, so that the resource integration of the physical computing resources can be realized, the utilization rate of the fragmented resources can be improved, and the overall resource utilization efficiency can be higher.
[0129] FIG7 is a schematic structural diagram of a device provided by an exemplary embodiment. Referring to FIG7 , at the hardware level, the device includes a processor 702, an internal bus 704, a network interface 706, a memory 708, and a non-volatile memory 710, and may also include other required hardware. One or more embodiments of this specification may be implemented based on software, such as the processor 702 reading the corresponding computer program from the non-volatile memory 710 into the memory 708 and then running it. Of course, in addition to software implementation, one or more embodiments of this specification do not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but may also be hardware or logic devices.
[0130] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email transceiver, game console, tablet computer, wearable device, or any combination of these devices.
[0131] In a typical configuration, a computer includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.
[0132] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.
[0133] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be used to store information using any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disc read-only memory (CD-ROM), digital versatile disc (DVD) or other optical storage, magnetic cassettes, disk storage, quantum memory, graphene-based storage media or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory media such as modulated data signals and carrier waves.
[0134] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0135] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.
[0136] The foregoing description of this specification describes specific embodiments. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims can be performed in an order different from that described in the embodiments and still achieve the desired results. Furthermore, the processes depicted in the accompanying drawings do not necessarily require the specific order shown or the sequential order to achieve the desired results. In certain embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0137] The terms used in one or more embodiments of this specification are for the purpose of describing specific embodiments only and are not intended to limit one or more embodiments of this specification. The singular forms "a," "an," "the," and "the" used in one or more embodiments of this specification and the appended claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.
[0138] It should be understood that although the terms first, second, third, etc. may be used to describe various information in one or more embodiments of this specification, such information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of this specification, first information may also be referred to as second information, and similarly, second information may also be referred to as first information. Depending on the context, the word "if" as used herein may be interpreted as "when..." or "when..." or "in response to determining."
[0139] The above description is merely a preferred embodiment of one or more embodiments of this specification and is not intended to limit one or more embodiments of this specification. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of one or more embodiments of this specification shall be included in the scope of protection of one or more embodiments of this specification.
Claims
1. A method for scheduling virtual cloud computing resources, characterized in that: A resource scheduling system for scheduling virtual cloud computing resources, wherein the resource type of the virtual cloud computing resources includes virtual cloud computing resources described based on computing power, and the method includes: Obtain the computing power requirements corresponding to the target service; Creating a target virtual cloud computing resource described based on the computing power requirement; A target physical computing resource is determined for the target virtual cloud computing resource from multiple types of physical computing resources managed by the resource scheduling system, the target physical computing resource is bound to the target virtual cloud computing resource, and after the binding is completed, the target virtual cloud computing resource is allocated to the target service.
2. The method according to claim 1, characterized in that The obtaining of the computing power requirement corresponding to the target service includes: Get resource request information of the target service; The computing power requirement of the target service is estimated based on the resource request information using a preset computing power estimation algorithm.
3. The method according to claim 2, characterized in that The resource request information includes resource restriction conditions; The step of determining a target physical computing resource for the target virtual cloud computing resource from a plurality of types of physical computing resources managed by the resource scheduling system comprises: A target physical computing resource that meets the resource constraint condition is determined for the target virtual cloud computing resource from a plurality of types of physical computing resources managed by the resource scheduling system.
4. The method according to claim 3, characterized in that The resource restriction condition includes any one or a combination of the following: resource constraints corresponding to the resource type of the physical computing resource; a resource constraint corresponding to the resource amount of the physical computing resource; a resource constraint corresponding to a resource bandwidth of the physical computing resource; Resource constraints corresponding to the topological relationships between the physical computing resources.
5. The method according to claim 3, characterized in that: The step of determining a target physical computing resource that satisfies the resource restriction condition for the target virtual cloud computing resource from the multiple types of physical computing resources managed by the resource scheduling system includes: By using a preset resource scheduling planning algorithm and taking the resource restriction condition as a constraint condition, a target physical computing resource is determined for the target virtual cloud computing resource from multiple types of physical computing resources managed by the resource scheduling system.
6. The method according to claim 5, characterized in that The optimization objectives of the resource scheduling planning algorithm include any combination of one or more of the following: The target physical computing resources include the least number of physical computing resources; The number of nodes where the target physical computing resource is located is the least; The target physical computing resource is selected to use the least bandwidth.
7. The method according to claim 1, characterized in that The resource scheduling system is a Kubernetes-based resource scheduling system; the physical computing resources are processor resources; the virtual cloud computing resources are virtual container resources; and the computing power requirement is the computing power requirement corresponding to at least one container created by the target service request.
8. A scheduling device for virtual cloud computing resources, characterized in that: include: The request acquisition module is used to obtain the computing power requirements corresponding to the target service; A resource creation module, used to create a target virtual cloud computing resource described based on the computing power requirement; A resource allocation module is used to determine a target physical computing resource for the target virtual cloud computing resource from multiple types of physical computing resources managed by the resource scheduling system, bind the target physical computing resource with the target virtual cloud computing resource, and allocate the target virtual cloud computing resource to the target service after the binding is completed.
9. An electronic device, characterized in that: include: processor; a memory for storing processor-executable instructions; The processor implements the method according to any one of claims 1 to 7 by running the executable instructions.
10. A computer-readable storage medium, characterized in that: Computer instructions are stored thereon, and when the instructions are executed by a processor, the steps of the method according to any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
Method and apparatus for training neural network
CN112400160A
Heterogeneous computing device virtualization method and system
CN113434261A
Virtualized computing power providing method and system
CN115167985A
Virtual cloud computing resource scheduling method and device
CN117009069A
System and method for processing task resources
US20170083381A1
Cited By
Heterogeneous computing power scheduling method and device and storage medium
CN119718692A
CPU and NPU computing power distribution scheduling system based on K8s
CN119960906A
GPU resource virtualization computing power scheduling method and device
CN120196421A
Task scheduling method and device, equipment and storage medium
CN120336034A
Resource scheduling method and electronic equipment
CN120743567A
