WO2023152896A1 - 仮想マシン消費電力予測装置、仮想マシン消費電力予測方法、及びプログラム - Google Patents

仮想マシン消費電力予測装置、仮想マシン消費電力予測方法、及びプログラム Download PDF

Info

Publication number
WO2023152896A1
WO2023152896A1 PCT/JP2022/005436 JP2022005436W WO2023152896A1 WO 2023152896 A1 WO2023152896 A1 WO 2023152896A1 JP 2022005436 W JP2022005436 W JP 2022005436W WO 2023152896 A1 WO2023152896 A1 WO 2023152896A1
Authority
WO
WIPO (PCT)
Prior art keywords
power consumption
virtual machine
server
host
unit
Prior art date
Application number
PCT/JP2022/005436
Other languages
English (en)
French (fr)
Inventor
義和 中村
薫明 原田
浩亮 坂田
智也 藤本
求 中島
玲 佐藤
雄二 篠崎
憲彦 大林
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to PCT/JP2022/005436 priority Critical patent/WO2023152896A1/ja
Publication of WO2023152896A1 publication Critical patent/WO2023152896A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates to technology for estimating the power consumption of virtual machines operating on servers.
  • VMs virtual machines
  • servers physical servers
  • locations eg data centers
  • each site may receive power from two systems: renewable energy generation such as solar power generation, and commercial power supplied by electric power companies. many.
  • the power supply fluctuates from moment to moment. Therefore, for example, by moving the VM of site A to site B, which has a surplus of renewable energy supply, during a period when the supply of renewable energy from site A decreases, the renewable energy of site B can be reduced. It can be used without waste, and the power purchase fee from the electric power company at the base A can be reduced.
  • the present invention has been made in view of the above points, and aims to provide a technique for appropriately predicting the power consumption of a virtual machine to be migrated from a migration source server to a migration destination server.
  • a power consumption calculation unit that calculates power consumption of a virtual machine operating on a first server based on 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:
  • FIG. 1 is an overall configuration diagram of a system according to an embodiment of the present invention
  • FIG. BRIEF DESCRIPTION OF THE DRAWINGS It is a figure for demonstrating the outline
  • 4 is a flow chart showing the overall operation
  • 1 is a configuration diagram of a virtual machine power consumption prediction device
  • FIG. 10 is a diagram for explaining Example A-1
  • FIG. 10 is a diagram for explaining Example A-1
  • FIG. 10 is a diagram for explaining Example A-2
  • FIG. 10 is a diagram for explaining Example A-3
  • FIG. 10 is a diagram for explaining Example B-1
  • FIG. 10 is a diagram for explaining Example B-2
  • FIG. 10 is a diagram for explaining Example B-2
  • FIG. 10 is a diagram for explaining Example B-2
  • FIG. 10 is a diagram for explaining an example in which resources other than CPU utilization are also used; It is a flowchart which shows the whole operation
  • FIG. 4 is a diagram for explaining a method of accumulating data;
  • FIG. 4 is a diagram for explaining a method of accumulating data;
  • FIG. 4 is a diagram for explaining a method of accumulating data;
  • FIG. 4 is a diagram for explaining a method of accumulating data;
  • It is a figure for demonstrating a learning / estimation method.
  • FIG. 4 is a diagram for explaining a prediction method based on macro load transitions of a group of VMs of the same type;
  • FIG. 4 is a diagram for explaining a prediction method based on macro load transitions of a group of VMs of the same type;
  • It is a figure which shows the hardware configuration example of an apparatus.
  • FIG. 1 shows an example of the overall configuration of a system according to this embodiment. As shown in FIG. 1, multiple sites with server groups are connected to a physical network 200 . A virtual machine power consumption prediction device 100 is also connected to the physical network 200 .
  • Each server at each base has zero or more VMs installed.
  • Each VM can be moved between bases using existing migration technology.
  • FIG. 2 An overview of the processing of the virtual machine power consumption prediction device 100 will be described with reference to FIG.
  • FIG. 2 it is assumed that VM1 is moved from a server 10A in an area with no surplus renewable energy to a server 10B in an area with surplus renewable energy.
  • VM1 is moved from a server 10A in an area with no surplus renewable energy to a server 10B in an area with surplus renewable energy.
  • the virtual machine power consumption prediction device 100 makes the above prediction. In other words, the virtual machine power consumption prediction device 100 predicts the power consumption required by the VM in the destination server from the present to the future when the VM in the source server is migrated to the destination server.
  • FIG. 3 shows the overall processing flow of the virtual machine power consumption prediction device 100.
  • the virtual machine power consumption prediction device 100 calculates the power consumption of each VM in the migration source server.
  • the virtual machine power consumption prediction device 100 converts the power consumption calculated in S1 into power consumption when the VM is installed in the migration destination server. Accumulate results corresponding to each server, including calculated values before conversion, perform learning based on the accumulated values, and predict future power consumption.
  • FIG. 4 shows a configuration example of the virtual machine power consumption prediction device 100 that executes the above processing.
  • 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 .
  • 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 uses the information acquired by the information acquisition unit 110 to perform the processing of S ⁇ b>1 described above.
  • the power consumption prediction unit 130 executes the process of S2 described above.
  • the output unit 140 outputs the calculation result by the power consumption prediction unit 130.
  • FIG. The output section 140 may output the calculation result by the power consumption calculation section 120 .
  • 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, and the like. 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.
  • a server on which a VM is installed is composed of a combination of a host OS and a VM. Therefore, the power consumption of this server can be represented by the following relational expression.
  • Server power consumption (power consumption of host OS) + (total power consumption of VMs installed in server) For example, if there are VM1 and VM2, the total power consumption of the VMs installed in the server is (power consumption of VM1)+(power consumption of VM2).
  • the power consumption calculator 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 value is stored in the data storage unit 150 as time-series data, for example.
  • Example A Prepare multiple relational expressions for multiple servers with the same specifications
  • B Prepare multiple relational expressions for multiple times on the same server
  • Example A and Method B for Method A will be described as an embodiment B.
  • Example A consists of Examples A-1, A-2 and A-3
  • Example B consists of Examples B-1 and B-2.
  • Example A and Example B examples in which only the CPU usage rate is used will be described.
  • An example using a rate other than the CPU utilization will be described as embodiment C.
  • FIG. Although three relational expressions are used as a plurality of relational expressions in the embodiment described below, this is an example. Four or more relationships may be used. Also, if there are few variables, two relational expressions may be used. Also, the CPU usage rate is an example of the resource usage rate.
  • Example A-1 relating to power consumption calculation in a plurality of servers with the same specifications will be described.
  • preconditions for calculating power consumption it is necessary to define preconditions for calculating power consumption, but here, as a simple precondition, if the VMs are of the same type, the CPU usage time (CPU usage rate) used by the VM and the power consumption are linear. put conditions.
  • VMs of the same type in this embodiment refer to VMs with the same specifications, VMs with the same software, or VMs performing similar processing. Also, clustered VMs are assumed to be of the same type. In addition, it is assumed that the power consumption per 1% CPU usage rate of the host OS is the same for all servers.
  • the information acquisition unit 110 acquires the power consumption of the server and the CPU usage rate of the host and each VM from each of the target servers.
  • each server has a VM of type A and a VM of type B
  • the CPU usage rate of the host is CPU host %
  • the CPU usage rate of VM (type A) is CPU A %
  • the CPU usage rate of VM (type B) is Let the rate be CPU B %.
  • P the power consumption of the server.
  • the power consumption per 1% of host CPU utilization (example of resource unit utilization) is U host
  • the power consumption per 1% of VM (type A) CPU utilization is U A
  • the power consumption calculator 120 creates the following relational expression for each server.
  • FIG. 5 shows a specific example of three relational expressions when three servers H1 to H3 are targeted as a plurality of servers with the same specifications. In the states of servers H1 to H3 shown in FIG. 5, the following three relational expressions are created as shown in FIG.
  • the power consumption calculator 120 solves the above three relational expressions as simultaneous equations to calculate the U host , UA , and UB .
  • the power consumption calculator 120 calculates the VM power consumption in the migration source server using the following formula as shown in FIG.
  • VM power consumption in migration 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 periodically, for example, and time-series data is stored in the data storage unit 150 as a result.
  • the "power consumption per 1% VM CPU usage rate” may be calculated each time the VM power consumption on the migration source server is acquired, or the previously calculated "per 1% VM CPU usage rate "power consumption” may be used to obtain the VM power consumption in the current migration source server. The same is true when using other resources. In the following examples, differences from Example A-2 will be mainly described.
  • Example A-2 Example A-2 relating to power calculation in a plurality of servers with the same specifications will be described.
  • Example A-2 a precondition that is one step closer to practical use than in Example A-1 is used.
  • Example A-1 the condition is that if the VMs are of the same type, the CPU usage time (CPU usage rate) used by the VMs and the power consumption are linear.
  • CPU usage rate CPU usage rate
  • each relational expression includes the constant power consumption because there is power consumption such as fans that are constantly used in the server regardless of the CPU usage rate.
  • the power consumption calculation unit 120 prepares a plurality of relational expressions using the CPU usage rate of the host OS/VM and calculates the power consumption.
  • the information acquisition unit 110 acquires the power consumption of the server and the CPU usage rate of the host and each VM from each of the target servers, and the power consumption calculation unit 120 creates the following relational expression for each server. do.
  • Relational expression (2): 30% x U host + 40% x UA + 30% x UB + stationary 500
  • Relational expression (3): 15% x U host + 40% x UA + 45% x UB + stationary 470 (W)
  • the power consumption calculator 120 solves the above three relational expressions as simultaneous equations to calculate the U host , U A , U B , and steady power consumption.
  • Example A-3 relating to power calculation in a plurality of servers with the same specifications will be described.
  • Example A-3 a precondition that is one step closer to practical use than in Example A-2 is used.
  • Example A-3 in addition to the preconditions explained in Example A-2, there is a condition that each relational expression contains an error.
  • the power consumption calculation unit 120 prepares a plurality of relational expressions using the CPU usage rate of the host OS/VM and calculates the power consumption.
  • the information acquisition unit 110 acquires the power consumption of the server and the CPU usage rate of the host and each VM from each of the target servers, and the power consumption calculation unit 120 creates the following relational expression for each server. do.
  • Relational expression (2): 30% x U host + 40% x U A + 30% x U B + steady state + error (2) 501 (W)
  • Relational expression (3): 15% x U host + 40% x U A + 45% x U B + steady state + error (3) 472 (W)
  • the power consumption calculator 120 solves the three relational expressions so that
  • the power consumption calculation unit 120 calculates the U host , U A , U B , steady power consumption by linear programming using the following objective function and relational expressions (1) to (3) as constraint expressions. calculate. It should be noted that the use of linear programming as a solution method is an example, and the solution method is not limited to linear programming. For example, a technique such as multiple regression analysis may be used.
  • Example B-1 relating to power consumption calculation based on data at a plurality of times obtained by the same server at different times will be described.
  • the embodiment B is implemented when a plurality of servers cannot be prepared as in the embodiment A, but the present invention is not limited to this.
  • Embodiment B may be implemented even when a plurality of servers can be prepared.
  • you may implement Example A and Example B in combination.
  • Example B-1 the information acquisition unit 110 acquires power consumption and CPU usage from the same server at a plurality of different times, thereby performing calculations similar to those in the case where there are multiple servers. Calculate
  • Example B-1 by regarding multiple data acquired from the same server at multiple times as multiple data acquired from multiple servers in Example A, Example A (Examples A-1 to A-3)
  • the power consumption of each VM can be calculated by the same calculation as the calculation described in .
  • FIG. 9 shows an example based on the conditions and calculation method described in Example A-3.
  • the information acquisition unit 110 obtains the power consumption of the server and the CPU usage rate of the host and each VM from the same server H1.
  • the power consumption calculation unit 120 obtains and creates the following relational expression for each time.
  • Relational expression (2): 40% x U host + 30% x U A + 30% x U B + steady state + error (2) 512 (W)
  • Relational expression (3): 20% x U host + 20% x U A + 60% x U B + steady state + error (3) 462 (W)
  • the power consumption calculator 120 solves the three relational expressions so that
  • the power consumption calculation unit 120 calculates the U host , U A , U B , steady power consumption by linear programming using the following objective function and relational expressions (1) to (3) as constraint expressions. calculate. It should be noted that the use of linear programming as a solution method is an example, and the solution method is not limited to linear programming. For example, a technique such as multiple regression analysis may be used.
  • Example B-2 relating to power consumption calculation based on data at a plurality of times obtained by the same server at different times will be described.
  • the power consumption calculation unit 120 calculates intervals based on the CPU usage time (CPU usage rate). Subdivide and solve the simultaneous equations independently for each interval. In other words, calculation is performed by regarding the power consumption characteristics in the subdivided section as linear.
  • the CPU usage rate (%) of the entire server is divided into three sections: 0-30 (section 1), 30-70 (section 2), and 70-100 (section 3).
  • the information acquisition unit 110 acquires data over a plurality of times from the same server, and divides the data into section 1, section 2, and section 3, respectively.
  • the power consumption calculator 120 calculates the power consumption per 1% CPU usage rate of the host and each VM in each section, for example, by the method described in Example B-1.
  • Example C In the embodiments A and B described so far, the relational expression was created using the CPU utilization rate. By creating a relational expression and solving the plurality of relational expressions, the power consumption of the VM can be calculated.
  • the information acquisition unit 110 acquires the data shown in FIG. 12 from the server H1 for each of the host, VM (type A) (1), VM (type A) (2), and VM (type B) (1) Assume that you have obtained
  • the coefficient representing the power consumption per 1% of the CPU usage rate of X is U X
  • the coefficient representing the power consumption per 1% of the memory usage rate of X is M X
  • the disk usage rate of X is 1
  • the coefficient representing the power consumption per % is represented as DX .
  • power consumption calculator 120 creates the following relational expression as a relational expression for the data shown in FIG.
  • the power consumption of the VM is calculated by creating the above formula for multiple servers and solving it. If the calculation based on the embodiment B is performed, the power consumption of the VM is calculated by creating the above formula for multiple times and solving it. (S2: Future power consumption prediction processing in migration destination server) Next, prediction processing of VM power consumption in the migration destination server executed by the power consumption prediction unit 130 will be described.
  • the power consumption prediction unit 130 converts the power consumption of each VM at each time into the power consumption when operating on a server different from the source server. As will be described later, in the present 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 .
  • the power consumption prediction unit 130 performs learning using past data accumulated in the data storage unit 150 .
  • the power consumption prediction unit 130 predicts the future power consumption of the VM based on the learning result of S202.
  • the SERT value is used as an index for converting power consumption of VMs in a server into power consumption in another server.
  • the SERT value is a value that indicates energy consumption efficiency based on the Energy Conservation Law, and the SERT value is determined as a specification for each server. A lower SERT value indicates better energy consumption efficiency. Using this SERT value, the energy consumption efficiency of the VM migration source server and the VM migration destination server are compared, and conversion is performed.
  • the power consumption prediction unit 130 converts power consumption at the migration source server into power consumption at the migration destination server using the following formula.
  • FIG. 14 shows changes in power consumption of hosts A and B of VM1.
  • FIG. 15 shows an example of power consumption data (transition data DB) accumulated in the data storage unit 150 .
  • the data "202107011000 vm1 1.0kw hostA" in the first row of FIG. It means that the value calculated from the power consumption per unit is 1.0 kw.
  • a SERT value for correcting the power consumption of each server is stored in the data storage unit 150 as a host power consumption correction DB.
  • FIG. 16 shows an example of the host power consumption correction DB.
  • the power consumption prediction unit 130 calculates the power consumption of the VMs on the migration destination server using the above-described calculation formula using the SERT value, and stores the calculation result in the data storage unit 150 ( stored in the transition data DB).
  • Fig. 18 shows an example of the transition data DB containing data obtained by converting the original power consumption to the power consumption of the VM on the migration destination server.
  • the first line "202107011000 vm1 1.38 kW 1.30 kW." of the data in FIG.
  • the calculated value is 1.38 kW
  • the value obtained by converting this into power consumption in the server of hostB is 1.30 kW. The same is true for other servers and other time zones.
  • the power consumption prediction unit 130 searches the transition data DB to extract the data of VM1 in the host C at 10 o'clock on Friday in the past. By calculating the average value of the data, the value at 10 o'clock on Friday of this week will be the predicted value. Prediction values can be obtained for other servers and other dates and times in a similar manner.
  • the method of obtaining the predicted value is not limited to the above method.
  • machine learning may be used to calculate the predicted value.
  • the date and time, VM, and host in the transition data DB are used as inputs to the neural network, and the neural network is trained so that the output from the neural network is the correct power consumption in the transition data DB.
  • the power consumption prediction unit 130 is provided with a neural network after learning, inputs "future date and time, VM, host" for which power consumption is to be known to the neural network, and uses the output as a predicted value of power consumption.
  • the CPU usage rate of individual VMs fluctuates wildly, making accurate prediction difficult.
  • services of the same type have similar usage trends, there is also a correlation between the CPU usage rates.
  • the left side diagram of FIG. 20 shows time-series transitions of CPU usage rates of VMs 1 to 3 that provide service A, and as shown, the time-series transitions of VMs 1 to 3 are similar. as well.
  • the time-series transitions of VMs 1 to 3 that provide service B are similar.
  • “Homogeneous services” may be services of any relationship, as long as they have a similar relationship in terms of changes in resource usage rates in chronological order. For example, when the same application is provided using multiple VMs in Japan, the multiple VMs that provide the application can be said to be VMs of the same type of service.
  • the power consumption prediction unit 130 adds up the CPU usage rates of multiple VMs of the same type of service. As a result, as shown in the central diagram of FIG. 20 and the central diagram of FIG. 21, time-series fluctuations are stabilized, and existing prediction techniques (regression analysis, etc.) can be applied.
  • the power consumption prediction unit 130 uses the data of the CPU utilization rate summed as described above to perform future prediction of the summed CPU utilization rate by regression analysis or the like.
  • the power consumption prediction unit 130 distributes the predicted CPU usage transitions based on the sum of the original CPU usage rates with a weighted average based on the total sum of the original CPU usage rates, thereby obtaining the predicted value of the CPU usage rate for each VM. calculate. Images of distribution are shown in the right side diagram of FIG. 20 and the right side diagram of FIG. The predicted value of the power consumption of each VM can be calculated by using the predicted value of the CPU utilization rate of each VM and the power consumption per 1% of the CPU utilization rate of each VM.
  • the calculation method performed by the power consumption prediction unit 130 will be described in more detail below.
  • the information acquisition unit 110 collects the CPU usage rate of each VM in a certain time interval (every 5 minutes).
  • the collected data is stored in the data storage unit 150 .
  • ⁇ xAt a predicted value ( t> ⁇ ) based on past performance data of xAt (where t ⁇ , where ⁇ is the current time) is expressed as ⁇ xAt . Note that the " ⁇ " at the beginning of x, which indicates that the variable x is a predicted value, is described before the variable x in the text of the specification for convenience of description.
  • the predicted value of VMi for service A is denoted by x A i,t .
  • the weight of VMi for service A is
  • t1 and t2 are parameters for designating the target period of performance data to be considered for the weight, and can be arbitrarily determined. For example, the past 24 hours or the past few days can be defined.
  • the virtual machine power consumption prediction device 100 can be implemented by, for example, causing a computer to execute a program.
  • This computer may be a physical computer or a virtual machine on the cloud.
  • the virtual machine power consumption prediction device 100 is realized by executing a program corresponding to the processing performed by the virtual machine power consumption prediction device 100 using hardware resources such as a CPU and memory built into the computer. It is possible to The above program can be recorded in a computer-readable recording medium (portable memory, etc.), saved, or distributed. It is also possible to provide the above program through a network such as the Internet or e-mail.
  • FIG. 22 is a diagram showing a hardware configuration example of the computer.
  • the computer of FIG. 22 has 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, etc., which are interconnected by a bus BS.
  • a program that implements the processing in the computer is provided by a recording medium 1001 such as a CD-ROM or memory card, for example.
  • a recording medium 1001 such as a CD-ROM or memory card
  • the program is installed from the recording medium 1001 to the auxiliary storage device 1002 via the drive device 1000 .
  • the program does not necessarily need to be installed from the recording medium 1001, and may be downloaded from another computer via the network.
  • the auxiliary storage device 1002 stores installed programs, as well as necessary files and data.
  • the memory device 1003 reads and stores the program from the auxiliary storage device 1002 when a program activation instruction is received.
  • the CPU 1004 implements functions related to the virtual machine power consumption prediction device 100 according to programs stored in the memory device 1003 .
  • the interface device 1005 is used as an interface for connecting to a network or the like.
  • a display device 1006 displays a GUI (Graphical User Interface) or the like by a program.
  • An input device 1007 is composed of a keyboard, a mouse, buttons, a touch panel, or the like, and is used to input various operational instructions.
  • the output device 1008 outputs the calculation result.
  • 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 the migration source server to the migration destination server.
  • This specification discloses at least a virtual machine power consumption prediction device, a virtual machine power consumption prediction method, and a program according to the following items.
  • (Section 1) a power consumption calculation unit that calculates the power consumption of a virtual machine operating on a first server based on the 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 provided.
  • the power consumption calculation unit prepares, for each of the plurality of servers, a relational expression indicating a relationship between the power consumption of the server and the total power consumption of the host and each virtual machine operating on the server,
  • the virtual machine power consumption prediction device according to claim 1, wherein the power consumption is calculated using a plurality of relational expressions of the server.
  • 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 operating on the server for each of a plurality of times in one server. 2.
  • the virtual machine power consumption prediction device according to claim 1, wherein the power consumption is calculated using a plurality of relational expressions of the plurality of times.
  • the power consumption prediction unit sums time-series data of resource usage rates for a plurality of virtual machines in the same type of service over the plurality of virtual machines, and predicts future resource usage rates for the summed resource usage rates. , calculating the future resource usage rate of each virtual machine by distributing the future resource usage rate to the plurality of virtual machines, and using the future resource usage rate to calculate the future consumption of each virtual machine 5.
  • the virtual machine power consumption prediction device according to any one of items 1 to 4, which predicts power.
  • (Section 7) A virtual machine power consumption prediction method executed by a virtual machine power consumption prediction device, a power consumption calculation step of calculating the power consumption of a virtual machine operating on a first server based on the 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; Virtual machine power consumption prediction method provided.
  • (Section 8) A program for causing a computer to function as each unit in the virtual machine power consumption prediction apparatus according to any one of items 1 to 6.
  • (Section 9) computer processor a power consumption calculation process for calculating the power consumption of a virtual machine operating on a first server based on the 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-temporary recording medium that records a program to be executed.

