WO2022083764A1 - 一种实例分配方法、系统及装置 - Google Patents
一种实例分配方法、系统及装置 Download PDFInfo
- Publication number
- WO2022083764A1 WO2022083764A1 PCT/CN2021/125888 CN2021125888W WO2022083764A1 WO 2022083764 A1 WO2022083764 A1 WO 2022083764A1 CN 2021125888 W CN2021125888 W CN 2021125888W WO 2022083764 A1 WO2022083764 A1 WO 2022083764A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- instance
- tenant
- instance allocation
- cloud computing
- allocation request
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000015654 memory Effects 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 31
- 230000003993 interaction Effects 0.000 claims description 18
- 238000012790 confirmation Methods 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 description 87
- 238000013461 design Methods 0.000 description 23
- 238000005457 optimization Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 230000002452 interceptive effect Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000012549 training Methods 0.000 description 10
- 230000004044 response Effects 0.000 description 9
- 230000001960 triggered effect Effects 0.000 description 7
- 238000009877 rendering Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000010219 correlation analysis Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
Definitions
- the present application relates to the field of computers, and in particular, to a method, system and apparatus for instance allocation.
- Cloud service providers provide tenants with many instances suitable for different tasks. According to task types, they can be divided into general-purpose, memory-enhanced, and computing-enhanced types, and according to billing types, they can be divided into on-demand instances and spot instances.
- the existing service model requires tenants to determine the types of services they need to purchase on the premise of knowing the types of tasks.
- the present application provides an instance allocation method, which can improve the efficiency of instance allocation.
- a first aspect of the present application provides an instance allocation method, which is used in a cloud computing management system.
- the method includes: receiving an instance allocation request uploaded by a tenant, where the instance allocation request includes processor resource requirements; and generating an instance allocation scheme according to the instance allocation request, wherein the instance allocation scheme includes the life cycle of the instance allocated to the tenant ; and then allocate the instance to the tenant from the cloud computing resource pool managed by the cloud computing management system according to the instance allocation scheme.
- the instance allocation method reduces the workload of tenants and improves the efficiency of instance allocation by automatically generating an instance allocation scheme.
- the instance allocation request uploaded by the tenant does not include the instance's lifetime, where the instance's lifetime indicates when the instance is started and stopped.
- the processor resource requirement includes the product of the number of processors and the duration.
- the instance allocation request further includes any one or more of the following parameters: instance type, availability zone, instance specification, minimum number of simultaneous running instances, minimum effective running time, and expiration time, wherein, The minimum number of simultaneous running instances indicates the minimum number of instances running at the same time, the shortest valid running time indicates the minimum time for each instance to run, and the deadline indicates the latest time for the running of the instance to meet the processor resource requirements.
- the instance allocation scheme includes any one or more of the following parameters: the instance type of the instance, the availability zone where the instance is located, and the instance specification of the instance.
- the instance type of the instance, the availability zone where the instance is located, and the instance specification of the instance are determined according to the parameters included in the instance allocation request: instance type, availability zone, and instance specification.
- the method further includes: sending the instance allocation scheme to the tenant; and receiving confirmation of the instance allocation scheme from the tenant.
- the method further includes: determining that the cloud computing resource pool cannot satisfy the instance allocation request; notifying the tenant to adjust the instance allocation request; and generating the instance allocation scheme according to the adjusted instance allocation request.
- the method further includes: generating one or more adjustment schemes, wherein each adjustment scheme indicates an adjustment to one or more parameters of the instance allocation request; and receiving an adjustment scheme selected by the tenant.
- the method further includes: receiving a task uploaded by the tenant; storing the task in a storage resource of the cloud computing resource pool; the cloud computing resource managed from the cloud computing management system according to the instance allocation scheme After the instance is allocated to the tenant in the pool, the method further includes: using the instance to run the stored task.
- the method further includes: generating the instance allocation scheme based on the instance allocation request and a predicted idle state of computing resources in the cloud computing resource pool, wherein the predicted idle state of the computing resources indicates the computing resources in the future The idle amount and idle time of the resource.
- the method further includes: allocating the instance to the tenant from the cloud computing resource pool according to the instance allocation scheme and the real-time idle state of computing resources in the cloud computing resource pool, wherein the computing resource The real-time idle state of indicates the idle quantity of the computing resource at the current moment.
- a second aspect of the present application provides a cloud computing management system, the system includes an interaction module and a processing module: the interaction module receives an instance allocation request uploaded by a tenant, where the instance allocation request includes processor resource requirements; the processing module, According to the instance allocation request, an instance allocation scheme is generated, wherein the instance allocation scheme includes the life cycle of the instance allocated to the tenant; according to the instance allocation scheme, the tenant is allocated from the cloud computing resource pool managed by the cloud computing management system. the instance.
- the instance allocation request uploaded by the tenant does not include the instance's lifetime, where the instance's lifetime indicates when the instance is started and stopped.
- the processor resource requirement includes the product of the number of processors and the duration.
- the instance allocation request further includes any one or more of the following parameters: instance type, availability zone, instance specification, minimum number of simultaneous running instances, minimum effective running time, and expiration time, wherein, The minimum number of simultaneous running instances indicates the minimum number of instances running at the same time, the shortest valid running time indicates the minimum time for each instance to run, and the deadline indicates the latest time for the running of the instance to meet the processor resource requirements.
- the instance allocation scheme includes any one or more of the following parameters: the instance type of the instance, the availability zone where the instance is located, and the instance specification of the instance.
- the instance type of the instance, the availability zone where the instance is located, and the instance specification of the instance are determined according to the parameters included in the instance allocation request: instance type, availability zone, and instance specification.
- the interaction module is further configured to send the instance allocation scheme to the tenant; and receive confirmation of the instance allocation scheme from the tenant.
- the processing unit is further configured to determine that the cloud computing resource pool cannot satisfy the instance allocation request; notify the tenant to adjust the instance allocation request; and generate the instance allocation scheme according to the adjusted instance allocation request .
- the processing unit is further configured to generate one or more adjustment schemes, wherein each adjustment scheme indicates to adjust one or more parameters of the instance allocation request; the interaction module is configured to receive The adjustment plan chosen by this tenant.
- the cloud computing management system further includes a storage module: the interaction module, for receiving the task uploaded by the tenant; the storage module, for storing the task in the storage resources of the cloud computing resource pool; The processing module is used to run the stored task by using the instance.
- the processing unit is further configured to generate the instance allocation scheme according to the instance allocation request and the predicted idle state of the computing resources in the cloud computing resource pool, wherein the predicted idle state of the computing resources indicates the future The idle amount and idle time of this computing resource.
- the processing unit is further configured to, according to the instance allocation scheme and the real-time idle state of computing resources in the cloud computing resource pool, allocate the instance to the tenant from the cloud computing resource pool, wherein the The real-time idle state of the computing resource indicates the idle quantity of the computing resource at the current moment.
- a third aspect of the present application provides a computing device cluster, including at least one computing device, each computing device including a processor and a memory; the processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, to cause the computing device to perform the method as provided by the first aspect or any possible design of the first aspect.
- a fourth aspect of the present application provides a computer-readable storage medium, which is characterized by comprising computer program instructions.
- the computer program instructions are executed by a computing device cluster, the computing device cluster executes the first aspect or the first aspect. any possible design of the method provided.
- a fifth aspect of the present application provides a computer program product comprising instructions which, when executed by a cluster of computer devices, cause the cluster of computer devices to perform the method as provided by the first aspect or any possible design of the first aspect.
- FIG. 1 is a schematic diagram of an application scenario of an instance allocation method provided by an embodiment of the present application.
- FIG. 3 is a schematic diagram of an interactive interface of a client according to an embodiment of the present application.
- 4A is a schematic diagram of a predicted idle state of computing resources according to an embodiment of the present application.
- 4B is a schematic diagram of a predicted idle state of computing resources according to an embodiment of the present application.
- FIG. 5 is a schematic diagram of an interactive interface of another client according to an embodiment of the present application.
- FIG. 6 is a schematic diagram of an interactive interface of another client according to an embodiment of the present application.
- FIG. 7 is a schematic structural diagram of a cloud computing management system according to an embodiment of the present application.
- FIG. 8 is a schematic structural diagram of a computing device according to an embodiment of the present application.
- FIG. 9 is a schematic structural diagram of a computing device cluster according to an embodiment of the present application.
- FIG. 10 is a schematic structural diagram of another computing device cluster provided by an embodiment of the present application.
- FIG. 11 is a schematic structural diagram of another computing device cluster provided by an embodiment of the present application.
- the cloud service provider provides computing instance services, and a computing instance is a computing unit with computing resources that can run the tenant's tasks. Common examples include virtual machines, containers, or bare metal servers.
- the computing instance service provides tenants with many instances suitable for different types of tasks. According to the type, it can be divided into on-demand instances and bidding instances. According to the specifications, it can be divided into general-purpose, memory-enhanced, and computing-enhanced.
- the computing resources include resources required for performing computing operations. For example, central processing unit (CPU) or graphics processing unit (GPU) resources, storage resources (memory space), network resources, etc.
- CPU central processing unit
- GPU graphics processing unit
- storage resources memory space
- network resources etc.
- the instance allocation plan is formulated according to the tenant's task and the dynamic change of the cloud service provider's computing resource idle state, which can better meet the tenant's needs and can more efficiently mobilize computing resources.
- the present application provides an instance allocation method.
- a tenant uploads an instance allocation request to a cloud computing management system, and the cloud computing management system predicts the idle state of computing resources in a future period of time. Further, based on the predicted idle state of computing resources and the instance allocation request of the tenant, an instance allocation plan is formulated to meet the instance allocation request of the tenant.
- the cloud computing management system 200 is respectively connected to the tenant side and the computing resource pool.
- the tenant side may include one or more tenants.
- tenants A through M may be included.
- the computing resource pool may include one or more computing resources.
- the computing resource pool may include at least servers 1 to n.
- the server may be a local server or a cloud server.
- Each tenant can upload the instance allocation request to the cloud computing management system 200 .
- the tenant may upload the instance allocation request through the client of the cloud computing management system 200 .
- the client can be deployed on the terminal device on the tenant side.
- the cloud computing management system 200 After receiving the instance allocation request uploaded by the tenant, the cloud computing management system 200 will predict the future idle quantity and idle time of each server in the computing resource pool, so as to obtain the predicted idle state of the servers (computing resources) in the cloud computing resource pool. . Further, taking the instance allocation request uploaded by the tenant and the predicted idle state of the server as constraints, and taking indicators such as response rate or cost as the optimization goal, the cloud computing management system 200 can obtain the optimal solution by using the optimization method, that is, the instance allocation scheme. . Specifically, the instance allocation scheme indicates when each tenant is allocated instances of what specification and the number of instances of each specification. That is, the instance allocation scheme includes the lifetime of the instances allocated to the tenant. Among them, the lifetime indicates when the instance is started and stopped. Further, according to the instance allocation scheme, instances can be run for the tenant on time and in quantity to meet the tenant's tasks.
- S101 The cloud computing management system 200 receives an instance allocation request.
- the tenant sends an instance allocation request to the cloud computing management system 200, where the instance allocation request includes processor resource requirements.
- the instance allocation request further includes at least any one or more of the following parameters: instance type, availability zone, instance specification, minimum number of synchronously running instances, shortest effective running time and expiration time, and the like.
- FIG. 3 provides a schematic diagram of an interactive interface 300 of a client displayed on the tenant side.
- the client terminal may run on a tenant side device, such as a terminal device such as a mobile phone or a PC.
- the client can be implemented through a browser or through an independent application.
- the tenant can input or adjust parameters in the control, and then complete the upload of the instance allocation request.
- the interactive interface 300 includes any one or more of the following controls: a resource requirement input control 302, an instance type selection control 304, an available area selection control 306, an instance specification selection control 308, and a minimum synchronously running instance number setting control 310 .
- Minimum effective runtime setting control 312 deadline setting control 314 , cost estimation control 316 , and determination control 318 .
- the resource requirement includes the computing resources required by the tenant, that is, the processor resource requirement, which is expressed by the product of the number of processors and the duration.
- the resource requirements further include any one or more of network resource requirements and/or storage resource requirements (not shown in FIG. 3 ).
- the resource requirements corresponding to the task include the processor resource requirement of 1000vCPU*h.
- the resource requirements also include network resource requirements. For example, bandwidth requirements, public Internet Protocol (IP) address requirements.
- IP Internet Protocol
- the resource requirements also include storage resource requirements. For example, the size of the memory space.
- the processor resource requirement may also include a product of heterogeneous processor resources such as GPUs and a duration.
- a tenant can select an instance type through the instance type selection control 304 .
- the available instance types include at least one of a spot instance and an on demand instance.
- the on-demand instance indicates that the billing is based on the time actually used, which is more flexible. For example, based on the hourly price of each instance, the cost is calculated according to the time (second level) actually used by the user.
- Spot instances on the other hand, indicate instances running on idle computing resources sold at lower prices, and the price of spot instances will vary based on market supply and demand. Wherein, the idle computing resources indicate the unoccupied part of the computing resources owned by the cloud service provider.
- a tenant may choose a combination of the two instance types. For example, in order to ensure the running of some core tasks, tenants can purchase a certain number of on-demand instances. Further, tenants can set 80% as spot instances and 20% as on-demand instances. In this class of possible implementations, the tenant may be provided with a control (not shown in Figure 3) that can be scaled. In this kind of possible implementation manner, when the instance type selected by the tenant includes on-demand instances, the tenant needs to set the number of on-demand instances purchased.
- the cloud computing management system 200 can formulate an instance allocation scheme for tenants. It should be noted that, when formulating an instance allocation scheme, the instance type selected by the tenant in the instance type selection control 304 is given priority. Optionally, when the instance allocation scheme is formulated, when the cloud computing management system 200 considers that the instance type selected by the tenant cannot meet the resource requirements of the tenant, and other instance types not selected by the tenant can meet the resource requirements, the cloud computing management system 200 Tenants can be advised to allow instances under other instance types to be added to meet resource requirements.
- the tenant adjust the proportion of instances under different instance types set by the tenant to meet the resource requirements of the tenant.
- a tenant can select an availability zone through the availability zone selection control 306 .
- the Availability Zone indicates the deployment location of the instance purchased by the tenant. By choosing an instance close to the task location, network latency can be reduced and access speed increased.
- the tenant may also not select the availability area, but select the availability area selected by the cloud computing management system 200 by itself.
- the tenant can specify the instance specification through the instance specification selection module 308 .
- different instances include the number of vCPUs, the computing power of each vCPU, and the size of memory space. Some instances may also include other types of processor resources, such as GPUs, field programmable gate arrays gate array, FPGA), etc.
- Instance sizes can be divided into several categories, such as general-purpose, memory-enhanced, and compute-enhanced. Tenants can select instance specifications according to the characteristics of tasks, so as to better meet the tasks of tenants.
- each category can include instances of multiple specifications.
- generic examples include examples 1 through n. Among them, n is greater than or equal to 2.
- Tenants can choose to purchase instances of suitable specifications according to their needs.
- a general-purpose instance includes two types of instances, 16vCPU or 24vCPU. In the general-purpose instance in Figure 3, instance 1 includes 16vCPU, and instance 2 includes 24vCPU.
- the tenant may choose to accept the cloud computing management system 200 to adjust the instance specifications provided to the tenant by clicking on the accept adjustment control 308A.
- the cloud computing management system 200 can respond to a tenant's instance allocation request as much as possible by adjusting the instance specification. The specific response method will be introduced later.
- tenants can select instances of different specifications at the same time, and set a ratio for the number of instances.
- an instance specification ratio setting control (not shown in FIG. 3 ) can be added to the instance specification selection module 308, and the tenant can set the instance specification expected to be allocated to it so that 50% are general purpose instances and 50% are memory intensive type instance. Further, the tenant can also select specific instance specifications under each type of instance specifications and set the ratio.
- the tenant can set the minimum number of synchronously running instances through the minimum number of synchronously running instances setting control 310 . For some tasks that need to start at least two instances to run at the same time, if the cloud computing management system 200 determines that the number of instances currently available for allocation is less than the minimum number of synchronously running instances, it is considered that the task cannot be run, and thus the tenant will not be allocated an instance. .
- the tenant can set the minimum valid runtime of the instance through the minimum valid runtime setting control 312 .
- any continuous running time (from instance startup to suspension or termination) of an instance allocated by the cloud computing management system 200 to the tenant should be greater than the shortest effective running time.
- cloud service providers can set different priorities for instances of different instance types. For example, Spot Instances have lower priority than On-Demand Instances. In the case of limited instance resources, you can end the running of the spot instance in advance, and use the computing resources originally used to support the running of the spot instance to run the on-demand instance to respond to the corresponding instance allocation request.
- the task is terminated early.
- stopping the task in the middle will cause the entire task to fail, such as the training of neural network models.
- the end of the task in the middle may lead to partial failure of the task.
- the smallest unit of rendering is a pixel, and the rendering results between pixels do not affect each other. Therefore, when the rendering task ends halfway, the rendering results obtained by the pixels that have completed rendering are storable and available.
- the consecutive running time of any case assigned to the tenant must not be less than 10 minutes.
- the cloud computing management system 200 may predict the shortest effective time based on a prediction model according to the tenant's historical purchase information. Specifically, the tenant can use the predicted value provided by the system 200 by clicking on the control 312A.
- the tenant can set whether to allow the instance running interruption by clicking on the control 312B.
- the tenant clicks the control 312B it means that the tenant does not allow the instance allocated to it to be interrupted during the running process. In this case, instances are more suitable for running tasks that require high continuity, such as online tasks.
- Tenants can set deadlines for instance allocation requests through deadline setting controls 314 .
- the deadline indicates the latest time for the cloud computing management system 200 to satisfy the resource requirement uploaded by the tenant.
- tenants need to be provided to meet their resource requirements set in control 302 before the deadline.
- the instance allocated to the tenant to meet the resource requirement also needs to satisfy various parameters set by the tenant in the controls 304 to 312 .
- the tenant can obtain the estimated cost of this purchase through the cost estimate control 316 .
- the estimated cost is determined by the parameters set by the tenant in the controls 302 to 314 .
- the tenant can complete the upload of the instance allocation request and the confirmation of the estimated cost by clicking the OK control 318 .
- the tenant can also configure one or more of the following parameters as needed through the client: the image used by the instance, the snapshot policy, the security group used by the instance, etc. (not shown in Figure 3).
- the controls 304 to 314 are all optional controls.
- the cloud computing management system 200 can formulate an instance allocation scheme based on the prediction result of the idle state of computing resources in the future.
- the predicted value of the idle state of the computing resources indicates the idle time and idle quantity of various types of resources (eg, processor resources, network resources and/or storage resources) within a unit time in the future.
- the computing resource allocation part includes S102 to S108.
- the cloud computing management system 200 may also receive an instance allocation request uploaded by a tenant through an application programming interface (application programming interface, API).
- application programming interface application programming interface
- S102 The cloud computing management system 200 predicts the idle state of computing resources.
- the cloud computing management system 200 can be triggered to predict the idle state of computing resources in the future.
- the manner of triggering the prediction may be triggered by the tenant clicking on the confirmation control 318 , or may be triggered when the tenant has filled in the parameters in the controls 302 to 314 .
- the prediction of the idle state of computing resources may not be directly triggered by the tenant, but may be performed in a fixed period. For example, make predictions every 10 seconds.
- the following takes the prediction of the idle state of computing resources triggered by a tenant as an example for introduction.
- the predicted idle state of computing resources can be obtained by using the computing resource prediction model.
- the computing resource prediction model may be established based on a neural network model.
- a computing resource prediction model is established based on a back propagation (BP) algorithm or a long short-term memory (LSTM) algorithm. It should be noted that the embodiments of the present application do not limit the method for establishing the computing resource prediction model.
- the input quantity of the prediction model may be one or more of the following parameters: computing resources that can be provided by the cloud service provider, computing resources that are idle at the current moment, the number of computing devices that are idle at the current moment, and computing devices that are idle at the current moment. Communication speed, communication distance of idle computing equipment, number of tenants requesting instance allocation, and response rate of each tenant's request, etc.
- the parameter as the input quantity can be selected from the parameters related to the output quantity based on the method of correlation analysis.
- the computing resource prediction model Before using the computing resource prediction model for prediction, the computing resource prediction model also needs to be trained.
- the input for training the model can be one or more of the following parameters: computing resources provided by cloud service providers in historical moments, idle computing resources in historical moments, number of computing devices idle in historical moments, The communication speed of the idle computing devices at the historical moment, the communication distance of the idle computing devices at the historical moment, the number of tenants who made instance allocation requests at the historical moment, and the request response rate of each tenant at the historical moment, etc.
- the output of the training model that is, the computing resources actually used by the tenant who issued the instance allocation request at the historical moment.
- the computing resources actually used by the tenant can be obtained by collecting historical data by the cloud computing management system 200 .
- a tenant had requested an on-demand instance at 13:00.
- the computing resources that the server provider can provide the computing resources that are idle at 13 o'clock, the number of computing devices that are idle at 13 o'clock, the communication speed of the computing devices that are idle at 13 o'clock, the communication distance of the computing devices that are idle at 13 o'clock, 13
- At least one of the number of tenants who make instance allocation requests at 13 o'clock and the response rate of each tenant's request at 13 o'clock can be used as the training input of the computing resource prediction model.
- the computing resources used by the tenant between 13:00 and 14:00 can be used as the training output of the computing resource prediction model.
- FIG. 4A shows a prediction result of the idle state of a computing resource.
- the idle situation of computing resources in the future period of time can be represented by a matrix.
- the following takes the server as an example for introduction.
- each column of the matrix represents a moment
- each row represents a specification of a server.
- n indicates n times included in a future period of time
- m indicates the number of server types involved in the prediction.
- the interval between each prediction point and the number n of prediction points can be set as required, and the time interval multiplied by n equals the total duration of the prediction.
- each element in the predicted matrix represents the number of servers of this specification that can be utilized at a certain time. For example, as shown in FIG. 4B , S 1n equal to 7 indicates that at time n, there are expected to be 7 available servers 1 . Likewise, Smn equal to 4 indicates that at time n, there are expected to be 4 available servers m.
- the total number m of servers involved in the prediction may be the number of all server specifications provided by the cloud service provider, or may be the number of servers of this type determined according to the instance specifications selected by the tenant in S101.
- the floating price of the spot instance can also be predicted.
- the specific prediction method refer to the aforementioned prediction method.
- the difference is that one or more of the following parameters need to be used as input: the price of the Spot Instance at the current moment, the price of the Spot Instance at the previous moment, the number of tenants requesting instance allocation, and the response rate of each tenant's request, etc.
- the present application does not limit the types of input quantities of the prediction model.
- the parameters used as the input quantities can be selected from the parameters related to the output quantities by the method of correlation analysis.
- the output volume is a matrix formed by the prices of auction instances over a period of time at each moment.
- the training data of the bidding instance price prediction model can also be obtained by the cloud computing management system 200 by collecting historical data.
- S103 The cloud computing management system 200 predicts the idle state according to the instance allocation request and computing resources, and formulates an instance allocation scheme.
- the predicted idle state of the computing resources can be obtained by using the computing resource prediction model. According to the instance allocation request uploaded by the tenant in S101 and the predicted idle state, an instance allocation scheme can be formulated.
- an instance allocation scheme can be obtained by using a single or multi-objective optimization method.
- the optimization objective can be set as required.
- the optimization objective may be one or more of the following indicators: high response rate for instance allocation requests, low cost of purchasing computing resources, and short average time consumption, etc.
- the instance allocation request response rate indicates the probability of being responded when the tenant uploads the instance allocation request
- the computing resource rental cost indicates the cost of purchasing the corresponding computing resources
- the average time consumption indicates the completion of one or more tenants' instances Average time taken to allocate requests. It should be noted that the embodiments of the present application do not limit the types of optimization targets.
- the specific optimization methods used in single/multi-objective optimization include linear programming, genetic algorithm, particle swarm optimization and other optimization methods.
- constraints need to be determined. Constraints may be a class of conditions to ensure the normal operation of the cloud computing management system. For example, at a certain moment, the computing resources provided to the tenant should not exceed the computing resources available at that moment. In addition, constraints can also include parameters set by the tenant. For example, the running of the instance should satisfy the uploaded instance allocation request in Figure 3.
- the single/multi-objective optimization problem can be solved by using the optimization algorithm, so that the instance assignment scheme can be obtained.
- the instance assignment scheme can be obtained.
- at least the following three situations may occur: no solution, unique solution and non-unique solution.
- the three solutions correspond to no allocation, one instance allocation scheme, and multiple instance allocation schemes, respectively.
- S104 The cloud computing management system 200 determines whether there is an instance allocation scheme that satisfies the instance allocation request.
- S105 The cloud computing management system 200 generates an adjustment plan.
- the cloud computing management system 200 determines that it cannot respond to the tenant's instance allocation request, it will provide one or more adjustment solutions to the tenant.
- the cloud computing management system 200 may notify the tenant through the client that the instance allocation request cannot be satisfied. At the same time, you can request the tenant to modify the parameters in the instance allocation request, and upload the modified instance allocation request. That is, S101 is re-executed.
- the cloud computing management system 200 may provide one or more adjustment schemes to the tenant, and each adjustment scheme includes an adjustment scheme for at least one parameter in the instance allocation request. For example, it could be suggestions to reduce resource requirements, change or expand instance types, change or expand availability zones, change or expand instance specifications and delay deadlines, etc.
- each parameter in the instance allocation request has a priority order. That is, when generating the adjustment plan, priority is given to adjusting some parameters that are easily accepted by the tenant, such as the deadline. After the aforementioned parameters are adjusted and an adjustment plan is formed, some parameters that are not easily accepted by the tenant can be adjusted to form another adjustment plan, such as the availability zone and instance specifications. The priority order among the parameters can be set as required.
- each parameter in an instance allocation request has a priority order. Therefore, there is also a priority order among the adjustment schemes formed based on the adjustment of each parameter. Further, the display order of the adjustment scheme provided to the tenant for selection may be performed in the order of priority. For example, a high-priority adjustment plan is given priority to tenants. In the case that the tenant is not satisfied with the current adjustment plan, a plan lower than the current priority in the priority order can be provided.
- the adjustment scheme provided to the tenant for selection may also be displayed on the interactive interface.
- the number of adjustment schemes can be set as required. That is, the number of adjustment solutions displayed in the interactive interface may be less than the number of adjustment solutions that actually meet the resource requirements of the tenant.
- the selection method of the displayed adjustment scheme may be random selection, or may be selected in the order of priority. For example, the priority of the solution obtained based on the deadline delay can be higher than the adjustment solution formed based on the instance specification adjustment, and will be displayed on the top of the interactive interface.
- the specific priority order can be set as required.
- FIG. 5 shows a presentation of an adjustment scheme.
- the adjustment scheme interface 400 is presented on the client page in the form of a pop-up window.
- the adjustment scheme interface 400 includes at least one adjustment scheme, a determination control 404 and a return control 406 .
- the adjustment plan 1 given in Figure 5 is to propose to delay the deadline to 11:30 am. Further, the adjustment scheme may be suggested to adjust two or more parameters at the same time. For example, the proposal proposes to delay the deadline to 11:15 while changing the instance specification (adjusting instance 1 to instance 2).
- the tenant can click the adjustment scheme selection control 402 to select a feasible adjustment scheme according to the actual situation, and complete the determination of the adjustment scheme by clicking the determination control 404 . If the tenant cannot accept the adjustment scheme given in the adjustment scheme, the adjustment scheme interface 400 may be closed by clicking the return control 406 .
- the tenant can judge whether the adjustment scheme given in S105 can satisfy its task. If the tenant determines that there is at least one adjustment scheme in the adjustment scheme that can satisfy its task, a feasible adjustment scheme can be selected by clicking the adjustment selection control 402 . And the determination of the adjustment scheme is completed by clicking the determination control 404, thereby realizing uploading of the adjustment scheme. Correspondingly, the cloud computing management system 200 will receive the instance allocation scheme confirmed by the tenant.
- the tenant can complete the selection and confirmation of the adjustment scheme through the API.
- the cloud computing management system 200 may receive the confirmation information of the tenant for the adjustment scheme by way of an API response.
- S107 The offline cloud computing management system 200 sends instance allocation scheme confirmation information.
- the cloud computing management system 200 may determine the final instance allocation scheme according to the instance allocation scheme that satisfies the instance allocation request in S104 or the instance allocation scheme confirmed and accepted by the tenant in S106.
- the information of the instance allocation scheme that needs to be confirmed by the tenant may be presented on the interactive interface 300, and may also be presented on other interactive interfaces or clients.
- the following takes another interactive interface 500 as an example for introduction.
- the interactive interface 500 includes at least one or more of the following parameters: instance type 501 , available area 502 , instance specification 503 , minimum number of synchronously running instances 504 , shortest effective running time 505 , expiration time 506 , estimated cost 507 , confirmation control 508 and return control 509 .
- the above parameter information shows the information contained in the instance allocation request uploaded by the tenant in S101, or the parameter information adjusted according to the adjustment scheme in S105.
- Parameter 501 should show that the instance types available for purchase by the tenant are Spot Instances and On-Demand Instances.
- instance types can be configured in a certain proportional relationship. For example, in the instance allocation plan developed for this tenant, Spot Instances account for 80% and On-Demand Instances account for the remaining 20%. This part of the information may also be presented in parameter 501 (not shown in Figure 6).
- the instance specification 503 also includes multiple instance specifications.
- an instance allocation plan for a tenant includes a certain percentage of general-purpose instances 1 and a certain percentage of memory-enhanced instances 5. This portion of information may also be presented in instance specification 503 (not shown in Figure 6).
- parameter 507 also shows the estimated cost of the current instance allocation scheme.
- the estimated cost is determined according to one or more of parameters 501 to 506 .
- the tenant can configure one or more of the following parameters in the interactive interface 300 in FIG. 3 through the client according to actual needs: the image used by the instance, the snapshot policy, the security used by the instance groups, etc. (not shown in Figure 3). Therefore, the above parameters (not shown in FIG. 6 ) set by the tenant in FIG. 3 should also be included in FIG. 6 .
- the confirmation of the instance allocation scheme can be completed by clicking the control 508 .
- the cloud computing management system 200 can allocate the instance according to the scheme, so that the tenant can use the allocated instance to run its task.
- the confirmation information of the above instance allocation scheme may also be sent to the tenant through an API, so that the tenant can confirm the instance allocation scheme.
- S108 The cloud computing management system 200 determines whether the instance startup time is reached.
- the cloud computing management system 200 may control the running of the instance according to the start and stop times of each instance in the instance allocation scheme in S107.
- the cloud computing management system 200 determines that the instance start time has not been reached, the instance will not be started.
- the cloud computing management system 200 determines that the instance startup time has come, it will start the corresponding instance according to the instance allocation scheme.
- the instance allocation scheme provided in this application indicates when each tenant is allocated an instance of which specification and the number of instances of each specification. Therefore, the startup of the instance does not necessarily occur at the same time that the tenant confirms the instance allocation scheme in S107.
- the instance allocation plan includes when to start an instance, as well as when to interrupt or end an instance.
- the tenant can monitor when the cloud computing management system assigns the instance to the tenant. For example, tenants can monitor the allocation of instances through monitoring devices or API interfaces.
- tenants may upload their tasks to cloud computing management system 200 .
- the operation of the tenant uploading its tasks may be after uploading the instance allocation request (S101) or before uploading the instance allocation request (S101).
- the instance allocation request may also include tasks.
- S109 The cloud computing management system 200 starts an instance.
- the tenant uses the API to monitor the instance that has been allocated, it can deploy and run its tasks on the instance.
- the cloud computing management system 200 will deploy and run the task on the instance allocated by the tenant.
- the number of available instances changes dynamically.
- instances may be allocated and run for the tenant according to the instance allocation scheme in S107 and the real-time idle state of computing resources.
- the real-time idle state of computing resources indicates the idle quantity of various resources at the current moment. Specifically, during the running of the instance, there may be a temporary shortage of instance resources allocated to the tenant, which may lead to the completion of the tenant's tasks later than the deadline.
- the cloud computing management system 200 may allocate an available instance of a higher specification to the tenant without charging additional fees, so as to ensure that the tenant's tasks can be guaranteed. run.
- the instance allocation scheme may be adjusted based on certain rules. After a new instance allocation request is received, an overall better instance allocation can be achieved by modifying the instance allocation scheme of the access tenant before this time.
- the premise can be that it does not affect the completion of the tasks of the previously connected tenants.
- the deadline set in the instance allocation request is 22:00, and the cloud computing management system 200 allocates an instance that can run between 11:00 and 12:00. If the system 200 receives a large number of instance allocation requests with earlier deadlines at 22:00, the system 200 can allocate this instance for tenant 1 to other users between 11:00 and 12:00, and allocate the instance for the tenant 1 1 instance from 14:00 to 15:00 to ensure that tenant 1's tasks can be completed by the deadline.
- the system 200 can determine whether the instance allocation scheme of the tenant needs to be updated by calculating the violation probability of the tenant.
- the violation probability indicates the probability that the instance provided to the tenant in the updated instance allocation scheme cannot satisfy the computing resources that the tenant still needs before the deadline.
- the probability can be obtained by using the prediction of the violation probability prediction model.
- the violation probability model can be trained using historical data.
- S110 The cloud computing management system 200 determines whether an alarm condition is triggered.
- the cloud computing management system 200 may alert the tenant according to the provided computing resources. Specifically, according to the resource requirements set by the tenant in S101 and the computing resources already used, the remaining resource requirements can be obtained. The cloud computing management system 200 may issue alarm information to the tenant when the used computing resources or the remaining resource requirements reach a threshold. Among them, the threshold can be set as required.
- the cloud computing management system 200 may send alarm information to the tenant to inform the tenant of the service process. Further, the tenant can judge whether to increase the resource demand purchase or terminate the running of the instance in advance according to the alarm information.
- one or more thresholds may be set for triggering the alarm information. That is, during the running of the task, the alarm information can be triggered one or more times.
- S111 The cloud computing management system 200 notifies the tenant of alarm information.
- the alarm information sent by the cloud computing management system 200 to the tenant includes at least one of the following parameters: used computing resources and remaining computing resources.
- the alarm information may further include at least one of the following parameters: the elapsed time and the duration from the deadline, and the like.
- the tenant can judge whether the remaining resource requirements can be satisfied before the deadline according to the alarm information.
- the tenant may adjust the purchased computing resources. For example, it could be to increase the purchase of computing resources.
- the instance allocation request may be adjusted actively for the tenant according to the alarm information.
- the operation of active adjustment may be performed by the cloud computing management system 200 .
- the operation may also be performed by the big data layer task management system.
- the big data layer task management system is a system for managing and running computing resources.
- S112 The cloud computing management system 200 determines whether the termination operation condition is reached.
- the termination operation condition may be that the instance allocation plan is executed or the deadline has expired.
- the cloud computing management system 200 determines whether the instance satisfies the termination operation condition, and can monitor the operation status of the computing resources at a fixed period.
- the duration of the fixed period can be set as required.
- the alarm-related steps involved in S110 and S111 and S112 have no fixed sequence. That is, the operation of judging whether the instance reaches the termination running condition may occur before or after the alarm operation. Optionally, it can also be executed synchronously with the alarm operation.
- the cloud computing management system 200 When it is determined in S112 that the termination operation condition is satisfied, the cloud computing management system 200 will release the instance. For example, when it is determined in S112 that the instance allocation scheme of a certain tenant has been executed or the deadline has expired, the instance allocated for the tenant will be released.
- the present application also provides a cloud computing management system 200 .
- the cloud computing management system 200 includes an interaction module 202 , a storage module 204 and a processing module 206 .
- the cloud computing management system 200 is deployed on the server.
- the server may be one or more local servers, and may also be one or more cloud servers.
- the server may also be a combination of one or more local servers and one or more cloud servers.
- the interaction module 202 is configured to receive an instance allocation request uploaded by the tenant in S101.
- the interaction module 202 is further configured to present the adjustment scheme generated in S105 to the tenant.
- the tenant's confirmation of the adjustment scheme will also be received by the interaction module 202.
- the interaction module 202 is further configured to present the instance allocation scheme in S104 or the instance allocation scheme in S105 to the tenant in S107.
- the interaction module 202 is further configured to receive the task uploaded by the tenant before S112.
- the storage module 204 is configured to store various parameters of the instance allocation request received in S101.
- the training input and training output collected by the cloud computing management system will also be stored in the storage module 204 .
- the storage module 204 is further configured to store the instance allocation scheme confirmed by the tenant in S107.
- the alarm conditions set by the tenant in S110 will also be stored in the storage module 204 .
- the storage module 204 is further configured to store the tasks uploaded by the tenant to the cloud computing management system before S112.
- the processing module 206 in the instance allocation method 100, is used to train a computing resource prediction model in S102, and use the computing resource prediction model to obtain the predicted idle state of the computing resources.
- the processing module 206 is further configured to formulate an instance allocation scheme according to the instance allocation request of the tenant and the predicted idle state of computing resources in S103.
- the operation of generating the adjustment scheme in S105 is also performed by the processing module 206 .
- Determining the instance allocation scheme according to the reception of the adjustment scheme by the tenant in S106 is also performed by the processing module 206 .
- the processing module 206 is further configured to generate instance allocation scheme information for confirmation by the tenant in S107.
- the processing module 206 executes the determination of whether the instance start time has been reached in S108 and the determination of whether the alarm condition is satisfied in S110.
- the processing module 206 is further configured to run the instance in S109 and notify the tenant of alarm information in S111 according to the instance allocation scheme.
- the processing module 206 is further configured to use the instance to run the stored task uploaded by the user before S112.
- the judging operation of whether the instance reaches the termination running condition is also performed by the processing module 206.
- the processing module 206 is further configured to release the instance in S113.
- the processing module 206 may include a prediction module 208 , a scheduling module 210 and an execution module 212 .
- the prediction module 208 in the instance allocation method 100, is configured to train a computing resource prediction model in S102, and use the computing resource prediction model to obtain the predicted idle state of the computing resources.
- the scheduling module 210 is configured to formulate an instance allocation scheme according to the instance allocation request of the tenant and the predicted idle state of computing resources in S103.
- the operation of generating the adjustment scheme in S105 is also performed by the scheduling module 210 . It is also performed by the scheduling module 210 to determine whether to respond to the instance allocation request according to whether the tenant has received the adjustment plan in S106.
- the scheduling module 210 is further configured to generate an instance allocation scheme for confirmation by the tenant in S107.
- the execution module 212 is configured to judge in S107 whether the confirmed instance allocation scheme reaches the computing resource start time in S108, and judge whether the alarm condition is satisfied in S110.
- the execution module 212 is further configured to run the instance in S109 and notify the tenant of alarm information in S111 according to the instance allocation scheme.
- the execution module 212 is further configured to use the instance to run the stored task uploaded by the user before S112. In S112, the judging operation of whether the instance reaches the termination running condition is also performed by the execution module 212.
- the execution module 212 is further configured to release the instance in S113.
- the present application also provides a computing device 600 .
- the computing device includes a bus 602 , a processor 604 , a memory 606 and a communication interface 608 .
- the bus 602 communicates between the processor 604 , the memory 606 and the communication interface 608 . It should be understood that the present application does not limit the number of processors and memories in the computing device 600 .
- the bus 602 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus or the like.
- PCI peripheral component interconnect
- EISA extended industry standard architecture
- the bus can be divided into address bus, data bus, control bus and so on. For ease of representation, only one line is shown in FIG. 8, but it does not mean that there is only one bus or one type of bus.
- Bus 604 may include pathways for communicating information between various components of computing device 600 (e.g., memory 606, processor 604, communication interface 608).
- the processor 604 may include a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP), etc. any one or more of the devices.
- CPU central processing unit
- GPU graphics processing unit
- MP microprocessor
- DSP digital signal processor
- Memory 606 may include volatile memory, such as random access memory (RAM).
- the processor 604 may also include non-volatile memory (non-volatile memory), such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state hard disk (solid state) drive, SSD).
- ROM read-only memory
- HDD hard disk drive
- SSD solid state hard disk
- the memory 606 stores executable program codes, and the processor 604 executes the executable program codes to implement the aforementioned instance allocation method 100 .
- the memory 606 stores the instructions of the cloud computing management system 200 for executing the instance allocation method 100 .
- the communication interface 603 uses transceiver modules such as, but not limited to, network interface cards, transceivers, etc., to implement communication between the computing device 600 and other devices or communication networks.
- transceiver modules such as, but not limited to, network interface cards, transceivers, etc.
- Embodiments of the present application further provide a computing device cluster.
- the computing device cluster includes at least one computing device 600 .
- the instructions of the same cloud computing management system 200 for executing the instance allocation method 100 may be stored in the memory 606 of one or more computing devices 600 in the computing device cluster.
- one or more computing devices 600 in the computing device cluster may also be used to execute part of the instructions of the cloud computing management system 200 for executing the instance allocation method 100 .
- a combination of one or more computing devices 600 may collectively execute the instructions of the cloud computing management system 200 for executing the instance allocation method 100 .
- the memory 606 in different computing devices 600 in the computing device cluster may store different instructions for executing some functions of the instance allocation method 100 .
- Figure 10 shows one possible implementation. As shown in FIG. 10 , two computing devices 600A and 600B are connected through a communication interface 608 . Instructions for performing the functions of interaction module 202 , prediction module 208 , scheduling module 210 , and execution module 212 are stored on memory in computing device 600A. Instructions for performing the functions of storage module 804 are stored on memory in computing device 600B. In other words, the memory 606 of the computing devices 600A and 600B collectively stores the instructions of the cloud computing management system 200 for executing the instance allocation method 100 .
- connection mode between the computing device clusters shown in FIG. 10 may be based on the fact that the instance allocation method 100 provided by this application needs to store a large number of historical instance allocation request related parameters of tenants. Therefore, consider offloading the storage function to computing device 600B.
- computing device 600A shown in FIG. 10 may also be performed by multiple computing devices 600 .
- the functions of computing device 600B may also be performed by multiple computing devices 600 .
- one or more computing devices in a cluster of computing devices may be connected by a network.
- the network may be a wide area network or a local area network, or the like.
- Figure 11 shows one possible implementation. As shown in FIG. 11, two computing devices 600C and 600D are connected through a network. Specifically, the network is connected through a communication interface in each computing device.
- the memory 606 in the computing device 600C stores instructions for executing the interaction module 202 , the scheduling module 210 , and the execution module 212 . At the same time, the memory 606 in the computing device 600D stores instructions to execute the storage module 204 and the prediction module 208 .
- connection mode between the computing device clusters shown in FIG. 11 may be that considering that the instance allocation method 100 provided by this application requires a large number of storage tenants’ historical instance allocation request-related parameters and a large amount of training on the computing resource prediction model, it is considered that the storage
- the functions implemented by module 204 and prediction module 208 are performed by computing device 600D.
- computing device 600C shown in FIG. 11 may also be performed by multiple computing devices 600 .
- the functions of computing device 600D may also be performed by multiple computing devices 600 .
- Embodiments of the present application also provide a computer-readable storage medium.
- the computer-readable storage medium may be any available medium that a computing device can store, or a data storage device such as a data center that contains one or more available media.
- the usable media may be magnetic media (eg, floppy disks, hard disks, magnetic tapes), optical media (eg, DVDs), or semiconductor media (eg, solid state drives), and the like.
- the computer-readable storage medium includes instructions that instruct a computing device to perform the above-described instance allocation method 100 applied to the cloud computing management system 200 .
- Embodiments of the present application also provide a computer program product including instructions.
- the computer program product may be a software or program product containing instructions, capable of being executed on a computing device or stored in any available medium.
- the computer program product is run on at least one computer device, the at least one computer device is caused to perform the instance allocation method 100 described above.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种实例分配方法,所述方法应用于云计算管理系统,所述方法包括:接收租户上传的实例分配请求,所述实例分配请求包括处理器资源需求;根据所述实例分配请求,生成实例分配方案,其中,所述实例分配方案包括分配给所述租户的实例的生命周期;根据所述实例分配方案从所述云计算管理系统管理的云计算资源池中为所述租户分配所述实例。所述方法根据租户上传的实例分配请求,生成实例分配方案,有效地提升了实例分配的效率。
Description
本申请涉及计算机领域,特别涉及一种实例分配的方法、系统及装置。
云服务提供商为租户提供了众多适合不同任务的实例,按照任务类型可以分为通用型、内存增强型和计算增强型等,按照计费类型可以分为按需实例和竞价实例等。现有服务模式要求租户在清楚任务类型的前提下,决定需要购买服务的类型。
针对实例分配服务,如何合理的利用计算资源成为了业界重点关注的问题。
发明内容
本申请提供了一种实例分配方法,该方法可以提升实例分配的效率。
本申请的第一方面提供了一种实例分配方法,该渲染方法用于云计算管理系统。该方法包括:接收租户上传的实例分配请求,该实例分配请求包括处理器资源需求;再根据该实例分配请求,生成实例分配方案,其中,该实例分配方案包括分配给该租户的实例的生命周期;再根据该实例分配方案从该云计算管理系统管理的云计算资源池中为该租户分配该实例。
该实例分配方法通过自动生成实例分配方案,减少了租户的操作量,提升了实例分配的效率。
在一些可能的设计中,租户上传的实例分配请求中不包括实例的生命周期,其中,实例的生命周期指示实例的启动和停止时间。
在一些可能的设计中,该处理器资源需求包括处理器个数和时长的乘积。
在一些可能的设计中,该实例分配请求还包括下述参数中的任意一项或多项:实例类型、可用区域、实例规格、最小同步运行实例数、最短有效运行时间、截止时间,其中,最小同步运行实例数指示同时运行的实例的最小数量,该最短有效运行时间指示实例每次运行的最短时间,该截止时间指示该实例的运行满足该处理器资源需求的最晚时间。
在一些可能的设计中,该实例分配方案包括下述参数中的任意一项或多项:该实例的实例类型,该实例所在的可用区域,该实例的实例规格。该实例的实例类型,该实例所在的可用区域,该实例的实例规格是根据该实例分配请求包括的参数:实例类型、可用区域、实例规格来确定的。
在一些可能的设计中,该方法还包括:发送该实例分配方案至该租户;接收该租户对该实例分配方案的确认。
在一些可能的设计中,该方法还包括:确定该云计算资源池无法满足该实例分配请求;通知该租户调整该实例分配请求;根据调整后的该实例分配请求,生成该实例分配方案。
在一些可能的设计中,该方法还包括:生成一个或多个调整方案,其中,每个调整方案指示对该实例分配请求的一个或多个参数进行调整;接收该租户选择的调整方案。
在一些可能的设计中,该方法还包括:接收该租户上传的任务;在该云计算资源池的存储资源中存储该任务;该根据该实例分配方案从该云计算管理系统管理的云计算资源池中为该租户分配该实例后,该方法还包括:利用该实例运行存储的该任务。
在一些可能的设计中,该方法还包括:根据该实例分配请求和该云计算资源池中计算资源的预测空闲状态,生成该实例分配方案,其中,该计算资源的预测空闲状态指示未来该计算资源的空闲数量和空闲时间。
在一些可能的设计中,该方法还包括:根据该实例分配方案和该云计算资源池中计算资源的实时空闲状态,从该云计算资源池中为该租户分配该实例,其中,该计算资源的实时空闲状态指示当前时刻该计算资源的空闲数量。
本申请的第二方面提供了一种云计算管理系统,该系统包括交互模块和处理模块:该交互模块,接收租户上传的实例分配请求,该实例分配请求包括处理器资源需求;该处理模块,根据该实例分配请求,生成实例分配方案,其中,该实例分配方案包括分配给该租户的实例的生命周期;根据该实例分配方案从该云计算管理系统管理的云计算资源池中为该租户分配该实例。
在一些可能的设计中,租户上传的实例分配请求中不包括实例的生命周期,其中,实例的生命周期指示实例的启动和停止时间。
在一些可能的设计中,该处理器资源需求包括处理器个数和时长的乘积。
在一些可能的设计中,该实例分配请求还包括下述参数中的任意一项或多项:实例类型、可用区域、实例规格、最小同步运行实例数、最短有效运行时间、截止时间,其中,最小同步运行实例数指示同时运行的实例的最小数量,该最短有效运行时间指示实例每次运行的最短时间,该截止时间指示该实例的运行满足该处理器资源需求的最晚时间。
在一些可能的设计中,该实例分配方案包括下述参数中的任意一项或多项:该实例的实例类型,该实例所在的可用区域,该实例的实例规格。该实例的实例类型,该实例所在的可用区域,该实例的实例规格是根据该实例分配请求包括的参数:实例类型、可用区域、实例规格来确定的。
在一些可能的设计中,该交互模块还用于,发送该实例分配方案至该租户;接收该租户对该实例分配方案的确认。
在一些可能的设计中,该处理单元还用于,确定该云计算资源池无法满足该实例分配请求;通知该租户调整该实例分配请求;根据调整后的该实例分配请求,生成该实例分配方案。
在一些可能的设计中,该处理单元还用于,生成一个或多个调整方案,其中,每个调整方案指示对该实例分配请求的一个或多个参数进行调整;该交互模块,用于接收该租户选择的调整方案。
在一些可能的设计中,该云计算管理系统还包括存储模块:该交互模块,用于接收该租户上传的任务;该存储模块,用于在该云计算资源池的存储资源中存储该任务;该处理模块,用于利用该实例运行存储的该任务。
在一些可能的设计中,该处理单元还用于,根据该实例分配请求和该云计算资源池中计算资源的预测空闲状态,生成该实例分配方案,其中,该计算资源的预测空闲状态指示未来该计算资源的空闲数量和空闲时间。
在一些可能的设计中,该处理单元还用于,根据该实例分配方案和该云计算资源池中 计算资源的实时空闲状态,从该云计算资源池中为该租户分配该实例,其中,该计算资源的实时空闲状态指示当前时刻该计算资源的空闲数量。
本申请的第三方面提供了一种计算设备集群,包括至少一个计算设备,每个计算设备包括处理器和存储器;至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得该计算设备执行如第一方面或第一方面的任意可能的设计提供的方法。
本申请的第四方面提供了一种计算机可读存储介质,其特征在于,包括计算机程序指令,当该计算机程序指令由计算设备集群执行时,该计算设备集群执行如第一方面或第一方面的任意可能的设计提供的方法。
本申请的第五方面提供了一种包含指令的计算机程序产品,当该指令被计算机设备集群运行时,使得该计算机设备集群执行如第一方面或第一方面的任意可能的设计提供的方法。
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。
图1为本申请实施例提供的一种实例分配方法的应用场景示意图;
图2为本申请实施例提供的一种实例分配方法的流程图;
图3为本申请实施例提供的一种客户端的交互界面示意图;
图4A为本申请实施例提供的一种计算资源预测空闲状态的示意图;
图4B为本申请实施例提供的一种计算资源预测空闲状态的示意图;
图5为本申请实施例提供的又一种客户端的交互界面示意图;
图6为本申请实施例提供的又一种客户端的交互界面示意图;
图7为本申请实施例提供的一种云计算管理系统结构示意图;
图8为本申请实施例提供的一种计算设备的结构示意图;
图9为本申请实施例提供的一种计算设备集群的结构示意图;
图10为本申请实施例提供的又一种计算设备集群的结构示意图;
图11为本申请实施例提供的又一种计算设备集群的结构示意图。
云服务提供商提供了计算实例服务,计算实例是具有计算资源的计算单元,该计算单元可以运行租户的任务。常见的实例包括虚拟机、容器或裸金属服务器。计算实例服务为租户提供了众多适合不同类型任务的实例,按照类型又可以分为按需实例和竞价实例,按照规格可以分为通用型、内存增强型和计算增强型等等。
其中,计算资源包括执行计算操作所需要的资源。例如,中央处理器(center processing unit,CPU)或图形处理器(graphics processing unit,GPU)资源、存储资源(内存空间)、网络资源等。
根据租户的任务和云服务提供商的计算资源空闲状态的动态变化情况来制定实例分配方案,可以更好的满足租户的需求,也可以更高效的调动计算资源。
本申请提供了一种实例分配方法,租户将实例分配请求上传至云计算管理系统,云计算管理系统对未来一段时间内的计算资源空闲状态进行预测。进一步地,基于计算资 源的预测空闲状态和租户的实例分配请求,制定实例分配方案,以满足租户的实例分配请求。
为了使得本申请的技术方案更加清楚、易于理解,下面结合附图1对本申请实施例提供的实例分配方法100的应用场景进行介绍。
如图所示,云计算管理系统200分别连接着租户侧和计算资源池。其中,租户侧可以包括一个或多个租户。例如,可以包括租户A至M。而计算资源池可以包括一种或多种计算资源。例如,以服务器为例,计算资源池中可以至少包括服务器1至n。进一步地,所述服务器可以是本地服务器,也可以是云服务器。
各租户可以上传实例分配请求至云计算管理系统200。具体地,租户可以通过云计算管理系统200的客户端上传实例分配请求。其中,客户端可以部署在租户侧的终端设备上。
云计算管理系统200在接收租户上传的实例分配请求后,将对计算资源池中的各服务器未来的空闲数量和空闲时间进行预测,以获得云计算资源池中服务器(计算资源)的预测空闲状态。进一步地,将租户上传的实例分配请求和服务器的预测空闲状态作为约束条件,将响应率或成本等指标作为优化目标,云计算管理系统200利用最优化方法可以获得最优解,即实例分配方案。具体地,实例分配方案指示的是为各租户在何时分配了何种规格的实例以及每种规格的实例的数量。也即,实例分配方案包括分配给租户的实例的生命周期。其中,生命周期指示实例的启动和停止时间。进一步地,根据实例分配方案可以为租户按时按量的运行实例,以满足租户的任务。
接下来结合附图2对实例分配方法100进行介绍。
S101:云计算管理系统200接收实例分配请求。
租户向云计算管理系统200发送实例分配请求,所述实例分配请求中包含处理器资源需求。
可选的,所述实例分配请求还至少包括下述参数中的任意一种或多种:实例类型、可用区域、实例规格、最小同步运行实例数、最短有效运行时间和截止时间等。
例如,图3提供了一种租户侧显示的客户端的交互界面300的示意图,该客户端可以运行在租户侧设备上,例如手机或PC等终端设备上。该客户端具体可以通过浏览器实现或者通过一个独立的应用程序实现。
如图3所示,交互界面300中有用于设置及上传的控件。其中,租户可以在控件中输入或调整参数,进而完成实例分配请求的上传。
具体地,交互界面300包括下述控件中任意的一种或多种:资源需求输入控件302、实例类型选择控件304、可用区域选择控件306、实例规格选择控件308、最小同步运行实例数设置控件310、最短有效运行时间设置控件312、截止时间设置控件314、费用预估控件316以及确定控件318。
租户可以通过资源需求输入控件302输入资源需求。其中,资源需求包括了租户需要的计算资源,即处理器资源需求,通过处理器个数和时长的乘积表示。可选的,资源需求还包括网络资源需求和/或存储资源需求中的任意一个或多个(未在图3中示出)。
例如,租户预估完成任务需要10个虚拟中央处理器(virtual central processing unit,vCPU)共同连续工作100个小时,那么该项任务对应的资源需求包括处理器资源需求1000vCPU*h。
在一些可能的实现方式中,资源需求还包括网络资源需求。例如,带宽需求、公网互联网协议(internet protocol,IP)地址需求。
在一些可能的实现方式中,资源需求还包括存储资源需求。例如,内存空间的大小。
在一些可能的实现方式中,处理器资源需求还可以包括GPU等异构处理器资源和时长的乘积。
租户可以通过实例类型选择控件304选择实例类型。可供选择的实例类型至少包括竞价实例和按需(on demand)实例的一种。具体地,按需实例指示的则是以实际使用的时间计费,较灵活。例如,基于各实例以小时为单位的价格,按照用户实际使用的时间(秒级)计算费用。而竞价实例指示的是以较低价格出售的闲置计算资源上运行的实例,竞价实例的价格会根据市场供需情况变化。其中,闲置计算资源指示的是云服务提供商所拥有的计算资源中未被占用的部分。
在一些可能的实现方式中,租户可以选择两种的实例类型的组合。例如,为了保证部分核心任务的运行,租户可以购买一定数量的按需实例。进一步地,租户可以设置80%为竞价实例,20%为按需实例。在这一类可能的实现方式中,可以为租户提供一个可以设置比例的控件(未在图3中示出)。在这一类可能的实现方式中,当租户选择的实例类型中包含按需实例时,租户需要对购买的按需实例的数量进行设置。
如前所述,云计算管理系统200可以为租户制定实例分配方案。需要说明的是,在制定实例分配方案时,优先考虑租户在实例类型选择控件304选择的实例类型。可选的,在制定实例分配方案时,当云计算管理系统200认为租户选择的实例类型无法满足租户的资源需求,而采用租户未选择的其他实例类型可以满足资源需求时,云计算管理系统200可以建议租户允许加入其他实例类型下的实例以满足资源需求。
可选的,也可以建议租户调整其设置的不同实例类型下实例的比例,以满足租户的资源需求。
租户可以通过可用区域选择控件306对可用区域进行选择。其中,可用区域指示的是租户购买的实例的部署地点。通过选择靠近任务所在地的实例,可以降低网络时延、提高访问速度。租户也可以不对可用区域进行选择,而是选择由云计算管理系统200自行选择的可用区域。
租户可以通过实例规格选择模块308对实例规格进行指定。通常来说,不同的实例包括的vCPU个数、每个vCPU的运算能力、内存空间大小不同,有的实例还可能包括其他类型的处理器资源,例如GPU,现场可编程逻辑门阵列(field programmable gate array,FPGA)等。实例规格可以分为几个类别,例如通用型、内存加强型和计算加强型等。租户可以根据任务的特点选择实例规格,从而更好地满足租户的任务。
需要说明的是,每一种类别下可以包括多种规格的实例。例如,通用型实例包括实例1至n。其中,n大于等于2。租户可以根据需要选择购买合适规格的实例。例如,通用型实例包含16vCPU或24vCPU两种类型的实例,如图3中通用型中的实例1包含16vCPU,实例2包含24vCPU。
在一些可能的实现方式中,租户可以通过点击接受调整控件308A选择接受云计算管理系统200对提供给租户的实例规格进行调整。换言之,即使租户在实例规格选择模块310中选择了一定规格的实例,在租户选择接受云计算管理系统200的调整后,当云计算管理系统200无法制定可满足资源需求的实例分配方案时,云计算管理系统200可以通过调整实例规格来尽可能地响应租户的实例分配请求。具体的响应方法将在后文中进行介绍。
在一些可能的实现方式中,可以让租户同时选择不同规格的实例,并且为实例的数量设置比例。例如,可以在实例规格选择模块308中增加实例规格比例设置控件(未在图3中示出),租户可以将期待为其分配的实例规格设置为50%是通用型实例,50%是内存加强型实例。进一步地,租户还可以对每一类实例规格下的具体的实例规格进行选择以及比例的设置。
租户可以通过最小同步运行实例数设置控件310设置最小同步运行实例数量。对于一些需要同时启动至少两台实例运行的任务,若云计算管理系统200确定当前可供分配的实例数量少于最小同步运行实例数,则认为任务无法运行,从而将不会为该租户分配实例。
租户可以通过最短有效运行时间设置控件312设置实例的最短有效运行时间。具体地,云计算管理系统200分配给租户的实例的任意一次连续运行时间(从实例启动到中止或终止)应大于最短有效运行时间。通常来说,云服务提供商对于不同实例类型下的实例是可以设置不同优先级的。例如,竞价实例的优先级低于按需实例。在实例资源有限的情况下,可以通过提前结束竞价实例的运行,将原用于支持竞价实例运行的计算资源转而用于运行按需实例,以响应相应的实例分配请求。
如前所述,当竞价实例被提前结束时,任务也就被提前终止了。对于部分任务而言,任务在中途停止会导致整个任务失败,例如神经网络模型的训练。而对于一些可以分段进行的任务而言,任务在中途结束可能导致任务部分失败。例如,对于渲染任务而言,渲染的最小单元是像素,而像素之间的渲染结果是互不影响的。因此当渲染任务中途结束时,已经完成渲染的像素获得的渲染结果是可存储且可用的。
因此,通过让租户设置最短有效运行时间,可以保障任务的正常运行,避免因中断或提前结束任务而导致整个任务失败。同时,这也避免了对计算资源的浪费。
例如,当租户设置的最短有效运行时间为10分钟时,分配给该租户的算例的任意一次连续运行时长不得低于10分钟。
在一些可能的实现方式中,云计算管理系统200可以根据租户的历史购买信息,基于预测模型对最短有效时间进行预测。具体地,租户可以通过点击控件312A使用系统200提供的预测值。
在一些可能的实现方式中,租户可以通过点击控件312B对是否允许实例运行中断进行设置。
具体地,当租户点击了控件312B时,表示租户不允许为其分配的实例在运行的过程中发生中断。在这一情况下,实例更适合用于运行对连续性要求高的任务,例如在线任务。
当租户未点击控件312B时,表示租户允许为其分配的实例在运行的过程中发生中断。在这一情况下,实例更适合用于运行对连续性要求不高的任务,例如离线任务。
租户可以通过截止时间设置控件314设置实例分配请求的截止时间。其中,截止时间指示云计算管理系统200满足租户上传的资源需求的最晚时间。换言之,需要在所述截止时间之前为租户提供满足其在控件302中设置的资源需求。同时,为满足资源需求而给租户分配的实例还需要满足租户在控件304至312中设置的各项参数。
租户可以通过费用预估控件316获得本次购买的预估花费。其中,预估花费是由租户在控件302至314中设置的参数决定的。
租户可以通过点击确定控件318,完成实例分配请求的上传和对预估花费的确认。
租户还可以通过客户端按照需要对下述参数中的一个或多个进行配置:实例使用的 镜像、快照策略、实例使用的安全组等(未在图3中示出)。
需要说明的是,在图3所示的客户端中,控件304至314均为可选的控件。
云计算管理系统200在接收到租户的实例分配请求后,基于对未来一段时间内计算资源空闲状态的预测结果,可以制定实例分配方案。其中,计算资源空闲状态的预测值指示未来单位时间内各类资源(例如处理器资源、网络资源和/或存储资源)的空闲时间和空闲数量。具体地,计算资源分配部分包括S102至S108。
需要说明的是,在一些可能的实现方式中,云计算管理系统200还可以通过应用程序接口(application programming interface,API)接收租户上传的实例分配请求。
S102:云计算管理系统200预测计算资源空闲状态。
当租户在S101中上传了实例分配请求后,即可触发云计算管理系统200对未来一段时间内计算资源的空闲状态进行预测。其中,触发预测的方式可以是租户点击确定控件318触发,也可以是在租户填写完控件302至314中的参数时触发。
可选的,对计算资源空闲状态的预测还可以不由租户直接触发,而可以是以固定周期进行。例如,每10秒钟进行一次预测。
下文以租户触发计算资源空闲状态的预测为例进行介绍。
利用计算资源预测模型可以获得计算资源的预测空闲状态。其中,计算资源预测模型可以是基于神经网络模型建立的。例如,基于反向传播(back propagation,BP)算法或长短期记忆(long short-term memory,LSTM)算法建立计算资源预测模型。需要说明的是,本申请实施例不对建立计算资源预测模型的方法进行限制。
具体地,预测模型的输入量可以是下述参数中的一种或多种:云服务提供商可提供的计算资源、当前时刻闲置的计算资源、当前时刻闲置的计算设备数量、闲置的计算设备通信速度、闲置的计算设备通信距离、提出实例分配请求的租户数量和各租户请求响应率等。具体地,作为输入量的参数可以基于相关性分析的方法从与输出量相关的参数中选取。
需要说明的是,上述参数可以由云计算管理系统200收集获得。
在利用计算资源预测模型进行预测前,还需要对计算资源预测模型进行训练。同理,用于训练模型的输入量可以是下述参数中的一种或多种:历史时刻云服务提供商可提供的计算资源、历史时刻闲置的计算资源、历史时刻闲置的计算设备数量、历史时刻闲置的计算设备的通信速度、历史时刻闲置的计算设备的通信距离、历史时刻提出实例分配请求的租户数量和历史时刻各租户请求响应率等。而训练模型的输出量,也即,历史时刻发出实例分配请求的租户实际使用的计算资源。其中,租户实际使用的计算资源可以由云计算管理系统200收集历史数据而获得。
例如,租户曾在13点时请求使用按需实例。那么服务器提供商可提供的计算资源、13点时闲置的计算资源、13点时闲置的计算设备数量、13点时闲置的计算设备的通信速度、13点时闲置的计算设备的通信距离、13点时提出实例分配请求的租户数量和13点时各租户请求响应率中的至少一项可以作为计算资源预测模型的训练输入量。同时,假设租户在14点时终止了按需实例的运行,那么租户在13点至14点间所使用的计算资源可以作为计算资源预测模型的训练输出量。
图4A示出了一种计算资源空闲状态的预测结果。如图4A所示,计算资源在未来一段时间内的空闲情况可以用一个矩阵表示。下面以服务器为例进行介绍。
具体地,该矩阵的每一列表示一个时刻,每一行表示一种服务器的规格。其中,n指 示的是未来一段时间包括的n个时刻,m指示的是预测所涉及的服务器类型的数量。每一个预测点之间的间隔和预测点的数量n均可以根据需要进行设置,时间间隔乘以n则等于预测的总时长。
对于一个服务器而言,有两种状态——运行和不运行。对应的,当服务器闲置,也即可以被利用时,将该服务器的运行情况置1,反之,置0。而考虑到同一规格的服务器不止一个,因此预测所得的矩阵中每一个元素代表的是在某一时刻存在的可被利用的这一规格的服务器的数量。例如,如图4B所示,S
1n等于7指示的是在n时刻,预计存在7个可用的服务器1。同样,S
mn等于4指示的是在n时刻,预计存在4个可用的服务器m。
需要说明的是,预测所涉及的服务器总数m是可以是云服务提供商所能提供的全部服务器规格的数量,也可以是根据S101中租户选择的实例规格确定的这一类型服务器的数量。
在一些可能的实现方式中,还可以对竞价实例的浮动价格进行预测。具体的预测方法可以参考前述预测方法。不同的是需要将下列参数中的一种或多种作为输入:当前时刻的竞价实例价格、上一时刻的竞价实例价格、提出实例分配请求的租户数量和各租户请求响应率等。本申请不对该预测模型的输入量的种类进行限制。同样,作为输入量的参数可以利用相关性分析的方法从与输出量相关的参数中选取。而输出量则是一段时间内的竞价实例在各个时刻的价格构成的矩阵。
竞价实例价格预测模型的训练数据,同样可以由云计算管理系统200以收集历史数据的方式获得。
S103:云计算管理系统200根据实例分配请求和计算资源预测空闲状态,制定实例分配方案。
如前所述,当租户触发了计算资源空闲状态的预测之后,利用计算资源预测模型可以获得计算资源的预测空闲状态。根据租户在S101中上传的实例分配请求和所述预测空闲状态,可以制定实例分配方案。
在一些可能的实现方式中,根据租户在S101中上传的实例分配请求和所述预测结果,利用单或多目标优化的方法可以获得实例分配方案。其中,优化目标可以根据需要进行设置。
例如,优化目标可以是下述指标中的一种或多种:实例分配请求响应率高、计算资源购买成本低和平均耗时短等。其中,实例分配请求响应率指示的是当租户上传实例分配请求后被响应的概率;计算资源租用成本指示的购买相应的计算资源的花费;平均耗时指示的是完成一个或多个租户的实例分配请求所花时间的平均值。需要说明的是,本申请实施例不对优化目标的种类进行限制。
单/多目标优化具体使用的优化方法包括线性规划、遗传算法、粒子群算法等优化方法。
确定了优化目标后,也就可以获得目标函数。进一步地,还需要确定约束条件。约束条件可以是保证云计算管理系统的正常运行的一类条件。例如,在某一时刻,提供给租户的计算资源应不超过该时刻可用的计算资源。此外,约束条件还可以包括租户设置的参数。例如,实例的运行应满足图3中的上传的实例分配请求。
在确定了目标函数和约束条件后,利用优化算法即可对该单/多目标优化问题进行求解,从而可以获得实例分配方案。具体地,在对优化问题进行求解后,至少可能出现下述三种情况:无解、有唯一解和有不唯一解。而这三种解的情况分别对应无法分配、一 种实例分配方案和多种实例分配方案。
S104:云计算管理系统200判断是否存在满足实例分配请求的实例分配方案。
根据S103中获得的优化问题的解,可以确定是否存在满足租户实例分配请求的实例分配方案。当解对应的是无法分配时,转至S105。当实例分配方案是一种或多种实例分配资源时,转至S107。
S105:云计算管理系统200产生调整方案。
具体地,若云计算管理系统200判断无法响应租户的实例分配请求,将提供一种或多种调整方案给租户。
在一些可能的实现方式中,云计算管理系统200可以通过客户端通知租户,告知其实例分配请求无法满足。同时,可以请求租户对其实例分配请求中的参数进行修改,并将修改后实例分配请求上传。也即,重新执行S101。
在一些可能的实现方式中,云计算管理系统200调整方案可以提供一种或多种调整方案给租户,每种调整方案包括实例分配请求中的至少一个参数的调整方案。例如,可以是降低资源需求、改变或扩展实例类型、改变或扩展可用区域、改变或扩展实例规格和延迟截止时间等建议。
在一些可能的实现方式中,实例分配请求中的各参数存在优先级顺序。也即,在产生调整方案时优先对租户易于接受调整的部分参数进行调整,例如截止时间。在对前述这一类参数进行调整并形成调整方案后,可以再对租户不易于接受调整的部分参数进行调整,形成另一种调整方案,例如可用区域和实例规格等。其中,各参数之间的优先级顺序可以根据需要进行设置。
在一些可能的实现方式中,云计算管理系统200提供给租户的一种或多种调整方案之间也存在优先级顺序。如前所述,实例分配请求中的各参数存在优先级顺序。因此,基于对各参数调整形成的调整方案之间也存在优先级顺序。进一步地,提供给租户进行选择的调整方案的展示顺序可以按照优先级顺序进行。例如,优先级高的调整方案优先提供给租户。在租户对当前调整方案不满意的情况下,可以再提供优先级顺序中低于当前优先级的方案。
可选的,提供给租户进行选择的调整方案也可以一并展示在交互界面上。其中,调整方案的数量可以根据需要进行设置。也即,展示在交互界面中的调整方案的数量可以少于实际满足租户资源需求的调整方案的数量。展示的调整方案的选取方法中可以是随机选择,也可以是按照优先级顺序进行选择。例如,基于截止时间延迟获得的方案的优先级可以高于基于实例规格调整形成的调整方案,将显示在交互界面的上方。其中,具体的优先级顺序可以根据需要进行设置。
调整方案可以以弹窗或链接等方式通知租户。图5示出了一种调整方案的展示方式。如图5所示,调整方案界面400以弹窗的方式呈现在客户端页面上。调整方案界面400至少包括至少一种调整方案、确定控件404和返回控件406。
假设租户初始的实例分配请求中截止时间设置为上午11点整。图5给出的调整方案1是建议将截止时间延迟至上午11点半。进一步地,调整方案可以是建议同时调整两项或两项以上的参数。例如方案建议在改变实例规格(将实例1调整为实例2)的同时,延迟截止时间至11:15。此外,租户可以根据实际情况点击调整方案选择控件402来选择可行的调整方案,并且通过点击确定控件404完成对调整方案的确定。如果租户不能接受调整方案中给出的调整方案,可以通过点击返回控件406关闭调整方案界面400。
S106:云计算管理系统200是否接收到调整方案确认信息。
租户可以判断S105中给出的调整方案是否可以满足其任务。如果租户判断调整方案中调整至少存在一种可以满足其任务的方案,可以通过点击调整选择控件402来选择可行的调整方案。并且通过点击确定控件404完成对调整方案的确定,从而实现调整方案的上传。相应地,云计算管理系统200将接收到租户确认过的实例分配方案。
反之,也可以选择不接受调整方案从而放弃发起实例分配请求。具体地,如果租户判断云计算管理系统200提供的调整方案无法满足其任务,可以选择不接受调整方案。例如,租户可以通过点击图5中的返回控件406,选择不接受调整方案。
在一些可能的实现方式中,租户可以通过API完成对调整方案的选择和确认。相应地,云计算管理系统200可以通过API响应的方式接收租户对调整方案的确认信息。
S107:离线云计算管理系统200发送实例分配方案确认信息。
根据S104中的满足实例分配请求的实例分配方案或者S106中租户确认接受的实例分配方案,云计算管理系统200可以确定最终的实例分配方案。
具体地,需要租户确认的实例分配方案的信息可以在交互界面300上呈现,也可以在其他交互界面或客户端上呈现。下文以另一交互界面500为例进行介绍。
如图6所示,交互界面500中至少包括下述参数中的一种或多种:实例类型501、可用区域502、实例规格503、最小同步运行实例数504、最短有效运行时间505、截止时间506、预估花费507、确认控件508和返回控件509。
其中,上述参数信息展示的是租户在S101中上传的实例分配请求中包含的信息,或根据S105中的调整方案所调整得到的参数信息。例如,当租户在S101中选择实例类型为竞价实例和按需实例时,且在S103所生成的实例分配方案可以满足实例分配请求,或根据S105中的调整方案未对实例类型做出调整时,参数501应展示为可供租户购买的实例类型是竞价实例和按需实例。
在一些可能的实现方式中,实例类型可以配置为一定的比例关系。例如,为该租户制定的实例分配方案中,竞价实例占80%,而按需实例占剩余的20%。这部分信息也可以展示在参数501中(未在图6中示出)。
在一些可能的实现方式中,实例规格503也包含多种实例规格。例如,为租户制定的实例分配方案中包括一定比例的通用型实例1和一定比例的内存增强型实例5。这部分信息也可以展示在实例规格503中(未在图6中示出)。
此外,参数507处也展示了当前实例分配方案的预估花费。其中,该预估花费是根据参数501至参数506中的一个或多个确定的。
需要说明的是,如前所述,租户可以通过客户端按照实际需要对图3中交互界面300中下述参数中的一个或多个进行配置:实例使用的镜像、快照策略、实例使用的安全组等(未在图3中示出)。因此,图6中还应包括租户在图3中设置的上述参数(未在图6中示出)。
在租户对当前实例分配方案进行确认后,可以通过点击控件508完成对实例分配方案的确认。可选的,也可以通过点击控件509返回至上一界面,从而对各项参数重新进行调整,或放弃上传其实例分配请求。
在租户确认了实例分配方案后,云计算管理系统200可以根据该方案对实例进行分配,从而使得租户可以利用分配获得的实例运行其任务。
在一些可能的实现方式中,上述实例分配方案的确认信息也可以通过API发送给租户, 让租户对实例分配方案进行确认。
S108:云计算管理系统200判断是否到达实例启动时间。
在一些可能的实现方式中,在租户确认实例分配方案后,云计算管理系统200可以根据S107中的实例分配方案中各实例启动和停止时间控制实例的运行。
根据S107中租户确认的实例分配方案,当云计算管理系统200判断未到达实例启动时间时,将不启动实例。当云计算管理系统200判断已经到达实例启动时间时,将按照所述实例分配方案启动相应的实例。
需要说明的是,本申请提供的实例分配方案指示的为各租户在何时分配了何种规格的实例以及每种规格的实例的数量。因此,实例的启动并非一定发生在S107中租户确认实例分配方案的同时。此外,实例分配方案中包括何时启动实例,也包括何时中断或结束实例。
在一些可能的实现方式中,租户可以监测云计算管理系统何时将实例分配给了租户。例如,租户可以通过监听设备或API接口等对实例的分配情况进行监听。
在一些可能的实现方式中,租户可以将其任务上传至云计算管理系统200。
其中,租户上传其任务的操作可以在上传实例分配请求(S101)之后,也可以在上传实例分配请求(S101)之前。可选的,实例分配请求中还可以包括任务。
S109:云计算管理系统200启动实例。
在一些可能的实现方式中,当租户利用API监听到已经获得了分配的实例后,可以在该实例上部署和运行其任务。
可选的,当租户已经将任务上传至云计算管理系统200时,云计算管理系统200将在该租户分配的到的实例上部署和运行任务。
在一些可能的实现方式中,在实例运行之后,随着其他租户不断向云计算管理系统200上传实例分配请求,可用的实例数量是动态变化的。
在一些可能的实现方式中,可以根据S107中的实例分配方案和计算资源实时空闲状态,为租户分配和运行实例。其中,计算资源实时空闲状态指示的是当前时刻各类资源的空闲数量。具体地,在实例的运行过程中,可能为租户分配的实例资源临时出现了短缺,进而可能导致完成租户任务的时间晚于截止时间。
可选的,在为租户分配的实例资源临时出现了短缺的情况下,云计算管理系统200可以在不额外收取费用的情况下,为该租户分配更高规格的可用实例,以保证租户任务的运行。
在一些可能的实现方式中,可以基于一定的规则对实例分配方案进行调整。当新的实例分配请求被接收后,可以通过修改在此时间之前接入租户的实例分配方案,实现整体更优的实例分配。前提可以是不影响之前接入租户的任务完成情况。
例如,对于租户1而言,其实例分配请求中设置的截止时间为22点整,而云计算管理系统200为其分配了1个可以在11点至12点之间运行的实例。若在22点时系统200接收到了大量的截止时间较早的实例分配请求,系统200可以通过将为租户1分配的这个实例在11点至12点之间分配给其他用户,并为该租户分配14点至15点的1个实例,以保证租户1的任务可以在截止时间前完成。
在这一类可能的实现方式中,系统200可以通过计算该租户的违反概率,判断是否需要更新该租户的实例分配方案。其中,违反概率指示的是更新后的实例分配方案中提供给该租户的实例,无法满足该租户在截止时间前还需要的计算资源的概率。可选的,概 率的获得方式可以是利用违反概率预测模型预测所得。其中,违反概率模型可以利用历史数据训练而得。
需要说明的是,上述实例分配方案的更新方法可以参考S103中的实例分配方案的获得方法。
S110:云计算管理系统200判断是否触发告警条件。
当实例已经启动后,云计算管理系统200可以根据已提供的计算资源对租户进行告警。具体地,根据租户在S101中设置的资源需求和已经使用的计算资源,可以获得剩余资源需求。当已经使用的计算资源或剩余资源需求达到阈值时,云计算管理系统200可以向租户发出告警信息。其中,阈值可以根据需要进行设置。
例如,当租户已经使用的计算资源已经达到80%时。也即,租户的剩余资源需求减少至20%时,云计算管理系统200可以向租户发送告警信息,用于告知租户服务进程。进一步地,租户可以根据告警信息判断是否需要增加资源需求购买或提前结束实例的运行
需要说明的是,可以为告警信息的触发设置一个或多个阈值。也即,在任务运行的过程中,告警信息可以被触发一次或多次。
当检测到告警条件满足时,转至S112。
S111:云计算管理系统200通知租户告警信息。
云计算管理系统200向租户发出的告警信息至少包括下述参数中的一种:已经使用的计算资源和剩余计算资源。可选的,告警信息还可以包括下述参数中的至少一种:已经花费的时间和距离截止时间的时长等。
进一步地,租户可以根据告警信息判断剩余资源需求是否可以在截止时间前被满足。
在一些可能的实现方式中,当租户判断其剩余资源需求可能不可以在截止时间前被满足时,租户可以对购买的计算资源进行调整。例如,可以是增加计算资源的购买量。
在一些可能的实现方式中,可以在与租户提前签订协议的前提下,根据告警信息主动为租户调整实例分配请求。其中,主动调整的操作可以是由云计算管理系统200执行。
可选的,该操作还可以是由大数据层任务管理系统执行。其中,大数据层任务管理系统是一种管理并运行计算资源的系统。
S112:云计算管理系统200判断是否达到终止运行条件。
在实例运行的过程中,需要对实例的运行情况进行监控,判断实例是否达到终止运行条件。其中,终止运行条件可以是实例分配方案执行完毕或截止时间到等。
云计算管理系统200判断实例是否满足终止运行条件,可以以固定周期对计算资源的运行情况进行监听。其中,固定周期的时长可以根据需要进行设置。
需要说明的是,S110和S111所涉的告警相关步骤与S112没有固定的先后顺序。也即,实例是否达到终止运行条件的判断操作可以发生在告警操作之前或之后。可选的,也可以与告警操作同步执行。
S113:云计算管理系统释放实例。
当S112中判断终止运行条件满足时,云计算管理系统200将释放实例。例如,当S112中判断某一租户的实例分配方案已经执行完毕或截止时间已到,将释放为该租户分配的实例。
本申请还提供一种云计算管理系统200。如图7所示,云计算管理系统200包括交互模块202、存储模块204和处理模块206。此外,云计算管理系统200部署在服务器上。其中,所述服务器可以是一个或多个本地服务器,也可以是一个或多个云服务器。可选的,所 述服务器还可以是一个或多个本地服务器和一个或多个云服务器的组合。
接下来对云计算管理系统200中各模块进行介绍。
交互模块202,用于在S101接收租户上传的实例分配请求。交互模块202,还用于将S105中产生的调整方案展示给租户。在S106中,租户对于调整方案的确认情况也将由交互模块202接收。交互模块202,还用于在S107中将S104中的实例分配方案或S105中的实例分配方案展示给租户。交互模块202,还用于接收租户在S112之前上传的任务。
存储模块204,用于存储在S101中接收的实例分配请求的各项参数。在实例分配方法100中,用于训练计算资源预测模型,由云计算管理系统所收集的训练输入量和训练输出量也将被存储在存储模块204中。存储模块204,还用于存储在S107中经租户确认的实例分配方案。租户在S110中设置的告警条件也将被存储在存储模块204中。存储模块204,还用于存储租户在S112之前上传至云计算管理系统的任务。
处理模块206,在实例分配方法100中,用于在S102中训练计算资源预测模型,并利用该计算资源预测模型获得计算资源的预测空闲状态。处理模块206,还用于在S103中根据租户的实例分配请求和计算资源预测空闲状态制定实例分配方案。在S105中产生调整方案的操作也是由处理模块206执行的。根据S106中租户对于调整方案接收情况确定实例分配方案也是由处理模块206执行的。处理模块206,还用于在S107中产生供租户确认的实例分配方案信息。根据S107中确认后的实例分配方案在S108中判断是否达到实例启动时间,和在S110中判断是否满足告警条件均是由处理模块206执行的。处理模块206,还用于根据实例分配方案在S109中运行实例和在S111中通知租户告警信息。处理模块206,还用于利用实例运行存储的用户在S112之前上传的任务。在S112中,实例是否达到终止运行条件的判断操作也是由处理模块206执行的。处理模块206,还用于在S113中释放实例。
具体地,处理模块206可以包括预测模块208、调度模块210和执行模块212。
预测模块208,在实例分配方法100中,用于在S102中训练计算资源预测模型,并利用该计算资源预测模型获得计算资源的预测空闲状态。
调度模块210,用于在S103中根据租户的实例分配请求和计算资源预测空闲状态制定实例分配方案。在S105中产生调整方案的操作也是由调度模块210执行的。根据S106中租户对于调整方案接收与否确定是否响应实例分配请求也是由调度模块210执行的。调度模块210,还用于在S107中产生供租户确认的实例分配方案。
执行模块212,用于在S107中判断确认后的实例分配方案在S108中是否达到计算资源启动时间,和在S110中判断是否满足告警条件。执行模块212,还用于根据实例分配方案在S109中运行实例和在S111中通知租户告警信息。执行模块212,还用于利用实例运行存储的用户在S112之前上传的任务。在S112中,实例是否达到终止运行条件的判断操作也是由执行模块212执行的。执行模块212,还用于在S113中释放实例。
本申请还提供一种计算设备600。如图8所示,计算设备包括:总线602、处理器604、存储器606和通信接口608。处理器604、存储器606和通信接口608之间通过总线602通信。应理解,本申请不限定计算设备600中的处理器、存储器的个数。
总线602可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线604可包括在计算设备600各个部件(例如,存储器606、处理 器604、通信接口608)之间传送信息的通路。
处理器604可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器606可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器604还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard disk drive,HDD)或固态硬盘(solid state drive,SSD)。存储器606中存储有可执行的程序代码,处理器604执行该可执行的程序代码以实现前述实例分配方法100。具体的,存储器606上存有云计算管理系统200用于执行实例分配方法100的指令。
通信接口603使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备600与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。如图9所示,所述计算设备集群包括至少一个计算设备600。
计算设备集群中的一个或多个计算设备600中的存储器606中可以存有相同的云计算管理系统200用于执行实例分配方法100的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备600也可以用于执行云计算管理系统200用于执行实例分配方法100的部分指令。换言之,一个或多个计算设备600的组合可以共同执行云计算管理系统200用于执行实例分配方法100的指令。
需要说明的是,计算设备集群中的不同的计算设备600中的存储器606可以存储不同的指令,用于执行实例分配方法100的部分功能。
图10示出了一种可能的实现方式。如图10所示,两个计算设备600A和600B通过通信接口608实现连接。计算设备600A中的存储器上存有用于执行交互模块202、预测模块208、调度模块210和执行模块212的功能的指令。计算设备600B中的存储器上存有用于执行存储模块804的功能的指令。换言之,计算设备600A和600B的存储器606共同存储了云计算管理系统200用于执行实例分配方法100的指令。
图10所示的计算设备集群之间的连接方式可以是考虑到本申请提供的实例分配方法100需要大量存储租户的历史实例分配请求相关参数。因此,考虑将存储功能交由计算设备600B执行。
应理解,图10中示出的计算设备600A的功能也可以由多个计算设备600完成。同样,计算设备600B的功能也可以由多个计算设备600完成。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图11示出了一种可能的实现方式。如图11所示,两个计算设备600C和600D之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备600C中的存储器606中存有执行交互模块202、调度模块210和执行模块212的指令。同时,计算设备600D中的存储器606中存有执行存储模块204和预测模块208的指令。
图11所示的计算设备集群之间的连接方式可以是考虑到本申请提供的实例分配方法100需要大量存储租户的历史实例分配请求相关参数和对计算资源预测模型进行大量训练,因此考虑将存储模块204和预测模块208实现的功能交由计算设备600D执行。
应理解,图11中示出的计算设备600C的功能也可以由多个计算设备600完成。同样,计算设备600D的功能也可以由多个计算设备600完成。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述应用于云计算管理系统200的实例分配方法100。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算机设备上运行时,使得至少一个计算机设备执行上述实例分配方法100。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。
Claims (23)
- 一种实例分配方法,其特征在于,所述方法应用于云计算管理系统,所述方法包括:接收租户上传的实例分配请求,所述实例分配请求包括处理器资源需求;根据所述实例分配请求,生成实例分配方案,其中,所述实例分配方案包括分配给所述租户的实例的生命周期;根据所述实例分配方案从所述云计算管理系统管理的云计算资源池中为所述租户分配所述实例。
- 根据权利要求1所述的方法,其特征在于,所述处理器资源需求包括处理器个数和时长的乘积。
- 根据权利要求1或2所述的方法,其特征在于,所述实例分配请求还包括下述参数中的任意一项或多项:实例类型、可用区域、实例规格、最小同步运行实例数、最短有效运行时间、截止时间,其中,最小同步运行实例数指示同时运行的实例的最小数量,所述最短有效运行时间指示实例每次运行的最短时间,所述截止时间指示所述实例的运行满足所述处理器资源需求的最晚时间。
- 根据权利要求1至3任一所述的方法,其特征在于,所述实例分配方案包括下述参数中的任意一项或多项:所述实例的实例类型,所述实例所在的可用区域,所述实例的实例规格。
- 根据权利要求1至4任一所述的方法,其特征在于,所述根据所述实例分配方案从所述云计算管理系统管理的云计算资源池中为所述租户分配所述实例前,所述方法还包括:发送所述实例分配方案至所述租户;接收所述租户对所述实例分配方案的确认。
- 根据权利要求1至5任一所述的方法,其特征在于,所述根据所述实例分配请求,生成实例分配方案,包括:确定所述云计算资源池无法满足所述实例分配请求;通知所述租户调整所述实例分配请求;根据调整后的所述实例分配请求,生成所述实例分配方案。
- 根据权利要求6所述的方法,其特征在于,所述通知所述租户调整所述实例分配请求,包括:生成一个或多个调整方案,其中,每个调整方案指示对所述实例分配请求的一个或多个参数进行调整;接收所述租户选择的调整方案。
- 根据权利要求1至7任一所述的方法,其特征在于,所述根据所述实例分配方案从所述云计算管理系统管理的云计算资源池中为所述租户分配所述实例前,所述方法还包括:接收所述租户上传的任务;在所述云计算资源池的存储资源中存储所述任务;所述根据所述实例分配方案从所述云计算管理系统管理的云计算资源池中为所述租户分配所述实例后,所述方法还包括:利用所述实例运行存储的所述任务。
- 根据权利要求1至8中任一所述的方法,其特征在于,所述根据所述实例分配请求,生成实例分配方案包括:根据所述实例分配请求和所述云计算资源池中计算资源的预测空闲状态,生成所述实例分配方案,其中,所述计算资源的预测空闲状态指示未来所述计算资源的空闲数量和空闲时间。
- 根据权利要求1至9中任一所述的方法,其特征在于,所述根据所述实例分配方案从所述云计算管理系统管理的云计算资源池中为所述租户分配所述实例包括:根据所述实例分配方案和所述云计算资源池中计算资源的实时空闲状态,从所述云计算资源池中为所述租户分配所述实例,其中,所述计算资源的实时空闲状态指示当前时刻所述计算资源的空闲数量。
- 一种云计算管理系统,其特征在于,所述系统包括交互模块和处理模块:所述交互模块,接收租户上传的实例分配请求,所述实例分配请求包括处理器资源需求;所述处理模块,根据所述实例分配请求,生成实例分配方案,其中,所述实例分配方案包括分配给所述租户的实例的生命周期;根据所述实例分配方案从所述云计算管理系统管理的云计算资源池中为所述租户分配所述实例。
- 如权利要求11所述的系统,其特征在于,所述处理器资源需求包括处理器个数和时长的乘积。
- 如权利要求11或12所述的系统,其特征在于,所述实例分配请求还包括下述参数中的任意一项或多项:实例类型、可用区域、实例规格、最小同步运行实例数、最短有效运行时间、截止时间,其中,最小同步运行实例数指示同时运行的实例的最小数量,所述最短有效运行时间指示实例每次运行的最短时间,所述截止时间指示所述实例的运行满足所述处理器资源需求的最晚时间。
- 如权利要求11至13中任一所述的系统,其特征在于,所述实例分配方案包括下述参数中的任意一项或多项:所述实例的实例类型,所述实例所在的可用区域,所述实例的实例规格。
- 如权利要求11至14中任一所述的系统,其特征在于,所述交互模块,用于发送所述实例分配方案至所述租户;接收所述租户对所述实例分配方案的确认。
- 如权利要求11至15中任一所述的系统,其特征在于,所述处理模块,用于确定所述云计算资源池无法满足所述实例分配请求;通知所述租户调整所述实例分配请求;根据调整后的所述实例分配请求,生成所述实例分配方案。
- 如权利要求16所述的系统,其特征在于,所述处理模块,用于生成一个或多个调整方案,其中,每个调整方案指示对所述实例分配请求的一个或多个参数进行调整;所述交互模块,用于接收所述租户选择的调整方案。
- 如权利要求11至17中任一所述的系统,其特征在于,所述云计算管理系统还包括存储模块:所述交互模块,用于接收所述租户上传的任务;所述存储模块,用于在所述云计算资源池的存储资源中存储所述任务;所述处理模块,用于利用所述实例运行存储的所述任务。
- 如权利要求11至18中任一所述的系统,其特征在于,所述处理模块,用于根据 所述实例分配请求和所述云计算资源池中计算资源的预测空闲状态,生成所述实例分配方案,其中,所述计算资源的预测空闲状态指示未来所述计算资源的空闲数量和空闲时间。
- 如权利要求11至19中任一所述的系统,其特征在于,所述处理模块,用于根据所述实例分配方案和所述云计算资源池中计算资源的实时空闲状态,从所述云计算资源池中为所述租户分配所述实例,其中,所述计算资源的实时空闲状态指示当前时刻所述计算资源的空闲数量。
- 一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求1至10中任一项所述的方法。
- 一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如权利要求1至10中任一项所述的方法。
- 一种包含指令的计算机程序产品,其特征在于,当所述指令被计算机设备集群运行时,使得所述计算机设备集群执行如权利要求的1至10中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP21882176.7A EP4209907A4 (en) | 2020-10-22 | 2021-10-22 | METHOD, SYSTEM AND APPARATUS FOR ALLOCATING INSTANCES |
US18/297,007 US20230273831A1 (en) | 2020-10-22 | 2023-04-07 | Instance allocation method, system, and apparatus |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011140553.9 | 2020-10-22 | ||
CN202011140553 | 2020-10-22 | ||
CN202110541043.0A CN114461374A (zh) | 2020-10-22 | 2021-05-18 | 一种实例分配方法、系统及装置 |
CN202110541043.0 | 2021-05-18 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/297,007 Continuation US20230273831A1 (en) | 2020-10-22 | 2023-04-07 | Instance allocation method, system, and apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022083764A1 true WO2022083764A1 (zh) | 2022-04-28 |
Family
ID=81291664
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/125888 WO2022083764A1 (zh) | 2020-10-22 | 2021-10-22 | 一种实例分配方法、系统及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230273831A1 (zh) |
EP (1) | EP4209907A4 (zh) |
WO (1) | WO2022083764A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361389A (zh) * | 2022-10-20 | 2022-11-18 | 阿里巴巴(中国)有限公司 | 一种云计算实例创建方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073814A (zh) * | 2010-12-30 | 2011-05-25 | 浪潮集团山东通用软件有限公司 | 一种基于动态分配及行为分析的高可用服务端许可控制模式 |
CN105335207A (zh) * | 2014-05-29 | 2016-02-17 | 国际商业机器公司 | 用于管理虚拟机实例的方法和装置 |
CN107743611A (zh) * | 2015-04-29 | 2018-02-27 | 微软技术许可有限责任公司 | 动态云计算平台资源的最优分配 |
US20180314718A1 (en) * | 2017-04-26 | 2018-11-01 | Oracle International Corporation | Dynamic lifecycle management of temporary storage schemas |
US10163152B1 (en) * | 2013-03-14 | 2018-12-25 | Amazon Technologies, Inc. | Notification of computing capacity status |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9294236B1 (en) * | 2012-03-27 | 2016-03-22 | Amazon Technologies, Inc. | Automated cloud resource trading system |
US9479382B1 (en) * | 2012-03-27 | 2016-10-25 | Amazon Technologies, Inc. | Execution plan generation and scheduling for network-accessible resources |
-
2021
- 2021-10-22 EP EP21882176.7A patent/EP4209907A4/en active Pending
- 2021-10-22 WO PCT/CN2021/125888 patent/WO2022083764A1/zh unknown
-
2023
- 2023-04-07 US US18/297,007 patent/US20230273831A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073814A (zh) * | 2010-12-30 | 2011-05-25 | 浪潮集团山东通用软件有限公司 | 一种基于动态分配及行为分析的高可用服务端许可控制模式 |
US10163152B1 (en) * | 2013-03-14 | 2018-12-25 | Amazon Technologies, Inc. | Notification of computing capacity status |
CN105335207A (zh) * | 2014-05-29 | 2016-02-17 | 国际商业机器公司 | 用于管理虚拟机实例的方法和装置 |
CN107743611A (zh) * | 2015-04-29 | 2018-02-27 | 微软技术许可有限责任公司 | 动态云计算平台资源的最优分配 |
US20180314718A1 (en) * | 2017-04-26 | 2018-11-01 | Oracle International Corporation | Dynamic lifecycle management of temporary storage schemas |
Non-Patent Citations (1)
Title |
---|
See also references of EP4209907A4 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115361389A (zh) * | 2022-10-20 | 2022-11-18 | 阿里巴巴(中国)有限公司 | 一种云计算实例创建方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20230273831A1 (en) | 2023-08-31 |
EP4209907A1 (en) | 2023-07-12 |
EP4209907A4 (en) | 2024-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11487562B2 (en) | Rolling resource credits for scheduling of virtual computer resources | |
JP6189875B2 (ja) | プログラム実行能力の私的利用の管理 | |
US9626210B2 (en) | Resource credit pools for replenishing instance resource credit balances of virtual compute instances | |
US10552774B2 (en) | Cost-minimizing task scheduler | |
CN114461374A (zh) | 一种实例分配方法、系统及装置 | |
US10037501B2 (en) | Energy management costs for a data center | |
US7774457B1 (en) | Resource evaluation for a batch job and an interactive session concurrently executed in a grid computing environment | |
US20070101000A1 (en) | Method and apparatus for capacity planning and resourse availability notification on a hosted grid | |
WO2009061432A1 (en) | Predicting and managing resource allocation according to service level agreements | |
CN116724293A (zh) | 针对云计算实例的中断预测 | |
US11134026B2 (en) | Self-configuration of servers and services in a datacenter | |
US20230273831A1 (en) | Instance allocation method, system, and apparatus | |
US10606636B2 (en) | Automated predictions for not-yet-completed jobs | |
US20240193677A1 (en) | Service processing method and related apparatus | |
KR101721644B1 (ko) | 서비스 사용자의 작업처리시간에 대한 품질과 제공자의 수익을 고려한 클라우드 서비스 자원할당방법 | |
TWI539403B (zh) | 無線電頻譜交易之技術 | |
EP4300892A1 (en) | Resource scheduling method and apparatus, computer device, system, and storage medium | |
CN116932182A (zh) | 资源调度方法、装置、系统、服务器和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21882176 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2021882176 Country of ref document: EP Effective date: 20230404 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |