Virtual machine power consumption prediction device, virtual machine power consumption prediction method, and program

The virtual machine power consumption prediction device addresses the challenge of predicting VM power consumption during migration by calculating and forecasting based on resource usage and energy efficiency, ensuring efficient energy utilization and cost reduction.

JP7800567B2Active Publication Date: 2026-01-16NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2023579975
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-02-10
Publication Date
2026-01-16
Estimated Expiration
2042-02-10

AI Technical Summary

Technical Problem

The challenge of accurately predicting the power consumption of a virtual machine (VM) when migrating it from a source server to a destination server, especially in environments with fluctuating renewable energy supplies, to optimize energy utilization and reduce electricity costs.

Method used

A virtual machine power consumption prediction device that calculates and predicts power consumption using resource usage status, energy efficiency indices, and learning algorithms to convert and forecast power consumption based on the energy efficiency of source and destination servers.

Benefits of technology

Enables accurate prediction of VM power consumption during migration, optimizing energy usage and reducing operational issues by aligning VM power demands with renewable energy availability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007800567000004
    Figure 0007800567000004
  • Figure 0007800567000005
    Figure 0007800567000005
  • Figure 0007800567000006
    Figure 0007800567000006
Patent Text Reader

Abstract

This virtual machine power consumption predicting device comprises: a power consumption calculating unit for calculating power consumed by a virtual machine operating on a first server on the basis of a resource use state on the first server; and a power consumption predicting unit for predicting, on the basis of an index indicating energy consumption efficiency of each of the first server and a second server, power consumed by the virtual machine in the case where the virtual machine is moved to the second server.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a technique for predicting the power consumption of a virtual machine running on a server. [Background technology]

[0002] In recent years, various network services and applications have been provided by virtual machines (hereinafter referred to as VMs) that run on physical servers (hereinafter referred to as servers) at multiple locations (for example, data centers).

[0003] In addition, in order to reduce electricity purchasing costs and achieve decarbonization, each site often receives power from two systems: renewable energy sources such as solar power generation, and commercial electricity supplied by electric power companies.

[0004] With renewable energy power generation, the amount of power supply fluctuates from moment to moment. For example, by moving VMs from site A to site B, which has a surplus of renewable energy supply, during times when the renewable energy supply at site A is low, the renewable energy at site B can be used efficiently and the electricity purchase fee from the power company at site A can be reduced. [Prior art documents] [Non-patent literature]

[0005] [Non-Patent Document 1] Pape, C., Rieger, S., & Richter, H. (2016). Leveraging Renewable Energies in Distributed Private Clouds. In MATEC Web of Conferences (Vol. 68, p. 14008). EDP Sciences. Summary of the Invention [Problem to be solved by the invention]

[0006] As mentioned above, it is possible to increase the utilization rate of renewable energy by moving VMs to servers at bases with a surplus of renewable energy supplies. However, to do this, it is necessary to properly predict how much power the VM being moved from the source server to the destination server will consume on the destination server.

[0007] The present invention has been made in view of the above-mentioned points, and has an object to provide a technique for appropriately predicting the power consumption of a virtual machine to be migrated from a source server to a destination server. [Means for solving the problem]

[0008] According to the disclosed technology, a power consumption calculation unit calculates the power consumption of a virtual machine running on a first server based on a resource usage status of the first server; The power consumption of a virtual machine running on the first server; An index indicating the energy consumption efficiency of each of the first server and the second server. and and a power consumption prediction unit that predicts the power consumption of the virtual machine when the virtual machine is migrated to the second server based on the above. [Effects of the Invention]

[0009] According to the disclosed technology, it is possible to appropriately predict the power consumption of a virtual machine to be migrated from a source server to a destination server. [Brief explanation of the drawings]

[0010] [Figure 1] 1 is a diagram illustrating an overall configuration of a system according to an embodiment of the present invention. [Figure 2] 1 is a diagram for explaining an outline of an embodiment of the present invention; [Figure 3] 10 is a flowchart showing the overall operation. [Figure 4] FIG. 1 is a configuration diagram of a virtual machine power consumption prediction device. [Figure 5] FIG. 10 is a diagram for explaining Example A-1. [Figure 6] FIG. 10 is a diagram for explaining Example A-1. [Figure 7] FIG. 10 is a diagram for explaining Example A-2. [Figure 8] FIG. 10 is a diagram for explaining Example A-3. [Figure 9] FIG. 10 is a diagram for explaining Example B-1. [Figure 10] FIG. 10 is a diagram for explaining Example B-2. [Figure 11] FIG. 10 is a diagram for explaining Example B-2. [Figure 12] FIG. 10 is a diagram illustrating an example in which resources other than CPU utilization are used. [Figure 13] 10 is a flowchart showing the overall operation in S2. [Figure 14] FIG. 10 is a diagram for explaining a data accumulation method. [Figure 15] FIG. 10 is a diagram for explaining a data accumulation method. [Figure 16] FIG. 10 is a diagram for explaining a data accumulation method. [Figure 17] FIG. 10 is a diagram for explaining a data accumulation method. [Figure 18] FIG. 10 is a diagram for explaining a data accumulation method. [Figure 19] FIG. 1 is a diagram for explaining a learning and estimation method. [Figure 20] FIG. 10 is a diagram for explaining a prediction method based on macro load transitions of a group of VMs of the same type. [Figure 21] FIG. 10 is a diagram for explaining a prediction method based on macro load transitions of a group of VMs of the same type. [Figure 22] FIG. 2 illustrates an example of a hardware configuration of the apparatus. DETAILED DESCRIPTION OF THE INVENTION

