The embodiments discussed herein are related to a computer system and virtual machine arranging method.
Conventionally, among techniques of using a computer to perform optimum design analysis of a structure is a system that analyzes a structural shape that optimizes acoustic-structural coupled responses (sound pressure peak value, sound pressure level integration, exciting point deformation, resonance cancelling, etc.), which cause noise (see, e.g., Japanese Laid-Open Patent Publication No. 2007-188164). Another apparatus reduces the level of noise from a cooling device of a server to a proper noise level by determining the number of revolutions of a cooling fan according to the result of comparison between the air-intake temperature of cooling air and a temperature threshold, and increasing/decreasing the number of revolutions of the cooling fan according to the result of comparison between the temperatures of all electronic components and temperature thresholds for respective electronic components (see, e.g., Japanese Laid-Open Patent Publication No. 2011-151131).
The conventional techniques, however, pose a problem in that multiple virtual machines (VM) cannot be assigned to multiple servers such that the noise generated by the servers of a computer system is reduced at a specific location.
According to an aspect of an embodiment, a computer system includes servers having virtual machines arranged therein; a noise source in each among the servers, the noise source emitting sound when the server is operated; and a controller that controls arrangement of the virtual machines in the servers. The controller solves an integer programming problem having an objective function representing a noise contribution described as any one among a function of virtual machine arrangement and a function of a job assignment count and indicating an extent of contribution of the sound emitted from the noise source to a noise volume at an evaluation point, by executing software for solving the integer programming problem on a processor, and based on a solution to the integer programming problem, causes the processor to arrange the virtual machines in the servers via an interface for the servers.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.
An embodiment of a computer system and a virtual machine arranging method will be described in detail with reference to the drawings. An objective function for an integer programming problem may be described as a function of virtual machine arrangement or a function of a job assignment count. In the embodiments, a case of writing the objective function as the function of virtual machine arrangement will be described. The embodiments do not limit the present invention.
The controller 4 controls the arrangement of virtual machines with respect to the servers 2. The controller 4 solves an integer programming problem with an objective function representing a noise contribution described as a function of virtual machine arrangement, by causing a processor to execute software for solving the integer programming problem. The noise contribution represents the extent of contribution of sound emitted from the noise source to the volume of noise at the evaluation point. Based on a solution to the integer programming problem, the controller 4 causes the processor to arrange the virtual machines in the servers 2 through an interface for the servers 2 so that, for example, noise at the evaluation point is reduced.
According to the first embodiment, by solving the integer programming problem with the objective function representing the noise contribution at the evaluation point, virtual machine arrangement that reduces noise at the evaluation point can be determined. Thus, noise at the evaluation point by the computer system 1 can be reduced.
A second embodiment relates to an example of the computer system 1 of the first embodiment. For example, a data center is an example of the computer system 1. At the data center, many computers and data communication devices are operated.
In the computer system 1 depicted in
The CPU 11 supervises overall control of the controller 4. The CPU 11 executes a program that implements the virtual machine arranging method and thereby, solves an integer programming problem and arranges virtual machines. The virtual machine arranging method will be described later. The ROM 12 stores programs including a boot program and a program that implements the virtual machine arranging method. The RAM 13 is used as a work area for the CPU 11.
The hard disk drive 14 controls the reading and writing of data with respect to the hard disk 20. The hard disk 20 stores data written thereto under the control of the hard disk drive 14. The flexible disk drive 15 controls the reading and writing of data with respect to the flexible disk 21. The flexible disk 21 stores data written thereto under the control of the flexible disk drive 15.
The flexible disk 21 may be replaced with a removable recording medium other than the flexible disk 21, such as a CD-ROM (CD-R, CD-RW), MO, digital versatile disk (DVD), and a memory card. The display 16 displays a cursor, ions, tool boxes, and data including documents, images, functional information, etc. The display 16 may be provided as, for example, a CRT, a TFT liquid crystal display, and a plasma display.
The interface 19 is connected to each rack 5 of the data center via a network (not depicted). The interface 19 controls the input and output of data with respect to each rack 5. The interface 19 may be provided as, for example, a LAN adaptor, etc.
The keyboard 17 has keys for entering characters, numerals, or various instructions, and is used to input data. The keyboard 17 may be provided as a touch-panel type input pad, numeric keypad, etc. The mouse 18 is used to move the cursor or select a cursor range or to move a window or change the size thereof. The mouse 18 may be replaced with a track ball, joy stick, etc., provided that a function as pointing device is satisfied.
An image-scanning scanner may be connected to the controller 4. A printer, which is an example of an output device, may be connected to the controller 4. The controller 4 may be a computer, such as a personal computer and workstation, a cellular phone, or a portable information processing apparatus.
The managing unit 33 rewrites initial arrangement data of virtual machines, based on information of virtual machines arranged in the servers 2. The initial arrangement data includes the number of virtual machines arranged in each server 2. The initial arrangement data may be stored in, for example, in the storing unit 32.
The storing unit 32 stores therein data (constant), a variable, an objective function, and a constraint, and inputs the data (constant), variable, objective function, and constraint to the solution obtaining unit 34. The storing unit 32 may use memory such as the ROM 12 and RAM 13, as a storage medium. The data that does not change dynamically (constant), variable, object function, and constraint may be written in the program that implements the virtual machine arranging method.
The solution obtaining unit 34 solves an integer programming problem, based on data (constant), a variable, an objective function, and a constraint received from the storing unit 32. When virtual machine arrangement is performed, the solution obtaining unit 34 may solve an integer programming problem formulated by, for example, equations (12) to (16) described later.
An example of the solution obtaining unit 34 is software (solver) for solving an integer programming problem. An example of the solver is GLPK, SYMPHONY, Gurobi, etc. Based on a solution to an integer programming problem obtained by the solution obtaining unit 34, the arranging unit 35 arranges virtual machines in the server 2.
The value of N is determined in advance according to the configuration of the data center. Respective values of Li, Ci, λi, and ki are determined in advance according to the server. The value of M is determined according to the number of applications to be started.
Formulation as Integer Programming Problem
(1) Modeling of Server Noise Contribution
Although no specific modeling method is specified, for example, a noise contribution by the server is modeled using the product of a noise propagation attenuation constant and noise source acoustic power. Noise source acoustic power is modeled as a variable dependent on the number of virtual machines arranged in the server.
A noise contribution at the evaluation point by the i-th server is expressed by equation (1), where Ci denotes a noise propagation attenuation constant and [kivi+λiwi] denotes noise source acoustic power.
In equation (1), wi denotes the number of virtual machines executed at the i-th server, and is an integer variable of 0 or more to Li or less. vi is a variable representing a state of operation or suspension of the server. When the value of vi is 0, the server is stopped, that is, the power source is off. If the value of vi is 1, the server is running, that is, the power supply is on.
Server Noise Contribution at Evaluation
Point=C(kivi+λiwi) (1)
(2) Calculation of Noise Propagation Attenuation Constant
When the position of the noise source of the server and the position of an evaluation point are determined, a noise propagation attenuation constant of noise attenuation during propagation from the position of the noise source to the position of the evaluation point can be calculated by acoustic analysis. Although no specific method is specified, for example, a statistical energy analysis (SEA) can be used for acoustic analysis of the server interior, and a sound-ray tracing technique (geometric acoustics theory) can be used for acoustic analysis of the server exterior.
1) Statistical Energy Analysis
The cooling fan is considered to be a major noise source of the server and propagation of the fan acoustic power to the server surface is determined. According to the statistical energy analysis (SEA), an analysis subject is divided into analysis elements, which are composed of plate-like plate elements and acoustic elements representing special acoustics that are combined to create a model.
A basic equation of the statistical energy analysis is equation (2), where P denotes a noise source acoustic power vector, L denotes a coefficient matrix composed of a coupling loss rate, an internal loss rate, and a central frequency, and E denotes the energy vector of each element. Based on equation (2), the energy of the plate element 41 and of the acoustic element 42 is expressed by equation (3).
P=LE (2)
E=L
−1
P (3)
Based on equation (3), the energy Es of each element on the surface of the rack 5 and the surface of the server 2 is expressed by equation (4), where B denotes a surface element selection matrix. In the surface element selection matrix B, matrix elements corresponding to surface elements are each defined as 1 while the other matrix elements are each defined as 0. An example of the surface element selection matrix B is indicated as equation (5).
Based on equation (4), radiating acoustic power from each element on the surface of the rack 5 and the surface of the server 2 is expressed by equation (6), where H denotes a coefficient matrix of a coupling loss rate between a semi-infinite fluid (SIF) and a surface element and a central frequency. By performing acoustic analysis of the interior of each server 2 using the statistical energy analysis, acoustic power radiating from the surface of the rack 5 and the surface of the server 2 can be determined.
P
s
=HE
s
=HBL
−1
P (6)
2) Sound-Ray Tracing Technique (Geometric Acoustic Theory)
Acoustic power at the evaluation point 43 is expressed by equation (7), where D denotes a diagonal matrix, which is an attenuation matrix defined by the sound-ray tracing technique. By performing acoustic analysis of the exterior of each server 2 using the sound-ray tracing technique, the attenuation rate of acoustic power radiating from the surface of each server 2 can be determined.
P
e
=DP
s
=DHBL
−1
P (7)
3) Calculation of Noise Propagation Attenuation Constant
An acoustic power vector at the evaluation point 43 is calculated for a case where only the analysis element n has a noise source. A noise source acoustic power vector P is expressed by equation (8), where In denotes an element having the cooling fan serving as a major noise source in the model of
Based on equations (7) and (8), an acoustic power vector at the evaluation point 43 is expressed by equation (9). Pei and Qei of equation (9) are given by equation (10).
The sum of matrix elements of Pei represents the noise contribution of the servers 2. Thus, the noise contribution of the server 2 is expressed by equation (11).
(3) Formulation into Integer Programming Problem
A noise suppression problem at execution of virtual machine arrangement can be formulated into an integer programming problem expressed by equations (12) to (16). Equation (12) represents an objective function and equations (13) to (16) represent constraints. Equation (15) is a constraint that should be met to match the total number of actually arranged virtual machines to the number of virtual machines to be arranged. In these equations, wi, vi, i=1, . . . , and N denote coefficients of determination.
According to the second embodiment, arrangement of virtual machines that reduces noise at the evaluation point 43 can be determined by solving an integer programming problem with an objective function representing noise contribution at the evaluation point 43. Noise at the evaluation point 43 in the data center, therefore, can be reduced. By determining the evaluation point 43 to be a place where system engineers or customer engineers work at the data center, adverse effects of noise on the engineers' bodies is prevented and noise disturbance of communication between engineers is also prevented.
A third embodiment relates to a case where virtual machine arrangement that simultaneously achieves noise suppression and power-saving at the data center is determined by solving an integer programming problem formulated by combining together a noise suppression problem at the evaluation point and power-saving problem at the data center. The hardware configurations of the data center and controller in this embodiment are the hardware configurations described in the second embodiment.
The determining unit 31 determines the integer programming problem to be solved among a problem corresponding to initial arrangement of virtual machines, a problem corresponding to additional arrangement of virtual machines, or a problem corresponding to rearrangement of virtual machines. Based on the result of the determination, the determining unit 31 issues an instruction to the solution obtaining unit 34.
By solving the integer programming problem corresponding to the initial arrangement of virtual machines, one or more virtual machines can be arranged in one or more servers 2 when all servers 2 are suspended. The state of initial arrangement of virtual machines in this case is the state where no virtual machine is arranged in any server 2.
By solving the integer programming problem corresponding to an additional arrangement of virtual machines, in the state of initial arrangement where one or more virtual machines are already arranged in one or more servers 2, one or more virtual machines can be additionally arranged in one or more servers 2. Virtual machines already arranged in the state of initial arrangement are not transferred to a different server 2.
By solving the integer programming problem corresponding to the rearrangement of virtual machines, in the state of initial arrangement where one or more virtual machines are already arranged in one or more servers 2, virtual machines can be rearranged through live migration. Through live migration, a virtual machine arranged in a certain server 2 can be transferred to a different server 2 without suspending operation of the virtual machine. The controller 4 monitors the operating time of the data center with a built-in timer, etc., and may rearrange virtual machines at given periods.
The solution obtaining unit 34 solves an integer programming problem, based on data (constant), a variable, an objective function, and a constraint received from the storing unit 32 and an instruction from the determining unit 31.
A noise suppression problem and a power-saving problem at execution of virtual machine arrangement can be formulated into an integer programming problem expressed by equation (17), where ρ denotes a weight that a user sets based on a policy when executing virtual machine arrangement. ρ is a positive real number.
Number of virtual machines to be executed, fixed number of jobs
Maximum number of virtual machines that can be executed by one server
Number of virtual machines to be executed that is equal to or smaller than maximum number of jobs
In equation (17), the noise contribution of each server is the noise contribution of each server described in the second embodiment. A case of determining power consumption by each server and formulating a power-saving problem into an integer programming problem will hereinafter be described.
(1) Description of Data Structure
Data that defines the number of virtual machines in the computer system of the third embodiment is the data of
For example, c may denote a value given by dividing the average operation time of virtual machines during live migration by the average operation time of virtual machines after the rearrangement. In this case, c takes a value smaller than 1. By selecting the scaling factor c in this manner, the total power consumption representing the sum of power consumption by the server 2 and power consumption by the power supply unit 3 can be minimized.
The values of N and S are determined in advance according to the configuration of the data center. The values of c, Lij, αij, βij, and γ+ij are determined in advance according to the server. The values of ηi and εi are determined in advance according to the power supply unit. The value of wij [0] is rewritten dynamically by the managing unit 33 during operation of the data center. The value of M is determined according to the number of applications to be started.
(2) Formulation into Integer Programming Program 1) Modeling of Power Consumption
Modeling of power consumption by the server, of power consumption by the power supply unit, of total power consumption by the servers and power supply unit in the rack, and of total power consumption by the servers and power supply units in the data center will be described.
2) Modeling of Power Consumption by Server
The server has the following properties (S-1) to (S-3) related to power consumption.
(S-1) When any one of virtual machines is executed, the power supply to the server is turned on. When the number of virtual machines under execution is zero, the power supply to the server is turned off.
(S-2) When the power supply is turned on, a given amount of power is consumed.
(S-3) As the number of virtual machines under execution increases, power consumption increases.
A variable representing the number of virtual machines executed at the j-th server in the i-th rack is denoted as wij, which is an integer variable of 0 or more to Lij or less. For the jδ-th server in the i-th rack, vij is defined as a variable taking a value of 0 or 1. The following constraint is imposed on this variable vij.
v
ij
≦w
ij
≦L
ij
v
ij (18)
In the above inequality (18), when wij is 1 or more, if vij is 0, the right side of the inequality (18) does not hold true. vij, therefore, must be 1 in this case. When wij is 0, on the other hand, if vij is 1, the left side of the inequality (18) does not hold true. vij, therefore, must be 0 in this case.
The value of vij thus represents on/off of the power supply to the server. The value of vij being 0 indicates that the power supply to the server is off, while the value of vij being 1 indicates that the power supply to the server is on. This is expressed by the following equations (19) and (20).
w
ij≧1server power onvij=1 (19)
w
ij=0server power offvij=0 (20)
Using the above constants and variables, power consumption by the i-th server in the i-th rack is given by equation (21), which expresses the above properties (S-1) to (S-3) in the form of a linear equation of wij and vij.
βijvij+αijwij (21)
In equation (21), αijwij represents [power consumed by each virtual machine×number of virtual machines], thus representing power consumption proportional to the number of virtual machines. Since βijvij=βij results when the power supply to the server is on and βijvij=0 results when the power supply to the server is off, βijvij represents power that is consumed as a result of turning on of the power supply to the server.
3) Modeling of Power Consumption by Power Supply Unit
The power supply unit has the following properties (U-1) and (U-2) related to power consumption.
(U-1) A fixed amount of power is consumed constantly regardless of the operation condition of servers in the rack.
(U-2) As the total power consumption by servers in the rack increases, power consumption by the power supply unit increases.
Based on the properties (U-1) and (U-2), power consumption by the power supply unit installed in the i-th rack is given by equation (22), which expresses the properties (U-1) and (U-2) in the form of a linear equation of wij and vij.
In equation (22), [Σ(βijvij+αijwij)] (index j is omitted from Σ) represents total power consumption by the servers in the i-th rack. The second term of equation (22), which is the product of the total power consumption by the servers in the i-th rack and εi, represents power consumption by the power supply unit proportional to the total power consumption by the servers in the i-th rack. ηi represents constant power consumption by the power supply in the i-th rack.
4) Modeling of Total Power Consumption by Servers and Power Supply Unit in Rack
As described in 3) Modeling of Power Consumption by Power Supply Unit, the total power consumption by the servers in the i-th rack is [Σ(βijvij+αijwij)] (index j is omitted from Σ), and the power consumption by the power supply unit installed in the i-th rack is expressed by equation (22). Adding up the total power consumption by the servers in the i-th rack and the power consumption by the power supply unit installed in the i-th rack yields total power consumption by the i-th rack. Thus, the total power consumption by the i-th rack is expressed by equation (23).
The number of the servers in the rack may be variable. If the number of the servers in the rack is variable and the number of the servers in the i-th rack is s denoting an integer smaller than the integer denoted by S, the above equation is given under a constraint of [wij=0, j≧s] in solving an integer programming problem.
5) Modeling of Total Power Consumption by Servers and Power Supply Units in Data Center
Adding up the above equations (23) for all the first to N-th racks yields total power consumption by the data center. Thus, the total power consumption by the data center is expressed by equation (24).
Formulation into an integer programming problem will be described for each of the cases of initial arrangement of virtual machines, additional arrangement of virtual machines, and rearrangement of virtual machines.
6) Initial Arrangement of Virtual Machines
When initial arrangement of virtual machines is performed, no virtual machine is arranged in any server. Therefore, the power supplies to all servers are off.
A power-saving problem of saving power consumption by the servers and power supply units at execution of initial arrangement of virtual machines can be formulated into an integer programming problem expressed by the following equations (25) to (29). Equation (25) represents an objective function and the equations (26) to (29) represent constraints. Equation (28) is a constraint that should be met to match the total number of actually arranged virtual machines to the number of virtual machines to be arranged. In these equations, wij, vij, i=1, . . . , N, j=1, . . . , and S denote coefficients of determination.
7) Additional Arrangement of Virtual Machines
It is assumed that when additional arrangement of virtual machines is performed, wij[0] virtual machines are already arranged in the j-th server in the i-th rack and that the currently arranged virtual machines are not transferred. Because an additional virtual machine is arranged in the server already equipped with wij[0] virtual machines in a state of initial arrangement, wij is wij[0] or greater. This is expressed as a constraint given by equation (30).
w
ij
ε{w
ij[0], . . . ,Lij},i=1, . . . ,N,j=1, . . . S (30)
The number of additionally arranged virtual machines is denoted as ΔM. Since the number of virtual machines arranged in the state of initial arrangement is [ΣΣwij[0]] (index i is omitted from the former Σ and index j is omitted from the latter Σ), the number of virtual machines after the additional arrangement is [ΣΣwij[0]+ΔM] (index i is omitted from the former Σ and index j is omitted from the latter Σ).
A power-saving problem of saving power consumption by the servers and power supply units at execution of additional arrangement of virtual machines can be formulated into an integer programming problem expressed by the following equations (31) to (35). Equation (31) represents an objective function and the equations (32) to (35) represent constraints. Equation (34) is the constraint that should be met to match the total number of virtual machines after the additional arrangement to the sum of the number of virtual machines in the state of initial arrangement and the number of additionally arranged virtual machines. In these equations, wij, vij, i=1, . . . , N, j=1, . . . , and S denote coefficients of determination.
8) Rearrangement of Virtual Machines
It is assumed that when rearrangement of virtual machine is performed, wij[0] virtual machines are already arranged in the j-th server in the i-th rack. In the process of rearrangement of virtual machines, a virtual machine is transferred through live migration. When the virtual machine is transferred through live migration, power is consumed by a transfer origin server from which the virtual machine is transferred as well as by a transfer destination server to which the virtual machine transferred.
For the j-th server in the i-th rack, is defined as a variable taking a value of 0 or 1. The following constraint is imposed on this variable δ−ij, in which constraint d is a positive real number smaller than 1.
d+(−Lij−d)δij−≦wij−wij[0]≦Lij(1−δij−) (36)
In the above inequality (36), when [wij−wij[0]] is less than or equal to 0, if δ−ij is 0, the left side of the inequality (36) does not hold true. δ−ij, therefore, must be 1 in this case. When [wij−wij[0]] is 1 or more, on the other hand, if δ−ij is 1, the right side of the inequality (36) does not hold true. Therefore, δ−ij must be 0 in this case. This is expressed by the following equations (37) and (38).
w
ij
−w
ij[0]≦0δij−=1 (37)
w
ij
−w
ij[0]≧1δij−=0 (38)
For the j-th server of the i-th rack, z−ij is defined as an integer variable taking a value from 0 to Lij. The following constraint is imposed on z−ij.
−Lijδij−≦zij−≦Lijδij− (39)
−(wij−wij[0])−Lij(1−δij−)≦zij−≦−(wij−wij[0])+Lij(1−δij−) (40)
When [wij−wij[0]] is 1 or more, it follows from the above equation (38) that δ−ij is 0. Therefore, from the inequality (39), [0≦z−ij≦0] results, which indicates that z−ij is 0. When [wij−wij[0]≧1, δ−ij=0, z−ij=0] is satisfied, the above inequality (40) is reduced to [−(wij−wij[0])+Lij≧0≧−(wij−wij[0])−Lij]. Thus, the inequality (40) holds true. This is expressed by the following inequality (41).
w
ij
−w
ij[0]≧1zij−=0 (41)
On the other hand, when [wij−wij[0]] is 0 or less, it follows from the above equation (37) that δ−ij is 1. Therefore, from the inequality (40), [−(wij−wij[0])≦z−ij≦−(wij−wij[0])] results, which indicates that z−ij is equivalent to [−(wij−wij[0])].
When [wij−wij[0]≦0, δ−ij=1, z−ij=−(wij−wij[0])] is satisfied, the above inequality (39) is reduced to [−Lij≦−(wij−wij[0])≦Lij]. Thus, the inequality (39) holds true. This is expressed by the following inequality (42).
w
ij
−w
ij[0]≦0zij−=−(wij−wij[0]) (42)
[wij−wij[0] ] being 0 or less than means that a virtual machine is transferred from the j-th server in the i-th rack to a different server. [wij−wij[0] ] being 1 or more than means that a virtual machine is transferred from a certain server to the j-th server in the i-th rack. In other words, z−ij represents the number of virtual machines that are transferred from the j-th server in the i-th rack to a different server.
Thus, power consumption in the case of transferring z−ij virtual machines from the j-th server in the i-th rack to a different server is expressed by equation (43).
γij−zij− (43)
For the j-th server in the i-th rack, δ+ij is defined as a variable taking a value of 0 or 1. The following constraint is imposed on this variable δ+ij.
=ij+=1−δij− (44)
From the constraint of expression (44) and from expressions (37) and (38), the following inequalities (45) and (46) are obtained.
w
ij
−w
ij[0]≦0δij+=0 (45)
w
ij
−w
ij[0]≧1δij+=1 (46)
For the j-th server in the i-th rack, z+ij is defined as an integer variable taking a value of 0 to Lij The following constraint is imposed on this variable z+ij.
−Lijδij+≦zij+≦Lijδij+ (47)
(wij−wij[0])−Lij(1−δij+)≦zij+≦(wij−wij[0])+Lij−(1−δij+) (48)
When [wij−wij[0] ] is 1 or more, from the inequality (46), δij+ is 1. Therefore, the inequality (48) becomes [wij−wij[0]≦z+ij≦[wij−wij[0]]. Thus, z+ij is equivalent to [wij−wij[0] ].
When [wij−wij[0]≧1, δ+ij=1, and z+ij=[wij−wij[0]] are true, the inequality (47) is reduced to [−Lij≦wij−wij[0]≦Lij]. Therefore, the inequality (47) holds true. This is expressed by the following inequality (49).
w
ij
−w
ij[0]≧1zij+=wij−wij[0] (49)
On the other hand, when [wij−wij[0]] is 0 less, it follows from the above equation (45) that δ+ij is 0. Therefore, from the inequality (47), [0≦z+ij≦0] results, which indicates that z+ij is 0. When [wij−wij[0]≦0, δ+ij=1, z+ij=0] is satisfied, the above inequality (48) is reduced to [(wij−wij[0])−Lij≧0≦(wij−wij[0])+Lij]. Thus, the inequality (48) holds true. This is expressed by the following inequality (50).
w
ij
−w
ij[0]≦0zij+=0 (50)
z+ij represents the number of virtual machines that are transferred from a certain server to the j-th server in the i-th rack. Thus, power consumption in the case of transferring z+ij virtual machines from a certain server to the j-th server in the i-th rack is expressed by equation (51).
γij+zij+ (51)
Power consumed through live migration is thus given by adding up the sums of power consumption in the case of transferring z−ij virtual machines from the j-th server in the i-th rack to a different server and power consumption in the case of transferring z+ij virtual machines from a certain server to the j-th server in the i-th rack, for all servers. Hence power consumed through live migration is expressed by equation (52).
A power-saving problem of saving power consumption by the servers and power supply units at execution of rearrangement of virtual machines can be formulated into an integer programming problem expressed by the following equations (53) to (67). Equation (53) represents an objective function and the equations (54) to (67) represent constraints. In these equations, wij, vij, δ−ij, δ+ij, z−ij, z+ij, i=1, . . . N, j=1, . . . , and S denote coefficients of determination.
Formulation into Integer Programming Problem by Combining Together Noise Suppression Problem and Power-Saving Problem
A power-saving problem and a noise suppression problem can be formulated into an integer programming problem by combining together an objective function of the power-saving problem and an objective function of the noise suppression problem described in the second embodiment, for each among initial arrangement of virtual machines, additional arrangement of virtual machines, and rearrangement of virtual machines.
The computer system 1 has data of the number of racks and the number of servers per rack depicted in
The computer system 1 also has data of the scaling factor depicted in
The index i in the second embodiment and the same in the third embodiment are different in meaning from each other. For explanation of the noise suppression problem in the third embodiment, therefore, an index k is used in place of the index i. The relation between the index k of the third embodiment and the index i of the second embodiment is [k=S(i−1)+j].
(1) Initial Arrangement of Virtual Machines
A noise suppression problem and a power-saving problem at execution of initial arrangement of virtual machines can be formulated into an integer programming problem expressed by equation (68) and the above equations (26) to (29). Equation (68) represents an objective function and the equations (26) to (29) represent constraints. In these equations, wij, vij, i=1, . . . N, j=1, . . . , and S denote coefficients of determination.
(2) Additional Arrangement of Virtual Machines
A noise suppression problem and a power-saving problem at execution of additional arrangement of virtual machines can be formulated into an integer programming problem expressed by equation (68) and the above equations (32) to (35). Equation (68) represents an objective function and the equations (32) to (35) represent constraints. In these equations, wij, vij, i=1, . . . N, j=1, . . . , and S denote coefficients of determination.
(2) Rearrangement of Virtual Machines
A noise suppression problem and a power-saving problem at execution of rearrangement of virtual machines can be formulated into an integer programming problem expressed by equation (69) and the above equations (54) to (67). Equation (69) represents an objective function and the equations (54) to (67) represent constraints. In these equations, wij, vij, δ−ij, δ+ij, z−ij, z+ij, i=1, . . . N, j=1, . . . , and S denote coefficients of determination.
The storing unit 32 then inputs data (constant), a variable, an objective function, and a constraint to the solution obtaining unit 34 (step S12). Based on the input data (constant), variable, objective function, and constraint and the instruction from the determining unit 31, the solution obtaining unit 34 solves an integer programming problem by, for example, a solver to find a solution (step S13). Formulation into an integer programming problem will be described later for each type of arrangement. The arranging unit 35 arranges virtual machines, based on the solution obtained by the solution obtaining unit 34 (step S14). Thus, a series of steps of virtual machine arrangement comes to an end.
According to the third embodiment, virtual machine arrangement that simultaneously realizes power-saving at the data center and noise suppression at the evaluation point 43 can be determined. Therefore, power consumption by the data center and noise at the evaluation point 43 can be reduced.
A computer system and a virtual machine arranging method offer an effect of reducing noise at an evaluation point when multiple virtual machines are assigned to multiple servers.
All examples and conditional language provided herein are intended for pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although one or more embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
This application is a continuation application of International Application PCT/JP2012/054004, filed on Feb. 20, 2012 and designating the U.S., the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2012/054004 | Feb 2012 | US |
Child | 14451972 | US |