WO2013042271A1 - 電子計算機システム及び仮想マシン配置方法 - Google Patents

電子計算機システム及び仮想マシン配置方法 Download PDF

Info

Publication number
WO2013042271A1
WO2013042271A1 PCT/JP2011/071737 JP2011071737W WO2013042271A1 WO 2013042271 A1 WO2013042271 A1 WO 2013042271A1 JP 2011071737 W JP2011071737 W JP 2011071737W WO 2013042271 A1 WO2013042271 A1 WO 2013042271A1
Authority
WO
WIPO (PCT)
Prior art keywords
virtual machines
virtual machine
power consumption
server
computer system
Prior art date
Application number
PCT/JP2011/071737
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/JP2011/071737 priority Critical patent/WO2013042271A1/ja
Priority to PCT/JP2011/073973 priority patent/WO2013042276A1/ja
Priority to JP2013534691A priority patent/JP6175371B2/ja
Priority to PCT/JP2012/073544 priority patent/WO2013042615A1/ja
Publication of WO2013042271A1 publication Critical patent/WO2013042271A1/ja
Priority to US14/223,155 priority patent/US9733986B2/en

Links

Images

Classifications

    • 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]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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 an electronic computer system and a virtual machine arrangement method.
  • multiple energy supply means are operated by calculating the minimum value of energy consumption for each case with different models and number of units operating at the same time using mixed integer programming, and finally selecting the case with the lowest energy consumption
  • There is a method for sharing the load see, for example, Patent Document 1.
  • the power consumption is calculated for each software process based on the amount of resources used when the processor executes the software process, and a part of the software process is transferred from the first processor to the second according to the calculated power consumption.
  • There is a method of shifting to a processor see, for example, Patent Document 3).
  • a conventional method uses a plurality of virtual machines (VM: Virtual Machine) in a plurality of servers. ) Cannot be assigned.
  • VM Virtual Machine
  • An object of the present invention is to provide an electronic computer system and a virtual machine arrangement method capable of saving power when assigning a plurality of virtual machines to a plurality of servers.
  • the electronic computer system includes a plurality of servers, a plurality of power supply devices, and a control device.
  • a virtual machine is arranged in each server. Each power supply supplies power to the server.
  • the control device controls the placement of the virtual machine with respect to the server.
  • the control device solves an integer programming problem whose objective function is the total power consumption of the power consumption of the server and the power consumption device described as a function of the placement of the virtual machine, and based on the solution of the integer programming problem. To place a virtual machine.
  • the electronic computer system and the virtual machine arrangement method it is possible to save power when assigning a plurality of virtual machines to a plurality of servers.
  • FIG. 1 is a block diagram of an electronic computer system according to the first embodiment.
  • FIG. 2 is a block diagram of a hardware configuration of a control device of the electronic computer system according to the second embodiment.
  • FIG. 3 is a block diagram of a functional configuration of the control device of the electronic computer system according to the second embodiment.
  • FIG. 4 is a diagram illustrating data defining the configuration of the data center in the electronic computer system according to the second embodiment.
  • FIG. 5 is a diagram illustrating data defining the number of virtual machines in the computer system according to the second embodiment.
  • FIG. 6 is a diagram illustrating data defining a scaling factor in the electronic computer system according to the second embodiment.
  • FIG. 7 is a diagram of data defining the maximum number of virtual machines that can be executed in the computer system according to the second embodiment.
  • FIG. 8 is a diagram of data defining the power consumption of the virtual machine in the computer system according to the second embodiment.
  • FIG. 9 is a diagram of data defining the base power consumption in the electronic computer system according to the second embodiment.
  • FIG. 10 is a diagram illustrating data that defines power consumption of the migration source of the virtual machine in the computer system according to the second embodiment.
  • FIG. 11 is a diagram illustrating data that defines power consumption of the migration destination of the virtual machine in the computer system according to the second embodiment.
  • FIG. 12 is a diagram of initial arrangement data of virtual machines in the computer system according to the second embodiment.
  • FIG. 13 is a diagram illustrating data defining the base power consumption and the proportionality coefficient of the power supply device in the computer system according to the second embodiment.
  • FIG. 14 is a flowchart of the virtual machine arrangement method according to the second embodiment.
  • FIG. 1 is a block diagram of an electronic computer system according to the first embodiment.
  • the electronic computer system 1 includes a plurality of servers 2, a plurality of power supply devices 3, and a control device 4.
  • Each server 2 is provided with a virtual machine.
  • Each power supply device 3 supplies power to the server 2.
  • the control device 4 controls the placement of virtual machines with respect to the server 2.
  • the control device 4 solves an integer programming problem having the objective function of the total power consumption of the power consumption in the server 2 and the power consumption in the power supply device 3 described as a function of the arrangement of the virtual machines.
  • the control device 4 places a virtual machine on each server 2 based on the solution of the integer programming problem.
  • the virtual machine arrangement capable of minimizing the total power consumption by solving the integer programming problem using the total power consumption of the power consumption in the server 2 and the power consumption in the power supply device 3 as an objective function Can be requested. Therefore, power saving of the electronic computer system 1 can be achieved.
  • Example 2 In the second embodiment, an example of the electronic computer system 1 according to the first embodiment will be described.
  • An example of the electronic computer system 1 is a data center, for example. In the data center, a large number of computers and data communication devices are operated.
  • Each rack 5 accommodates, for example, one uninterruptible power supply as one or a plurality of servers 2 and the power supply 3.
  • the power supply device 3 supplies power to a plurality of servers 2 housed in the same rack 5 for each rack 5.
  • Each rack 5 and the control device 4 may be connected to each other by a communication cable such as a LAN (Local Area Network) cable, wireless communication, or the like.
  • FIG. 2 is a block diagram of a hardware configuration of the control device of the electronic computer system according to the second embodiment.
  • the control device 4 includes a CPU 11, a ROM 12, a RAM 13, a hard disk drive (HDD) 14, a hard disk (HD) 20, a flexible disk drive (FDD) 15, and a flexible disk as an example of a removable recording medium. (FD) 21 is provided.
  • the control device 4 includes a display 16, a keyboard 17, a mouse 18 and an interface 19. These components 11 to 19 are connected by a bus 25, respectively.
  • the CPU 11 governs overall control of the control device 4.
  • the CPU 11 solves the integer programming problem and arranges the virtual machines by executing a program for realizing a virtual machine arrangement method described later.
  • the ROM 12 stores programs such as a boot program and a program for realizing a virtual machine arrangement method.
  • the RAM 13 is used as a work area for the CPU 11.
  • the hard disk drive 14 controls reading / writing of data with respect to the hard disk 20.
  • the hard disk 20 stores data written under the control of the hard disk drive 14.
  • the flexible disk drive 15 controls reading / writing of data with respect to the flexible disk 21.
  • the flexible disk 21 stores data written under the control of the flexible disk drive 15.
  • a CD-ROM CD-R, CD-RW
  • MO Compact Disc
  • DVD Digital Versatile Disk
  • the display 16 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box.
  • a CRT, a TFT liquid crystal display, a plasma display, or the like can be used as the display 16.
  • the interface 19 is connected to each rack 5 of the data center via a network (not shown).
  • the interface 19 controls data input / output with respect to each rack 5.
  • a LAN adapter or the like can be employed as the interface 19.
  • the keyboard 17 has keys for inputting characters, numbers, various instructions, etc., and inputs data.
  • the keyboard 17 may be a touch panel type input pad or a numeric keypad.
  • the mouse 18 performs cursor movement, range selection, window movement, size change, and the like.
  • a trackball or a joystick may be used as long as they have the same function as a pointing device.
  • control device 4 may be an electronic computer such as a personal computer or a workstation, or may be a mobile phone or a portable information processing device.
  • FIG. 3 is a block diagram of a functional configuration of the control apparatus of the electronic computer system according to the second embodiment.
  • the control device 4 includes a determination unit 31, a storage unit 32, a management unit 33, a solution finding unit 34, and an arrangement unit 35. These components 31 to 35 may be realized by the CPU 11 executing a program for realizing the virtual machine arrangement method.
  • the management unit 33 rewrites the initial placement data of the virtual machine based on the information of the virtual machine placed on the server 2.
  • the initial arrangement data the number of virtual machines arranged for each server 2 is stored.
  • the initial arrangement data may be stored in the storage unit 32, for example.
  • the storage unit 32 stores data (constants), variables, objective functions, and constraint conditions.
  • the storage unit 32 inputs data (constants), variables, objective functions, and constraint conditions to the solution finding unit 34.
  • the storage unit 32 may use a memory such as a ROM 12 or a RAM 13 as a storage medium. Note that data (constants), variables, objective functions, and constraint conditions that do not change dynamically may be described in a program that implements the virtual machine placement method.
  • the determination unit 31 determines whether the integer planning problem corresponding to the initial arrangement of the virtual machine, the additional arrangement of the virtual machine, or the rearrangement of the virtual machine should be solved.
  • the determination unit 31 issues an instruction to the solution finding unit 34 based on the determination result.
  • one or more virtual machines can be placed on one or more servers 2 while all the servers 2 are stopped.
  • the initial placement state of the virtual machine at this time is a state in which no virtual machine is placed on any server 2.
  • one or more virtual machines are already placed on one or more servers 2 and one more on one or more servers 2
  • the above virtual machines can be additionally arranged.
  • the virtual machine arranged in the initial arrangement state does not move to another server 2.
  • a virtual machine using live migration is used for an initial arrangement state in which one or more virtual machines are already arranged on one or more servers 2. Can be rearranged. By using live migration, this virtual machine can be placed on another server 2 without stopping the operation of the virtual machine placed on one server 2.
  • the control device 4 may monitor the operation time of the data center using a built-in timer or the like, and may relocate the virtual machine at regular intervals.
  • the solving unit 34 solves the integer programming problem based on data (constants), variables, objective functions, and constraint conditions passed from the storage unit 32 and instructions from the determining unit 31.
  • the solving unit 34 may solve the integer programming problem formulated by, for example, the following expressions (8) to (12) when performing the initial placement of the virtual machines.
  • the solving unit 34 may solve an integer programming problem formulated by, for example, the following expressions (14) to (18).
  • the solver 34 may solve an integer programming problem formulated by, for example, the following expressions (36) to (50).
  • An example of the solution finding unit 34 is software (solver) for solving an integer programming problem, for example.
  • solvers include GLPK, SYMPHONY, and Gurobi.
  • the placement unit 35 places a virtual machine on the server 2 based on the solution of the integer programming problem derived by the solution finding unit 34.
  • FIG. 4 is a diagram illustrating data defining the configuration of the data center in the computer system according to the second embodiment. As shown in FIG. 4, the number of racks set in the data center is N, and the number of servers per rack is S. N and S are positive integers.
  • FIG. 5 is a diagram of data defining the number of virtual machines in the computer system according to the second embodiment. As shown in FIG. 5, the number of virtual machines to be arranged is M. M is a positive integer.
  • FIG. 6 is a diagram illustrating data defining a scaling factor in the computer system according to the second embodiment.
  • the scaling factor is a constant that defines which reduction of power consumption after rearrangement and power consumption due to live migration is to be emphasized when rearranging virtual machines.
  • the scaling factor is c. c is a positive real number.
  • c may be a value obtained by dividing the average operation time of live migration by the average operation time of the virtual machine after rearrangement. At this time, c is a value less than 1.
  • FIG. 7 is a diagram of data defining the maximum number of virtual machines that can be executed in the computer system according to the second embodiment. As shown in FIG. 7, the maximum number of virtual machines that can be executed by the j-th server in the i-th rack is L ij . L ij is a positive integer. i is an integer from 1 to N, and j is an integer from 1 to S.
  • FIG. 8 is a diagram of data defining the power consumption of the virtual machine in the computer system according to the second embodiment. As shown in FIG. 8, the power consumed per virtual machine operating on the j-th server in the i-th rack is ⁇ ij watts. ⁇ ij is a positive real number.
  • FIG. 9 is a diagram of data defining the base power consumption in the electronic computer system according to the second embodiment. As shown in FIG. 9, the power consumed when the j-th server of the i-th rack is turned on is ⁇ ij watts. ⁇ ij is a positive real number.
  • FIG. 10 is a diagram illustrating data that defines power consumption of the migration source of the virtual machine in the computer system according to the second embodiment.
  • power is consumed on the source server.
  • the power consumed when one virtual machine moves from the j-th server of the i-th rack to another server is ⁇ ⁇ ij watts.
  • ⁇ - ij is a positive real number.
  • FIG. 11 is a diagram illustrating data that defines power consumption of the migration destination of the virtual machine in the computer system according to the second embodiment.
  • power is consumed at the destination server.
  • the power consumed when one virtual machine moves from another server to the j-th server of the i-th rack is ⁇ + ij watts.
  • ⁇ + ij is a positive real number.
  • FIG. 12 is a diagram of initial arrangement data of virtual machines in the computer system according to the second embodiment.
  • the number of virtual machines already arranged in the j-th server of the i-th rack is w ij [0].
  • w ij [0] is an integer of 0 or more and L ij or less.
  • FIG. 13 is a diagram illustrating data defining the base power consumption and the proportionality coefficient of the power supply device in the computer system according to the second embodiment.
  • the base power consumption always consumed by the power supply device of the i-th rack is ⁇ i watts.
  • ⁇ i is a positive real number.
  • a proportionality coefficient that represents how many times the power is consumed by the power supply device 3 with respect to the total power consumption of the servers in the i-th rack is ⁇ i .
  • ⁇ i is a positive real number.
  • ⁇ i is about 0.01 to 0.04.
  • Each value of N and S described above is determined in advance by the configuration of the data center.
  • the values of c, L ij , ⁇ ij , ⁇ ij , ⁇ ⁇ ij and ⁇ + ij are predetermined by the server.
  • Each value of ⁇ i and ⁇ i is determined in advance by the power supply device.
  • w ij [0] is dynamically rewritten by the management unit 33 during operation of the data center.
  • M is determined by the number of applications to be activated.
  • FIG. 14 is a flowchart of the virtual machine placement method according to the second embodiment.
  • the determination unit 31 of the control device 4 determines whether the placement type of the virtual machine is an initial placement, an additional placement, or a rearrangement. Determine (step S1). And the determination part 31 instruct
  • the storage unit 32 inputs data (constants), variables, objective functions, and constraint conditions to the solution finding unit 34 (step S2).
  • the solution finding unit 34 solves the integer programming problem by, for example, a solver and obtains a solution (step S3). Formulation as an integer programming problem will be described later for each type of arrangement.
  • the placement unit 35 places a virtual machine based on the solution obtained by the solution finding unit 34 (step S4). In this way, a series of virtual machine arrangement processing ends.
  • the server has the following properties (S-1) to (S-3) regarding power consumption.
  • S-1 When even one virtual machine is executed, the server is turned on. When the execution number of the virtual machine is 0, the server is turned off.
  • S-2) When the power is turned on, a certain amount of power is consumed.
  • S-3 As the number of virtual machines to be executed increases, power consumption increases accordingly.
  • a variable representing the number of virtual machines executed on the j-th server in the i-th rack is assumed to be w ij .
  • w ij is an integer variable of 0 or more and L ij or less.
  • v ij is a variable that takes either 0 or 1. The following constraint is imposed on this v ij .
  • the value of v ij represents the power on / off of the server. If the value of v ij is 0, the server is powered off, and 1 indicates that the server is powered on. This is expressed by the following formulas (2) and (3).
  • Equation (4) expresses the above-mentioned properties (S-1) to (S-3) by linear equations of variables w ij and v ij .
  • ⁇ ij w ij is [power consumed per virtual machine ⁇ number of virtual machines], and therefore represents power consumed according to the number of virtual machines.
  • ⁇ ij v ij represents ⁇ ij when the server is turned on and 0 when the server is turned off, and represents the power consumed when the server is turned on. .
  • the power supply has the following properties (U-1) and (U-2) with respect to power consumption.
  • (U-1) Constant power is always consumed regardless of the operating state of the servers in the rack.
  • (U-2) When the total power consumption of the servers in the rack increases, the power consumption increases accordingly.
  • Equation (5) represents the properties of (U-1) and (U-2) by a linear expression of variables w ij and v ij .
  • the total power consumption of servers in the i-th rack is [ ⁇ ( ⁇ ij v ij + ⁇ ij w ij )] (however, the index j of ⁇ is omitted).
  • the power consumption of the power supply device installed in the i-th rack is expressed by the above equation (5).
  • the sum of these is the total power consumption of the i-th rack. Accordingly, the total power consumption of the i-th rack is expressed by the following equation (6).
  • the number of servers in the rack may be variable.
  • Equation (8) represents an objective function
  • Equations (9) to (12) represent constraints
  • Expression (11) is a constraint condition for the total number of virtual machines to be arranged to coincide with the number of virtual machines to be arranged.
  • the number of additionally arranged virtual machines is ⁇ M. Since the number of virtual machines arranged in the initial arrangement state is [ ⁇ w ij [0]] (however, the index i of the previous ⁇ and the index j of the subsequent ⁇ are omitted), the number of virtual machines after the additional arrangement is [ ⁇ w ij [0] + ⁇ M] (however, the index i of the previous ⁇ and the index j of the subsequent ⁇ are omitted).
  • Equation (14) represents an objective function
  • Equations (15) to (18) represent constraint conditions.
  • Expression (17) is a constraint condition for the total number of virtual machines after additional placement to coincide with the value obtained by adding the number of virtual machines in the initial placement state and the number of virtual machines to be additionally placed.
  • ⁇ - ij be a variable that takes either 0 or 1.
  • the following constraint is imposed on this ⁇ - ij .
  • d is a positive real number less than 1.
  • z ⁇ ij is an integer variable that takes any value from 0 to L ij .
  • the following constraint is imposed on this z - ij .
  • [W ij ⁇ w ij [0]] being 0 or less means that the virtual machine moves from the j-th server of the i-th rack to another server.
  • [W ij ⁇ w ij [0]] is 1 or more means that the virtual machine moves from another server to the j th server of the i th rack. That is, z - ij represents the number of virtual machines moving from the j-th server of the i-th rack to another server.
  • ⁇ + ij is a variable that takes either 0 or 1.
  • the following constraints are imposed on this ⁇ + ij .
  • z + ij is an integer variable that takes any value from 0 to L ij .
  • the following constraint is imposed on z + ij .
  • z + ij represents the number of virtual machines moving from another server to the jth server of the ith rack. Therefore, the power consumption when z + ij virtual machines move from another server to the jth server of the ith rack is expressed by the following equation (34).
  • the power consumed by live migration is the power consumption when z ⁇ ij virtual machines move to another server for the j th server in the i th rack, and z + ij from another server.
  • the total of the power consumption when the virtual machine is moved is added to all servers. Therefore, the power consumed by live migration is expressed by the following equation (35).
  • Equation (36) represents an objective function
  • Equations (37) to (50) represent constraints.
  • the same effects as those of the first embodiment can be obtained for the initial placement, additional placement, and rearrangement of the virtual machines.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

 電子計算機システム(1)は、複数のサーバ(2)、複数の電源装置(3)及び制御装置(4)を備えている。各サーバ(2)には、仮想マシンが配置される。各電源装置(3)は、サーバ(2)に電力を供給する。制御装置(4)は、サーバ(2)に対する仮想マシンの配置を制御する。制御装置(4)は、仮想マシンの配置の関数として記述された、サーバ(2)での消費電力と電源装置(3)での消費電力との合計消費電力を目的関数とする整数計画問題を解く。制御装置(4)は、整数計画問題の解に基づいて各サーバ(2)に仮想マシンを配置する。

Description

電子計算機システム及び仮想マシン配置方法
 この発明は、電子計算機システム及び仮想マシン配置方法に関する。
 従来、同時に運転する機種及び台数が異なるケースごとに消費エネルギーの最小値を混合整数計画法で算出し、消費エネルギーが最も小さくなるケースを最終的に選択することで、複数のエネルギー供給手段を稼働させて負荷を分担させる方法がある(例えば、特許文献1参照)。また、生成する仮想サーバのプロセッサの数やメモリ量及びリソースの割り当てポリシーを含む生成要求を受け付け、受け付けた生成要求に基づいて割り当てポリシーを満たすようにプロセッサとメモリを仮想サーバに割り当てる方法がある(例えば、特許文献2参照)。また、プロセッサがソフトウェア処理を実行する際に使用されるリソース量に基づいてソフトウェア処理ごとに消費電力を算出し、算出された消費電力に応じて、一部のソフトウェア処理を第1プロセッサから第2プロセッサに移行する方法がある(例えば、特許文献3参照)。
特開平6-141468号公報 特開2009-151745号公報 特開2010-205200号公報
 しかしながら、複数台のラックのそれぞれに無停電電源装置(UPS:Uninterruptible Power Supply)と複数のサーバを備えた電子計算機システムにおいて、従来の方法では、複数のサーバに複数の仮想マシン(VM:Virtual Machine)を割り当てることができないという問題点がある。また、従来の方法で複数のサーバに複数の仮想マシンを割り当てても、省電力化を図ることができないことがあるという問題点がある。
 複数のサーバに複数の仮想マシンを割り当てる際に省電力化を図ることができる電子計算機システム及び仮想マシン配置方法を提供することを目的とする。
 電子計算機システムは、複数のサーバ、複数の電源装置及び制御装置を備えている。各サーバには、仮想マシンが配置される。各電源装置は、サーバに電力を供給する。制御装置は、サーバに対する仮想マシンの配置を制御する。制御装置は、仮想マシンの配置の関数として記述された、サーバでの消費電力と電源装置での消費電力との合計消費電力を目的関数とする整数計画問題を解き、整数計画問題の解に基づいて仮想マシンを配置する。
 電子計算機システム及び仮想マシン配置方法によれば、複数のサーバに複数の仮想マシンを割り当てる際に省電力化を図ることができるという効果を奏する。
図1は、実施例1にかかる電子計算機システムを示すブロック図である。 図2は、実施例2にかかる電子計算機システムの制御装置のハードウェア構成を示すブロック図である。 図3は、実施例2にかかる電子計算機システムの制御装置の機能的構成を示すブロック図である。 図4は、実施例2にかかる電子計算機システムにおけるデータセンタの構成を規定するデータを示す図である。 図5は、実施例2にかかる電子計算機システムにおける仮想マシンの数を規定するデータを示す図である。 図6は、実施例2にかかる電子計算機システムにおけるスケーリングファクターを規定するデータを示す図である。 図7は、実施例2にかかる電子計算機システムにおける実行可能な最大仮想マシン数を規定するデータを示す図である。 図8は、実施例2にかかる電子計算機システムにおける仮想マシンの消費電力を規定するデータを示す図である。 図9は、実施例2にかかる電子計算機システムにおけるベース消費電力を規定するデータを示す図である。 図10は、実施例2にかかる電子計算機システムにおける仮想マシンの移動元の消費電力を規定するデータを示す図である。 図11は、実施例2にかかる電子計算機システムにおける仮想マシンの移動先の消費電力を規定するデータを示す図である。 図12は、実施例2にかかる電子計算機システムにおける仮想マシンの初期配置データを示す図である。 図13は、実施例2にかかる電子計算機システムにおける電源装置のベース消費電力及び比例係数を規定するデータを示す図である。 図14は、実施例2にかかる仮想マシン配置方法を示すフローチャートである。
 以下に、この発明にかかる電子計算機システム及び仮想マシン配置方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
(実施例1)
 図1は、実施例1にかかる電子計算機システムを示すブロック図である。図1に示すように、電子計算機システム1は、複数のサーバ2、複数の電源装置3及び制御装置4を備えている。各サーバ2には、仮想マシンが配置される。各電源装置3は、サーバ2に電力を供給する。
 制御装置4は、サーバ2に対する仮想マシンの配置を制御する。制御装置4は、仮想マシンの配置の関数として記述された、サーバ2での消費電力と電源装置3での消費電力との合計消費電力を目的関数とする整数計画問題を解く。制御装置4は、整数計画問題の解に基づいて各サーバ2に仮想マシンを配置する。
 実施例1によれば、サーバ2での消費電力と電源装置3での消費電力との合計消費電力を目的関数とする整数計画問題を解くことによって、合計消費電力を最小とし得る仮想マシンの配置を求めることができる。従って、電子計算機システム1の省電力化を図ることができる。
(実施例2)
 実施例2では、実施例1にかかる電子計算機システム1の一例について説明する。電子計算機システム1の一例として、例えばデータセンタが挙げられる。データセンタでは、多数のコンピュータやデータ通信などの装置が運用される。
・データセンタの説明
 図1に示す電子計算機システム1において、データセンタには、複数のラック5が設置されている。各ラック5には、一台または複数のサーバ2と電源装置3として例えば一台の無停電電源装置とが収容されている。電源装置3は、ラック5ごとに、同じラック5に収容されている複数のサーバ2に電力を供給する。各ラック5と制御装置4とは、例えばLAN(Local Area Network)ケーブルなどの通信ケーブルや、無線通信などによって、相互に接続されていてもよい。
・制御装置のハードウェア構成
 図2は、実施例2にかかる電子計算機システムの制御装置のハードウェア構成を示すブロック図である。図2に示すように、制御装置4は、CPU11、ROM12、RAM13、ハードディスクドライブ(HDD)14、ハードディスク(HD)20、フレキシブルディスクドライブ(FDD)15、着脱可能な記録媒体の一例としてのフレキシブルディスク(FD)21を備えている。制御装置4は、ディスプレイ16、キーボード17、マウス18及びインターフェース19を備えている。これらの構成部11~19は、バス25によってそれぞれ接続されている。
 CPU11は、制御装置4の全体の制御を司る。CPU11は、後述する仮想マシン配置方法を実現するプログラムを実行することにより、整数計画問題の求解及び仮想マシンの配置を行う。ROM12は、ブートプログラムや仮想マシン配置方法を実現するプログラムなどのプログラムを記憶している。RAM13は、CPU11のワークエリアとして使用される。
 ハードディスクドライブ14は、ハードディスク20に対するデータのリード/ライトを制御する。ハードディスク20は、ハードディスクドライブ14の制御で書き込まれたデータを記憶する。フレキシブルディスクドライブ15は、フレキシブルディスク21に対するデータのリード/ライトを制御する。フレキシブルディスク21は、フレキシブルディスクドライブ15の制御で書き込まれたデータを記憶する。
 着脱可能な記録媒体として、フレキシブルディスク21のほか、CD-ROM(CD-R、CD-RW)、MO、DVD(Digital Versatile Disk)またはメモリーカードなどであってもよい。ディスプレイ16は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ16には、例えば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
 インターフェース19は、図示しないネットワークを介してデータセンタの各ラック5に接続される。インターフェース19は、各ラック5に対するデータの入出力を制御する。インターフェース19には、例えばLANアダプタなどを採用することができる。
 キーボード17は、文字、数字または各種指示などの入力のためのキーを備え、データの入力を行う。キーボード17は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス18は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
 また、制御装置4に、画像を取り込むスキャナが接続されていてもよい。制御装置4に、出力装置の一例としてプリンタが接続されていてもよい。制御装置4は、パーソナルコンピュータやワークステーションのような電子計算機であってもよいし、携帯電話機や携帯型の情報処理装置などであってもよい。
・制御装置の機能的構成
 図3は、実施例2にかかる電子計算機システムの制御装置の機能的構成を示すブロック図である。図3に示すように、制御装置4は、判定部31、記憶部32、管理部33、求解部34及び配置部35を備えている。これらの構成部31~35は、CPU11が、仮想マシン配置方法を実現するプログラムを実行することによって、実現されてもよい。
 管理部33は、サーバ2に配置されている仮想マシンの情報に基づいて、仮想マシンの初期配置データを書き換える。初期配置データには、サーバ2ごとに、配置されている仮想マシンの数が格納されている。初期配置データは、例えば記憶部32に記憶されていてもよい。
 記憶部32は、データ(定数)、変数、目的関数及び制約条件を記憶している。記憶部32は、求解部34にデータ(定数)、変数、目的関数及び制約条件を入力する。記憶部32は、記憶媒体として例えばROM12やRAM13などのメモリを用いてもよい。なお、動的に変化しないデータ(定数)、変数、目的関数及び制約条件については、仮想マシン配置方法を実現するプログラムに記述されていてもよい。
 判定部31は、仮想マシンの初期配置、仮想マシンの追加配置及び仮想マシンの再配置のいずれに対応した整数計画問題を解くべきかを判定する。判定部31は、判定結果に基づいて、求解部34に指示を出す。
 仮想マシンの初期配置に対応した整数計画問題を解くことによって、全てのサーバ2が停止している状態で、1個以上のサーバ2に1個以上の仮想マシンを配置することができる。このときの仮想マシンの初期配置状態は、いずれのサーバ2にも1個も仮想マシンが配置されていない状態である。
 仮想マシンの追加配置に対応した整数計画問題を解くことによって、1個以上のサーバ2に1個以上の仮想マシンが既に配置されている初期配置状態に、1個以上のサーバ2にさらに1個以上の仮想マシンを追加で配置することができる。ただし、初期配置状態で配置されている仮想マシンは、他のサーバ2へ移動することはない。
 仮想マシンの再配置に対応した整数計画問題を解くことによって、1個以上のサーバ2に1個以上の仮想マシンが既に配置されている初期配置状態に対して、ライブマイグレーションを利用して仮想マシンの配置をし直すことができる。ライブマイグレーションを利用することによって、あるサーバ2に配置された仮想マシンの動作を止めることなく、別のサーバ2にこの仮想マシンを配置させることができる。制御装置4は、内蔵するタイマなどによってデータセンタの稼働時間を監視し、一定時間ごとに仮想マシンの再配置を行うようにしてもよい。
 求解部34は、記憶部32から渡されるデータ(定数)、変数、目的関数及び制約条件と、判定部31からの指示とに基づいて、整数計画問題を解く。求解部34は、仮想マシンの初期配置を行う際には、例えば後述する(8)式~(12)式で定式化された整数計画問題を解いてもよい。求解部34は、仮想マシンの追加配置を行う際には、例えば後述する(14)式~(18)式で定式化された整数計画問題を解いてもよい。求解部34は、仮想マシンの再配置を行う際には、例えば後述する(36)式~(50)式で定式化された整数計画問題を解いてもよい。
 求解部34の一例として、例えば整数計画問題を解くためのソフトウェア(ソルバー)が挙げられる。ソルバーの一例として、例えばGLPKやSYMPHONYやGurobiが挙げられる。配置部35は、求解部34が導出する整数計画問題の解に基づいて、サーバ2に仮想マシンを配置する。