Abstract

第1サーバにおいて動作する仮想マシンの消費電力を、前記第1サーバにおけるリソース使用状況に基づいて算出する消費電力算出部と、前記第1サーバ及び第2サーバそれぞれのエネルギー消費効率を示す指標に基づいて、前記仮想マシンを前記第2サーバに移動させたとした場合における前記仮想マシンの消費電力を予測する消費電力予測部とを備える仮想マシン消費電力予測装置。

Description

仮想マシン消費電力予測装置、仮想マシン消費電力予測方法、及びプログラム
 本発明は、サーバ上で動作する仮想マシンの消費電力を予測する技術に関連するものである。
 近年、複数の拠点(例えばデータセンタ)における物理サーバ(以下、サーバと呼ぶ)上で動作する仮想マシン(以下、VM)により、様々なネットワークサービスやアプリケーションが提供されている。
 また、電力購入費削減や脱炭素化等のために、各拠点では、太陽光発電等の再生可能エネルギー発電と、電力会社から供給される商用電力の2系統の電力供給を受けている場合が多い。
 再生可能エネルギー発電では、時々刻々と電力の供給量が変動する。そのため、例えば、拠点Aの再生可能エネルギーの供給量が減少する時間帯に、拠点AのVMを再生可能エネルギーの供給量に余裕がある拠点Bに移動させることで、拠点Bの再生可能エネルギーを無駄なく利用できるとともに、拠点Aにおける電力会社からの電力購入料を削減できる。
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.
 上記のとおり、再生可能エネルギーの供給量に余裕がある拠点のサーバにVMを移動させることによって、再生可能エネルギーの利用率を高めることが可能となるが、そのためには、移動元サーバから移動先サーバへ移動させるVMが、移動先サーバにおいてどの程度の電力を消費するかを適切に予測する必要がある。
 本発明は上記の点に鑑みてなされたものであり、移動元サーバから移動先サーバへ移動させる仮想マシンの消費電力を適切に予測するための技術を提供することを目的とする。
 開示の技術によれば、第1サーバにおいて動作する仮想マシンの消費電力を、前記第1サーバにおけるリソース使用状況に基づいて算出する消費電力算出部と、
 前記第1サーバ及び第2サーバそれぞれのエネルギー消費効率を示す指標に基づいて、前記仮想マシンを前記第2サーバに移動させたとした場合における前記仮想マシンの消費電力を予測する消費電力予測部とを備える仮想マシン消費電力予測装置が提供される。
 開示の技術によれば、移動元サーバから移動先サーバへ移動させる仮想マシンの消費電力を適切に予測することが可能となる。
本発明の実施の形態におけるシステムの全体構成図である。 本発明の実施の形態の概要を説明するための図である。 全体動作を示すフローチャートである。 仮想マシン消費電力予測装置の構成図である。 実施例A-1を説明するための図である。 実施例A-1を説明するための図である。 実施例A-2を説明するための図である。 実施例A-3を説明するための図である。 実施例B-1を説明するための図である。 実施例B-2を説明するための図である。 実施例B-2を説明するための図である。 CPU使用率以外のリソースも使用する場合の例を説明するための図である。 S2における全体動作を示すフローチャートである。 データの蓄積方法を説明するための図である。 データの蓄積方法を説明するための図である。 データの蓄積方法を説明するための図である。 データの蓄積方法を説明するための図である。 データの蓄積方法を説明するための図である。 学習・推定方法を説明するための図である。 同種のVM群のマクロな負荷推移に基づく予測方法を説明するための図である。 同種のVM群のマクロな負荷推移に基づく予測方法を説明するための図である。 装置のハードウェア構成例を示す図である。
 以下、図面を参照して本発明の実施の形態(本実施の形態)を説明する。以下で説明する実施の形態は一例に過ぎず、本発明が適用される実施の形態は、以下の実施の形態に限られるわけではない。
 (システム構成、動作概要)
 図1に、本実施の形態におけるシステムの全体構成例を示す。図1に示すように、サーバ群を備える複数の拠点が物理ネットワーク200に接続されている。また、仮想マシン消費電力予測装置100が、物理ネットワーク200に接続されている。
 各拠点において、電力会社から供給される商用電力が供給されるとともに、再生可能エネルギー発電による電力が供給される。なお、電力会社から供給される商用電力のみが供給される拠点や、再生可能エネルギー発電の電力のみが供給される拠点が存在してもよい。
 各拠点の各サーバには、0個以上のVMが搭載される。各VMは、既存のマイグレーション技術により拠点間を移動させることが可能である。
 仮想マシン消費電力予測装置100の処理の概要を、図2を参照して説明する。図2に示すように、再生可能エネルギーが余っていない地域のサーバ10Aから、再生可能エネルギーが余っている地域のサーバ10BへVM1を移動させることを想定する。VM1をサーバ10Aからサーバ10Bに移動させるためには、VM1が、移動先のサーバ10Bでどの程度の電力を消費するかを予測する必要がある。サーバ10Bの能力に対してVM1が過大な電力を消費してしまうと、サーバ10Bの運用に支障が生じるためである。
 本実施の形態では、仮想マシン消費電力予測装置100が上記の予測を行う。すなわち、仮想マシン消費電力予測装置100は、移動元サーバにおけるVMを移動先サーバに移動させた場合に、移動先サーバで当該VMが必要とする消費電力を現在から未来に渡って予測する。
 (全体処理フロー、装置構成)
 図3に、仮想マシン消費電力予測装置100の全体処理フローを示す。図3に示すとおり、S1(ステップ1)において、仮想マシン消費電力予測装置100は、移動元サーバでのVM毎の消費電力を算出する。
 S2において、仮想マシン消費電力予測装置100は、S1にて算出した消費電力を、移動先サーバにVMを搭載したとした場合の消費電力に変換する。変換前の算出値も含め、各サーバに対応する結果を蓄積し、蓄積した値に基づき学習を行って、未来の消費電力を予測する。
 上記のような処理を実行する仮想マシン消費電力予測装置100の構成例を図4に示す。図4に示すように、仮想マシン消費電力予測装置100は、情報取得部110、消費電力算出部120、消費電力予測部130、出力部140、及びデータ記憶部150を含む。
 情報取得部110は、消費電力の算出及び予測に必要な情報(リソース使用状況等)を各サーバから取得する。消費電力算出部120は、情報取得部110により取得した情報を用いて、上記のS1の処理を実行する。消費電力予測部130は、上記のS2の処理を実行する。出力部140は、消費電力予測部130による計算結果を出力する。出力部140は、消費電力算出部120による計算結果を出力してもよい。
 データ記憶部150には、情報取得部110により取得された情報、消費電力算出部120による計算結果、消費電力予測部130による計算結果などが格納される。より具体的には、データ記憶部150が格納するデータには、後述する推移データDB、ホスト消費電力補正DBが含まれる。
 以下、S1とS2の処理のそれぞれを詳細に説明する。
 (S1:移動元サーバでのVM消費電力算出処理)
 まず、消費電力算出部120により実行される移動元サーバでのVM消費電力算出処理について説明する。
 <概要>
 VMが搭載されるサーバは、ホストOSとVMの組み合わせで構成される。そのため、このサーバの消費電力は、下記の関係式で表すことができる。
 サーバ消費電力=(ホストOSの消費電力)+(サーバに搭載されるVMの消費電力の合計)
 サーバに搭載されるVMの消費電力の合計については、例えば、VM1とVM2があるとすれば、(VM1の消費電力)+(VM2の消費電力)となる。
 本実施の形態では、消費電力算出部120が、複数の関係式を作成し、当該複数の関係式を解くことで、各VMの消費電力を算出する。算出(推定)された消費電力の値はデータ記憶部150に例えば時系列データとして格納される。
 具体的には、CPU使用率、メモリ使用率、ディスク使用率等の各種リソース使用量/使用率を用いることで、関係式を複数用意して、多変数連立方程式を解き、各VMの消費電力を算出する。関係式を複数用意する方法として、下記の方法Aと方法Bがある。
 A)同一スペックの複数サーバについての複数の関係式を用意
 B)同一サーバでの複数時刻についての複数の関係式を用意
 以下、具体的な計算の例を、方法Aに関する実施例A、方法Bに関する実施例Bとして説明する。実施例Aは、実施例A-1、実施例A-2、実施例A-3からなり、実施例Bは、実施例B-1、実施例B-2からなるので、それぞれについて説明する。
 実施例A、実施例Bでは、CPU使用率のみを用いた場合の実施例を説明する。CPU使用率以外を使用する例については実施例Cとして説明する。なお、以下で説明する実施例では複数の関係式として3つの関係式を使用しているが、これは例である。4つ以上の関係式を使用してもよい。また、変数が少ない場合には2つの関係式を使用することとしてもよい。また、CPU使用率等は、リソース使用率の一例である。
 (実施例A―1)
 まず、同一スペックの複数サーバでの消費電力算出に係る実施例A-1を説明する。
 消費電力算出にあたり前提条件を定義する必要があるが、ここでは、簡単な前提条件として、同一種類のVMであれば、VMが用いるCPU使用時間(CPU使用率)と消費電力は線形であるという条件を置く。
 本実施の形態における「同一種類のVM」とは、同一スペックのVM、同一ソフトのVM、あるいは、同様の処理を行っているVMを指す。また、クラスタリングしているVMは同じ種類と見做す。併せてホストOSのCPU使用率1%あたりの消費電力はいずれのサーバでも同じと仮定する。
 これらの条件を元にホストOS・VMのCPU使用率を使って複数の関係式を用意し、消費電力を算出する。
 情報取得部110が、対象とする複数サーバのそれぞれから、サーバの消費電力、及び、ホストと各VMのCPU使用率を取得する。
 例えば、各サーバに種類AのVMと種類BのVMがあるとして、ホストのCPU使用率をCPUホスト%、VM(種類A)のCPU使用率をCPU%、VM(種類B)のCPU使用率をCPU%とする。また、サーバの消費電力をPとする。
 また、ホストのCPU使用率1%(リソース単位使用率の例)あたりの消費電力をUホスト、VM(種類A)のCPU使用率1%あたりの消費電力をU、VM(種類B)のCPU使用率1%あたりの消費電力をUとすると、消費電力算出部120は、サーバ毎に下記の関係式を作成する。
 CPUホスト%×Uホスト+CPU%×U+CPU%×U=P(W)
 図5は、同一スペックの複数のサーバとして3つのサーバH1~H3を対象とした場合における3つの関係式の具体例を示す。図5に示すサーバH1~H3の状態において、図5に示すとおり、下記の3つの関係式が作成される。
 関係式(1):20%×Uホスト+50%×U+20%×U=360(W)
 関係式(2):30%×Uホスト+40%×U+30%×U=400(W)
 関係式(3):15%×Uホスト+40%×U+45%×U=370(W)
 消費電力算出部120は、上記3つの関係式を連立方程式として解いて、Uホスト、U、Uを算出する。
 上記のようにCPU使用率1%あたりの消費電力量を算出した後、消費電力算出部120は、移動元サーバでのVM消費電力を、図6に示すとおりの下記の式で算出する。
 移動元サーバでのVM消費電力=(VMのCPU使用率1%あたりの消費電力)×(VMの測定時のCPU使用率)
 算出した消費電力は、データ記憶部150に格納される。算出は、例えば定期的に行われ、結果として時系列のデータがデータ記憶部150に格納される。
 なお、「VMのCPU使用率1%あたりの消費電力」は、移動元サーバでのVM消費電力を取得する都度、計算してもよいし、過去に計算した「VMのCPU使用率1%あたりの消費電力」を、現在の移動元サーバでのVM消費電力の取得に使用してもよい。他のリソースを使用する場合も同様である。以降の実施例では、実施例A-2と異なる点を主に説明する。
 (実施例A-2)
 同一スペックの複数サーバでの電力算出に係る実施例A-2を説明する。実施例A-2では、実施例A-1と比較して一段階実用に近づけた前提条件を用いる。
 まず、実施例A-1と同じく、同一種類のVMであれば、VMが用いるCPU使用時間(CPU使用率)と消費電力は線形であるという条件を置く。実施例A-2では更に、サーバの中ではCPU使用率に関係なく、ファン等の定常的に利用されている消費電力があるため、各関係式には定常消費電力が含まれているという条件を置く。
 消費電力算出部120は、これらの条件を元にホストOS・VMのCPU使用率を使って複数の関係式を用意し、消費電力を算出する。
 情報取得部110が、対象とする複数サーバのそれぞれから、サーバの消費電力、及び、ホストと各VMのCPU使用率を取得し、消費電力算出部120が、サーバ毎に下記の関係式を作成する。
 CPUホスト%×Uホスト+CPU%×U+CPU%×U+定常消費電力=P(W)
 図7に示すサーバH1~H3の状態において、図7に示すとおり、下記の3つの関係式が作成される。なお、定常消費電力を「定常」と記載している。
 関係式(1):20%×Uホスト+50%×U+20%×U+定常=460(W)
 関係式(2):30%×Uホスト+40%×U+30%×U+定常=500(W)
 関係式(3):15%×Uホスト+40%×U+45%×U+定常=470(W)
 消費電力算出部120は、上記3つの関係式を連立方程式として解いて、Uホスト、U、U、定常消費電力を算出する。
 (実施例A-3)
 同一スペックの複数サーバでの電力算出に係る実施例A-3を説明する。実施例A-3では、実施例A-2と比較して更に一段階実用に近づけた前提条件を用いる。実施例A-3では、実施例A-2で説明した前提条件に加えて、各関係式には誤差が含まれているという条件を置く。
 消費電力算出部120は、これらの条件を元にホストOS・VMのCPU使用率を使って複数の関係式を用意し、消費電力を算出する。
 情報取得部110が、対象とする複数サーバのそれぞれから、サーバの消費電力、及び、ホストと各VMのCPU使用率を取得し、消費電力算出部120が、サーバ毎に下記の関係式を作成する。
 CPUホスト%×Uホスト+CPU%×U+CPU%×U+定常消費電力+誤差=P(W)
 図8に示すサーバH1~H3の状態において、図8に示すとおり、下記の3つの関係式が作成される。
 関係式(1):
 20%×Uホスト+50%×U+20%×U+定常+誤差(1)=465(W)
 関係式(2):
 30%×Uホスト+40%×U+30%×U+定常+誤差(2)=501(W)
 関係式(3):
 15%×Uホスト+40%×U+45%×U+定常+誤差(3)=472(W)
 消費電力算出部120は、|誤差(1)|+|誤差(2)|+|誤差(3)|が最小となるように、3つの関係式を解いて、Uホスト、U、U、定常消費電力を算出する。具体的には、消費電力算出部120は、下記の目的関数、及び制約式として関係式(1)~(3)を用いた線形計画法によりUホスト、U、U、定常消費電力を算出する。なお、解法として線形計画法を用いることは一例であり、解法は線形計画法に限定されない。例えば、重回帰分析等の手法を用いてもよい。
 目的関数:minimize:|誤差(1)|+|誤差(2)|+|誤差(3)| 
 (実施例B-1)
 同一サーバで時刻を変えて取得した複数時刻でのデータに基づく消費電力算出に係る実施例B-1を説明する。なお、実施例Bは、実施例Aのように複数台のサーバを用意できない場合に実施することを想定しているが、それに限られない。複数台のサーバを用意できる場合でも、実施例Bを実施してもよい。また、実施例Aと実施例Bを組み合わせて実施してもよい。
 実施例B-1では、情報取得部110が、同一サーバから、異なる複数の時刻で、消費電力とCPU使用率を取得することで、複数台サーバがある場合と同様の計算を行い、消費電力を算出する。
 実施例B-1では、同一サーバから複数の時刻で取得した複数データを、実施例Aにおける複数サーバから取得した複数データと見なすことで、実施例A(実施例A-1~A-3)で説明した計算と同じ計算で各VMの消費電力を算出することができる。
 図9は、例として、実施例A―3で説明した条件及び計算方法に基づく例を示している。この例において、情報取得部110は、10時10分、10時12分、10時15分のそれぞれで、同一のサーバH1から、サーバの消費電力、及び、ホストと各VMのCPU使用率を取得し、消費電力算出部120が、時刻毎に下記のとおりの関係式を作成する。
 関係式(1):
 15%×Uホスト+40%×U+45%×U+定常+誤差(1)=472(W)
 関係式(2):
 40%×Uホスト+30%×U+30%×U+定常+誤差(2)=512(W)
 関係式(3):
 20%×Uホスト+20%×U+60%×U+定常+誤差(3)=462(W)
 消費電力算出部120は、|誤差(1)|+|誤差(2)|+|誤差(3)|が最小となるように、3つの関係式を解いて、Uホスト、U、U、定常消費電力を算出する。具体的には、消費電力算出部120は、下記の目的関数、及び制約式として関係式(1)~(3)を用いた線形計画法によりUホスト、U、U、定常消費電力を算出する。なお、解法として線形計画法を用いることは一例であり、解法は線形計画法に限定されない。例えば、重回帰分析等の手法を用いてもよい。
 目的関数:minimize:|誤差(1)|+|誤差(2)|+|誤差(3)| 
 (実施例B-2)
 同一サーバで時刻を変えて取得した複数時刻でのデータに基づく消費電力算出に係る実施例B-2を説明する。
 これまでに説明した実施例A-1~実施例B-1のモデルでは同一種類のVMであれば、ホストおよびVMが用いるCPU使用時間(CPU使用率)と消費電力が線形と仮定したが、B-2では、この関係を非線形と仮定する。図10に線形を仮定した例を示し、図11に非線形を仮定した例を示す。
 図11に示すように、CPU使用時間(CPU使用率)と消費電力の関係が非線形の関係であるとした場合、消費電力算出部120は、CPU使用時間(CPU使用率)に基づいて区間を細分化し、区間ごと独立に連立式を解く。つまり、細分化した区間内の消費電力特性を線形とみなして計算を行う。
 例えば、簡単のために、サーバ全体のCPU使用率(%)が、0~30(区間1)、30~70(区間2)、70~100(区間3)の3つの区間に区分したとする。情報取得部110により、同一サーバから複数時刻にわたるデータが取得され、区間1、区間2、区間3のそれぞれにデータが分けられる。消費電力算出部120は、各区間で、例えば実施例B-1で説明した方法で、ホスト及び各VMのCPU使用率1%あたりの消費電力を算出する。
 CPU使用率の測定値と、CPU使用率1%あたりの消費電力を使用して消費電力を算出する際には、上記区間に従って計算する。例えば、測定値が区間1に該当するCPU使用率の場合には、区間1で計算したCPU使用率1%あたりの消費電力を使用して消費電力を算出する。他の区間についても同様である。
 (実施例C)
 これまでに説明した実施例A、Bでは、CPU使用率を用いて関係式を作成したが、CPU使用率以外にメモリ使用率、ディスク使用率を用いる場合でも基本的に同様の考え方で複数の関係式を作成し、当該複数の関係式を解くことでVMの消費電力を算出することができる。
 例えば、情報取得部110が、サーバH1から、ホスト、VM(種類A)(1)、VM(種類A)(2)、VM(種類B)(1)のそれぞれについて、図12に示すデータを取得したとしする。
 対象をXとした場合において、XのCPU使用率1%あたりの消費電力を表す係数をU、Xのメモリ使用率1%あたりの消費電力を表す係数をM、Xのディスク使用率1%あたりの消費電力を表す係数をDとして表す。この場合、消費電力算出部120は、図12に示すデータについての関係式として、下記の関係式を作成する。
 20%×Uホスト+50%×U+15%×U+15%×Mホスト+20%×M+30%×M+10%×Dホスト+10%×D+25%×D+定常消費電力+誤差=350W
 上記の式において「20%×Uホスト+50%×U+15%×U」はCPU使用率に関する部分であり、「15%×Mホスト+20%×M+30%×M」はメモリ使用率に関する部分であり、「10%×Dホスト+10%×D+25%×D」はディスク使用率に関する部分である。
 実施例Aに基づく算出を行うのであれば、複数サーバについて上記の式を作成して、解くことでVMの消費電力を算出する。実施例Bに基づく算出を行うのであれば、複数時刻について上記の式を作成して、解くことでVMの消費電力を算出する。
   (S2:移動先サーバでの未来の消費電力予測処理)
 次に、消費電力予測部130により実行される移動先サーバでのVM消費電力の予測処理について説明する。
 <全体の処理の流れ>
 図13を参照して、S2における全体の処理の流れを説明する。この時点において、S1において算出したリソース単位使用率(例:CPU使用率1%)当たりの各VMの消費電力に基づき算出したVM消費電力が、時系列データの形でデータ記憶部150に格納されているとする。
 S201において、消費電力予測部130が、各VMの各時刻の消費電力を、移動元のサーバとは異なるサーバ上で動作させた場合の消費電力に変換する。後述するように、本実施の形態では、サーバのSERT値を用いて消費電力を変換し、変換後の消費電力をデータ記憶部150に格納する。
 S202において、消費電力予測部130は、データ記憶部150に蓄積された過去のデータを用いて学習を行う。
 S203において、消費電力予測部130は、S202の学習の結果に基づいて、VMの未来の消費電力を予測する。
 (S201における変換処理の詳細)
 前述したように、本実施の形態では、あるサーバでのVMの消費電力を他のサーバでの消費電力に変換するための指標としてSERT値を使用する。
 SERT値は、省エネ法に基づいたエネルギー消費効率を示す値であり、サーバ毎に仕様等としてSERT値が定められている。SERT値が低いほど、エネルギー消費効率が良いことを示す。このSERT値を用いて、VMの移動元サーバと移動先サーバのエネルギー消費効率の比較を行い、変換を実施する。
 具体的には、消費電力予測部130は、下記の式を用いて移動元サーバでの消費電力を移動先サーバでの消費電力に換算する。
 移動先サーバでの消費電力
 =移動元サーバでの消費電力×(移動先サーバのSERT値)/(移動元サーバのSERT値)
 もしも移動元サーバのSERT値が12.3、移動先サーバのSERT値が14.2であり、移動元サーバでのVMの消費電力が100Wの場合、移動先サーバでの当該VMの消費電力=100W×14.2/12.3=116Wとなる。
 以下、VMの移動先サーバでの消費電力予測処理を、実施例を用いてより具体的に説明する。
 (データ蓄積方法の実施例)
 VMの消費電力の挙動はVMが載るサーバによって異なるため、VMの消費電力の算出結果をデータ記憶部150に蓄積する場合には、消費電力の情報以外に、どのホスト(「ホスト」を「サーバ」と呼んでもよい)での算出結果であるかを蓄積する。図14は、VM1のホストA~Bの消費電力推移を示す。図15は、データ記憶部150に蓄積された消費電力データ(推移データDB)の例を示す。
 例えば、図15の1行目のデータ「202107011000 vm1 1.0kw hostA」は、時刻202107011000においてhostAのサーバから取得したVM1のリソース使用率(例:CPU使用率)と、S1で算出したリソース単位使用率当たりの消費電力とから算出された値が1.0kwであることを意味する。
 また、上記データとは別にサーバ毎の消費電力を補正するためのSERT値をホスト消費電力補正DBとしてデータ記憶部150に格納しておく。ホスト消費電力補正DBの例を図16に示す。
 続いて、図17に示すとおり、消費電力予測部130は、前述のSERT値を用いた計算式を利用して移動先サーバでのVMの消費電力を算出し、算出結果をデータ記憶部150(推移データDB)に蓄積する。
 元の消費電力を移動先サーバでのVMの消費電力に変換したデータを含む推移データDBの例を図18に示す。例えば、図18のデータの1行目「202107011000 vm1 1.38kw 1.30kW….」は、hostAのサーバから取得したVM1のリソース使用率と、S1で算出したリソース単位使用率当たりの消費電力とから算出された値が1.38kwであり、これをhostBのサーバでの消費電力に変換した値が1.30kWであることを示す。他のサーバ、及び他の時間帯についても同様である。
 (S202、S203の学習・予測方法)
 次に、上記のようにしてデータを蓄積した推移データDBを用いた学習方法及び予測方法の例を説明する。
 例えば、今週の火曜日に、今週の金曜日の10時の時間帯のホストC(サーバ)でのVM1の消費電力の予測値を得たいとする。この場合、消費電力予測部130は、図19に示すように、推移データDBを検索することにより、過去の金曜日の10時の時間帯のホストCでのVM1のデータを抽出し、抽出されたデータの平均値を計算することで、今週の金曜日の10時の時間帯での値の予測値とする。他のサーバ、他の日時についても同様の手法で予測値を得ることができる。
 なお、予測値を得る手法は上記の手法に限られない。例えば、機械学習を用いて予測値を算出してもよい。
 例えば、推移データDBにおける日時、VM、ホストをニューラルネットワークへの入力とし、ニューラルネットワークからの出力が推移データDBにおける正解の消費電力になるように、ニューラルネットワークを学習させる。消費電力予測部130には、学習後のニューラルネットワークを備えておき、消費電力を知りたい「未来の日時、VM、ホスト」をニューラルネットワークに入力し、その出力を消費電力の予測値とする。
 (同種のVM群のマクロな負荷推移)
 ここでは、同種のVM群のマクロな負荷推移を用いた、VM毎の未来のCPU使用率の予測方法について説明する。CPU使用率を予測できれば、単位CPU使用率当たりの消費電力を使用することで、未来の消費電力を予測できる。また、以下で説明する方法は、一例としてCPU使用率を対象としているが、他のリソースの使用率、VMの消費電力などについても以下で説明する方法を適用可能である。
 一般に個々のVMにおけるCPU使用率は変動が激しく正確な予測は困難である。一方で、同種のサービスであれば利用傾向が類似するため、CPU使用率にも相関がある。これを図20の左側図、図21の左側図に示す。すなわち、図20の左側図には、サービスAを提供するVM1~3それぞれのCPU使用率の時系列推移が示されており、図示のとおり、VM1~3における時系列推移は類似している。同様に。図21の左側図に示すとおり、サービスBを提供するVM1~3における時系列推移は類似している。
 「同種のサービス」とは、時系列でのリソース使用率の推移が類似する関係にあるサービスであればどのような関係のサービスであってもよい。例えば、同一のアプリケーションを日本で複数のVMを使用して提供する場合において、当該アプリケーションを提供する複数のVMは同種のサービスのVMであるといえる。
 そこで、消費電力予測部130は、同種のサービスの複数のVMのCPU使用率を合算する。これにより、図20の中央図、及び図21の中央図に示すとおり、時系列変動が安定化し、既存の予測技術(回帰分析等)の適用が可能となる。
 消費電力予測部130は、上記のとおりに合算したCPU使用率のデータを用いて、回帰分析等により、合算したCPU使用率の未来予測を行う。
 続いて、消費電力予測部130は、元のCPU使用率の総和に基づく重み付き平均で、合算値で予測したCPU使用率推移を分配することで、個々のVMにおけるCPU使用率の予測値を算出する。分配のイメージを図20の右側図及び図21の右側図に示す。個々のVMにおけるCPU使用率の予測値と、個々のVMにおけるCPU使用率1%あたりの消費電力を用いるこことで、個々のVMの消費電力の予測値を算出できる。
 消費電力予測部130が実行する算出方法を以下でより詳細に説明する。
 情報取得部110により、個々のVMにおけるCPU使用率がある一定の時間区間(5分毎)で収集されているとする。収集されたデータは、データ記憶部150に格納される。
 この時、あるサービスAに関する個々のVMi(i=1~n)における時刻tのCPU使用率をx i,tと表す。この時、図20、図21の中央図に示した合算操作は次の式で行うことができる。
Figure JPOXMLDOC01-appb-M000001
 また、x の過去の実績データ(現在の時刻をτとするとき、t≦τ)に基づく予測値(t>τ)を^x と表す。なお、変数xが予測値であることを示すxの頭の"^"は、明細書のテキストにおいては、記載の便宜上、変数xの前に記載している。
 同様に、サービスAに関するVMiの予測値を^x i,tと表す。この時、サービスAに関するVMiの重みを
Figure JPOXMLDOC01-appb-M000002
と与えることで、図20、図21に示した分配操作は次の式で与えられる。
Figure JPOXMLDOC01-appb-M000003
 なお、t1およびt2(t2>t1)は重みに考慮する実績データの対象期間を指定するパラメータであり、任意に定めることができる。例えば、過去24時間分、過去数日分といった定め方をすることができる。
 (ハードウェア構成例)
 仮想マシン消費電力予測装置100は、例えば、コンピュータにプログラムを実行させることにより実現できる。このコンピュータは、物理的なコンピュータであってもよいし、クラウド上の仮想マシンであってもよい。
 すなわち、仮想マシン消費電力予測装置100は、コンピュータに内蔵されるCPUやメモリ等のハードウェア資源を用いて、仮想マシン消費電力予測装置100で実施される処理に対応するプログラムを実行することによって実現することが可能である。上記プログラムは、コンピュータが読み取り可能な記録媒体(可搬メモリ等)に記録して、保存したり、配布したりすることが可能である。また、上記プログラムをインターネットや電子メール等、ネットワークを通して提供することも可能である。
 図22は、上記コンピュータのハードウェア構成例を示す図である。図22のコンピュータは、それぞれバスBSで相互に接続されているドライブ装置1000、補助記憶装置1002、メモリ装置1003、CPU1004、インタフェース装置1005、表示装置1006、入力装置1007、出力装置1008等を有する。
 当該コンピュータでの処理を実現するプログラムは、例えば、CD-ROM又はメモリカード等の記録媒体1001によって提供される。プログラムを記憶した記録媒体1001がドライブ装置1000にセットされると、プログラムが記録媒体1001からドライブ装置1000を介して補助記憶装置1002にインストールされる。但し、プログラムのインストールは必ずしも記録媒体1001より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置1002は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
 メモリ装置1003は、プログラムの起動指示があった場合に、補助記憶装置1002からプログラムを読み出して格納する。CPU1004は、メモリ装置1003に格納されたプログラムに従って、仮想マシン消費電力予測装置100に係る機能を実現する。インタフェース装置1005は、ネットワーク等に接続するためのインタフェースとして用いられる。表示装置1006はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置1007はキーボード及びマウス、ボタン、又はタッチパネル等で構成され、様々な操作指示を入力させるために用いられる。出力装置1008は演算結果を出力する。
 (実施の形態の効果)
 本実施の形態に係る技術により、仮想マシンを移動元サーバから移動先サーバへ移動させたとした場合における仮想マシンの消費電力を適切に予測することが可能となる。
 (付記)
 本明細書には、少なくとも下記各項の仮想マシン消費電力予測装置、仮想マシン消費電力予測方法、及びプログラムが開示されている。
(第1項)
 第1サーバにおいて動作する仮想マシンの消費電力を、前記第1サーバにおけるリソース使用状況に基づいて算出する消費電力算出部と、
 前記第1サーバ及び第2サーバそれぞれのエネルギー消費効率を示す指標に基づいて、前記仮想マシンを前記第2サーバに移動させたとした場合における前記仮想マシンの消費電力を予測する消費電力予測部と
 を備える仮想マシン消費電力予測装置。
(第2項)
 前記消費電力算出部は、複数のサーバのそれぞれに対して、サーバの消費電力と、当該サーバで動作するホスト及び各仮想マシンの消費電力の総和との関係を示す関係式を用意し、前記複数のサーバの複数の関係式を用いて前記消費電力を算出する
 第1項に記載の仮想マシン消費電力予測装置。
(第3項)
 前記消費電力算出部は、1つのサーバにおける複数の時刻のそれぞれに対して、サーバの消費電力と、当該サーバで動作するホスト及び各仮想マシンの消費電力の総和との関係を示す関係式を用意し、前記複数の時刻の複数の関係式を用いて前記消費電力を算出する
 第1項に記載の仮想マシン消費電力予測装置。
(第4項)
 前記関係式におけるホスト及び各仮想マシンの消費電力の総和は、ホストのリソース使用率の測定値に、ホストのリソース単位使用率当たりの消費電力を示す変数を掛けた値と、仮想マシンのリソース使用率の測定値に、仮想マシンのリソース単位使用率当たりの消費電力を示す変数を掛けた値の全仮想マシンについての総和との和である
 第2項又は第3項に記載の仮想マシン消費電力予測装置。