[0011] Hereinafter, an embodiment of the present invention (the present embodiment) will be described with reference to the drawings. The embodiment described below is merely an example, and the embodiment to which the present invention is applied is not limited to the following embodiment.

[0012] (System configuration, operation overview) An example of the overall configuration of a system according to this embodiment is shown in Fig. 1. As shown in Fig. 1, a plurality of bases each equipped with a group of servers are connected to a physical network 200. A virtual machine power consumption prediction device 100 is also connected to the physical network 200.

[0013] Each base station is supplied with commercial power from a power company and also with power generated from renewable energy sources. Note that there may be base stations that are supplied with only commercial power from a power company, or base stations that are supplied with only power generated from renewable energy sources.

[0014] Each server at each site is equipped with zero or more VMs, and each VM can be moved between sites using existing migration technology.

[0015] An overview of the processing of the virtual machine power consumption prediction device 100 will be described with reference to Fig. 2. As shown in Fig. 2, it is assumed that VM1 is to be migrated from server 10A, which is located in an area with no surplus renewable energy, to server 10B, which is located in an area with surplus renewable energy. In order to migrate VM1 from server 10A to server 10B, it is necessary to predict how much power VM1 will consume on the destination server 10B. This is because if VM1 consumes too much power compared to the capacity of server 10B, it will cause problems in the operation of server 10B.

[0016] In this embodiment, the above prediction is performed by the virtual machine power consumption prediction device 100. That is, when a VM on a source server is migrated to a destination server, the virtual machine power consumption prediction device 100 predicts the power consumption required by the VM on the destination server from the present to the future.

[0017] (Overall processing flow, equipment configuration) Fig. 3 shows the overall processing flow of the virtual machine power consumption prediction device 100. As shown in Fig. 3, in S1 (step 1), the virtual machine power consumption prediction device 100 calculates the power consumption of each VM on the migration source server.

[0018] In S2, the virtual machine power consumption prediction device 100 converts the power consumption calculated in S1 into the power consumption that would be consumed if the VM were installed on the destination server. The results corresponding to each server, including the calculated values ​​before conversion, are accumulated, and learning is performed based on the accumulated values ​​to predict future power consumption.

[0019] An example configuration of a virtual machine power consumption prediction device 100 that executes the above-described processing is shown in Fig. 4. As shown in Fig. 4, the virtual machine power consumption prediction device 100 includes an information acquisition unit 110, a power consumption calculation unit 120, a power consumption prediction unit 130, an output unit 140, and a data storage unit 150.

[0020] The information acquisition unit 110 acquires information (resource usage status, etc.) necessary for calculating and predicting power consumption from each server. The power consumption calculation unit 120 performs the process of S1 above using the information acquired by the information acquisition unit 110. The power consumption prediction unit 130 performs the process of S2 above. The output unit 140 outputs the calculation results by the power consumption prediction unit 130. The output unit 140 may also output the calculation results by the power consumption calculation unit 120.

[0021] The data storage unit 150 stores information acquired by the information acquisition unit 110, calculation results by the power consumption calculation unit 120, calculation results by the power consumption prediction unit 130, etc. More specifically, the data stored in the data storage unit 150 includes a transition data DB and a host power consumption correction DB, which will be described later.

[0022] The processes of S1 and S2 will be described in detail below.

[0023] (S1: VM power consumption calculation process on the source server) First, a VM power consumption calculation process executed by the power consumption calculation unit 120 in the source server will be described.

[0024] <Summary> A server on which a VM is installed is configured with a combination of a host OS and a VM. Therefore, the power consumption of this server can be expressed by the following formula:

[0025] Server power consumption = (host OS power consumption) + (total power consumption of VMs installed on the server) The total power consumption of VMs installed on a server is, for example, (power consumption of VM1) + (power consumption of VM2) if there are VM1 and VM2.

[0026] In this embodiment, the power consumption calculation unit 120 creates a plurality of relational expressions and solves the plurality of relational expressions to calculate the power consumption of each VM. The calculated (estimated) power consumption values ​​are stored in the data storage unit 150 as, for example, time-series data.

[0027] Specifically, by using the amount / rate of various resources used, such as CPU usage, memory usage, and disk usage, multiple relational equations are prepared, and a multivariate simultaneous equation is solved to calculate the power consumption of each VM. There are two methods for preparing multiple relational equations: Method A and Method B below.

[0028] A) Prepare multiple relational equations for multiple servers with the same specifications B) Prepare multiple relational expressions for multiple times on the same server Specific calculation examples will be described below as Example A for Method A and Example B for Method B. Example A consists of Example A-1, Example A-2, and Example A-3, and Example B consists of Example B-1 and Example B-2, so each will be described below.

[0029] In Examples A and B, examples using only CPU utilization rate will be described. An example using a factor other than CPU utilization rate will be described as Example C. Note that in the examples described below, three relational expressions are used as the multiple relational expressions, but this is just an example. Four or more relational expressions may be used. Also, if there are few variables, two relational expressions may be used. Also, CPU utilization rate, etc. is an example of resource utilization rate.

[0030] (Example A-1) First, Example A-1 relating to calculation of power consumption for multiple servers with the same specifications will be described.

[0031] It is necessary to define assumptions when calculating power consumption. Here, a simple assumption is that for VMs of the same type, the CPU usage time (CPU usage rate) used by the VM and power consumption are linear.

[0032] In this embodiment, "VMs of the same type" refers to VMs with the same specifications, VMs with the same software, or VMs performing similar processing. Clustered VMs are considered to be of the same type. In addition, it is assumed that the power consumption per 1% of the host OS's CPU usage is the same for all servers.

[0033] Based on these conditions, multiple relational equations are prepared using the CPU usage of the host OS and VM to calculate power consumption.

[0034] The information acquisition unit 110 acquires the power consumption of the server and the CPU utilization rate of the host and each VM from each of the plurality of target servers.

[0035] For example, if each server has a VM of type A and a VM of type B, the CPU usage of the host is calculated as ホスト %, CPU usage of VM (type A) A %, CPU usage of VM (type B) B %. Also, let P be the power consumption of the server.

[0036] Also, the power consumption per 1% of the host's CPU usage (an example of resource unit usage) is calculated as U ホスト ,The power consumption per 1% of CPU usage of VM (type A) is U A ,The power consumption per 1% of CPU usage of VM (type B) is U B Then, the power consumption calculation unit 120 creates the following relational expression for each server.

[0037] CPU ホスト %×U ホスト +CPU A %×U A +CPU B %×U B =P(W) Figure 5 shows specific examples of three relational expressions when three servers H1 to H3 are targeted as multiple servers with the same specifications. In the state of servers H1 to H3 shown in Figure 5, the following three relational expressions are created, as shown in Figure 5.

[0038] Relationship (1): 20% × U ホスト +50%×U A +20%×U B =360(W) Equation (2): 30% × U ホスト +40%×U A +30%×U B =400(W) Equation (3): 15% × U ホスト +40%×U A +45%×U B =370(W) The power consumption calculation unit 120 solves the above three relational expressions as simultaneous equations to obtain U ホスト , U A , U B Calculate.

[0039] After calculating the power consumption per 1% of CPU utilization rate as described above, the power consumption calculation unit 120 calculates the VM power consumption in the source server using the following formula as shown in FIG.

[0040] VM power consumption on source server = (power consumption per 1% of VM CPU usage) x (CPU usage at time of VM measurement) The calculated power consumption is stored in the data storage unit 150. The calculation is performed, for example, periodically, and the resulting time-series data is stored in the data storage unit 150.

[0041] The "power consumption per 1% of CPU utilization rate of VM" may be calculated each time the VM power consumption on the source server is acquired, or a previously calculated "power consumption per 1% of CPU utilization rate of VM" may be used to acquire the current VM power consumption on the source server. The same applies when other resources are used. In the following examples, differences from Example A-2 will be mainly described.

[0042] (Example A-2) Example A-2, which relates to power consumption calculations for multiple servers with the same specifications, will be described below. Example A-2 uses preconditions that are one step closer to practical use than Example A-1.

[0043] First, as in Example A-1, a condition is set that, for VMs of the same type, the CPU usage time (CPU usage rate) used by the VM and power consumption are linear. In Example A-2, a further condition is set that, since there is power consumption that is constantly used in the server, such as by fans, regardless of CPU usage rate, each relational expression includes steady power consumption.

[0044] The power consumption calculation unit 120 prepares a number of relational expressions using the CPU utilization rates of the host OS and VM based on these conditions, and calculates the power consumption.

[0045] The information acquisition unit 110 acquires the power consumption of each of the multiple target servers and the CPU utilization rate of the host and each VM, and the power consumption calculation unit 120 creates the following relational expression for each server.

[0046] CPU ホスト %×U ホスト +CPU A %×U A +CPU B %×U B + Steady-state power consumption = P (W) In the state of servers H1 to H3 shown in Fig. 7, the following three relational expressions are created as shown in Fig. 7. Note that steady power consumption is described as "steady."

[0047] Relationship (1): 20% × U ホスト +50%×U A +20%×U B + Steady state = 460(W) Equation (2): 30% × U ホスト +40%×U A +30%×U B + Steady state = 500(W) Equation (3): 15% × U ホスト +40%×U A +45%×U B + Steady state = 470(W) The power consumption calculation unit 120 solves the above three relational expressions as simultaneous equations to obtain U ホスト , U A , U B , and calculate the steady-state power consumption.

[0048] (Example A-3) Example A-3, which relates to power consumption calculations for multiple servers with the same specifications, will be described. Example A-3 uses preconditions that are one step closer to practical use than Example A-2. In Example A-3, in addition to the preconditions described in Example A-2, a condition is added that each relational expression contains an error.

[0049] The power consumption calculation unit 120 prepares a number of relational expressions using the CPU utilization rates of the host OS and VM based on these conditions, and calculates the power consumption.

[0050] The information acquisition unit 110 acquires the power consumption of each of the multiple target servers and the CPU utilization rate of the host and each VM, and the power consumption calculation unit 120 creates the following relational expression for each server.

[0051] CPU ホスト %×U ホスト +CPU A %×U A +CPU B %×UB + steady-state power consumption + error = P(W) In the state of the servers H1 to H3 shown in FIG. 8, the following three relational expressions are created as shown in FIG.

[0052] Relation (1): 20% × U ホスト +50%×U A +20%×U B +Steady state+Error(1)=465(W) Equation (2): 30%×U ホスト +40%×U A +30%×U B +Steady state+Error(2)=501(W) Equation (3): 15%×U ホスト +40%×U A +45%×U B +Steady state+Error(3)=472(W) The power consumption calculation unit 120 solves the three relational expressions so that |error (1)| + |error (2)| + |error (3)| is minimized, and calculates U ホスト , U A , U B Specifically, the power consumption calculation unit 120 calculates the steady-state power consumption by linear programming using the following objective function and relational expressions (1) to (3) as constraints: ホスト , U A , U B , and calculates steady-state power consumption. Note that using linear programming as a solution method is just one example, and the solution method is not limited to linear programming. For example, a method such as multiple regression analysis may be used.

[0053] Objective function: minimize: |Error(1)| + |Error(2)| + |Error(3)| Example B-1 Example B-1 will be described, which relates to calculation of power consumption based on data acquired at multiple times by the same server at different times. Note that Example B is intended to be implemented when multiple servers cannot be prepared as in Example A, but is not limited to this. Example B may also be implemented when multiple servers can be prepared. Also, Example A and Example B may be implemented in combination.

[0054] In Example B-1, the information acquisition unit 110 acquires power consumption and CPU utilization from the same server at multiple different times, and performs the same calculation as when there are multiple servers to calculate power consumption.

[0055] In Example B-1, multiple data obtained at multiple times from the same server are considered to be multiple data obtained from multiple servers in Example A, and the power consumption of each VM can be calculated using the same calculation as that described in Example A (Examples A-1 to A-3).

[0056] 9 shows an example based on the conditions and calculation method described in Example A-3. In this example, the information acquisition unit 110 acquires the power consumption of the server and the CPU usage rates of the host and each VM from the same server H1 at 10:10, 10:12, and 10:15, and the power consumption calculation unit 120 creates the following relational equation for each time.

[0057] Relation (1): 15%×U ホスト +40%×U A +45%×U B +Steady state+Error(1)=472(W) Equation (2): 40%×U ホスト +30%×U A +30%×U B +Steady state+Error(2)=512(W) Equation (3): 20% × U ホスト +20%×U A +60%×U B +Steady state+Error(3)=462(W) The power consumption calculation unit 120 solves the three relational expressions so that |error (1)| + |error (2)| + |error (3)| is minimized, and calculates U ホスト , U A , U B Specifically, the power consumption calculation unit 120 calculates the steady-state power consumption by linear programming using the following objective function and relational expressions (1) to (3) as constraints: ホスト , U A , U B , and calculates steady-state power consumption. Note that using linear programming as a solution method is just one example, and the solution method is not limited to linear programming. For example, a method such as multiple regression analysis may be used.

[0058] Objective function: minimize: |Error(1)| + |Error(2)| + |Error(3)| (Example B-2) An example B-2 relating to calculation of power consumption based on data acquired at different times by the same server will be described.