・データ構造の説明
 図4は、実施例2にかかる電子計算機システムにおけるデータセンタの構成を規定するデータを示す図である。図4に示すように、データセンタに設定されているラックの数はN個であり、一ラックあたりのサーバの数はS個である。N及びSは正の整数である。
 図5は、実施例2にかかる電子計算機システムにおける仮想マシンの数を規定するデータを示す図である。図5に示すように、配置すべき仮想マシンの数はM個である。Mは正の整数である。
 図6は、実施例2にかかる電子計算機システムにおけるスケーリングファクターを規定するデータを示す図である。スケーリングファクターは、仮想マシンの再配置を行う際に、再配置後の消費電力とライブマイグレーションによる消費電力とのいずれの削減を重視するかを規定する定数である。図6に示すように、スケーリングファクターはcである。cは正の実数である。
 例えば、cは、ライブマイグレーションの平均動作時間を再配置後の仮想マシンの平均動作時間で除した値であってもよい。このときのcは1未満の値となる。このようにcを選択することによって、サーバ2での消費電力と電源装置3での消費電力との合計消費電力を最小にすることができる。
 図7は、実施例2にかかる電子計算機システムにおける実行可能な最大仮想マシン数を規定するデータを示す図である。図7に示すように、i番目のラックのj番目のサーバで実行できる最大仮想マシン数はLij個である。Lijは正の整数である。iは1~Nの整数であり、jは1~Sの整数である。
 図8は、実施例2にかかる電子計算機システムにおける仮想マシンの消費電力を規定するデータを示す図である。図8に示すように、i番目のラックのj番目のサーバで動作する仮想マシン1個あたりで消費される電力はαijワットである。αijは正の実数である。
 図9は、実施例2にかかる電子計算機システムにおけるベース消費電力を規定するデータを示す図である。図9に示すように、i番目のラックのj番目のサーバの電源がオンになることで消費される電力はβijワットである。βijは正の実数である。
 図10は、実施例2にかかる電子計算機システムにおける仮想マシンの移動元の消費電力を規定するデータを示す図である。ライブマイグレーションによって仮想マシンを移動させると、移動元のサーバで電力が消費される。図10に示すように、i番目のラックのj番目のサーバから1個の仮想マシンが別のサーバへ移動していくときに消費される電力はγ- ijワットである。γ- ijは正の実数である。
 図11は、実施例2にかかる電子計算機システムにおける仮想マシンの移動先の消費電力を規定するデータを示す図である。ライブマイグレーションによって仮想マシンを移動させると、移動先のサーバで電力が消費される。図11に示すように、i番目のラックのj番目のサーバに別のサーバから1個の仮想マシンが移動してくるときに消費される電力はγ+ ijワットである。γ+ ijは正の実数である。
 図12は、実施例2にかかる電子計算機システムにおける仮想マシンの初期配置データを示す図である。図12に示すように、i番目のラックのj番目のサーバに配置済みの仮想マシンの数はwij[0]個である。wij[0]は0以上Lij以下の整数である。
 図13は、実施例2にかかる電子計算機システムにおける電源装置のベース消費電力及び比例係数を規定するデータを示す図である。図13に示すように、i番目のラックの電源装置で常に消費されるベース消費電力はηiワットである。ηiは正の実数である。また、i番目のラック内のサーバの合計消費電力に対して、その何倍の電力が電源装置3で消費されるかということを表す比例係数はεiである。εiは正の実数である。一例として、一般的な電源装置のカタログによると、εiは0.01~0.04程度である。
 上述したN及びSの各値は、データセンタの構成によって予め決まる。c、Lij、αij、βij、γ- ij及びγ+ ijの各値は、サーバによって予め決まる。ηi及びεiの各値は、電源装置によって予め決まる。wij[0]は、データセンタの運用中に管理部33によって動的に書き換えられる。Mは、起動されるアプリケーションの数などによって決まる。
・仮想マシン配置方法の説明
 図14は、実施例2にかかる仮想マシン配置方法を示すフローチャートである。図14に示すように、仮想マシンの配置が開始されると、まず、制御装置4の判定部31は、仮想マシンの配置の種類が、初期配置、追加配置及び再配置のいずれであるかを判定する(ステップS1)。そして、判定部31は、判定結果に基づいて、求解部34に配置の種類を指示する。
 次いで、記憶部32は、求解部34にデータ(定数)、変数、目的関数及び制約条件を入力する(ステップS2)。求解部34は、入力されたデータ(定数)、変数、目的関数及び制約条件と、判定部31からの指示とに基づいて、例えばソルバーによって整数計画問題を解き、解を求める(ステップS3)。整数計画問題としての定式化については、配置の種類ごとに後述する。配置部35は、求解部34が求めた解に基づいて、仮想マシンを配置する(ステップS4)。このようにして,一連の仮想マシン配置処理が終了する。
・整数計画問題としての定式化について
 ・消費電力のモデリング
 まず、サーバの消費電力、電源装置の消費電力、ラック内のサーバ及び電源装置の合計消費電力、並びにデータセンタ内のサーバ及び電源装置の合計消費電力のそれぞれのモデリングについて説明する。
 ・サーバの消費電力のモデリング
 サーバは、消費電力に関して次の(S-1)~(S-3)の性質を有する。
(S-1)仮想マシンが1個でも実行されると、サーバの電源がオンになる。仮想マシンの実行数が0であるときには、サーバの電源はオフとなる。
(S-2)電源がオンになると一定の電力が消費される。
(S-3)実行される仮想マシンの数が増えると、それに応じて消費電力が増える。
 ここで、i番目のラックのj番目のサーバで実行される仮想マシンの数を表す変数をwijとする。wijは、0以上Lij以下の整数変数である。また、i番目のラックのj番目のサーバについて、vijを0または1のいずれかの値をとる変数とする。このvijに対して次の制約条件を課す。
Figure JPOXMLDOC01-appb-M000001
 上記(1)式において、wijが1以上であるとき、vijが0であると、(1)式の右側の不等式が成立しないので、vijは1である。一方、wijが0であるとき、vijが1であると、(1)式の左側の不等式が成立しないので、vijは0である。
 従って、vijの値は、サーバの電源のオン/オフを表していることになる。vijの値が0であればサーバの電源がオフであり、1であればサーバの電源がオンであることを表す。これを表したものが、次の(2)式及び(3)式である。
Figure JPOXMLDOC01-appb-M000002
Figure JPOXMLDOC01-appb-M000003
 以上の定数及び変数を用いて、i番目のラックのj番目のサーバの消費電力は、次の(4)式で表される。この(4)式は、上述した(S-1)~(S-3)の性質を変数wij及びvijの1次式で表したものである。
Figure JPOXMLDOC01-appb-M000004
 上記(4)式において、αijijは、[仮想マシン一つあたり消費される電力×仮想マシン数]であるので、仮想マシン数に応じて消費される電力を表している。また、βijijは、サーバの電源がオンのときにβijとなり、サーバの電源がオフのときに0となるので、サーバの電源がオンになることによって消費される電力を表している。
 ・電源装置の消費電力のモデリング
 電源装置は、消費電力に関して次の(U-1)及び(U-2)の性質を有する。
(U-1)ラック内のサーバの動作状態にかかわらず、常に一定の電力が消費される。
(U-2)ラック内のサーバの合計消費電力が増えると、それに応じて消費電力が増える。
 (U-1)及び(U-2)の性質に基づいて、i番目のラックに備え付けられた電源装置の消費電力は、次の(5)式で表される。この(5)式は、(U-1)及び(U-2)の性質を変数wij及びvijの1次式で表したものである。
Figure JPOXMLDOC01-appb-M000005
 上記(5)式において、[Σ(βijij+αijij)](ただし、Σのインデックスjは省略)は、i番目のラック内のサーバの合計消費電力を表している。このi番目のラック内のサーバの合計消費電力にεiをかけた(5)式の第2項は、i番目のラック内のサーバの合計消費電力に応じて電源装置で消費される電力を表している。ηiは、i番目のラックの電源装置で常に消費される電力である。
 ・ラック内のサーバ及び電源装置の合計消費電力のモデリング
 電源装置の消費電力のモデリングの項で述べたように、i番目のラック内のサーバの合計消費電力は、[Σ(βijij+αijij)](ただし、Σのインデックスjは省略)である。また、i番目のラックに備え付けられた電源装置の消費電力は、上記(5)式で表される。これらを足したものが、i番目のラックの合計消費電力となる。従って、i番目のラックの合計消費電力は、次の(6)式で表される。