(第5項)
 前記消費電力予測部は、前記仮想マシンの時系列の消費電力の蓄積データを用いて、前記仮想マシンの未来の消費電力を予測する
 第1項ないし第4項のうちいずれか1項に記載の仮想マシン消費電力予測装置。
(第6項)
 前記消費電力予測部は、同種のサービスにおける複数の仮想マシンについてのリソース使用率の時系列データを、前記複数の仮想マシンにわたって合算し、合算したリソース使用率についての未来のリソース使用率を予測し、前記未来のリソース使用率を前記複数の仮想マシンに分配することにより、個々の仮想マシンの未来のリソース使用率を算出し、当該未来のリソース使用率を用いて個々の仮想マシンの未来の消費電力を予測する
 第1項ないし第4項のうちいずれか1項に記載の仮想マシン消費電力予測装置。
(第7項)
 仮想マシン消費電力予測装置が実行する仮想マシン消費電力予測方法であって、
 第1サーバにおいて動作する仮想マシンの消費電力を、前記第1サーバにおけるリソース使用状況に基づいて算出する消費電力算出ステップと、
 前記第1サーバ及び第2サーバそれぞれのエネルギー消費効率を示す指標に基づいて、前記仮想マシンを前記第2サーバに移動させたとした場合における前記仮想マシンの消費電力を予測する消費電力予測ステップと
 を備える仮想マシン消費電力予測方法。
(第8項)
 コンピュータを、第1項ないし第6項のうちいずれか1項に記載の仮想マシン消費電力予測装置における各部として機能させるためのプログラム。
(第9項)
 コンピュータのプロセッサに、
 第1サーバにおいて動作する仮想マシンの消費電力を、前記第1サーバにおけるリソース使用状況に基づいて算出する消費電力算出処理と、
 前記第1サーバ及び第2サーバそれぞれのエネルギー消費効率を示す指標に基づいて、前記仮想マシンを前記第2サーバに移動させたとした場合における前記仮想マシンの消費電力を予測する消費電力予測処理と
 を実行させるプログラムを記録した非一時的記録媒体。
 以上、本実施の形態について説明したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
100 仮想マシン消費電力予測装置
110 情報取得部
120 消費電力算出部
130 消費電力予測部
140 出力部
150 データ記憶部
200 物理ネットワーク
1000 ドライブ装置
1001 記録媒体
1002 補助記憶装置
1003 メモリ装置
1004 CPU
1005 インタフェース装置
1006 表示装置
1007 入力装置
1008 出力装置

Claims (8)

  1.  第1サーバにおいて動作する仮想マシンの消費電力を、前記第1サーバにおけるリソース使用状況に基づいて算出する消費電力算出部と、
     前記第1サーバ及び第2サーバそれぞれのエネルギー消費効率を示す指標に基づいて、前記仮想マシンを前記第2サーバに移動させたとした場合における前記仮想マシンの消費電力を予測する消費電力予測部と
     を備える仮想マシン消費電力予測装置。
  2.  前記消費電力算出部は、複数のサーバのそれぞれに対して、サーバの消費電力と、当該サーバで動作するホスト及び各仮想マシンの消費電力の総和との関係を示す関係式を用意し、前記複数のサーバの複数の関係式を用いて前記消費電力を算出する
     請求項1に記載の仮想マシン消費電力予測装置。
  3.  前記消費電力算出部は、1つのサーバにおける複数の時刻のそれぞれに対して、サーバの消費電力と、当該サーバで動作するホスト及び各仮想マシンの消費電力の総和との関係を示す関係式を用意し、前記複数の時刻の複数の関係式を用いて前記消費電力を算出する
     請求項1に記載の仮想マシン消費電力予測装置。
  4.  前記関係式におけるホスト及び各仮想マシンの消費電力の総和は、ホストのリソース使用率の測定値に、ホストのリソース単位使用率当たりの消費電力を示す変数を掛けた値と、仮想マシンのリソース使用率の測定値に、仮想マシンのリソース単位使用率当たりの消費電力を示す変数を掛けた値の全仮想マシンについての総和との和である
     請求項2又は3に記載の仮想マシン消費電力予測装置。
  5.  前記消費電力予測部は、前記仮想マシンの時系列の消費電力の蓄積データを用いて、前記仮想マシンの未来の消費電力を予測する
     請求項1ないし4のうちいずれか1項に記載の仮想マシン消費電力予測装置。
  6.  前記消費電力予測部は、同種のサービスにおける複数の仮想マシンについてのリソース使用率の時系列データを、前記複数の仮想マシンにわたって合算し、合算したリソース使用率についての未来のリソース使用率を予測し、前記未来のリソース使用率を前記複数の仮想マシンに分配することにより、個々の仮想マシンの未来のリソース使用率を算出し、当該未来のリソース使用率を用いて個々の仮想マシンの未来の消費電力を予測する
     請求項1ないし4のうちいずれか1項に記載の仮想マシン消費電力予測装置。
  7.  仮想マシン消費電力予測装置が実行する仮想マシン消費電力予測方法であって、
     第1サーバにおいて動作する仮想マシンの消費電力を、前記第1サーバにおけるリソース使用状況に基づいて算出する消費電力算出ステップと、
     前記第1サーバ及び第2サーバそれぞれのエネルギー消費効率を示す指標に基づいて、前記仮想マシンを前記第2サーバに移動させたとした場合における前記仮想マシンの消費電力を予測する消費電力予測ステップと
     を備える仮想マシン消費電力予測方法。
  8.  コンピュータを、請求項1ないし6のうちいずれか1項に記載の仮想マシン消費電力予測装置における各部として機能させるためのプログラム。
PCT/JP2022/005436 2022-02-10 2022-02-10 仮想マシン消費電力予測装置、仮想マシン消費電力予測方法、及びプログラム WO2023152896A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/005436 WO2023152896A1 (ja) 2022-02-10 2022-02-10 仮想マシン消費電力予測装置、仮想マシン消費電力予測方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/005436 WO2023152896A1 (ja) 2022-02-10 2022-02-10 仮想マシン消費電力予測装置、仮想マシン消費電力予測方法、及びプログラム

Publications (1)

Publication Number Publication Date
WO2023152896A1 true WO2023152896A1 (ja) 2023-08-17

Family

ID=87563902

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/005436 WO2023152896A1 (ja) 2022-02-10 2022-02-10 仮想マシン消費電力予測装置、仮想マシン消費電力予測方法、及びプログラム

Country Status (1)

Country Link
WO (1) WO2023152896A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010039513A (ja) * 2008-07-31 2010-02-18 Internatl Business Mach Corp <Ibm> 消費電力を推定するシステムおよび方法
US20110282982A1 (en) * 2010-05-13 2011-11-17 Microsoft Corporation Dynamic application placement based on cost and availability of energy in datacenters
JP2014137609A (ja) * 2013-01-15 2014-07-28 Fujitsu Ltd 消費電力量推定装置、及び消費電力量推定方法
JP2014153897A (ja) * 2013-02-08 2014-08-25 Hitachi Ltd 計算機システム及びリソース管理装置並びにリソース管理方法
JP2018028824A (ja) * 2016-08-18 2018-02-22 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム
JP2021182224A (ja) * 2020-05-18 2021-11-25 富士通株式会社 ジョブスケジューリングプログラム、情報処理装置およびジョブスケジューリング方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010039513A (ja) * 2008-07-31 2010-02-18 Internatl Business Mach Corp <Ibm> 消費電力を推定するシステムおよび方法
US20110282982A1 (en) * 2010-05-13 2011-11-17 Microsoft Corporation Dynamic application placement based on cost and availability of energy in datacenters
JP2014137609A (ja) * 2013-01-15 2014-07-28 Fujitsu Ltd 消費電力量推定装置、及び消費電力量推定方法
JP2014153897A (ja) * 2013-02-08 2014-08-25 Hitachi Ltd 計算機システム及びリソース管理装置並びにリソース管理方法
JP2018028824A (ja) * 2016-08-18 2018-02-22 富士通株式会社 情報処理装置、情報処理方法、情報処理プログラムおよび情報処理システム
JP2021182224A (ja) * 2020-05-18 2021-11-25 富士通株式会社 ジョブスケジューリングプログラム、情報処理装置およびジョブスケジューリング方法

Similar Documents

Publication Publication Date Title
Hsieh et al. Utilization-prediction-aware virtual machine consolidation approach for energy-efficient cloud data centers
Kurowski et al. DCworms–A tool for simulation of energy efficiency in distributed computing infrastructures
CN102770847B (zh) 优化数据中心内的功耗的方法和系统
Singh et al. Dynamic price prediction for amazon spot instances
Abdi et al. Cost minimization for deadline-constrained bag-of-tasks applications in federated hybrid clouds
Ernemann et al. Benefits of global grid computing for job scheduling
Cotes-Ruiz et al. Dynamic voltage frequency scaling simulator for real workflows energy-aware management in green cloud computing
Guitart Toward sustainable data centers: a comprehensive energy management strategy
Kochut et al. On strategies for dynamic resource management in virtualized server environments
Ghorbani et al. Prediction and control of bursty cloud workloads: a fractal framework
JP5452714B2 (ja) 発電計画作成装置
Chung et al. Multi-area generation scheduling algorithm with regionally distributed optimal power flow using alternating direction method
Li et al. OKCM: improving parallel task scheduling in high-performance computing systems using online learning
Dou et al. A two-time-scale load balancing framework for minimizing electricity bills of internet data centers
Hanafy et al. CarbonScaler: Leveraging Cloud Workload Elasticity for Optimizing Carbon-Efficiency
Sagi et al. A lightweight nonlinear methodology to accurately model multicore processor power
Radovanovic et al. Power modeling for effective datacenter planning and compute management
Lindberg et al. Using geographic load shifting to reduce carbon emissions
Naghshnejad et al. A hybrid scheduling platform: a runtime prediction reliability aware scheduling platform to improve hpc scheduling performance
Bader et al. Lotaru: Locally predicting workflow task runtimes for resource management on heterogeneous infrastructures
Hajiamini et al. A study of DVFS methodologies for multicore systems with islanding feature
WO2023152896A1 (ja) 仮想マシン消費電力予測装置、仮想マシン消費電力予測方法、及びプログラム
Dai et al. Rahec: A mechanism of resource management for heterogeneous clouds
Aldossary et al. Towards virtual machine energy-aware cost prediction in clouds
Amoon A multi criteria-based approach for virtual machines consolidation to save electrical power in cloud data centers

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: 22925917

Country of ref document: EP

Kind code of ref document: A1