[0059] In the models of Examples A-1 to B-1 described so far, it was assumed that the CPU usage time (CPU usage rate) and power consumption used by the host and the VM are linear for the same type of VM, but in B-2, this relationship is assumed to be nonlinear. Fig. 10 shows an example where a linear relationship is assumed, and Fig. 11 shows an example where a nonlinear relationship is assumed.

[0060] 11, if the relationship between CPU usage time (CPU usage rate) and power consumption is nonlinear, power consumption calculation unit 120 subdivides intervals based on CPU usage time (CPU usage rate) and solves the simultaneous equations for each interval independently. In other words, calculations are performed assuming that the power consumption characteristics within the subdivided intervals are linear.

[0061] For example, for simplicity, let us assume that the CPU utilization rate (%) of the entire server is divided into three intervals: 0 to 30 (interval 1), 30 to 70 (interval 2), and 70 to 100 (interval 3). The information acquisition unit 110 acquires data from the same server over multiple time periods and divides the data into intervals 1, 2, and 3. The power consumption calculation unit 120 calculates the power consumption per 1% of CPU utilization rate of the host and each VM for each interval, for example, using the method described in Example B-1.

[0062] When calculating power consumption using the measured value of CPU usage and the power consumption per 1% of CPU usage, the calculation is performed according to the above intervals. For example, if the measured CPU usage falls into interval 1, the power consumption per 1% of CPU usage calculated in interval 1 is used to calculate power consumption. The same applies to other intervals.

[0063] Example C In the embodiments A and B described so far, the relational equations were created using CPU usage rates. However, even when memory usage rates and disk usage rates are used in addition to CPU usage rates, multiple relational equations can be created using a similar approach, and the power consumption of a VM can be calculated by solving these multiple relational equations.

[0064] For example, it is assumed that the information acquisition unit 110 acquires the data shown in FIG. 12 for each of the host, VM (type A) (1), VM (type A) (2), and VM (type B) (1) from the server H1.

[0065] When the target is X, the coefficient that represents the power consumption per 1% of CPU usage of X is U. X , the coefficient representing the power consumption per 1% of memory usage of X is M X , the coefficient representing the power consumption per 1% of disk usage of X is D X In this case, the power consumption calculation unit 120 creates the following relational expression as a relational expression for the data shown in FIG.

[0066] 20% × U ホスト +50%×U A +15%×UB +15%×M ホスト +20%×M A +30%×M B +10%×D ホスト +10%×D A +25%×D B + Regular power consumption + Error = 350W In the above formula, "20% × U ホスト +50%×U A +15%×U B " is the part about CPU usage, and "15% x M ホスト +20%×M A +30%×M B " is the part about memory usage, and "10% x D ホスト +10%×D A +25%×D B " is the part about disk usage.

[0067] If calculation is performed based on Example A, the above equation is created for multiple servers and solved to calculate the power consumption of the VM. If calculation is performed based on Example B, the above equation is created for multiple times and solved to calculate the power consumption of the VM. (S2: Future power consumption prediction process on the destination server) Next, a process of predicting VM power consumption in the destination server, which is executed by the power consumption predicting unit 130, will be described.

[0068] <Overall processing flow> The overall processing flow in S2 will be described with reference to Fig. 13. At this point, it is assumed that the VM power consumption calculated based on the power consumption of each VM per resource unit utilization rate (e.g., CPU utilization rate 1%) calculated in S1 has been stored in the data storage unit 150 in the form of time-series data.

[0069] In S201, the power consumption prediction unit 130 converts the power consumption of each VM at each time into the power consumption when the VM is operated on a server different from the source server. As will be described later, in this embodiment, the power consumption is converted using the SERT value of the server, and the converted power consumption is stored in the data storage unit 150.

[0070] In S202, the power consumption prediction unit 130 performs learning using past data stored in the data storage unit 150.

[0071] In S203, the power consumption prediction unit 130 predicts the future power consumption of the VM based on the result of the learning in S202.

[0072] (Details of conversion process in S201) As described above, in this embodiment, the SERT value is used as an index for converting the power consumption of a VM on one server into the power consumption on another server.

[0073] The SERT value indicates energy consumption efficiency based on the Energy Conservation Act, and is set as a specification for each server. The lower the SERT value, the better the energy consumption efficiency. Using this SERT value, the energy consumption efficiency of the source and destination servers of the VM is compared and the conversion is performed.

[0074] Specifically, the power consumption prediction unit 130 converts the power consumption at the source server into the power consumption at the destination server using the following formula:

[0075] Power consumption at destination server = Power consumption on the source server x (SERT value of the destination server) / (SERT value of the source server) If the SERT value of the source server is 12.3 and the SERT value of the destination server is 14.2, and the power consumption of the VM on the source server is 100W, the power consumption of the VM on the destination server = 100W x 14.2 / 12.3 = 116W.

[0076] Hereinafter, the power consumption prediction process on the destination server of the VM will be described in more detail using an example.

[0077] (Example of data accumulation method) Since the behavior of a VM's power consumption differs depending on the server on which the VM is installed, when the calculation results of the VM's power consumption are stored in the data storage unit 150, in addition to the power consumption information, the host (the "host" may also be called the "server") on which the calculation results were obtained is also stored. FIG. 14 shows the transition of power consumption of VM1 on hosts A to B. FIG. 15 shows an example of power consumption data (transition data DB) stored in the data storage unit 150.

[0078] For example, the data in the first row of Figure 15, "202107011000 vm1 1.0kw hostA," means that the value calculated from the resource usage rate (e.g., CPU usage rate) of VM1 obtained from the server hostA at time 202107011000 and the power consumption per unit resource usage rate calculated in S1 is 1.0kw.

[0079] In addition to the above data, a SERT value for correcting the power consumption for each server is stored as a host power consumption correction DB in the data storage unit 150. An example of the host power consumption correction DB is shown in FIG.

[0080] Next, as shown in FIG. 17, the power consumption prediction unit 130 calculates the power consumption of the VM on the destination server using a calculation formula using the SERT value described above, and stores the calculation result in the data storage unit 150 (transition data DB).

[0081] An example of a transition data DB containing data obtained by converting the original power consumption into the power consumption of a VM on the destination server is shown in Figure 18. For example, the first line of the data in Figure 18, "202107011000 vm1 1.38kw 1.30kW...," indicates that the value calculated from the resource usage rate of VM1 obtained from the hostA server and the power consumption per resource unit usage rate calculated in S1 is 1.38kW, and that the value converted into the power consumption on the hostB server is 1.30kW. The same applies to other servers and other time periods.

[0082] (Learning and prediction methods for S202 and S203) Next, examples of a learning method and a prediction method using the transition data DB in which data is accumulated as described above will be described.

[0083] For example, suppose that on Tuesday of this week, it is desired to obtain a predicted value for the power consumption of VM1 on host C (server) for the time slot of 10:00 on Friday of this week. In this case, the power consumption prediction unit 130 searches the transition data DB to extract data for VM1 on host C for the time slot of 10:00 on past Fridays, as shown in Fig. 19, and calculates the average value of the extracted data to obtain a predicted value for the time slot of 10:00 on Friday of this week. Predicted values ​​can be obtained for other servers and other dates and times using a similar method.

[0084] The method for obtaining the predicted value is not limited to the above method, and for example, the predicted value may be calculated using machine learning.

[0085] For example, the date, time, VM, and host in the transition data DB are input to the neural network, and the neural network is trained so that the output from the neural network becomes the correct power consumption in the transition data DB. The power consumption prediction unit 130 is provided with a trained neural network, and the "future date, time, VM, and host" for which power consumption is desired are input to the neural network, and the output is used as a predicted value of power consumption.

[0086] (Macro load transition of a group of similar VMs) Here, we will explain a method for predicting future CPU usage for each VM using the macro load transition of a group of similar VMs. If CPU usage can be predicted, future power consumption can be predicted using the power consumption per unit CPU usage. Furthermore, while the method explained below targets CPU usage as an example, it can also be applied to other resource usage rates, VM power consumption, etc.

[0087] In general, CPU usage for individual VMs fluctuates significantly, making accurate prediction difficult. However, similar services tend to have similar usage trends, so there is a correlation between CPU usage. This is shown in the left diagram of Figure 20 and the left diagram of Figure 21. That is, the left diagram of Figure 20 shows the time series transition of CPU usage for each of VMs 1 to 3 that provide service A, and as shown, the time series transitions for VMs 1 to 3 are similar. Similarly, as shown in the left diagram of Figure 21, the time series transitions for VMs 1 to 3 that provide service B are similar.

[0088] "Similar services" may refer to any services that have a similar relationship as long as they have similar resource usage trends over time. For example, if the same application is provided in Japan using multiple VMs, the multiple VMs that provide the application can be said to be VMs of the same type of service.

[0089] Therefore, the power consumption prediction unit 130 sums up the CPU utilization rates of multiple VMs for the same type of service. As a result, as shown in the center diagram of Fig. 20 and the center diagram of Fig. 21, the time-series fluctuations are stabilized, and existing prediction techniques (such as regression analysis) can be applied.

[0090] The power consumption prediction unit 130 uses the data of the CPU utilization rates summed up as described above to perform a future prediction of the summed CPU utilization rates by regression analysis or the like.

[0091] Next, the power consumption prediction unit 130 calculates a predicted value of the CPU utilization rate for each VM by distributing the predicted transition of the CPU utilization rate using a weighted average based on the sum of the original CPU utilization rates. An image of the distribution is shown in the right diagram of Fig. 20 and the right diagram of Fig. 21. The predicted value of the CPU utilization rate for each VM and the power consumption per 1% of CPU utilization rate for each VM can be calculated.

[0092] The calculation method performed by the power consumption prediction unit 130 will be described in more detail below.

[0093] It is assumed that the CPU utilization rate of each VM is collected at a certain time interval (every 5 minutes) by the information acquisition unit 110. The collected data is stored in the data storage unit 150.

[0094] At this time, the CPU usage rate of each VMi (i=1~n) for a certain service A at time t is expressed as x A i,t In this case, the summation operation shown in the center diagram of Figure 20 and Figure 21 can be performed using the following formula.

[0095]

number

[0096] Similarly, the predicted value of VMi for service A is ^x A i,t In this case, the weight of VMi for service A is expressed as

[0097]

number

[0098]

number

[0099] (Example of hardware configuration) The virtual machine power consumption prediction device 100 can be realized, for example, by causing a computer to execute a program. This computer may be a physical computer or a virtual machine on the cloud.

[0100] That is, the virtual machine power consumption prediction device 100 can be realized by using hardware resources such as a CPU and memory built into a computer to execute a program corresponding to the processing performed by the virtual machine power consumption prediction device 100. The program can be recorded on a computer-readable recording medium (such as a portable memory) and can be saved or distributed. The program can also be provided via a network such as the Internet or email.

[0101] Fig. 22 is a diagram showing an example of the hardware configuration of the computer. The computer in Fig. 22 includes a drive device 1000, an auxiliary storage device 1002, a memory device 1003, a CPU 1004, an interface device 1005, a display device 1006, an input device 1007, an output device 1008, and the like, all of which are interconnected by a bus BS.

[0102] A program for realizing processing on the computer is provided by a recording medium 1001 such as a CD-ROM or a memory card. When the recording medium 1001 storing the program is set in the drive device 1000, the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000. However, the program does not necessarily have to be installed from the recording medium 1001, but may be downloaded from another computer via a network. The auxiliary storage device 1002 stores the installed program as well as necessary files, data, etc.

[0103] The memory device 1003 reads and stores the program from the auxiliary storage device 1002 when an instruction to start the program is received. The CPU 1004 implements functions related to the virtual machine power consumption prediction device 100 in accordance with the program stored in the memory device 1003. The interface device 1005 is used as an interface for connecting to a network or the like. The display device 1006 displays a GUI (Graphical User Interface) or the like according to the program. The input device 1007 is composed of a keyboard, mouse, buttons, a touch panel, or the like, and is used to input various operation instructions. The output device 1008 outputs the calculation results.

[0104] (Effects of the embodiment) The technology according to this embodiment makes it possible to appropriately predict the power consumption of a virtual machine when the virtual machine is migrated from a source server to a destination server.

[0105] (Addendum) This specification discloses at least the following virtual machine power consumption prediction device, virtual machine power consumption prediction method, and program. (Section 1) a power consumption calculation unit that calculates the power consumption of a virtual machine running on a first server based on a resource usage status of the first server; a power consumption prediction unit that predicts the power consumption of the virtual machine when the virtual machine is migrated to the second server based on an index indicating the energy consumption efficiency of each of the first server and the second server; A virtual machine power consumption prediction device comprising: (Section 2) The power consumption calculation unit prepares, for each of a plurality of servers, a relational expression indicating the relationship between the power consumption of the server and the sum of the power consumption of the host and each virtual machine running on the server, and calculates the power consumption using a plurality of relational expressions for the plurality of servers. 2. The virtual machine power consumption prediction device according to claim 1. (Section 3) The power consumption calculation unit prepares a relational expression indicating the relationship between the power consumption of the server and the total power consumption of the host and each virtual machine running on the server for each of a plurality of times in one server, and calculates the power consumption using the plurality of relational expressions for the plurality of times. 2. The virtual machine power consumption prediction device according to claim 1. (Section 4) The total power consumption of the host and each virtual machine in the above relational expression is the sum of the value obtained by multiplying the measured value of the resource utilization rate of the host by a variable indicating the power consumption per unit resource utilization rate of the host, and the sum of the values ​​obtained by multiplying the measured value of the resource utilization rate of the virtual machine by a variable indicating the power consumption per unit resource utilization rate of the virtual machine for all virtual machines. 4. The virtual machine power consumption prediction device according to claim 2 or 3. (Section 5) The power consumption prediction unit predicts future power consumption of the virtual machine using accumulated data of time-series power consumption of the virtual machine. 5. The virtual machine power consumption prediction device according to any one of claims 1 to 4. (Section 6) The power consumption prediction unit sums time-series data of resource usage rates for multiple virtual machines in the same type of service across the multiple virtual machines, predicts future resource usage rates for the summed resource usage rates, and distributes the future resource usage rates to the multiple virtual machines to calculate future resource usage rates for each virtual machine, and predicts future power consumption for each virtual machine using the future resource usage rates. 5. The virtual machine power consumption prediction device according to any one of claims 1 to 4. (Section 7) A virtual machine power consumption prediction method executed by a virtual machine power consumption prediction device, comprising: a power consumption calculation step of calculating power consumption of a virtual machine running on a first server based on a resource usage status of the first server; a power consumption prediction step of predicting the power consumption of the virtual machine when the virtual machine is migrated to the second server based on an index indicating the energy consumption efficiency of each of the first server and the second server; A virtual machine power consumption prediction method comprising: (Section 8) A program for causing a computer to function as each unit in the virtual machine power consumption prediction device according to any one of claims 1 to 6. (Section 9) The computer processor a power consumption calculation process for calculating the power consumption of a virtual machine running on a first server based on a resource usage status of the first server; a power consumption prediction process for predicting the power consumption of the virtual machine when the virtual machine is migrated to the second server based on an index indicating the energy consumption efficiency of each of the first server and the second server; A non-transitory recording medium that records a program that executes the above.

[0106] Although the present embodiment has been described above, the present invention is not limited to such a specific embodiment, and various modifications and changes are possible within the scope of the gist of the present invention described in the claims. [Explanation of symbols]

[0107] 100 Virtual Machine Power Consumption Prediction Device 110 Information Acquisition Department 120 Power consumption calculation section 130 Power Consumption Prediction Unit 140 Output section 150 Data storage unit 200 physical networks 1000 Drive Device 1001 Recording media 1002 Auxiliary storage device 1003 Memory device 1004 CPU 1005 Interface device 1006 Display device 1007 Input Device 1008 Output Device

Claims

1. a power consumption calculation unit that calculates the power consumption of a virtual machine running on a first server based on a resource usage status of the first server; a power consumption prediction unit that predicts the power consumption of a virtual machine operating on the first server and an index indicating the energy consumption efficiency of each of the first server and the second server, when the virtual machine is migrated to the second server; A virtual machine power consumption prediction device comprising:

2. The power consumption calculation unit prepares, for each of a plurality of servers, a relational expression indicating a relationship between the power consumption of the server and the sum of the power consumption of the host and each virtual machine running on the server, and calculates the power consumption using a plurality of relational expressions for the plurality of servers. The virtual machine power consumption prediction device according to claim 1 .

3. The power consumption calculation unit prepares a relational expression indicating the relationship between the power consumption of the server and the total power consumption of the host and each virtual machine running on the server for each of a plurality of times in one server, and calculates the power consumption using the plurality of relational expressions for the plurality of times. The virtual machine power consumption prediction device according to claim 1 .

4. The total power consumption of the host and each virtual machine in the above relational expression is the sum of the value obtained by multiplying the measured value of the resource utilization rate of the host by a variable indicating the power consumption per unit resource utilization rate of the host, and the sum of the values ​​obtained by multiplying the measured value of the resource utilization rate of the virtual machine by a variable indicating the power consumption per unit resource utilization rate of the virtual machine for all virtual machines. The virtual machine power consumption prediction device according to claim 2 or 3.

5. The power consumption prediction unit predicts future power consumption of the virtual machine using accumulated data of time-series power consumption of the virtual machine. The virtual machine power consumption prediction device according to claim 1 .

6. The power consumption prediction unit sums time-series data of resource usage rates for multiple virtual machines in the same type of service across the multiple virtual machines, predicts future resource usage rates for the summed resource usage rates, and distributes the future resource usage rates to the multiple virtual machines to calculate future resource usage rates for each virtual machine, and predicts future power consumption for each virtual machine using the future resource usage rates. The virtual machine power consumption prediction device according to claim 1 .

7. A virtual machine power consumption prediction method executed by a virtual machine power consumption prediction device, comprising: a power consumption calculation step of calculating power consumption of a virtual machine running on a first server based on a resource usage status of the first server; a power consumption prediction step of predicting the power consumption of the virtual machine when the virtual machine is migrated to the second server based on the power consumption of the virtual machine running on the first server and an index indicating the energy consumption efficiency of each of the first server and the second server; A virtual machine power consumption prediction method comprising:

8. A program for causing a computer to function as each unit of the virtual machine power consumption prediction device according to claim 1 .

Citation Information

Patent Citations

  • System and method for estimating power consumption

    JP2010039513A

  • Power consumption estimation device and power consumption estimation method

    JP2014137609A

  • Computer system, resource management device and resource management method

    JP2014153897A

  • Information processor, information processing method, information processing program and information processing system

    JP2018028824A

  • Job scheduling program, information processing device, and job scheduling method

    JP2021182224A