Figure JPOXMLDOC01-appb-M000006
 ここで、ラック内のサーバの台数は可変であってもよい。ラック内のサーバの台数が可変であることは、i番目のラック内のサーバの台数を、Sより小さい整数sを用いてs個とすると、整数計画問題を解くにあたって、[wij=0,j≧s]という制約条件で表現することができる。
 ・データセンタ内のサーバ及び電源装置の合計消費電力のモデリング
 上記(6)式を1番目~N番目の全てのラック分、足したものが、データセンタ内の合計消費電力となる。従って、データセンタ内の合計消費電力は、次の(7)式で表される。
Figure JPOXMLDOC01-appb-M000007
 次に、仮想マシンの初期配置、追加配置及び再配置のそれぞれについて、整数計画問題としての定式化について説明する。
 ・仮想マシンの初期配置
 仮想マシンの初期配置を行う際には、いずれのサーバにも仮想マシンは配置されていない。従って、全てのサーバの電源はオフとなっている。
 仮想マシンの初期配置を行うときのサーバ及び電源装置の省電力化問題は、以下の(8)式~(12)式で表される整数計画問題として定式化することができる。(8)式は目的関数を表し、(9)式~(12)式は制約条件を表す。(11)式は、配置される仮想マシン数の合計が、配置すべき仮想マシン数に一致するための制約条件である。決定変数は、wij,vij,i=1,・・・,N,j=1,・・・,Sである。
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
Figure JPOXMLDOC01-appb-M000011
Figure JPOXMLDOC01-appb-M000012
 ・仮想マシンの追加配置
 仮想マシンの追加配置を行う際の前提として、i番目のラックのj番目のサーバにwij[0]個の仮想マシンが既に配置されているとする。また、現在、配置されている仮想マシンは移動しないとする。従って、初期配置状態として既にwij[0]個の仮想マシンが配置されているサーバに、さらに仮想マシンが追加で配置されることになるので、wijはwij[0]以上の値になる。これを制約条件として表すと、次の(13)式となる。
Figure JPOXMLDOC01-appb-M000013
 また、追加で配置される仮想マシン数をΔMとする。初期配置状態で配置されている仮想マシン数が[ΣΣwij[0]](ただし、前のΣのインデックスi及び後のΣのインデックスjは省略)であるので、追加配置後の仮想マシン数は[ΣΣwij[0]+ΔM](ただし、前のΣのインデックスi及び後のΣのインデックスjは省略)となる。
 従って、仮想マシンの追加配置を行うときのサーバ及び電源装置の省電力化問題は、以下の(14)式~(18)式で表される整数計画問題として定式化することができる。(14)式は目的関数を表し、(15)式~(18)式は制約条件を表す。(17)式は、追加配置後の仮想マシン数の合計が、初期配置状態での仮想マシン数と追加配置される仮想マシン数とを足した値に一致するための制約条件である。決定変数は、wij,vij,i=1,・・・,N,j=1,・・・,Sである。
Figure JPOXMLDOC01-appb-M000014
Figure JPOXMLDOC01-appb-M000015
Figure JPOXMLDOC01-appb-M000016
Figure JPOXMLDOC01-appb-M000017
Figure JPOXMLDOC01-appb-M000018
 ・仮想マシンの再配置
 仮想マシンの再配置を行う際の前提として、i番目のラックのj番目のサーバにwij[0]個の仮想マシンが既に配置されているとする。仮想マシンの再配置では、仮想マシンは、ライブマイグレーションを使って移動させられる。ライブマイグレーションを使って仮想マシンを移動させると、移動元のサーバ及び移動先のサーバの両方で電力が消費される。
 i番目のラックのj番目のサーバについて、δ- ijを0または1のいずれかの値をとる変数とする。このδ- ijに対して次の制約条件を課す。ただし、dは1未満の正の実数である。
Figure JPOXMLDOC01-appb-M000019
 上記(19)式において、[wij-wij[0]]が0以下であるとき、δ- ijが0であると、(19)式の左側の不等式が成立しないので、δ- ijは1である。一方、[wij-wij[0]]が1以上であるとき、δ- ijが1であると、(19)式の右側の不等式が成立しないので、δ- ijは0である。これを表したものが、次の(20)式及び(21)式である。
Figure JPOXMLDOC01-appb-M000020
Figure JPOXMLDOC01-appb-M000021
 また、i番目のラックのj番目のサーバについて、z- ijを0~Lijのいずれかの値をとる整数変数とする。このz- ijに対して次の制約条件を課す。
Figure JPOXMLDOC01-appb-M000022
Figure JPOXMLDOC01-appb-M000023
 [wij-wij[0]]が1以上であるとき、上記(21)式より、δ- ijは0である。従って、上記(22)式は、[0≦z- ij≦0]となるので、z- ijは0である。[wij-wij[0]≧1,δ- ij=0,z- ij=0]であるとき、上記(23)式において、[-(wij-wij[0])+Lij≧0≧-(wij-wij[0])-Lij]である。従って、上記(23)式は成立する。これを表したものが、次の(24)式である。
Figure JPOXMLDOC01-appb-M000024
 一方、[wij-wij[0]]が0以下であるとき、上記(20)式より、δ- ijは1である。従って、上記(23)式は、[-(wij-wij[0])≦z- ij≦-(wij-wij[0])]となるので、z- ijは、[-(wij-wij[0])]に等しくなる。
 [wij-wij[0]≦0,δ- ij=1,z- ij=-(wij-wij[0])]であるとき、上記(22)式において、[-Lij≦-(wij-wij[0])≦Lij]である。従って、上記(22)式は成立する。これを表したものが、次の(25)式である。
Figure JPOXMLDOC01-appb-M000025
 [wij-wij[0]]が0以下であるということは、i番目のラックのj番目のサーバから仮想マシンが別のサーバへ移動していくということである。また、[wij-wij[0]]が1以上であるということは、i番目のラックのj番目のサーバに別のサーバから仮想マシンが移動してくるということである。つまり、z- ijは、i番目のラックのj番目のサーバから別のサーバへ移動していく仮想マシンの数を表している。
 従って、i番目のラックのj番目のサーバから別のサーバへz- ij個の仮想マシンが移動していく場合の消費電力は、次の(26)式で表される。
Figure JPOXMLDOC01-appb-M000026
 また、i番目のラックのj番目のサーバについて、δ+ ijを0または1のいずれかの値をとる変数とする。このδ+ ijに対して以下の制約条件を課す。
Figure JPOXMLDOC01-appb-M000027
 上記(27)式の制約条件、上記(20)式及び(21)式より、次の(28)式及び(29)式が得られる。
Figure JPOXMLDOC01-appb-M000028
Figure JPOXMLDOC01-appb-M000029
 また、i番目のラックのj番目のサーバについて、z+ ijを0~Lijのいずれかの値をとる整数変数とする。このz+ ijに対して次の制約条件を課す。
Figure JPOXMLDOC01-appb-M000030
Figure JPOXMLDOC01-appb-M000031
 [wij-wij[0]]が1以上であるとき、上記(29)式より、δ+ ijは1である。従って、上記(31)式は、[wij-wij[0]≦z+ ij≦wij-wij[0]]となるので、z+ ijは、[wij-wij[0]]に等しくなる。
 [wij-wij[0]≧1,δ+ ij=1,z+ ij=wij-wij[0]]であるとき、上記(30)式において、[-Lij≦wij-wij[0]≦Lij]である。従って、上記(30)式は成立する。これを表したものが、次の(32)式である。
Figure JPOXMLDOC01-appb-M000032
 一方、[wij-wij[0]]が0以下であるとき、上記(28)式より、δ+ ijは0である。従って、上記(30)式は、[0≦z+ ij≦0]となるので、z+ ijは0である。[wij-wij[0]≦0,δ+ ij=0,z+ ij=0]であるとき、上記(31)式において、[(wij-wij[0])-Lij≦0≦(wij-wij[0])+Lij]である。従って、上記(31)式は成立する。これを表したものが、次の(33)式である。
Figure JPOXMLDOC01-appb-M000033
 z+ ijは、i番目のラックのj番目のサーバに別のサーバから移動してくる仮想マシンの数を表している。従って、i番目のラックのj番目のサーバに別のサーバからz+ ij個の仮想マシンが移動してくる場合の消費電力は、次の(34)式で表される。
Figure JPOXMLDOC01-appb-M000034
 ライブマイグレーションによって消費される電力は、i番目のラックのj番目のサーバについて、別のサーバへz- ij個の仮想マシンが移動していく場合の消費電力と、別のサーバからz+ ij個の仮想マシンが移動してくる場合の消費電力との合計を、全サーバ分、足したものとなる。従って、ライブマイグレーションによって消費される電力は、次の(35)式で表される。
Figure JPOXMLDOC01-appb-M000035
 従って、仮想マシンの再配置を行うときのサーバ及び電源装置の省電力化問題は、以下の(36)式~(50)式で表される整数計画問題として定式化することができる。(36)式は目的関数を表し、(37)式~(50)式は制約条件を表す。決定変数は、wij,vij,δ- ij,δ+ ij,z- ij,z+ ij,i=1,・・・,N,j=1,・・・,Sである。
Figure JPOXMLDOC01-appb-M000036
Figure JPOXMLDOC01-appb-M000037
Figure JPOXMLDOC01-appb-M000038
Figure JPOXMLDOC01-appb-M000039
Figure JPOXMLDOC01-appb-M000040
Figure JPOXMLDOC01-appb-M000041
Figure JPOXMLDOC01-appb-M000042
Figure JPOXMLDOC01-appb-M000043
Figure JPOXMLDOC01-appb-M000044
Figure JPOXMLDOC01-appb-M000045
Figure JPOXMLDOC01-appb-M000046
Figure JPOXMLDOC01-appb-M000047
Figure JPOXMLDOC01-appb-M000048
Figure JPOXMLDOC01-appb-M000049
Figure JPOXMLDOC01-appb-M000050
 実施例2によれば、仮想マシンの初期配置、追加配置及び再配置のそれぞれについて、実施例1と同様の効果が得られる。
 1 電子計算機システム
 2 サーバ
 3 電源装置
 4 制御装置

Claims (8)

  1.  仮想マシンが配置される複数のサーバと、
     複数の前記サーバに電力を供給する複数の電源装置と、
     前記サーバに対する前記仮想マシンの配置を制御する制御装置と、
     を備え、
     前記制御装置は、前記仮想マシンの配置の関数として記述された、前記サーバでの消費電力と前記電源装置での消費電力との合計消費電力を目的関数とする整数計画問題を解き、前記整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする電子計算機システム。
  2.  前記制御装置は、全ての前記サーバが停止中であることを制約条件の一つとして前記整数計画問題を解くことを特徴とする請求項1に記載の電子計算機システム。
  3.  前記制御装置は、一つ以上の前記仮想マシンが配置されていることを制約条件の一つとして前記整数計画問題を解くことで、配置済みの前記仮想マシンがある状態に他の前記仮想マシンを追加で配置することを特徴とする請求項1に記載の電子計算機システム。
  4.  前記制御装置は、一つ以上の前記仮想マシンが配置されていることを制約条件の一つとし、前記合計消費電力に、配置済みの前記仮想マシンを別のサーバに移動させることにより消費される電力を加えて前記整数計画問題を解くことで、配置済みの前記仮想マシンを再配置することを特徴とする請求項1に記載の電子計算機システム。
  5.  複数の電源装置から供給される電力で稼働する複数のサーバに対して仮想マシンを配置するにあたって、
     前記仮想マシンの配置の関数として記述された、前記サーバでの消費電力と前記電源装置での消費電力との合計消費電力を目的関数とする整数計画問題を解き、前記整数計画問題の解に基づいて前記仮想マシンを配置することを特徴とする仮想マシン配置方法。
  6.  全ての前記サーバが停止中であることを制約条件の一つとして前記整数計画問題を解くことを特徴とする請求項5に記載の仮想マシン配置方法。
  7.  一つ以上の前記仮想マシンが配置されていることを制約条件の一つとして前記整数計画問題を解くことで、配置済みの前記仮想マシンがある状態に他の前記仮想マシンを追加で配置することを特徴とする請求項5に記載の仮想マシン配置方法。
  8.  一つ以上の前記仮想マシンが配置されていることを制約条件の一つとし、前記合計消費電力に、配置済みの前記仮想マシンを別のサーバに移動させることにより消費される電力を加えて前記整数計画問題を解くことで、配置済みの前記仮想マシンを再配置することを特徴とする請求項5に記載の仮想マシン配置方法。
PCT/JP2011/071737 2011-09-22 2011-09-22 電子計算機システム及び仮想マシン配置方法 WO2013042271A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/JP2011/071737 WO2013042271A1 (ja) 2011-09-22 2011-09-22 電子計算機システム及び仮想マシン配置方法
PCT/JP2011/073973 WO2013042276A1 (ja) 2011-09-22 2011-10-18 電子計算機システム及び仮想マシン配置方法
JP2013534691A JP6175371B2 (ja) 2011-09-22 2012-09-13 電子計算機システム及び仮想マシン配置方法
PCT/JP2012/073544 WO2013042615A1 (ja) 2011-09-22 2012-09-13 電子計算機システム及び仮想マシン配置方法
US14/223,155 US9733986B2 (en) 2011-09-22 2014-03-24 Computer system and virtual machine arranging method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/071737 WO2013042271A1 (ja) 2011-09-22 2011-09-22 電子計算機システム及び仮想マシン配置方法

Publications (1)

Publication Number Publication Date
WO2013042271A1 true WO2013042271A1 (ja) 2013-03-28

Family

ID=47914069

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/JP2011/071737 WO2013042271A1 (ja) 2011-09-22 2011-09-22 電子計算機システム及び仮想マシン配置方法
PCT/JP2011/073973 WO2013042276A1 (ja) 2011-09-22 2011-10-18 電子計算機システム及び仮想マシン配置方法
PCT/JP2012/073544 WO2013042615A1 (ja) 2011-09-22 2012-09-13 電子計算機システム及び仮想マシン配置方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
PCT/JP2011/073973 WO2013042276A1 (ja) 2011-09-22 2011-10-18 電子計算機システム及び仮想マシン配置方法
PCT/JP2012/073544 WO2013042615A1 (ja) 2011-09-22 2012-09-13 電子計算機システム及び仮想マシン配置方法

Country Status (3)

Country Link
US (1) US9733986B2 (ja)
JP (1) JP6175371B2 (ja)
WO (3) WO2013042271A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8763008B2 (en) 2008-09-30 2014-06-24 Ebay Inc. System and method for processing messages using native data serialization/deserialization in a service-oriented pipeline architecture
WO2014009160A1 (en) * 2012-06-29 2014-01-16 Mpstor Limited Data storage with virtual appliances
US10270709B2 (en) 2015-06-26 2019-04-23 Microsoft Technology Licensing, Llc Allocating acceleration component functionality for supporting services
US10006685B2 (en) * 2014-06-03 2018-06-26 Trane International Inc. System and method for controlling a cooling system
US10511478B2 (en) 2015-04-17 2019-12-17 Microsoft Technology Licensing, Llc Changing between different roles at acceleration components
US10198294B2 (en) 2015-04-17 2019-02-05 Microsoft Licensing Technology, LLC Handling tenant requests in a system that uses hardware acceleration components
US10296392B2 (en) 2015-04-17 2019-05-21 Microsoft Technology Licensing, Llc Implementing a multi-component service using plural hardware acceleration components
US9792154B2 (en) 2015-04-17 2017-10-17 Microsoft Technology Licensing, Llc Data processing system having a hardware acceleration plane and a software plane
US10216555B2 (en) 2015-06-26 2019-02-26 Microsoft Technology Licensing, Llc Partially reconfiguring acceleration components
US10469570B2 (en) * 2015-12-26 2019-11-05 Intel Corporation Technologies for execution acceleration in heterogeneous environments
JP2017134668A (ja) 2016-01-28 2017-08-03 富士通株式会社 情報処理システム、情報処理システムの制御方法および管理装置の制御プログラム
KR102532641B1 (ko) * 2016-03-22 2023-05-15 삼성전자 주식회사 장치 및 이의 가상 머신 재배치 방법
JP6699720B2 (ja) 2016-03-30 2020-05-27 富士通株式会社 配置探索プログラム、配置探索方法、および配置探索装置
US20190057180A1 (en) * 2017-08-18 2019-02-21 International Business Machines Corporation System and method for design optimization using augmented reality
CN110362398B (zh) * 2018-04-09 2023-09-12 阿里巴巴集团控股有限公司 虚拟机的调度方法和***
WO2023105557A1 (ja) * 2021-12-06 2023-06-15 日本電信電話株式会社 電力量低減制御装置、電力量低減制御方法、電力量低減制御システム、および、プログラム
WO2023162067A1 (ja) * 2022-02-24 2023-08-31 日本電信電話株式会社 電力量制御システム、電力量制御方法、電力量制御装置、および、プログラム
WO2023228369A1 (ja) * 2022-05-26 2023-11-30 日本電信電話株式会社 オフロードサーバ、オフロード制御方法およびオフロードプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192612A (ja) * 2002-12-09 2004-07-08 Internatl Business Mach Corp <Ibm> 区分化されたデータ処理システムにおける電力節減
JP2010190108A (ja) * 2009-02-18 2010-09-02 Hitachi Ltd 空気圧縮設備の運転制御方法
JP2011008822A (ja) * 2008-10-30 2011-01-13 Hitachi Ltd 情報処理システムの運用管理方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06141468A (ja) 1992-10-21 1994-05-20 Osaka Gas Co Ltd 負荷分担方法
JP4438807B2 (ja) * 2007-03-02 2010-03-24 日本電気株式会社 仮想マシンシステム、管理サーバ、仮想マシン移行方法及びプログラム
US7861102B1 (en) * 2007-04-30 2010-12-28 Hewlett-Packard Development Company, L.P. Unified power management architecture
US8819675B2 (en) 2007-11-28 2014-08-26 Hitachi, Ltd. Virtual machine monitor and multiprocessor system
JP5210730B2 (ja) 2007-11-28 2013-06-12 株式会社日立製作所 仮想マシンモニタ及びマルチプロセッサシステム
JP4448878B2 (ja) * 2007-12-06 2010-04-14 株式会社日立製作所 障害回復環境の設定方法
JP4724730B2 (ja) 2008-04-09 2011-07-13 株式会社日立製作所 情報処理システムの運用管理方法、運用管理プログラム、および運用管理装置、ならびに情報処理システム
JP2010205200A (ja) 2009-03-06 2010-09-16 Nec Corp ソフトウェア処理システムおよびソフトウェア処理方法
US9231439B2 (en) * 2009-03-27 2016-01-05 Schneider Electric It Corporation System and method for estimating an efficiency of a power device
JP5471080B2 (ja) * 2009-06-30 2014-04-16 日本電気株式会社 情報システム、制御装置、そのデータ処理方法およびプログラム
US9116897B2 (en) * 2009-07-20 2015-08-25 Schneider Electric It Corporation Techniques for power analysis
JP5505925B2 (ja) 2009-08-14 2014-05-28 Kddi株式会社 ネットワーク運用管理方法及びネットワーク運用管理装置
JP5435399B2 (ja) 2009-10-07 2014-03-05 日本電気株式会社 省電力化システム、省電力化方法、及び省電力化用プログラム
JP5378946B2 (ja) 2009-10-26 2013-12-25 株式会社日立製作所 サーバ管理装置およびサーバ管理方法
US8627123B2 (en) * 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing
US20110264418A1 (en) * 2010-04-21 2011-10-27 Sentilla Corporation, Inc. Determining electrical consumption in a facility
US9098214B1 (en) * 2010-12-28 2015-08-04 Amazon Technologies, Inc. Managing virtual machine migration
US8909785B2 (en) * 2011-08-08 2014-12-09 International Business Machines Corporation Smart cloud workload balancer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192612A (ja) * 2002-12-09 2004-07-08 Internatl Business Mach Corp <Ibm> 区分化されたデータ処理システムにおける電力節減
JP2011008822A (ja) * 2008-10-30 2011-01-13 Hitachi Ltd 情報処理システムの運用管理方法
JP2010190108A (ja) * 2009-02-18 2010-09-02 Hitachi Ltd 空気圧縮設備の運転制御方法

Also Published As

Publication number Publication date
US9733986B2 (en) 2017-08-15
US20140208322A1 (en) 2014-07-24
WO2013042276A1 (ja) 2013-03-28
JP6175371B2 (ja) 2017-08-02
WO2013042615A1 (ja) 2013-03-28
JPWO2013042615A1 (ja) 2015-03-26

Similar Documents

Publication Publication Date Title
WO2013042271A1 (ja) 電子計算機システム及び仮想マシン配置方法
Sharma et al. HIGA: Harmony-inspired genetic algorithm for rack-aware energy-efficient task scheduling in cloud data centers
Resende et al. A hybrid multistart heuristic for the uncapacitated facility location problem
Wang et al. Blasx: A high performance level-3 blas library for heterogeneous multi-gpu computing
JP2023041852A (ja) ホリスティックグローバルなパフォーマンス及び電力管理
US20080229320A1 (en) Method, an apparatus and a system for controlling of parallel execution of services
KR20130101693A (ko) 이종의 운영체제를 사용하는 가상화 시스템의 전력 관리 방법 및 장치
CN102265269A (zh) 数据中心管理器
Wang et al. Bubble budgeting: Throughput optimization for dynamic workloads by exploiting dark cores in many core systems
CN113157379A (zh) 集群节点资源调度方法及装置
CN115599512B (zh) 在图形处理单元上调度作业
Dupont et al. Plug4green: A flexible energy-aware vm manager to fit data centre particularities
Bolchini et al. Lifetime-aware load distribution policies in multi-core systems: An in-depth analysis
Islam et al. Distributed temperature-aware resource management in virtualized data center
JP5900599B2 (ja) 電子計算機システム及び仮想マシン配置方法
Oxley et al. Energy and deadline constrained robust stochastic static resource allocation
Bilgin et al. Capacity and tool allocation problem in flexible manufacturing systems
US20100010843A1 (en) Algorithm system and method
Huang et al. An iterative expanding and shrinking process for processor allocation in mixed-parallel workflow scheduling
JP2009087213A (ja) 計算機余力算出装置、計算機余力算出方法
Claus et al. Grid computing in large pharmaceutical molecular modeling
Kim et al. RETRACTED ARTICLE: Simulator considering modeling and performance evaluation for high-performance computing of collaborative-based mobile cloud infrastructure
Huang et al. Transmuting coprocessors: dynamic loading of FPGA coprocessors
Steensland et al. A comparison of partitioning schemes for blockwise parallel samr algorithms
Piga et al. Adaptive global power optimization for Web servers

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11872545

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP