JP5978673B2 - Information processing device - Google Patents

Information processing device Download PDF

Info

Publication number
JP5978673B2
JP5978673B2 JP2012059503A JP2012059503A JP5978673B2 JP 5978673 B2 JP5978673 B2 JP 5978673B2 JP 2012059503 A JP2012059503 A JP 2012059503A JP 2012059503 A JP2012059503 A JP 2012059503A JP 5978673 B2 JP5978673 B2 JP 5978673B2
Authority
JP
Japan
Prior art keywords
virtual machine
server
type
usage rate
arithmetic processing
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2012059503A
Other languages
Japanese (ja)
Other versions
JP2013196062A (en
Inventor
小林 弘樹
弘樹 小林
佐藤 裕一
裕一 佐藤
左千夫 小林
左千夫 小林
智丈 佐々木
智丈 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012059503A priority Critical patent/JP5978673B2/en
Publication of JP2013196062A publication Critical patent/JP2013196062A/en
Application granted granted Critical
Publication of JP5978673B2 publication Critical patent/JP5978673B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報処理装置、割当装置、情報処理方法、割当方法、情報処理プログラムおよび割当プログラムに関する。   The present invention relates to an information processing device, an allocation device, an information processing method, an allocation method, an information processing program, and an allocation program.

従来、サーバルーム内のサーバに割り当てられた複数のVM(Virtual Machine)をまとめて、いずれかのサーバの1つのプロセッサに割り当て直すことにより、サーバルームで稼働中のサーバ数を減少させる技術がある(例えば、下記特許文献1参照。)。   Conventionally, there is a technique for reducing the number of servers operating in a server room by collecting a plurality of VMs (Virtual Machines) assigned to servers in the server room and reassigning them to one processor of any server (For example, refer to Patent Document 1 below.)

特開2011−8822号公報JP 2011-8822 A

しかしながら、上述した従来技術では、プロセッサが複数のVMを実行可能な状態であれば、VMの種類について考慮されずに、当該プロセッサが複数のVMを実行することになる。そのため、複数のVM間での競合により、VMの性能が低下する場合がある。VMの性能が低下すると、VMの提供者とVMの利用者との間の契約によりSLA(Service Level Agreement)に規定された応答性能が確保できなくなる場合がある。これにより、ネットワーク上での取引などの場面で、VMの応答性能が低下し、取引が失敗する場合がある。一方、VMの提供者は、SLA違反によりVMの利用者に補償しなければならない場合がある。   However, in the above-described conventional technology, if the processor is in a state in which a plurality of VMs can be executed, the processor executes a plurality of VMs without considering the type of VM. For this reason, the performance of the VM may deteriorate due to competition between the plurality of VMs. When the VM performance deteriorates, the response performance defined in SLA (Service Level Agreement) may not be ensured due to a contract between the VM provider and the VM user. As a result, the response performance of the VM may be reduced in transactions such as on the network, and the transaction may fail. On the other hand, a VM provider may have to compensate a VM user for an SLA violation.

本発明は、VMの性能低下を抑制することを目的とする。   An object of this invention is to suppress the performance fall of VM.

本発明の一側面によれば、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の演算処理装置使用率の予測値がしきい値以下となる仮想マシン群を割当装置から受け付け、受け付けられた仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定し、複数の演算処理装置のうち配置先に決定された演算処理装置に、仮想マシン群を割り当て、第1種類の仮想マシンを第2種類の仮想マシンよりも優先して実行するように制御する情報処理装置、情報処理方法、情報処理プログラムが提案される。   According to one aspect of the present invention, a first type virtual machine that executes predetermined processing by bidirectional communication with another device, and a fixed form that does not have interactive input / output and performs predetermined processing by a predetermined time A virtual machine group that includes a second type of virtual machine that executes processing, and a virtual machine group in which a predicted value of the arithmetic processing unit usage rate of the virtual machine group is equal to or less than a threshold is received from the allocating device, The destination is determined to be one of the plurality of arithmetic processing devices so as to be within the processing capability of the arithmetic processing device, and the virtual processing unit determined as the placement destination among the plurality of arithmetic processing devices is virtually An information processing apparatus, an information processing method, and an information processing program for assigning a machine group and controlling a first type virtual machine to be executed with priority over a second type virtual machine are proposed.

また、本発明の一側面によれば、サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の割当先を選択し、仮想マシン群を同一のサーバに割り当てた場合の仮想マシン群の演算処理装置使用率に基づく演算処理装置使用率の予測値を取得し、取得された予測値が、選択されたサーバの演算処理装置数に基づくしきい値以下であるか否かを判断し、しきい値以下と判断された場合、第1種類の仮想マシンを第2種類の仮想マシンよりも優先して実行するように、選択されたサーバに仮想マシン群を割り当てる割当装置、割当方法、および割当プログラムが提案される。   Further, according to one aspect of the present invention, there is no interactive input / output with a first type of virtual machine that executes predetermined processing by bidirectional communication with another device from the server group. Processing of the virtual machine group when selecting the allocation destination of the virtual machine group including the second type of virtual machine that executes the standard processing that is performed by a predetermined time and allocating the virtual machine group to the same server Obtain a predicted value of the processing device usage rate based on the device usage rate, determine whether the acquired predicted value is less than or equal to a threshold value based on the number of arithmetic processing devices of the selected server, and threshold An allocation apparatus, an allocation method, and an allocation program for allocating a virtual machine group to a selected server so that the first type of virtual machine is executed in preference to the second type of virtual machine when it is determined to be less than or equal to the value Is proposed.

本発明の一側面によれば、VMの性能低下を抑制することができるという効果を奏する。   According to one aspect of the present invention, there is an effect that it is possible to suppress a decrease in VM performance.

図1は、割当装置による情報処理装置へのVMの割り当ての内容を示す説明図である。FIG. 1 is an explanatory diagram showing the contents of VM allocation to an information processing apparatus by the allocation apparatus. 図2は、システム構成例を示す説明図である。FIG. 2 is an explanatory diagram showing a system configuration example. 図3は、コンピュータのハードウェア構成例を示すブロック図である。FIG. 3 is a block diagram illustrating a hardware configuration example of a computer. 図4は、サーバルーム構造情報の記憶内容の一例を示す説明図である。FIG. 4 is an explanatory diagram showing an example of the stored contents of the server room structure information. 図5は、VM個数情報の記憶内容の一例を示す説明図である。FIG. 5 is an explanatory diagram of an example of the contents stored in the VM number information. 図6は、実行可能最大VM数テーブルの記憶内容の一例を示す説明図である。FIG. 6 is an explanatory diagram of an example of the stored contents of the maximum executable VM number table. 図7は、VM消費電力テーブルの記憶内容の一例を示す説明図である。FIG. 7 is an explanatory diagram of an example of the contents stored in the VM power consumption table. 図8は、ベース消費電力テーブルの記憶内容の一例を示す説明図である。FIG. 8 is an explanatory diagram of an example of the contents stored in the base power consumption table. 図9は、スケーリング情報の記憶内容の一例を示す説明図である。FIG. 9 is an explanatory diagram showing an example of the stored contents of scaling information. 図10は、VM配置テーブルの記憶内容の一例を示す説明図である。FIG. 10 is an explanatory diagram of an example of the contents stored in the VM arrangement table. 図11は、電源テーブルの記憶内容の一例を示す説明図である。FIG. 11 is an explanatory diagram of an example of the contents stored in the power supply table. 図12は、ラック状態テーブルの記憶内容の一例を示す説明図である。FIG. 12 is an explanatory diagram of an example of the contents stored in the rack state table. 図13は、初期配置テーブルの記憶内容の一例を示す説明図である。FIG. 13 is an explanatory diagram of an example of the contents stored in the initial arrangement table. 図14は、UPSテーブルの記憶内容の一例を示す説明図である。FIG. 14 is an explanatory diagram showing an example of the contents stored in the UPS table. 図15は、割当対象VMテーブルの記憶内容の一例を示す説明図である。FIG. 15 is an explanatory diagram of an example of the contents stored in the allocation target VM table. 図16は、配置済みVMテーブルの記憶内容の一例を示す説明図である。FIG. 16 is an explanatory diagram of an example of the stored contents of the arranged VM table. 図17は、制御サーバ100の機能的構成例を示すブロック図である。FIG. 17 is a block diagram illustrating a functional configuration example of the control server 100. 図18は、サーバSの機能的構成例を示すブロック図である。FIG. 18 is a block diagram illustrating a functional configuration example of the server S. 図19は、制御サーバ100によるサーバSへのVMの割当結果の一例を示す説明図(その1)である。FIG. 19 is an explanatory diagram (part 1) illustrating an example of a VM allocation result to the server S by the control server 100. 図20は、制御サーバ100によるサーバSへのVMの割当結果の一例を示す説明図(その2)である。FIG. 20 is an explanatory diagram (part 2) illustrating an example of a VM allocation result to the server S by the control server 100. 図21は、割当処理の詳細な処理手順を示すフローチャートである。FIG. 21 is a flowchart showing a detailed processing procedure of the allocation processing.

以下に添付図面を参照して、この発明にかかる情報処理装置、割当装置、情報処理方法、割当方法、情報処理プログラムおよび割当プログラムの実施の形態を詳細に説明する。以下では、情報処理装置としてサーバルーム内のサーバを採用し、割当装置としてサーバにVMを割り当てる制御サーバを採用する。   Exemplary embodiments of an information processing device, an allocation device, an information processing method, an allocation method, an information processing program, and an allocation program according to the present invention will be described below in detail with reference to the accompanying drawings. In the following, a server in a server room is employed as the information processing apparatus, and a control server that allocates VMs to the server is employed as the allocation apparatus.

ここで、サーバに割り当てられるVMには、例えば、クライアントとの対話型である証券取引用のVMや、クライアントとの対話型ではない売上データの集計用のVMがある。対話型のVMのCPU利用率は、クライアントからの通信頻度や通信タイミングに依存するため、CPU利用率のピークの変動が大きく、かつ、変動のタイミングがランダムである。このような異なる種類のVMが同一サーバに割り当てられると、例えば、対話型のVMのCPU利用率が高いときでも売上データの集計用のVMが一定のCPUリソースを利用するため、サーバのリソースが逼迫する。   Here, the VM allocated to the server includes, for example, a VM for securities trading that is interactive with the client, and a VM for collecting sales data that is not interactive with the client. Since the CPU usage rate of the interactive VM depends on the communication frequency and communication timing from the client, the fluctuation of the peak of the CPU usage rate is large and the timing of the fluctuation is random. When such different types of VMs are assigned to the same server, for example, even when the CPU usage rate of the interactive VM is high, the VM for sales data aggregation uses a certain CPU resource, so that the server resources are reduced. Tighten.

その結果、証券取引用のVMの性能が低下して、例えば、クライアントとの通信ができなくなることにより証券取引が失敗する場合がある。また、証券取引用のVMにCPUリソースが高いCPU利用率で使用され続けると、売上データの集計用のVMが規定の終了時刻までに終了せず、クライアントが集計結果を利用できずに不利益を被る場合がある。   As a result, the performance of the VM for securities trading deteriorates, and the securities trading may fail due to, for example, being unable to communicate with the client. Also, if the CPU resource of a stock transaction VM continues to be used at a high CPU utilization rate, the VM for sales data aggregation will not be completed by the specified end time, and the client will not be able to use the aggregation results, which is disadvantageous May suffer.

本実施の形態の制御サーバは、証券取引用のVMの性能が低下しない条件、および売上データの集計用のVMが規定終了時刻までに終了する条件、の両方を満たすサーバに、各々のVMを割り当てる。そして、当該サーバは、割り当てられた各々のVMを1つのCPUにより実行する。この場合、当該サーバは、証券取引用のVMを、売上データの集計用のVMよりも優先して実行するようにする。   The control server according to the present embodiment assigns each VM to a server that satisfies both the condition that the performance of the VM for stock trading does not deteriorate and the condition that the VM for sales data aggregation ends by the specified end time. assign. Then, the server executes each assigned VM by one CPU. In this case, the server executes the stock transaction VM with priority over the VM for sales data aggregation.

これにより、サーバは、CPUリソースを効率よく利用することができる。例えば、証券取引用のVMが高負荷の場合、サーバは、売上データの集計用のVMが利用していたCPUリソースを証券取引用のVMに利用させ、証券取引用のVMの性能を低下させずに実行することができる。また、サーバは、売上データの集計用のVMが規定終了時刻までに終了する条件を満たすため、証券取引用のVMを優先して実行しても、売上データの集計用のVMを規定終了時刻までに終了させることができる。   As a result, the server can efficiently use CPU resources. For example, when a VM for securities trading is heavily loaded, the server causes the VM for securities trading to use the CPU resource used by the VM for summarizing sales data, thereby reducing the performance of the VM for securities trading. Can run without. Further, since the server satisfies the condition that the VM for sales data aggregation ends by the specified end time, even if the VM for securities trading is executed preferentially, the VM for sales data aggregation is set to the specified end time. Can be finished by

また、複数のVMを1台のサーバに割り当てた結果、VMが割り当てられていないサーバがあれば、当該サーバへの電力供給を停止して、サーバルームの消費電力を低減することができる。従って、サーバルーム内の稼働中のサーバが減少し、サーバルームの消費電力が低減される。   Further, as a result of assigning a plurality of VMs to one server, if there is a server to which no VM is assigned, the power supply to the server can be stopped and the power consumption of the server room can be reduced. Accordingly, the number of servers in operation in the server room is reduced, and the power consumption of the server room is reduced.

図1は、割当装置による情報処理装置へのVMの割り当ての内容を示す説明図である。図1において、制御サーバ100は、VMが割り当てられたサーバSの台数が少なくなるように、VMをサーバSに割り当てるコンピュータである。VMには、他の装置(例えばクライアント)と双方向通信により所定の処理を実行するVMや、規定終了時刻が設定された定型処理を実行するVMがある。   FIG. 1 is an explanatory diagram showing the contents of VM allocation to an information processing apparatus by the allocation apparatus. In FIG. 1, the control server 100 is a computer that assigns VMs to the server S so that the number of servers S to which VMs are assigned decreases. The VM includes a VM that executes a predetermined process through two-way communication with another device (for example, a client), and a VM that executes a standard process with a specified end time set.

以下では、他の装置と双方向通信により所定の処理を実行するVMを「オンラインVM」と称す。オンラインVMには、例えば、上述した証券取引を行うVMがある。また、定型処理を実行するVMを「バッチVM」と称す。バッチVMには、例えば、上述した売上データの集計を行うVMがある。   Hereinafter, a VM that executes a predetermined process by bidirectional communication with another device is referred to as an “online VM”. An example of the online VM is a VM that performs the above-described securities transaction. Further, a VM that executes the standard process is referred to as a “batch VM”. The batch VM includes, for example, a VM that aggregates the sales data described above.

ここで、オンラインVMは、クライアントと双方向通信により処理を実行するため、オンラインVMの性能低下が起こると、クライアントからの要求に対する処理やクライアントへの応答が遅れる場合がある。これにより、クライアントの利用者が不利益を被ったり、SLA違反が生じたりする場合がある。例えば、証券取引を行うVMの性能低下が起こった場合、クライアントの利用者の証券の買付や売却の作業が滞り、クライアントの利用者に損害を与えてしまう場合がある。   Here, since the online VM performs processing by bidirectional communication with the client, when the performance of the online VM deteriorates, processing for a request from the client and response to the client may be delayed. As a result, client users may suffer disadvantages or SLA violations may occur. For example, when the performance of a VM that conducts securities transactions deteriorates, there are cases where the client user purchases or sells securities and the client users are damaged.

また、バッチVMには規定終了時刻が設定されているため、規定終了時刻までに終了しないと、バッチVMの処理結果の利用者が不利益を被ったり、SLA違反を生じる場合がある。例えば、売上データの集計を行うVMにおいて、翌営業日の営業開始に利用する売上データの集計が終了しない場合、利用者が営業を開始できなくなり、利用者に損害を与えてしまう。   In addition, since the specified end time is set for the batch VM, if the user does not end by the specified end time, the user of the processing result of the batch VM may suffer a disadvantage or cause an SLA violation. For example, in a VM that aggregates sales data, if the aggregation of sales data used to start business on the next business day does not end, the user cannot start business and damages the user.

そのため、制御サーバ100は、VMをサーバSに割り当てる場合、オンラインVMの性能低下を回避し、バッチVMが規定終了時刻までに終了し、かつ、VMが割り当てられたサーバSの台数が少なくなるようにする。制御サーバ100は、具体的には、例えば、下記式(1)および式(2)の条件を満たすサーバSに、VMを1つずつ割り当てていく。   Therefore, when allocating a VM to the server S, the control server 100 avoids a decrease in the performance of the online VM, the batch VM ends by the specified end time, and the number of servers S to which the VM is allocated decreases. To. Specifically, for example, the control server 100 assigns VMs one by one to the server S that satisfies the conditions of the following formulas (1) and (2).

Figure 0005978673
Figure 0005978673

上記式(1)は、バッチVMを規定終了時刻までに終了するための条件を示す。ここで、バッチVMの平均CPU利用率とは、バッチVMを規定終了時刻までに終了することが可能な最小の平均CPU利用率である。オンラインVMの平均CPU利用率とは、測定されたオンラインVMのCPU利用率から算出された平均値である。平均CPU利用率は制御サーバ100に格納されている。Piとは、サーバSのCPU利用率上限であり、サーバS内のCPUの数と1CPU当たりのCPU利用率の上限とを乗算した値である。 The above equation (1) indicates a condition for ending the batch VM by the specified end time. Here, the average CPU usage rate of the batch VM is the minimum average CPU usage rate at which the batch VM can be completed by the specified end time. The average CPU usage rate of the online VM is an average value calculated from the measured CPU usage rate of the online VM. The average CPU usage rate is stored in the control server 100. The P i, a CPU utilization rate upper limit of the server S, a value obtained by multiplying the upper limit of the CPU utilization of the number and 1CPU per CPU in the server S.

上記式(1)の条件は、具体的には、複数のオンラインVMの平均CPU利用率を考慮しても、複数のバッチVMの各々を規定終了時刻までに終了することが可能な最小の平均CPU利用率を、サーバSのCPU利用率上限以下に確保できることを示す。そのため、上記式(1)の条件を満たすサーバSは、バッチVMを規定終了時刻までに終了することができる。   Specifically, the condition of the above formula (1) is the minimum average that can finish each of the plurality of batch VMs by the specified end time even when the average CPU utilization of the plurality of online VMs is taken into consideration. It shows that the CPU usage rate can be secured below the CPU usage rate upper limit of the server S. Therefore, the server S that satisfies the condition of the above formula (1) can finish the batch VM by the specified end time.

Figure 0005978673
Figure 0005978673

上記式(2)は、オンラインVMの性能低下を回避するための条件を示す。ここで、σは、オンラインVMのCPU利用率の正規分布における標準偏差である。cは、標準偏差の倍数である。例えば、cは、c=1〜3の自然数が採用される。従って、「オンラインVMの平均CPU利用率+オンラインVMのCPU利用率のσ×c」とは、オンラインVMが高負荷になったときのCPU利用率である。   The above equation (2) represents a condition for avoiding the performance degradation of the online VM. Here, σ is a standard deviation in the normal distribution of the CPU usage rate of the online VM. c is a multiple of the standard deviation. For example, a natural number of c = 1 to 3 is adopted as c. Therefore, “average VM usage rate of online VM + σ of CPU usage rate of online VM” × c is the CPU usage rate when the online VM is heavily loaded.

上記式(2)の条件は、具体的には、同時に複数のオンラインVMが高負荷になった場合であっても、オンラインVMのCPU利用率の和が、サーバSのCPU利用率上限以下になることを示す。そのため、上記式(2)の条件を満たすサーバSは、オンラインVM同士の競合を回避することができ、オンラインVMの性能低下を回避することができる。   Specifically, the condition of the above formula (2) is that the sum of the CPU utilization rates of the online VMs is equal to or less than the upper limit of the CPU utilization rate of the server S even when a plurality of online VMs are simultaneously loaded. It shows that it becomes. Therefore, the server S that satisfies the condition of the above formula (2) can avoid competition between online VMs, and can avoid performance degradation of online VMs.

サーバSは、割り当てられたVMを、自装置内のCPUのいずれかにより実行するコンピュータである。また、サーバSは、割り当てられたVMの中にオンラインVMがある場合、オンラインVMを優先して実行する。サーバSは、例えば、オンラインVMの実行には優先してCPUリソースを利用し、バッチVMの実行にはオンラインVMの実行に利用されていない余りのCPUリソースを利用する。これにより、サーバSは、オンラインVMの性能低下を回避することができる。なお、図1では、サーバSは、CPUを3つ有している。   The server S is a computer that executes an assigned VM by any of the CPUs in the own device. Further, when there is an online VM among the allocated VMs, the server S executes the online VM with priority. For example, the server S uses CPU resources preferentially for execution of online VMs, and uses excess CPU resources not used for execution of online VMs for execution of batch VMs. Thereby, the server S can avoid the performance degradation of online VM. In FIG. 1, the server S has three CPUs.

図1の例では、制御サーバ100は、オンラインVM1、オンラインVM2、バッチVM3、およびバッチVM4を、サーバSに割り当てる。まず、制御サーバ100は、割当対象になるVMとして、オンラインVM1を選択する。ここで、オンラインVM1の平均CPU利用率は「30%」、オンラインVM1のCPU利用率の標準偏差σは「20%」、定数cは「3」とする。また、ここで、サーバS1,S2のCPU利用率上限Piは、1CPU当たりのCPU利用率の上限「80%」とCPUの数「3」を乗算した値「240%」とする。   In the example of FIG. 1, the control server 100 assigns the online VM 1, online VM 2, batch VM 3, and batch VM 4 to the server S. First, the control server 100 selects the online VM 1 as a VM to be allocated. Here, it is assumed that the average CPU usage rate of the online VM 1 is “30%”, the standard deviation σ of the CPU usage rate of the online VM 1 is “20%”, and the constant c is “3”. Here, the CPU utilization rate upper limit Pi of the servers S1 and S2 is set to a value “240%” obtained by multiplying the upper limit “80%” of the CPU utilization rate per CPU by the number of CPUs “3”.

制御サーバ100は、割当先になるサーバSとして、サーバS1を選択する。制御サーバ100は、選択したサーバS1にオンラインVM1を割り当てた場合に、サーバS1において上記式(1)および式(2)の条件を満たすか否かを判断する。上記式(1)の条件は「30%≦240%」となり、条件を満たしている。また、上記式(2)の条件は、「30%+20%×3=90%≦240%」となり、条件を満たしている。そのため、制御サーバ100は、オンラインVM1をサーバS1に割り当てる。   The control server 100 selects the server S1 as the server S to be assigned. When the online server VM1 is assigned to the selected server S1, the control server 100 determines whether or not the conditions of the above formulas (1) and (2) are satisfied in the server S1. The condition of the above formula (1) is “30% ≦ 240%”, which satisfies the condition. The condition of the above formula (2) is “30% + 20% × 3 = 90% ≦ 240%”, which satisfies the condition. Therefore, the control server 100 allocates the online VM1 to the server S1.

次に、制御サーバ100は、割当対象になるVMとして、オンラインVM2を選択する。ここで、オンラインVM2の平均CPU利用率は「30%」、オンラインVM2のCPU利用率の標準偏差σは「20%」、定数cは「3」とする。制御サーバ100は、VMが割り振られたサーバS数が少なくなるように、オンラインVM1を割当済みのサーバS1を、割当先になるサーバSとして選択する。制御サーバ100は、選択したサーバS1にオンラインVM2を割り当てた場合に、サーバS1において上記式(1)および式(2)の条件を満たすか否かを判断する。   Next, the control server 100 selects the online VM 2 as the allocation target VM. Here, the average CPU usage rate of the online VM 2 is “30%”, the standard deviation σ of the CPU usage rate of the online VM 2 is “20%”, and the constant c is “3”. The control server 100 selects the server S1 to which the online VM1 has been allocated as the server S that is the allocation destination so that the number of servers S to which the VM is allocated decreases. When the online VM 2 is assigned to the selected server S1, the control server 100 determines whether or not the conditions of the above formulas (1) and (2) are satisfied in the server S1.

ここで、上記式(1)は、「30%+30%=60%≦240%」となるため、式(1)の条件を満たす。また、上記式(2)は、「30%+20%×3+30%+20%×3=180%≦240%」となるため、式(2)の条件を満たす。そのため、制御サーバ100は、オンラインVM2をサーバS1に割り当てる。   Here, the equation (1) satisfies “30% + 30% = 60% ≦ 240%”, and therefore satisfies the condition of the equation (1). Further, since the above equation (2) satisfies “30% + 20% × 3 + 30% + 20% × 3 = 180% ≦ 240%”, the condition of the equation (2) is satisfied. Therefore, the control server 100 allocates the online VM2 to the server S1.

次に、制御サーバ100は、割当対象になるVMとして、バッチVM3を選択する。ここで、バッチVM3の平均CPU利用率は「30%」とする。制御サーバ100は、VMが割り振られたサーバS数が少なくなるように、オンラインVM1およびオンラインVM2を割当済みのサーバS1を、割当先になるサーバSとして選択する。制御サーバ100は、選択したサーバS1にバッチVM3を割り当てた場合に、サーバS1において上記式(1)および式(2)の条件を満たすか否かを判断する。   Next, the control server 100 selects the batch VM 3 as a VM to be assigned. Here, the average CPU utilization of the batch VM 3 is “30%”. The control server 100 selects the server S1 to which the online VM1 and the online VM2 have been allocated as the allocation destination server S so that the number of servers S to which the VM is allocated decreases. When the batch server VM3 is assigned to the selected server S1, the control server 100 determines whether or not the conditions of the above formulas (1) and (2) are satisfied in the server S1.

ここで、上記式(1)は、「30%+30%+30%=90%≦240%」となるため、式(1)の条件を満たす。また、上記式(2)は、「30%+20%×3+30%+20%×3=180%≦240%」となるため、式(2)の条件を満たす。そのため、制御サーバ100は、バッチVM3をサーバS1に割り当てる。   Here, the equation (1) satisfies “30% + 30% + 30% = 90% ≦ 240%”, and therefore satisfies the condition of the equation (1). Further, since the above equation (2) satisfies “30% + 20% × 3 + 30% + 20% × 3 = 180% ≦ 240%”, the condition of the equation (2) is satisfied. Therefore, the control server 100 assigns the batch VM3 to the server S1.

次に、制御サーバ100は、割当対象になるVMとして、バッチVM4を選択する。ここで、バッチVM4の平均CPU利用率は「30%」とする。制御サーバ100は、VMが割り振られたサーバS数が少なくなるように、オンラインVM1、オンラインVM2およびバッチVM3を割当済みのサーバS1を、割当先になるサーバSとして選択する。制御サーバ100は、選択したサーバS1にバッチVM4を割り当てた場合に、サーバS1において上記式(1)および式(2)の条件を満たすか否かを判断する。   Next, the control server 100 selects the batch VM 4 as the VM to be assigned. Here, the average CPU utilization of the batch VM 4 is “30%”. The control server 100 selects the server S1 to which the online VM1, the online VM2, and the batch VM3 are allocated as the server S that is the allocation destination so that the number of servers S to which the VM is allocated decreases. When the batch server VM4 is assigned to the selected server S1, the control server 100 determines whether or not the conditions of the above formulas (1) and (2) are satisfied in the server S1.

ここで、上記式(1)は、「30%+30%+30%+30%=120%≦240%」となるため、式(1)の条件を満たす。また、上記式(2)は、「30%+20%×3+30%+20%×3=180%≦240%」となるため、式(2)の条件を満たす。そのため、制御サーバ100は、バッチVM4をサーバS1に割り当てる。制御サーバ100は、選択した割当先になるサーバSにおいて、上記式(1)または式(2)の条件を満たさない場合、選択したサーバSとは異なるサーバSを選択し直して、当該異なるサーバSにVMを割り当てることになる。   Here, the equation (1) satisfies “30% + 30% + 30% + 30% = 120% ≦ 240%”, and therefore satisfies the condition of the equation (1). Further, since the above equation (2) satisfies “30% + 20% × 3 + 30% + 20% × 3 = 180% ≦ 240%”, the condition of the equation (2) is satisfied. Therefore, the control server 100 assigns the batch VM4 to the server S1. The control server 100 selects a server S different from the selected server S and reselects the different server when the server S that is the selected allocation destination does not satisfy the condition of the above formula (1) or formula (2). A VM is assigned to S.

サーバS1は、割り当てられたオンラインVM1、オンラインVM2、バッチVM3、およびバッチVM4を、自装置内のいずれかのCPUにより実行する。ここで、サーバS1は、オンラインVM1およびオンラインVM2の優先度を高くして実行する。また、サーバS1は、オンラインVM1とオンラインVM2とが競合しないように、CPU101とCPU102の各々に1つずつオンラインVMを実行させてもよい。   The server S1 executes the assigned online VM1, online VM2, batch VM3, and batch VM4 by any of the CPUs in the own device. Here, the server S1 executes with higher priority of the online VM1 and the online VM2. Further, the server S1 may cause each of the CPU 101 and the CPU 102 to execute one online VM so that the online VM1 and the online VM2 do not compete with each other.

図1に示すように、サーバS1は、オンラインVM1、バッチVM3およびバッチVM4をCPU101により実行している。サーバS1は、オンラインVM2をCPU102により実行している。   As shown in FIG. 1, the server S1 executes an online VM1, a batch VM3, and a batch VM4 by the CPU 101. The server S1 executes the online VM2 by the CPU 102.

ここで、サーバS1は、バッチVM3およびバッチVM4については、オンラインVM1が利用していないCPUリソースを利用して処理を実行し、オンラインVM1の性能低下を生じさせずに処理を終了させる。また、サーバS1は、オンラインVM1およびオンラインVM2については、バッチVM3およびバッチVM4より優先して実行する。このため、オンラインVM1およびオンラインVM2は、単独で実行したときと同様のCPUリソースを利用しており、単独で実行したときと同様の性能を確保できている。   Here, for the batch VM3 and the batch VM4, the server S1 executes processing using CPU resources that are not used by the online VM1, and ends the processing without causing the performance degradation of the online VM1. The server S1 executes the online VM1 and the online VM2 with priority over the batch VM3 and the batch VM4. For this reason, the online VM1 and the online VM2 use the same CPU resources as when executed alone, and can ensure the same performance as when executed alone.

このように、制御サーバ100は、上記式(1)および式(2)の条件を満たす限り、1つのサーバSに複数のVMを割り当てていく。これにより、制御サーバ100は、オンラインVMの性能低下を回避し、バッチVMが規定終了時刻までに終了し、かつ、VMを割り当てられたサーバSの数が少なくなるように、VMを割り当てることができる。   As described above, the control server 100 allocates a plurality of VMs to one server S as long as the conditions of the above formulas (1) and (2) are satisfied. As a result, the control server 100 can avoid the performance degradation of the online VM, allocate the VM so that the batch VM is completed by the specified end time, and the number of servers S to which the VM is allocated decreases. it can.

また、VMが割り当てられていないサーバSがあれば、制御サーバ100は、サーバSへの電力供給を停止する。これにより、サーバルームの消費電力が低減される。また、制御サーバ100は、複数のVMを1つのサーバSに割り当てることにより、サーバSはCPUリソースを効率よく利用することができる。   If there is a server S to which no VM is assigned, the control server 100 stops power supply to the server S. Thereby, the power consumption of a server room is reduced. Further, the control server 100 allocates a plurality of VMs to one server S, so that the server S can efficiently use CPU resources.

また、制御サーバ100は、上記式(1)および(2)を制約条件とした混合整数計画問題を解くことにより、オンラインVM1、オンラインVM2、バッチVM3、およびバッチVM4を、サーバSに割り当ててもよい。例えば、配置済みのVMの平均CPU利用率やCPU利用率の標準偏差を入力とし、変数xn,i,jと、変数vijと、変数θiを出力する混合整数計画問題を用いて、VMをサーバSに割り当てる。 Further, the control server 100 can allocate the online VM1, online VM2, batch VM3, and batch VM4 to the server S by solving the mixed integer programming problem with the above formulas (1) and (2) as constraints. Good. For example, using a mixed integer programming problem that takes as input the average CPU utilization rate of a deployed VM and the standard deviation of the CPU utilization rate and outputs a variable x n, i, j , a variable v ij, and a variable θ i , The VM is assigned to the server S.

変数xn,i,jは、VMnが、サーバS(i,j)に割り当てられているか否かを示す。変数vijは、サーバS(i,j)の電源がON状態かOFF状態かを示す。変数θiは、ラック(i)にVMが割り当てられているか否かを示す。iはラック番号、jはi番目のラック内でのサーバの番号を示す。nは、割当対象となるVMの番号を示す。また、混合整数計画問題を用いてVMをサーバSに割り当てる具体例については、図17に後述する。 The variable x n, i, j indicates whether VM n is assigned to the server S (i, j). The variable v ij indicates whether the power supply of the server S (i, j) is on or off. The variable θ i indicates whether a VM is assigned to the rack (i). i represents a rack number, and j represents a server number in the i-th rack. n indicates the number of the VM to be allocated. A specific example of assigning a VM to the server S using the mixed integer programming problem will be described later with reference to FIG.

また、上記式(1)および式(2)はサーバSの性能が同一である場合の条件である。サーバSの性能が異なる場合は、上記式(1)の代わりに下記式(3)を用い、上記式(2)の代わりに下記式(4)を用いる。ここで、γiは、サーバSが、基準になるサーバSの何倍の性能があるかを示す比例係数である。また、γiは、サーバSに対するベンチマークテストにより予め取得される。また、制御サーバ100は、一定時間ごとに、サーバSに対してベンチマークテストを実行して、γiを更新してもよい。 Moreover, said Formula (1) and Formula (2) are conditions in case the performance of the server S is the same. When the performance of the server S is different, the following formula (3) is used instead of the above formula (1), and the following formula (4) is used instead of the above formula (2). Here, γ i is a proportionality coefficient indicating how many times the performance of the server S is higher than that of the reference server S. Γ i is acquired in advance by a benchmark test for the server S. Further, the control server 100 may update the γ i by executing a benchmark test on the server S at regular time intervals.

Figure 0005978673
Figure 0005978673

Figure 0005978673
Figure 0005978673

また、制御サーバ100は、サーバルーム内のCRAC(精密空量装置:Computer Room Air Conditioning)による冷却効率がよいサーバSを、VMを割り当てるサーバSとして選択してもよい。これにより、CRACの消費電力が低減される。   In addition, the control server 100 may select a server S with high cooling efficiency by CRAC (Computer Room Air Conditioning) in the server room as the server S to which the VM is allocated. Thereby, the power consumption of CRAC is reduced.

(システム構成例)
次に、図2を用いて、システム構成例について説明する。
(System configuration example)
Next, a system configuration example will be described with reference to FIG.

図2は、システム構成例を示す説明図である。図2において、システム200は、サーバルームと、制御サーバ100と、タスク投入サーバ201と、クライアント202と、を含む。また、サーバルームは、複数のサーバSを有するラック203と、CRAC204と、Chiller205(室外機)と、を含む。   FIG. 2 is an explanatory diagram showing a system configuration example. In FIG. 2, the system 200 includes a server room, a control server 100, a task input server 201, and a client 202. The server room includes a rack 203 having a plurality of servers S, a CRAC 204, and a chiller 205 (outdoor unit).

サーバルーム内のサーバS群と、制御サーバ100と、タスク投入サーバ201と、クライアント202と、は、ネットワークNETにより接続されている。ネットワークNETは、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、携帯電話網などで構成される。   The server S group in the server room, the control server 100, the task input server 201, and the client 202 are connected by a network NET. The network NET is composed of, for example, a LAN (Local Area Network), a WAN (Wide Area Network), the Internet, a mobile phone network, and the like.

タスク投入サーバ201は、VMのサーバSへの割当要求を制御サーバ100に送信するコンピュータである。割当要求には、例えば、VMの実行ファイルと、VMがオンラインVMかバッチVMかを示す情報と、が含まれる。   The task input server 201 is a computer that transmits an allocation request to the server S of the VM to the control server 100. The allocation request includes, for example, a VM execution file and information indicating whether the VM is an online VM or a batch VM.

制御サーバ100は、タスク投入サーバ201からVMのサーバSへの割当要求を受け付けるコンピュータである。制御サーバ100は、オンラインVMの性能低下を回避し、バッチVMが規定終了時刻までに終了し、かつ、VMを割り当てられたサーバS数が少なくなるように、受け付けたVMをサーバルーム内のサーバSに割り当てる。   The control server 100 is a computer that receives an allocation request from the task input server 201 to the VM server S. The control server 100 avoids the performance degradation of the online VM, the received VM is a server in the server room so that the batch VM is finished by the specified end time, and the number of servers S to which the VM is assigned is reduced. Assign to S.

クライアント202は、オンラインVMと双方向通信を行うコンピュータである。クライアント202は、オンラインVMに対して、処理要求を送信したり、処理結果を受信したりする。また、クライアント202は、バッチVMの処理結果を受信するコンピュータであってもよい。クライアント202には、例えば、デスクトップ型PC(Personal Computer)、ノート型PC、携帯電話機(スマートフォン、PHS(Personal Handyphone System))、タブレット型端末を採用できる。   The client 202 is a computer that performs bidirectional communication with the online VM. The client 202 transmits a processing request to the online VM and receives a processing result. The client 202 may be a computer that receives the processing result of the batch VM. As the client 202, for example, a desktop PC (Personal Computer), a notebook PC, a mobile phone (smart phone, PHS (Personal Handyphone System)), or a tablet terminal can be employed.

ラック203は、S台のサーバSおよびUPS(Uninterruptible Power Supply)206を搭載する。例えば、ラック203は、サーバルーム内にN台存在するとし、i番目のラック203をラック203(i)と表す。また、サーバSは、割り当てられたVMを実行するコンピュータである。サーバSは、割り当てられたVMの中にオンラインVMがある場合、オンラインVMを優先的に実行する。例えば、i番目のラック203のj番目のサーバSをサーバS(i,j)と表す。また、UPS206は、サーバSへの電力供給を管理する装置である。例えば、i番目のラック203のUPS206をUPS206(i)と表す。   The rack 203 is equipped with S servers S and UPS (Uninterruptable Power Supply) 206. For example, assuming that there are N racks 203 in the server room, the i-th rack 203 is represented as a rack 203 (i). The server S is a computer that executes the assigned VM. When there is an online VM among the allocated VMs, the server S preferentially executes the online VM. For example, the j-th server S of the i-th rack 203 is represented as a server S (i, j). The UPS 206 is a device that manages power supply to the server S. For example, the UPS 206 of the i-th rack 203 is represented as UPS 206 (i).

CRAC204は、ラック203内のサーバSを冷却する装置である。例えば、CRAC204は、サーバルーム内にC台存在するとし、k番目のCRAC204をCRAC204(k)と表す。Chiller205は、排気を行う装置である。Chiller205は、CRAC204と同数台存在するとし、例えば、k番目のChiller205をChiller205(k)と表す。   The CRAC 204 is a device that cools the server S in the rack 203. For example, assuming that CRACs 204 exist in the server room, the kth CRAC 204 is represented as CRAC 204 (k). The chiller 205 is an apparatus that exhausts air. Assume that the same number of chillers 205 as the CRACs 204 exist, and for example, the k-th chiller 205 is represented as chiller 205 (k).

(コンピュータのハードウェア構成例)
次に、図3を用いて、制御サーバ100およびサーバSとして採用されるコンピュータのハードウェア構成例について説明する。
(Computer hardware configuration example)
Next, a hardware configuration example of a computer employed as the control server 100 and the server S will be described with reference to FIG.

図3は、コンピュータのハードウェア構成例を示すブロック図である。図3において、コンピュータ300は、CPUs301、記憶装置302、入力装置303、出力装置304、および通信装置305が、バス310に接続されて構成されている。   FIG. 3 is a block diagram illustrating a hardware configuration example of a computer. In FIG. 3, a computer 300 is configured by connecting CPUs 301, a storage device 302, an input device 303, an output device 304, and a communication device 305 to a bus 310.

CPUs301は、コンピュータ300の全体の制御を司る。また、CPUs301は、記憶装置302に記憶されている各種プログラムを実行することで、記憶装置302内のデータを読み出したり、実行結果となるデータを記憶装置302に書き込んだりする。各種プログラムには、OS(Operating System)や本実施の形態の情報処理プログラムまたは割当プログラムが含まれる。   The CPUs 301 govern the overall control of the computer 300. In addition, the CPUs 301 execute various programs stored in the storage device 302 to read data in the storage device 302 and write data as an execution result to the storage device 302. The various programs include an OS (Operating System) and the information processing program or assignment program of the present embodiment.

記憶装置302は、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、磁気ディスクドライブなどで構成され、CPUs301のワークエリアになったり、各種プログラムや各プログラムの実行により得られたデータを含む各種データを記憶したりする。   The storage device 302 includes a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, a magnetic disk drive, and the like. The storage device 302 serves as a work area for the CPUs 301, and various programs and data obtained by executing each program. Or store various data including

入力装置303は、キーボード、マウス、タッチパネルなどユーザの操作により、各種データの入力を行うインターフェースである。出力装置304は、CPUs301の指示により、データを出力するインターフェースである。出力装置304としては、例えば、ディスプレイやプリンタが採用される。通信装置305は、ネットワークNETを介して外部からデータを受信したり、外部にデータを送信したりするインターフェースである。   The input device 303 is an interface for inputting various data by a user operation such as a keyboard, a mouse, and a touch panel. The output device 304 is an interface that outputs data according to an instruction from the CPUs 301. For example, a display or a printer is employed as the output device 304. The communication device 305 is an interface that receives data from the outside via the network NET and transmits data to the outside.

(サーバルーム構造情報の記憶内容)
次に、図4を用いて、サーバルーム構造情報の記憶内容の一例について説明する。サーバルーム構造情報は、サーバルームのラック数とサーバ数とを示す情報である。サーバルーム構造情報は、混合整数計画問題を解く際に参照される情報である。サーバルーム構造情報は、例えば、記憶装置302により実現される。
(Storage contents of server room structure information)
Next, an example of the contents stored in the server room structure information will be described with reference to FIG. The server room structure information is information indicating the number of racks and the number of servers in the server room. The server room structure information is information referred to when solving the mixed integer programming problem. The server room structure information is realized by the storage device 302, for example.

図4は、サーバルーム構造情報の記憶内容の一例を示す説明図である。図4に示すように、サーバルーム構造情報400は、ラック数項目と、サーバ数項目を有する。ラック数項目には、サーバルームに存在するラック203の個数が記憶される。サーバ数項目には、1つのラック203に存在するサーバSの個数が記憶される。各項目の値は、例えば、予め制御サーバ100の利用者によって入力される。   FIG. 4 is an explanatory diagram showing an example of the stored contents of the server room structure information. As illustrated in FIG. 4, the server room structure information 400 includes a rack number item and a server number item. The number of racks 203 existing in the server room is stored in the rack number item. In the server number field, the number of servers S existing in one rack 203 is stored. The value of each item is previously input by the user of the control server 100, for example.

(VM個数情報の記憶内容)
次に、図5を用いて、VM個数情報の記憶内容の一例について説明する。VM個数情報は、混合整数計画問題を解く際に参照される情報である。VM個数情報は、例えば、記憶装置302により実現される。
(Storage contents of VM number information)
Next, an example of the contents stored in the VM number information will be described with reference to FIG. The VM number information is information referred to when solving the mixed integer programming problem. The VM number information is realized by the storage device 302, for example.

図5は、VM個数情報の記憶内容の一例を示す説明図である。図5に示すように、VM個数情報500は、個数項目を有する。個数項目には、割当対象になるVMの個数が記憶される。制御サーバ100は、例えば、割当対象になるVMが増加した場合、当該増加分の数を個数項目に加算する。制御サーバ100は、例えば、割当対象になるVMをサーバSに割り当てた場合、割り当てた個数を個数項目から減算する。   FIG. 5 is an explanatory diagram of an example of the contents stored in the VM number information. As illustrated in FIG. 5, the VM number information 500 includes a number item. The number field stores the number of VMs to be allocated. For example, when the allocation target VM increases, the control server 100 adds the number of the increase to the number item. For example, when the VM to be allocated is allocated to the server S, the control server 100 subtracts the allocated number from the number item.

(実行可能最大VM数テーブルの記憶内容)
次に、図6を用いて、実行可能最大VM数テーブルの記憶内容の一例について説明する。実行可能最大VM数テーブルは、サーバごとの実行可能最大VM数を記憶するテーブルである。実行可能最大VM数テーブルは、混合整数計画問題を解く際に参照される。実行可能最大VM数テーブルは、例えば、記憶装置302により実現される。
(Storage contents of the maximum executable VM count table)
Next, an example of the stored contents of the maximum executable VM number table will be described with reference to FIG. The maximum executable VM number table is a table that stores the maximum executable VM number for each server. The maximum executable VM number table is referred to when solving the mixed integer programming problem. The maximum executable VM number table is realized by the storage device 302, for example.

図6は、実行可能最大VM数テーブルの記憶内容の一例を示す説明図である。図6に示すように、実行可能最大VM数テーブル600は、ラック番号項目と、サーバ番号項目と、実行可能最大VM数項目と、を有し、サーバSごとにレコードを構成する。   FIG. 6 is an explanatory diagram of an example of the stored contents of the maximum executable VM number table. As illustrated in FIG. 6, the executable maximum VM number table 600 includes a rack number item, a server number item, and a maximum executable VM number item, and configures a record for each server S.

ラック番号項目には、サーバルームに存在するラック203を識別する番号が記憶される。サーバ番号項目には、ラック番号項目が示すラック203内のサーバSを識別する番号が記憶される。実行可能最大VM数項目には、サーバ番号項目に示されるサーバSが実行可能なVMの最大個数が記憶される。各項目の値は、例えば、予め制御サーバ100の利用者によって入力される。   In the rack number item, a number for identifying the rack 203 existing in the server room is stored. The server number item stores a number for identifying the server S in the rack 203 indicated by the rack number item. The maximum executable VM number item stores the maximum number of VMs that can be executed by the server S indicated in the server number item. The value of each item is previously input by the user of the control server 100, for example.

(VM消費電力テーブルの記憶内容)
次に、図7を用いて、VM消費電力テーブルの記憶内容の一例について説明する。VM消費電力テーブルは、サーバごとのVM1つ当たりの消費電力を記憶するテーブルである。VM消費電力テーブルは、混合整数計画問題を解く際に参照される。VM消費電力テーブルは、例えば、記憶装置302により実現される。
(Storage contents of VM power consumption table)
Next, an example of the contents stored in the VM power consumption table will be described with reference to FIG. The VM power consumption table is a table that stores power consumption per VM for each server. The VM power consumption table is referenced when solving the mixed integer programming problem. The VM power consumption table is realized by the storage device 302, for example.

図7は、VM消費電力テーブルの記憶内容の一例を示す説明図である。図7に示すように、VM消費電力テーブル700は、ラック番号項目と、サーバ番号項目と、VM消費電力項目と、を有し、サーバSごとにレコードを構成する。   FIG. 7 is an explanatory diagram of an example of the contents stored in the VM power consumption table. As illustrated in FIG. 7, the VM power consumption table 700 includes a rack number item, a server number item, and a VM power consumption item, and configures a record for each server S.

ラック番号項目には、サーバルームに存在するラック203を識別する番号が記憶される。サーバ番号項目には、ラック番号項目が示すラック203内のサーバSを識別する番号が記憶される。VM消費電力項目には、サーバ番号項目が示すサーバSで、1つのVMを実行するために消費される電力が記憶される。各項目の値は、例えば、予め制御サーバ100の利用者によって入力される。   In the rack number item, a number for identifying the rack 203 existing in the server room is stored. The server number item stores a number for identifying the server S in the rack 203 indicated by the rack number item. The VM power consumption item stores the power consumed to execute one VM on the server S indicated by the server number item. The value of each item is previously input by the user of the control server 100, for example.

(ベース消費電力テーブルの記憶内容)
次に、図8を用いて、ベース消費電力テーブルの記憶内容の一例について説明する。ベース消費電力テーブルは、サーバSごとの常時消費電力を記憶するテーブルである。ベース消費電力テーブルは、混合整数計画問題を解く際に参照される。ベース消費電力テーブルは、例えば、記憶装置302により実現される。
(Storage contents of base power consumption table)
Next, an example of the contents stored in the base power consumption table will be described with reference to FIG. The base power consumption table is a table that stores constant power consumption for each server S. The base power consumption table is referred to when solving the mixed integer programming problem. The base power consumption table is realized by the storage device 302, for example.

図8は、ベース消費電力テーブルの記憶内容の一例を示す説明図である。図8に示すように、ベース消費電力テーブル800は、ラック番号項目と、サーバ番号項目と、ベース消費電力項目と、を有し、サーバSごとにレコードを構成する。   FIG. 8 is an explanatory diagram of an example of the contents stored in the base power consumption table. As illustrated in FIG. 8, the base power consumption table 800 includes a rack number item, a server number item, and a base power consumption item, and configures a record for each server S.

ラック番号項目には、サーバルームに存在するラック203を識別する番号が記憶される。サーバ番号項目には、ラック番号項目が示すラック203内のサーバSを識別する番号が記憶される。ベース消費電力項目には、サーバ番号項目が示すサーバSの常時消費電力が記憶される。常時消費電力は、サーバSが処理を実行していない場合に消費される電力である。各項目の値は、例えば、予め制御サーバ100の利用者によって入力される。   In the rack number item, a number for identifying the rack 203 existing in the server room is stored. The server number item stores a number for identifying the server S in the rack 203 indicated by the rack number item. The base power consumption item stores the constant power consumption of the server S indicated by the server number item. The constant power consumption is power consumed when the server S is not executing processing. The value of each item is previously input by the user of the control server 100, for example.

(スケーリング情報の記憶内容)
次に、図9を用いて、スケーリング情報の記憶内容の一例について説明する。スケーリング情報は、標準偏差に対して乗算する定数を示す情報である。スケーリング情報は、混合整数計画問題を解く際に参照される情報である。スケーリング情報は、例えば、記憶装置302により実現される。
(Storage information of scaling information)
Next, an example of storage contents of scaling information will be described with reference to FIG. The scaling information is information indicating a constant to be multiplied with respect to the standard deviation. The scaling information is information that is referred to when solving the mixed integer programming problem. The scaling information is realized by the storage device 302, for example.

図9は、スケーリング情報の記憶内容の一例を示す説明図である。図9に示すように、スケーリング情報900は、定数項目を含む。定数項目には、オンラインVMのCPU利用率の上限の算出に使用される定数cが記憶される。定数cは、標準偏差σの倍数である。例えば、cは、c=1〜3の自然数が採用される。定数cは、例えば、上記式(2)に与えられる。cの値は、例えば、予め制御サーバ100の利用者によって入力される。   FIG. 9 is an explanatory diagram showing an example of the stored contents of scaling information. As shown in FIG. 9, the scaling information 900 includes constant items. In the constant item, a constant c used for calculating the upper limit of the CPU usage rate of the online VM is stored. The constant c is a multiple of the standard deviation σ. For example, a natural number of c = 1 to 3 is adopted as c. The constant c is given by the above formula (2), for example. The value of c is input by the user of the control server 100 in advance, for example.

(VM配置テーブルの記憶内容)
次に、図10を用いて、VM配置テーブルの記憶内容の一例について説明する。VM配置テーブルは、サーバごとにVMが割り当てられているか否かを示す情報を記憶するテーブルである。VM配置テーブルには、混合整数計画問題の解が記憶される。VM配置テーブルは、例えば、記憶装置302により実現される。
(Storage contents of VM placement table)
Next, an example of the contents stored in the VM arrangement table will be described with reference to FIG. The VM allocation table is a table that stores information indicating whether a VM is allocated to each server. The VM allocation table stores a solution of the mixed integer programming problem. The VM arrangement table is realized by the storage device 302, for example.

図10は、VM配置テーブルの記憶内容の一例を示す説明図である。図10に示すように、VM配置テーブル1000は、VM番号項目と、ラック番号項目と、サーバ番号項目と、配置先項目と、を有し、サーバSごとにレコードを構成する。   FIG. 10 is an explanatory diagram of an example of the contents stored in the VM arrangement table. As illustrated in FIG. 10, the VM arrangement table 1000 includes a VM number item, a rack number item, a server number item, and an arrangement destination item, and configures a record for each server S.

VM番号項目には、VMを識別する番号が記憶される。ラック番号項目には、サーバルームに存在するラック203を識別する番号が記憶される。サーバ番号項目には、ラック番号項目が示すラック203内のサーバSを識別する番号が記憶される。配置先項目には、VM番号項目が示すVMが、サーバ番号項目が示すサーバSに割り当てられているか否かを示す情報が記憶される。ここで、配置先項目の「0」はVMが割り当てられていないことを示し、「1」はVMが割り当てられていることを示す。   In the VM number item, a number for identifying the VM is stored. In the rack number item, a number for identifying the rack 203 existing in the server room is stored. The server number item stores a number for identifying the server S in the rack 203 indicated by the rack number item. The placement destination item stores information indicating whether or not the VM indicated by the VM number item is allocated to the server S indicated by the server number item. Here, “0” in the placement destination item indicates that a VM is not allocated, and “1” indicates that a VM is allocated.

(電源テーブルの記憶内容)
次に、図11を用いて、電源テーブルの記憶内容の一例について説明する。電源テーブルは、サーバごとに電源が供給されているか否かを示す情報を記憶するテーブルである。電源テーブルは、混合整数計画問題を解く際に参照される。電源テーブルは、例えば、記憶装置302により実現される。
(Memory table contents)
Next, an example of the contents stored in the power supply table will be described with reference to FIG. The power table is a table that stores information indicating whether power is supplied to each server. The power table is referenced when solving the mixed integer programming problem. The power supply table is realized by the storage device 302, for example.

図11は、電源テーブルの記憶内容の一例を示す説明図である。図11に示すように、電源テーブル1100は、ラック番号項目と、サーバ番号項目と、電源項目と、を有し、サーバSごとにレコードを構成する。   FIG. 11 is an explanatory diagram of an example of the contents stored in the power supply table. As illustrated in FIG. 11, the power supply table 1100 includes a rack number item, a server number item, and a power supply item, and configures a record for each server S.

ラック番号項目には、サーバルームに存在するラック203を識別する番号が記憶される。サーバ番号項目には、ラック番号項目が示すラック203内のサーバSを識別する番号が記憶される。電源項目には、サーバ番号項目が示すサーバSに電力供給されているか否かが記憶される。ここで、電源項目の「0」は電力が供給されていないことを示し、「1」は電力が供給されていることを示す。電源項目の値は、例えば、サーバSに電力が供給されているか否かを示す情報をUPS206から取得することにより、更新される。   In the rack number item, a number for identifying the rack 203 existing in the server room is stored. The server number item stores a number for identifying the server S in the rack 203 indicated by the rack number item. The power item stores whether or not power is supplied to the server S indicated by the server number item. Here, the power item “0” indicates that no power is supplied, and “1” indicates that the power is supplied. The value of the power item is updated by acquiring information indicating whether power is supplied to the server S from the UPS 206, for example.

(ラック状態テーブルの記憶内容)
次に、図12を用いて、ラック状態テーブルの記憶内容の一例について説明する。ラック状態テーブルは、ラックごとにVMが割り振られているか否かを示す情報を記憶するテーブルである。ラック状態テーブルは、混合整数計画問題を解く際に参照される。ラック状態テーブルは、例えば、記憶装置302により実現される。
(Contents stored in the rack status table)
Next, an example of the contents stored in the rack state table will be described with reference to FIG. The rack state table is a table that stores information indicating whether a VM is allocated to each rack. The rack state table is referred to when solving the mixed integer programming problem. The rack state table is realized by the storage device 302, for example.

図12は、ラック状態テーブルの記憶内容の一例を示す説明図である。図12に示すように、ラック状態テーブル1200は、ラック番号項目と、VM実行項目と、を有し、ラック203ごとにレコードを構成する。ラック番号項目には、サーバルームに存在するラック203を識別する番号が記憶される。VM実行項目には、ラック番号項目が示すラック203でVMが実行されているか否かを示す情報が記憶される。例えば、VM実行項目の「0」はVMが実行されていないことを示し、「1」はVMが実行されていることを示す。また、制御サーバ100は、例えば、VMを割り当てるごとにVM実行項目を更新する。制御サーバ100は、例えば、VMの実行が終了したことをサーバSから通知されると、VM実行項目を更新する。   FIG. 12 is an explanatory diagram of an example of the contents stored in the rack state table. As illustrated in FIG. 12, the rack state table 1200 includes a rack number item and a VM execution item, and configures a record for each rack 203. In the rack number item, a number for identifying the rack 203 existing in the server room is stored. The VM execution item stores information indicating whether a VM is being executed on the rack 203 indicated by the rack number item. For example, “0” of the VM execution item indicates that the VM is not executed, and “1” indicates that the VM is executed. For example, the control server 100 updates the VM execution item every time a VM is allocated. For example, when the server S is notified that the execution of the VM has ended, the control server 100 updates the VM execution item.

(初期配置テーブルの記憶内容)
次に、図13を用いて、初期配置テーブルの記憶内容の一例について説明する。初期配置テーブルは、サーバごとの配置済みのVM数を記憶するテーブルである。初期配置テーブルは、混合整数計画問題を解く際に参照される。初期配置テーブルは、例えば、記憶装置302により実現される。
(Storage contents of the initial allocation table)
Next, an example of the contents stored in the initial arrangement table will be described with reference to FIG. The initial placement table is a table that stores the number of placed VMs for each server. The initial allocation table is referred to when solving the mixed integer programming problem. The initial arrangement table is realized by the storage device 302, for example.

図13は、初期配置テーブルの記憶内容の一例を示す説明図である。図13に示すように、初期配置テーブル1300は、ラック番号項目と、サーバ番号項目と、初期配置項目と、を有し、サーバSごとにレコードを構成する。ラック番号項目には、サーバルームに存在するラック203を識別する番号が記憶される。サーバ番号項目には、ラック番号項目が示すラック203内のサーバSを識別する番号が記憶される。初期配置項目には、サーバS項目が示すサーバSに配置されているVM数が記憶される。   FIG. 13 is an explanatory diagram of an example of the contents stored in the initial arrangement table. As illustrated in FIG. 13, the initial arrangement table 1300 includes a rack number item, a server number item, and an initial arrangement item, and configures a record for each server S. In the rack number item, a number for identifying the rack 203 existing in the server room is stored. The server number item stores a number for identifying the server S in the rack 203 indicated by the rack number item. The initial arrangement item stores the number of VMs arranged in the server S indicated by the server S item.

(UPSテーブルの記憶内容)
次に、図14を用いて、UPSテーブルの記憶内容の一例について説明する。UPSテーブルは、UPSごとに、常時消費電力と、サーバの消費電力に乗算する比例係数と、を記憶するテーブルである。UPSテーブルは、混合整数計画問題を解く際に参照される。UPSテーブルは、例えば、記憶装置302により実現される。
(Storage contents of UPS table)
Next, an example of the contents stored in the UPS table will be described with reference to FIG. The UPS table is a table that stores the constant power consumption and the proportionality coefficient by which the power consumption of the server is multiplied for each UPS. The UPS table is referred to when solving the mixed integer programming problem. The UPS table is realized by the storage device 302, for example.

図14は、UPSテーブルの記憶内容の一例を示す説明図である。図14に示すように、UPSテーブル1400は、UPS番号項目と、ベース消費電力項目と、比例係数項目と、を有し、UPS206ごとにレコードを構成する。UPS番号項目には、サーバルームに存在するUPS206を識別する番号が記憶される。ベース消費電力項目には、UPS206の常時消費電力が記憶される。比例係数項目には、サーバSの消費電力に対して、何倍の電力がUPS206で消費されるかを示す係数が記憶される。各項目の値は、例えば、予め制御サーバ100の利用者によって入力される。   FIG. 14 is an explanatory diagram showing an example of the contents stored in the UPS table. As illustrated in FIG. 14, the UPS table 1400 includes a UPS number item, a base power consumption item, and a proportional coefficient item, and configures a record for each UPS 206. In the UPS number item, a number for identifying the UPS 206 existing in the server room is stored. The base power consumption item stores the constant power consumption of the UPS 206. In the proportional coefficient item, a coefficient indicating how much power is consumed by the UPS 206 with respect to the power consumption of the server S is stored. The value of each item is previously input by the user of the control server 100, for example.

(割当対象VMテーブルの記憶内容)
次に、図15を用いて、割当対象VMテーブルの記憶内容の一例について説明する。割当対象VMテーブルは、割当対象になるVMごとに、平均CPU利用率と、CPU利用率の標準偏差と、を記憶するテーブルである。割当対象VMテーブルは、混合整数計画問題を解く際に参照される。割当対象VMテーブルは、例えば、記憶装置302により実現される。
(Storage contents of the allocation target VM table)
Next, an example of the contents stored in the allocation target VM table will be described with reference to FIG. The allocation target VM table is a table that stores an average CPU usage rate and a standard deviation of the CPU usage rate for each VM to be allocated. The allocation target VM table is referred to when the mixed integer programming problem is solved. The allocation target VM table is realized by the storage device 302, for example.

図15は、割当対象VMテーブルの記憶内容の一例を示す説明図である。図15に示すように、割当対象VMテーブル1500は、VM番号項目と、平均CPU利用率項目と、標準偏差項目と、を有し、割当対象になるVMごとにレコードを構成する。VM番号項目には、割当対象になるVMを識別する番号が記憶される。平均CPU利用率項目には、VM番号項目が示すVMの平均CPU利用率が記憶される。標準偏差項目には、VM番号項目が示すVMのCPU利用率の標準偏差が記憶される。   FIG. 15 is an explanatory diagram of an example of the contents stored in the allocation target VM table. As illustrated in FIG. 15, the allocation target VM table 1500 includes a VM number item, an average CPU usage rate item, and a standard deviation item, and configures a record for each VM to be allocated. In the VM number field, a number for identifying a VM to be allocated is stored. The average CPU usage rate item stores the average CPU usage rate of the VM indicated by the VM number item. The standard deviation item stores the standard deviation of the VM CPU utilization indicated by the VM number item.

(配置済みVMテーブルの記憶内容)
次に、図16を用いて、配置済みVMテーブルの記憶内容の一例について説明する。配置済みVMテーブルは、配置済みのVMごとに、平均CPU利用率と、CPU利用率の標準偏差と、を記憶するテーブルである。配置済みVMテーブルは、混合整数計画問題を解く際に参照される。配置済みVMテーブルは、例えば、記憶装置302により実現される。
(Storage contents of the placed VM table)
Next, an example of the stored contents of the arranged VM table will be described with reference to FIG. The placed VM table is a table that stores an average CPU usage rate and a standard deviation of the CPU usage rate for each placed VM. The placed VM table is referred to when solving the mixed integer programming problem. The arranged VM table is realized by the storage device 302, for example.

図16は、配置済みVMテーブルの記憶内容の一例を示す説明図である。図16に示すように、配置済みVMテーブル1600は、ラック番号項目と、サーバ番号項目と、VM番号項目と、平均CPU利用率項目と、標準偏差項目と、を有し、配置済みのVMごとにレコードを構成する。   FIG. 16 is an explanatory diagram of an example of the stored contents of the arranged VM table. As illustrated in FIG. 16, the arranged VM table 1600 includes a rack number item, a server number item, a VM number item, an average CPU utilization rate item, and a standard deviation item, for each arranged VM. Configure the record.

ラック番号項目には、サーバルームに存在するラック203を識別する番号が記憶される。サーバ番号項目には、ラック番号項目が示すラック203内のサーバSを識別する番号が記憶される。VM番号項目には、サーバS項目が示すサーバSに配置済みのVMを識別する番号が記憶される。   In the rack number item, a number for identifying the rack 203 existing in the server room is stored. The server number item stores a number for identifying the server S in the rack 203 indicated by the rack number item. In the VM number item, a number for identifying a VM that has been arranged in the server S indicated by the server S item is stored.

平均CPU利用率項目には、VM番号項目が示すVMの平均CPU利用率が記憶される。平均CPU利用率は、予め制御サーバ100の利用者により入力されていてもよい。また、制御サーバ100は、一定時間ごとに、サーバSから実行中のVMのCPU利用率の変動履歴と実行時間とを取得し、平均CPU利用率を算出し、平均CPU利用率項目を更新してもよい。   The average CPU usage rate item stores the average CPU usage rate of the VM indicated by the VM number item. The average CPU usage rate may be input in advance by the user of the control server 100. In addition, the control server 100 acquires the CPU usage rate change history and execution time of the VM being executed from the server S at regular time intervals, calculates the average CPU usage rate, and updates the average CPU usage rate item. May be.

標準偏差項目には、VM番号項目が示すVMのCPU利用率の標準偏差が記憶される。標準偏差は、予め制御サーバ100の利用者により入力されていてもよい。制御サーバ100は、一定時間ごとに、サーバSから実行中のVMのCPU利用率の変動履歴と実行時間とを取得し、標準偏差を算出し、標準偏差項目を更新してもよい。   The standard deviation item stores the standard deviation of the VM CPU utilization indicated by the VM number item. The standard deviation may be input in advance by the user of the control server 100. The control server 100 may acquire the change history and execution time of the CPU utilization rate of the VM being executed from the server S at regular time intervals, calculate the standard deviation, and update the standard deviation item.

(制御サーバ100の機能的構成例)
次に、制御サーバ100の機能的構成例について説明する。図17は、制御サーバ100の機能的構成例を示すブロック図である。制御サーバ100は、受付部1701と、特定部1702と、選択部1703と、取得部1704と、判断部1705と、割当部1706と、検出部1707と、制御部1708と、を有する。受付部1701〜制御部1708は、具体的には、例えば、図3に示した記憶装置302に記憶されたプログラムをCPU301に実行させることにより、または、通信装置305により、その機能を実現する。
(Functional configuration example of the control server 100)
Next, a functional configuration example of the control server 100 will be described. FIG. 17 is a block diagram illustrating a functional configuration example of the control server 100. The control server 100 includes a reception unit 1701, a specification unit 1702, a selection unit 1703, an acquisition unit 1704, a determination unit 1705, an allocation unit 1706, a detection unit 1707, and a control unit 1708. Specifically, the receiving unit 1701 to the control unit 1708 realize the functions by causing the CPU 301 to execute a program stored in the storage device 302 illustrated in FIG. 3 or the communication device 305, for example.

受付部1701は、タスク投入サーバ201から送信されたVMのサーバSへの割当要求を受け付ける。ここで、割当要求には、例えば、割当対象になるVMの実行ファイルが含まれる。また、割当要求には、割当対象になるVMの平均CPU利用率や標準偏差が含まれていてもよい。制御サーバ100は、割当要求に割当対象になるVMの平均CPU利用率や標準偏差が含まれる場合、割当対象になるVMと、平均CPU利用率や標準偏差と、を対応付けたレコードを、割当対象VMテーブル1500に追加する。   The accepting unit 1701 accepts a VM allocation request to the server S transmitted from the task input server 201. Here, the allocation request includes, for example, an execution file of the VM to be allocated. Further, the allocation request may include an average CPU usage rate and standard deviation of the VMs to be allocated. When the allocation request includes the average CPU usage rate and standard deviation of the VM to be allocated, the control server 100 allocates a record that associates the VM to be allocated with the average CPU usage rate and the standard deviation. It is added to the target VM table 1500.

また、受付部1701は、現在サーバSに割り当てられているVMの配置変更要求を受け付けてもよい。VMの配置変更の要求は、タスク投入サーバ201から送信されてもよいし、制御サーバ100内で一定時間ごとに発生させてもよい。また、サーバSからのVMの終了通知を、VMの配置変更の要求として受け付けてもよい。これにより、受付部1701は、サーバSへのVMの割り当てを開始するトリガを発生させることができる。受け付けられた要求は、例えば、記憶装置302に記憶される。   The accepting unit 1701 may accept a VM placement change request currently assigned to the server S. The VM placement change request may be transmitted from the task input server 201 or may be generated in the control server 100 at regular intervals. In addition, a VM end notification from the server S may be received as a request to change the VM arrangement. Thereby, the reception unit 1701 can generate a trigger for starting the allocation of the VM to the server S. The accepted request is stored in the storage device 302, for example.

特定部1702は、サーバ群に配置済みの第2種類の仮想マシン群の中から、予測残存実行時間が最長の第2種類の仮想マシンを特定する。特定部1702は、具体的には、例えば、サーバ群の各々から実行中のバッチVMの予測残存実行時間を取得し、予測残存実行時間が最長のバッチVMを特定する。また、特定部1702は、サーバ群の各々から実行中のバッチVMのCPU利用率の変動履歴と実行時間を取得し、予測残存実行時間を算出し、予測残存実行時間が最長のバッチVMを特定してもよい。また、特定部1702は、バッチVMにプログラムの進捗を示す情報を送信するAPIが含まれる場合、APIにより送信された進捗を示す情報から予測残存実行時間を算出し、予測残存実行時間が最長のバッチVMを特定してもよい。   The identifying unit 1702 identifies the second type virtual machine having the longest predicted remaining execution time from the second type virtual machine group that has been arranged in the server group. Specifically, for example, the specifying unit 1702 acquires the predicted remaining execution time of the batch VM being executed from each of the server groups, and specifies the batch VM having the longest predicted remaining execution time. In addition, the specifying unit 1702 acquires the CPU utilization rate fluctuation history and execution time of the batch VM being executed from each server group, calculates the predicted remaining execution time, and identifies the batch VM with the longest predicted remaining execution time. May be. When the batch VM includes an API that transmits information indicating the progress of the program, the specifying unit 1702 calculates the predicted remaining execution time from the information indicating the progress transmitted by the API, and the predicted remaining execution time is the longest. A batch VM may be identified.

これにより、特定部1702は、選択部1703に予測残存時間が最長のバッチVMを配置済みのサーバSを配置先に選択させることができる。結果として、特定部1702は、予測残存時間が最長でないバッチVMに遅れを生じさせず、予測残存時間が最長でないバッチVMの終了により、早期にサーバSのCPUリソースに空きが生じるようにすることができる。   As a result, the specifying unit 1702 can cause the selection unit 1703 to select the server S in which the batch VM having the longest remaining prediction time has been placed as the placement destination. As a result, the specifying unit 1702 does not cause a delay in the batch VM whose predicted remaining time is not the longest, and causes the CPU resource of the server S to be freed early by the termination of the batch VM whose predicted remaining time is not the longest. Can do.

選択部1703は、サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の割当先を選択する。ここで、第1種類の仮想マシンとは、他の装置と双方向通信により所定の処理を実行するVMであり、上述したオンラインVMである。また、第1種類の仮想マシンは、割当対象になるVMであってもよいし、配置済みのVMであってもよい。第2種類の仮想マシンとは、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行するVMであり、上述したバッチVMである。また、第2種類の仮想マシンは、割当対象になるVMであってもよいし、配置済みのVMであってもよい。第1種類の仮想マシンおよび第2種類の仮想マシンは、各々複数個選択されてもよい。   The selection unit 1703 does not have interactive input / output with a first type virtual machine that executes predetermined processing by bidirectional communication with other devices from the server group, and performs predetermined processing by a predetermined time. An allocation destination of a virtual machine group including the second type of virtual machine that executes the standard processing to be performed is selected. Here, the first type of virtual machine is a VM that executes a predetermined process by bidirectional communication with another device, and is the above-described online VM. Further, the first type of virtual machine may be a VM to be allocated or a VM that has been arranged. The second type of virtual machine is a VM that does not have interactive input / output and executes a standard process for performing a predetermined process by a predetermined time, and is the batch VM described above. In addition, the second type of virtual machine may be a VM to be allocated or a VM that has already been arranged. A plurality of first-type virtual machines and second-type virtual machines may be selected.

選択部1703は、具体的には、例えば、サーバ群の中から、オンラインVMとバッチVMとを含むVM群の割当先として、他のサーバSよりもCRAC204による冷却効率がよいサーバSを選択する。CRAC204による冷却効率がよいサーバSとは、例えば、他のサーバSよりもCRAC204との距離が近いサーバSである。これにより、選択部1703は、CRAC204による冷却効率の悪いサーバSにVMを割り振った場合に比較して、CRAC204の消費電力の増加を抑えることができる。   Specifically, for example, the selection unit 1703 selects, from among the server groups, a server S having a cooling efficiency that is higher by the CRAC 204 than the other servers S as an allocation destination of the VM group including the online VM and the batch VM. . The server S with good cooling efficiency by the CRAC 204 is, for example, a server S that is closer to the CRAC 204 than other servers S. As a result, the selection unit 1703 can suppress an increase in power consumption of the CRAC 204 as compared with the case where the VM is allocated to the server S having poor cooling efficiency by the CRAC 204.

また、選択部1703は、具体的には、例えば、第1種類の仮想マシンが配置済みであるサーバSを選択してもよい。選択部1703は、より具体的には、例えば、VM群の中に未割当のバッチVMがある場合、オンラインVMが配置済みのサーバSを選択する。これにより、1つのサーバSに、オンラインVMとバッチVMとが配置される。   For example, the selection unit 1703 may select the server S in which the first type virtual machine has already been arranged. More specifically, for example, when there is an unallocated batch VM in the VM group, the selection unit 1703 selects the server S on which the online VM is already arranged. As a result, the online VM and the batch VM are arranged on one server S.

この場合、選択部1703は、特定部1702によって特定された予測残存実行時間が最長の第2種類の仮想マシンが配置済みのサーバS以外であって、かつ、第1種類の仮想マシンが配置済みであるサーバSを選択してもよい。選択部1703は、より具体的には、例えば、特定されたバッチVMの割当先になるサーバSとして、オンラインVMが配置済みであるサーバSを選択する。これにより、選択部1703は、オンラインVMの割当によって予測残存時間が最長でないバッチVMに遅れを生じさせず、予測残存時間が最長でないバッチVMの終了により、早期にサーバSのCPUリソースに空きが生じるようにすることができる。   In this case, the selection unit 1703 is other than the server S on which the second type virtual machine with the longest predicted remaining execution time specified by the specification unit 1702 is already placed, and the first type virtual machine has already been placed. You may select the server S which is. More specifically, the selection unit 1703 selects, for example, the server S on which the online VM has already been arranged as the server S to which the specified batch VM is assigned. As a result, the selection unit 1703 does not cause a delay in the batch VM whose predicted remaining time is not the longest due to the allocation of the online VM, and the CPU resource of the server S is quickly freed by the termination of the batch VM whose predicted remaining time is not the longest. Can occur.

また、選択部1703は、具体的には、例えば、第2種類の仮想マシンが配置済みであるサーバSを選択してもよい。選択部1703は、より具体的には、例えば、VM群の中に未割当のオンラインVMがある場合、バッチVMが配置済みのサーバSを選択する。これにより、選択部1703は、1つのサーバSに、オンラインVMとバッチVMとが割り当てられるようにする。   For example, the selection unit 1703 may select the server S in which the second type virtual machine has already been arranged. More specifically, for example, when there is an unallocated online VM in the VM group, the selection unit 1703 selects the server S in which the batch VM is already arranged. As a result, the selection unit 1703 assigns an online VM and a batch VM to one server S.

この場合、選択部1703は、特定部1702によって特定された予測残存実行時間が最長の第2種類の仮想マシンが配置済みであるサーバSを選択してもよい。選択部1703は、より具体的には、例えば、VM群の中に未割当のオンラインVMがある場合、特定されたバッチVMが配置済みであるサーバSを選択する。これにより、選択部1703は、オンラインVMの割当によって予測残存時間が最長でないバッチVMに遅れを生じさせず、予測残存時間が最長でないバッチVMの終了により、早期にサーバSのCPUリソースに空きが生じるようにすることができる。選択結果は、例えば、記憶装置302に記憶される。   In this case, the selection unit 1703 may select the server S in which the second type virtual machine having the longest predicted remaining execution time specified by the specification unit 1702 has been placed. More specifically, for example, when there is an unallocated online VM in the VM group, the selection unit 1703 selects the server S in which the specified batch VM is already arranged. As a result, the selection unit 1703 does not cause a delay in the batch VM whose predicted remaining time is not the longest due to the allocation of the online VM, and the CPU resource of the server S is quickly freed by the termination of the batch VM whose predicted remaining time is not the longest. Can occur. The selection result is stored in the storage device 302, for example.

取得部1704は、仮想マシン群を同一のサーバSに割り当てた場合の仮想マシン群の演算処理装置使用率に基づく演算処理装置使用率の予測値を取得する。ここで、演算処理装置とは、上述したCPUである。取得部1704は、具体的には、例えば、割当対象VMテーブル1500から、VM群に含まれる割当対象になるバッチVMの平均CPU利用率と割当対象になるオンラインVMの平均CPU利用率とを取得する。そして、取得部1704は、バッチVMの平均CPU利用率とオンラインVMの平均CPU利用率との和を、予測値として算出する。   The acquisition unit 1704 acquires a predicted value of the arithmetic processing device usage rate based on the arithmetic processing device usage rate of the virtual machine group when the virtual machine group is assigned to the same server S. Here, the arithmetic processing device is the CPU described above. Specifically, for example, the acquisition unit 1704 acquires, from the allocation target VM table 1500, the average CPU usage rate of the batch VM that is the allocation target included in the VM group and the average CPU usage rate of the online VM that is the allocation target. To do. Then, the acquisition unit 1704 calculates the sum of the average CPU usage rate of the batch VM and the average CPU usage rate of the online VM as a predicted value.

ここで、バッチVMの平均CPU利用率とは、例えば、バッチVMを規定終了時刻までに終了することが可能な最小の平均CPU利用率である。オンラインVMの平均CPU利用率とは、オンラインVMのCPU利用率の平均値である。割当対象になるVMの平均CPU利用率や標準偏差は、例えば、上述した割当要求に含まれており、制御サーバ100により割当対象VMテーブル1500に登録されている。これにより、取得部1704は、サーバSにVM群を割り当てた場合に、VM群の中のバッチVMを規定終了時刻までに終了可能な最小の平均CPU利用率を取得することができる。   Here, the average CPU usage rate of the batch VM is, for example, the minimum average CPU usage rate at which the batch VM can be completed by a specified end time. The average CPU usage rate of the online VM is an average value of the CPU usage rate of the online VM. The average CPU usage rate and standard deviation of the VMs to be allocated are included in, for example, the allocation request described above, and are registered in the allocation target VM table 1500 by the control server 100. As a result, when the VM group is allocated to the server S, the acquisition unit 1704 can acquire the minimum average CPU usage rate that allows the batch VM in the VM group to be completed by the specified end time.

また、取得部1704は、具体的には、例えば、割当対象VMテーブル1500から、VM群に含まれる割当対象になるバッチVMの平均CPU利用率を取得する。次に、取得部1704は、配置済みVMテーブル1600から、VM群に含まれる配置済みのオンラインVMの平均CPU利用率を取得する。そして、取得部1704は、バッチVMの平均CPU利用率とオンラインVMの平均CPU利用率との和を、予測値として算出する。   Specifically, the acquisition unit 1704 acquires, for example, the average CPU usage rate of the batch VMs to be allocated included in the VM group from the allocation target VM table 1500. Next, the acquisition unit 1704 acquires the average CPU usage rate of the arranged online VMs included in the VM group from the arranged VM table 1600. Then, the acquisition unit 1704 calculates the sum of the average CPU usage rate of the batch VM and the average CPU usage rate of the online VM as a predicted value.

ここで、配置済みのVMの平均CPU利用率や標準偏差は、例えば、過去に制御サーバ100により割当対象のVMがいずれかのサーバSに割り当てられた場合に、配置済みVMテーブル1600に登録されている。この場合、割当対象VMテーブル1500の割り当てられたVMに関するレコードは削除される。これにより、取得部1704は、オンラインVMが配置済みのサーバSに、割当対象になるバッチVMを割り当てた場合に、割当対象になるバッチVMを規定終了時刻までに終了可能な最小の平均CPU利用率を取得することができる。   Here, the average CPU usage rate and standard deviation of the allocated VM are registered in the allocated VM table 1600 when, for example, the control server 100 has previously allocated the allocation target VM to any server S. ing. In this case, the record related to the allocated VM in the allocation target VM table 1500 is deleted. As a result, when the acquisition unit 1704 allocates the batch VM to be allocated to the server S on which the online VM has been allocated, the minimum average CPU utilization that can end the batch VM to be allocated by the specified end time. Rate can be obtained.

また、取得部1704は、具体的には、例えば、配置済みVMテーブル1600から、VM群に含まれる配置済みのバッチVMの平均CPU利用率を取得する。次に、取得部1704は、割当対象VMテーブル1500から、VM群に含まれる割当対象になるオンラインVMの平均CPU利用率を取得する。そして、取得部1704は、バッチVMの平均CPU利用率とオンラインVMの平均CPU利用率との和を、予測値として算出する。これにより、取得部1704は、バッチVMが配置済みのサーバSに、割当対象になるオンラインVMを割り当てた場合に、配置済みのバッチVMを規定終了時刻までに終了可能な最小の平均CPU利用率を取得することができる。   Specifically, the acquisition unit 1704 acquires, for example, the average CPU usage rate of the arranged batch VMs included in the VM group from the arranged VM table 1600. Next, the acquisition unit 1704 acquires the average CPU usage rate of the online VM that is the allocation target included in the VM group from the allocation target VM table 1500. Then, the acquisition unit 1704 calculates the sum of the average CPU usage rate of the batch VM and the average CPU usage rate of the online VM as a predicted value. As a result, when the acquisition unit 1704 allocates an online VM to be allocated to the server S in which the batch VM has been allocated, the minimum average CPU usage rate that can end the allocated batch VM by the specified end time. Can be obtained.

また、取得部1704は、具体的には、例えば、割当対象VMテーブル1500から、オンラインVMの平均CPU利用率と、オンラインVMのCPU利用率のσ×nとを取得する。そして、取得部1704は、オンラインVMの平均CPU利用率と、オンラインVMのCPU利用率のσ×cと、の和を、予測値として算出する。ここで、σは、オンラインVMのCPU利用率の正規分布における標準偏差である。nは、標準偏差に乗算する定数である。これにより、取得部1704は、割当対象になるオンラインVMが高負荷になったときのCPU利用率を取得することができる。   Specifically, the acquisition unit 1704 acquires, for example, the average CPU usage rate of the online VM and σ × n of the CPU usage rate of the online VM from the allocation target VM table 1500. Then, the acquiring unit 1704 calculates the sum of the average CPU usage rate of the online VM and the CPU usage rate σ × c of the online VM as a predicted value. Here, σ is a standard deviation in the normal distribution of the CPU usage rate of the online VM. n is a constant for multiplying the standard deviation. As a result, the acquisition unit 1704 can acquire the CPU usage rate when the online VM to be allocated becomes a high load.

また、取得部1704は、具体的には、例えば、配置済みVMテーブル1600から、オンラインVMの平均CPU利用率と、オンラインVMのCPU利用率のσ×nとを取得する。そして、取得部1704は、オンラインVMの平均CPU利用率と、オンラインVMのCPU利用率のσ×cと、の和を、予測値として算出する。これにより、取得部1704は、配置済みのオンラインVMが高負荷になったときのCPU利用率を取得することができる。   Specifically, the acquisition unit 1704 acquires, for example, the average CPU usage rate of the online VM and σ × n of the CPU usage rate of the online VM from the arranged VM table 1600. Then, the acquiring unit 1704 calculates the sum of the average CPU usage rate of the online VM and the CPU usage rate σ × c of the online VM as a predicted value. As a result, the acquisition unit 1704 can acquire the CPU usage rate when the placed online VM becomes highly loaded.

算出されたVM群の複数のバッチVMの平均CPU利用率とVM群の複数のオンラインVMの平均CPU利用率との和は、例えば、記憶装置302に記憶される。また、オンラインVMの平均CPU利用率とオンラインVMのCPU利用率のσ×nとの和も、例えば、記憶装置302に記憶される。   The sum of the calculated average CPU usage rate of the plurality of batch VMs of the VM group and the average CPU usage rate of the plurality of online VMs of the VM group is stored in the storage device 302, for example. Also, the sum of the average CPU usage rate of the online VM and the CPU usage rate σ × n of the online VM is also stored in the storage device 302, for example.

判断部1705は、取得部1704によって取得された予測値が、選択部1703によって選択されたサーバSの演算処理装置数に基づくしきい値以下であるか否かを判断する。しきい値とは、サーバSでのCPU利用率の上限であり、上述したPiである。Piは、サーバS内のCPUの数と1CPU当たりのCPU利用率の上限とを乗算した値である。Piとしては、例えば、(CPUの数×90%)−10%が採用される。 The determination unit 1705 determines whether or not the predicted value acquired by the acquisition unit 1704 is equal to or less than a threshold value based on the number of arithmetic processing devices of the server S selected by the selection unit 1703. The threshold value is the upper limit of the CPU usage rate in the server S, and is the aforementioned Pi . P i is a value obtained by multiplying the upper limit of the CPU utilization of the number and 1CPU per CPU in the server S. The P i, for example, (number × 90% of the CPU) - 10% is employed.

判断部1705は、具体的には、例えば、VM群の複数のバッチVMの平均CPU利用率と、VM群の複数のオンラインVMの平均CPU利用率と、の和が、Pi以下であるか否かを判断する。これにより、判断部1705は、複数のオンラインVMのCPU利用率を考慮しても、複数のバッチVMの各々を規定終了時刻までに終了することが可能な最小の平均CPU利用率を、サーバSのCPU利用率上限以下に確保できるか否かを判断することができる。 Specifically, for example, the determination unit 1705 determines whether the sum of the average CPU usage rate of the plurality of batch VMs in the VM group and the average CPU usage rate of the plurality of online VMs in the VM group is Pi or less. Judge whether or not. As a result, the determination unit 1705 determines the minimum average CPU usage rate that allows each of the batch VMs to be completed by the specified end time even if the CPU usage rates of the multiple online VMs are considered. It can be determined whether or not the CPU utilization rate upper limit can be secured.

また、判断部1705は、具体的には、例えば、オンラインVMの平均CPU利用率と、オンラインVMのCPU利用率のσ×nと、の和が、Pi以下であるか否かを判断する。これにより、判断部1705は、同時に複数のオンラインVMが高負荷になった場合であっても、オンラインVMのCPU利用率の和が、サーバSのCPU利用率上限以下になるか否かを判断することができる。判断結果は、例えば、記憶装置302に記憶される。 Further, determination unit 1705, specifically, for example, an average CPU utilization line VM, and sigma × n of the CPU utilization of online VM, the sum of, determining whether a P i less . Accordingly, the determination unit 1705 determines whether or not the sum of the CPU utilization rates of the online VMs is equal to or less than the upper limit of the CPU utilization rate of the server S, even when a plurality of online VMs are simultaneously loaded. can do. The determination result is stored in the storage device 302, for example.

割当部1706は、判断部1705によってしきい値以下と判断された場合、第1種類の仮想マシンを第2種類の仮想マシンよりも優先実行するように、選択されたサーバSに仮想マシン群を割り当てる。割当部1706は、具体的には、例えば、判断部1705によって閾値以下と判断された場合、選択されたサーバSに、VM群の実行要求を送信する。ここで、実行要求には、VM群の各々の実行ファイルが含まれる。また、実行要求には、VM群の中のオンラインVMの実行の優先度を、バッチVMよりも高くする旨を示す通知が含まれる。これにより、割当部1706は、割当対象になるバッチVMとオンラインVMとをサーバSに割り当てた場合に、割り当てたオンラインVMの性能低下を回避し、割り当てたバッチVMを規定終了時刻までに終了させることができる。   When the determination unit 1705 determines that the allocation unit 1706 is equal to or less than the threshold value, the allocation unit 1706 assigns the virtual machine group to the selected server S so that the first type virtual machine is preferentially executed over the second type virtual machine. assign. Specifically, for example, when the determination unit 1705 determines that the allocation unit 1706 is equal to or less than the threshold value, the allocation unit 1706 transmits a VM group execution request to the selected server S. Here, the execution request includes each execution file of the VM group. The execution request includes a notification indicating that the priority of execution of the online VM in the VM group is higher than that of the batch VM. As a result, when the allocation unit 1706 allocates the batch VM and the online VM to be allocated to the server S, the allocation unit 1706 avoids the performance degradation of the allocated online VM and ends the allocated batch VM by the specified end time. be able to.

また、実行要求には、VM群の各々を、サーバSの同一CPUにより実行させる指示を含んでもよい。これにより、割当部1706は、VM群の各々をサーバSの同一CPUにより実行させる指示を含む実行要求をサーバSに送信することにより、サーバSにおいて一つのCPUによりVM群を実行させ、サーバSにCPUリソースを効率よく利用させることができる。   The execution request may include an instruction for causing each VM group to be executed by the same CPU of the server S. As a result, the allocation unit 1706 transmits an execution request including an instruction to execute each VM group by the same CPU of the server S to the server S, thereby causing the CPU group to execute the VM group in the server S. CPU resources can be used efficiently.

割当部1706は、VM群をサーバSに割り当てると、割当対象VMテーブル1500のVM群の各々に関するレコードを参照し、配置済みVMテーブル1600にVM群の各々に関するレコードを登録する。また、割当部1706は、配置済みVMテーブル1600に登録した後、割当対象VMテーブル1500のVM群の各々に関するレコードを削除する。また、割当部1706は、初期配置テーブル1300の割り当てたサーバSに関するレコードを更新する。これにより、割当部1706は、新たにVMを割り当てる場合、配置済みVMテーブル1500から、割当部1706によって割り当てられたVMの平均CPU利用率や標準偏差を取得できる。   When the allocating unit 1706 allocates the VM group to the server S, the allocating unit 1706 refers to the record regarding each VM group in the allocation target VM table 1500 and registers the record regarding each VM group in the arranged VM table 1600. In addition, the allocating unit 1706 deletes the record relating to each VM group in the allocation target VM table 1500 after registering in the arranged VM table 1600. Also, the assignment unit 1706 updates a record related to the assigned server S in the initial arrangement table 1300. Thereby, when allocating a new VM, the allocation unit 1706 can acquire the average CPU usage rate and standard deviation of the VM allocated by the allocation unit 1706 from the allocated VM table 1500.

また、割当部1706は、具体的には、例えば、バッチVMが配置済みであるサーバSが選択された場合、選択されたサーバSにオンラインVMの実行要求を送信する。ここで、実行要求には、選択されたサーバSに配置済みのバッチVMよりも、実行要求の対象のオンラインVMの実行の優先度を高くする通知が含まれる。サーバSは、通知に従って、オンラインVMの実行には優先してCPUリソースを利用し、バッチVMの実行にはオンラインVMの実行に利用されていない余りのCPUリソースを利用する。これにより、割当部1706は、割当対象になるオンラインVMを、バッチVMが配置済みのサーバSに割り当てた場合に、割り当てたオンラインVMの性能低下を回避し、配置済みのバッチVMを規定終了時刻までに終了させることができる。   In addition, for example, when the server S in which the batch VM is already arranged is selected, the assignment unit 1706 transmits an online VM execution request to the selected server S, for example. Here, the execution request includes a notification for making the execution priority of the online VM subject to the execution request higher than the batch VM already arranged in the selected server S. In accordance with the notification, the server S uses CPU resources preferentially for execution of online VMs, and uses excess CPU resources not used for execution of online VMs for execution of batch VMs. As a result, when the allocation unit 1706 allocates the online VM to be allocated to the server S to which the batch VM has been allocated, the allocation unit 1706 avoids the performance degradation of the allocated online VM, and sets the allocated batch VM to the specified end time. Can be finished by

また、実行要求には、サーバSのバッチVMが配置済みのCPUにより、割り当てたオンラインVMを実行させる指示を含んでもよい。これにより、割当部1706は、サーバSにおいて、バッチVMが配置済みのCPUにより、割当対象になるオンラインVMを実行させ、サーバSにCPUリソースを効率よく利用させることができる。   Further, the execution request may include an instruction to execute the allocated online VM by the CPU in which the batch VM of the server S is already arranged. As a result, the allocating unit 1706 can cause the server S to execute the online VM to be allocated by the CPU on which the batch VM has already been allocated, and allow the server S to efficiently use CPU resources.

また、割当部1706は、具体的には、例えば、オンラインVMが配置済みであるサーバSが選択された場合、選択されたサーバSにバッチVMの実行要求を送信する。サーバSは、通知に従って、オンラインVMの実行には優先してCPUリソースを利用し、バッチVMの実行にはオンラインVMの実行に利用されていない余りのCPUリソースを利用する。これにより、割当部1706は、割当対象になるバッチVMを、オンラインVMが配置済みのサーバSに割り当てた場合に、配置済みのオンラインVMの性能低下を回避し、割り当てたバッチVMを規定終了時刻までに終了させることができる。   In addition, for example, when the server S in which the online VM has already been selected is selected, the allocating unit 1706 transmits a batch VM execution request to the selected server S, for example. In accordance with the notification, the server S uses CPU resources preferentially for execution of online VMs, and uses excess CPU resources not used for execution of online VMs for execution of batch VMs. As a result, when the allocation unit 1706 allocates the batch VM to be allocated to the server S to which the online VM has been allocated, the allocation unit 1706 avoids the performance degradation of the allocated online VM and sets the allocated batch VM to the specified end time. Can be finished by

また、実行要求には、サーバSのオンラインVMが配置済みのCPUにより、割り当てたバッチVMを実行させる指示を含んでもよい。これにより、割当部1706は、サーバSのオンラインVMが配置済みのCPUにより、割当対象になるバッチVMを実行させ、サーバSにCPUリソースを効率よく利用させることができる。   Further, the execution request may include an instruction to execute the assigned batch VM by the CPU on which the online VM of the server S has been arranged. As a result, the allocating unit 1706 can cause the CPU on which the online VM of the server S has been allocated to execute the batch VM to be allocated and allow the server S to efficiently use CPU resources.

検出部1707は、サーバ群のうち、いずれのVMも割り当てられていないサーバSを検出する。検出部1707は、具体的には、例えば、一定時間ごとに、サーバS群の各々にVMの実行状況を要求し、サーバS群の各々のVMの実行状況を取得することによりいずれのVMも割り当てられていないサーバSを検出する。また、検出部1707は、割当部1706による割当の結果、配置済みのVMが他のサーバSに割り振り直されたサーバSのVMの実行状況を取得してもよい。検出結果は、例えば、記憶装置302に記憶される。   The detection unit 1707 detects a server S to which no VM is assigned from the server group. Specifically, for example, the detection unit 1707 requests VM execution statuses from each of the server S groups at regular time intervals, and acquires any VM execution status by acquiring the VM execution status of each server S group. An unassigned server S is detected. In addition, the detection unit 1707 may acquire the execution status of the VM of the server S in which the allocated VM is reallocated to another server S as a result of the allocation by the allocation unit 1706. The detection result is stored in the storage device 302, for example.

制御部1708は、サーバ群のうちいずれの仮想マシンも割り当てられていないサーバSの消費電力が低下するように制御する。制御部1708は、具体的には、例えば、検出部1707によって検出されたサーバSへの電力供給を停止する要求を、当該サーバSへの電力供給を制御するUPS206に送信する。これにより、制御部1708は、サーバSの消費電力を低減することができる。   The control unit 1708 performs control so that the power consumption of the server S to which no virtual machine is assigned is reduced. Specifically, for example, the control unit 1708 transmits a request for stopping power supply to the server S detected by the detection unit 1707 to the UPS 206 that controls power supply to the server S. Accordingly, the control unit 1708 can reduce the power consumption of the server S.

また、選択部1703と取得部1704と判断部1705との機能は、上記式(1)および式(2)を制約条件に含む混合整数計画問題を解くことにより実現することができる。また、混合整数計画問題を解く際にソルバを利用してもよい。混合整数計画問題を解くソルバとしては、例えば、GLPK、SYMPHONY、Gurobi、CPLEXがある。   The functions of the selection unit 1703, the acquisition unit 1704, and the determination unit 1705 can be realized by solving a mixed integer programming problem that includes the above formulas (1) and (2) as constraints. A solver may also be used when solving a mixed integer programming problem. Examples of solvers that solve the mixed integer programming problem include GLPK, SYMPHONY, Gurobi, and CPLEX.

具体的には、例えば、混合整数計画問題は下記式(5)の最小化関数と、下記式(6)〜式(15)の制約条件により表される。混合整数計画問題の式(5)〜式(15)の各変数の値は、例えば、予め記憶装置502に記憶されている。   Specifically, for example, the mixed integer programming problem is expressed by the minimizing function of the following equation (5) and the constraint conditions of the following equations (6) to (15). The values of the variables in the mixed integer programming problems (5) to (15) are stored in the storage device 502 in advance, for example.

Figure 0005978673
Figure 0005978673

上記式(5)は、混合整数計画問題における最小化関数を示す。制御サーバ100は、混合整数計画問題を解くことで、下記式(6)〜式(15)の制約条件を満たす範囲で、最小化関数を最小化する解を求めることができる。上記式(5)は、具体的には、サーバルームでの消費電力を示す。そのため、制御サーバ100は、混合整数計画問題を解くことにより、サーバルームでの消費電力を最小化する解を求めることができる。   Equation (5) above shows the minimizing function in the mixed integer programming problem. The control server 100 can obtain a solution that minimizes the minimizing function within the range satisfying the constraint conditions of the following formulas (6) to (15) by solving the mixed integer programming problem. The above formula (5) specifically indicates the power consumption in the server room. Therefore, the control server 100 can obtain a solution that minimizes the power consumption in the server room by solving the mixed integer programming problem.

ここで、Nは、サーバルームのラック203の数である。iは、ラック203の番号であり、1からNの数である。Sは、ラック203内のサーバSの数である。jは、ラック203のサーバSの番号であり、1〜Sの数である。Mは、割当対象になるVMの数である。nは、VMの番号であり、1〜Mの数である。Cは、CRAC204の数である。kは、CRAC204の番号であり、1〜Cの数である。   Here, N is the number of racks 203 in the server room. i is the number of the rack 203 and is a number from 1 to N. S is the number of servers S in the rack 203. j is the number of the server S of the rack 203, and is a number from 1 to S. M is the number of VMs to be allocated. n is a VM number, which is a number from 1 to M. C is the number of CRACs 204. k is the number of the CRAC 204 and is a number from 1 to C.

ηiは、ラック203(i)のUPS206で常時消費される電力である。εiは、ラック203(i)のUPS206が、ラック203(i)のサーバSの消費電力に対して、何倍の電力を消費するかを示す比例係数である。αijは、サーバS(i,j)で常時消費される電力である。vijは、サーバS(i,j)の電源がON状態かOFF状態かを示す変数であり、ON状態のとき「1」となり、OFF状態のとき「0」となる。 η i is the power that is constantly consumed by the UPS 206 of the rack 203 (i). ε i is a proportionality coefficient indicating how many times the UPS 206 of the rack 203 (i) consumes the power of the server S of the rack 203 (i). α ij is the power that is constantly consumed by the server S (i, j). v ij is a variable indicating whether the power source of the server S (i, j) is ON or OFF, and is “1” when the server S (i, j) is ON, and “0” when it is OFF.

βijは、サーバS(i,j)でのVM1つ当たりの消費電力である。Wij 0は、サーバSに配置済みのVMの数である。τnは、割当対象になるVMの数である。xn,i,jは、サーバS(i,j)にVM(n)が割り当てられているか否かを示す変数であり、VM(n)が割り当てられているとき「1」となり、VM(n)が割り当てられていないとき「0」となる。 β ij is the power consumption per VM in the server S (i, j). W ij 0 is the number of VMs already arranged in the server S. τ n is the number of VMs to be allocated. x n, i, j is a variable indicating whether or not VM (n) is assigned to the server S (i, j), and becomes “1” when VM (n) is assigned. It is “0” when n) is not assigned.

λkは、CRAC204(k)で常時消費される電力である。μkは、CRAC204(k)が、CRAC204(k)に流入する熱流量に対し、何倍の電力を消費するかを示す比例係数である。qin,CRAC Kは、CRAC204(k)に流入する熱流量である。κijは、Chiller205(k)が、Chiller205(k)に流入する熱流量に対し、何倍の電力を消費するかを示す比例係数である。qout,CRAC Kは、CRAC204(k)から流出する熱流量である。 λ k is the power that is constantly consumed by the CRAC 204 (k). μ k is a proportionality coefficient indicating how many times power is consumed by the CRAC 204 (k) with respect to the heat flow rate flowing into the CRAC 204 (k). q in, CRAC K is a heat flow rate flowing into the CRAC 204 (k). kappa ij is, Chiller205 (k) is, with respect to the heat flow flowing into Chiller205 (k), is a proportionality coefficient that indicates to consume many times the power. q out, CRAC K is a heat flow rate flowing out of CRAC 204 (k).

より具体的には、上記式(5)のΣj=1 Sαijijは、ラック203(i)内の複数のサーバSの常時消費電力の和を示す。上記式(5)のΣj=1 Sβijij 0は、ラック203(i)内の複数のサーバSに配置済みのVMの消費電力の和を示す。上記式(5)のΣj=1 S(βijΣn=1 Mτnn,i,j)は、ラック203(i)内の複数のサーバSに割り当てられたVMの消費電力の和を示す。従って、上記式(5)のΣj=1 S(αijij+βij(Wij 0+Σn=1 Mτnn,i,j))は、ラック203(i)内の複数のサーバSの総消費電力を示す。 More specifically, Σ j = 1 S α ij v ij in the above equation (5) represents the sum of the constant power consumption of the plurality of servers S in the rack 203 (i). In the above equation (5), Σ j = 1 S β ij W ij 0 represents the sum of the power consumption of the VMs already arranged in the plurality of servers S in the rack 203 (i). Σ j = 1 Sij Σ n = 1 M τ n x n, i, j ) in the above equation (5) is the power consumption of the VM allocated to the plurality of servers S in the rack 203 (i). Indicates the sum. Therefore, Σ j = 1 Sij v ij + β ij (W ij 0 + Σ n = 1 M τ n x n, i, j )) in the above equation (5) is equal to a plurality of racks 203 (i). The total power consumption of the server S is shown.

上記式(5)のεi(Σj=1 S(αijij+βij(Wij 0+Σn=1 Mτnn,i,j)))は、ラック203(i)内のUPS206の消費電力を示す。従って、Σi=1 N(ηi+(1+εi)(Σj=1 S(αijij+βij(Wij 0+Σn=1 Mτnn,i,j))))は、サーバルーム内の複数のラック203の消費電力の和を示す。 In the above equation (5), ε ij = 1 Sij v ij + β ij (W ij 0 + Σ n = 1 M τ n x n, i, j ))) in the rack 203 (i) The power consumption of the UPS 206 is shown. Therefore, Σ i = 1 Ni + (1 + ε i ) (Σ j = 1 Sij v ij + β ij (W ij 0 + Σ n = 1 M τ n x n, i, j )))) The sum of power consumption of a plurality of racks 203 in the server room is shown.

また、上記式(5)のΣk=1 C(λk+μkin,CRAC K)は、CRAC204がサーバSの冷却に消費する電力の和を示す。上記式(5)のΣk=1 C(κkout,CRAC K)は、CRAC204が流出した熱流を、Chiller205が排気するために消費する電力の和を示す。従って、Σk=1 C(λk+μkin,CRAC K)+Σk=1 C(κkout,CRAC K)は、サーバルーム内のサーバSの冷却のための総消費電力を示す。 In addition, Σ k = 1 Ck + μ k q in, CRAC K ) in the above equation (5) represents the sum of power consumed by the CRAC 204 for cooling the server S. Σ k = 1 Ck q out, CRAC K ) in the above equation (5) indicates the sum of electric power consumed by the chiller 205 for exhausting the heat flow that has flowed out of the CRAC 204. Accordingly, Σ k = 1 Ck + μ k q in, CRAC K ) + Σ k = 1 Ck q out, CRAC K ) indicates the total power consumption for cooling the server S in the server room. .

従って、上記式(5)はサーバルームの総消費電力を示している。そのため、制御サーバ100は、整数計画問題を解くことにより、サーバルームでの消費電力を最小化する解を求めることができる。   Therefore, the above formula (5) indicates the total power consumption of the server room. Therefore, the control server 100 can obtain a solution that minimizes power consumption in the server room by solving the integer programming problem.

Figure 0005978673
Figure 0005978673

上記式(6)は、VMnが、サーバS(i,j)に割り当てられているか否かを示す変数xn,i,jが、「0」か「1」かの2値をとる離散変数であることを示す制約条件である。上記式(6)の制約条件により、VMnが、サーバS(i,j)に割り当てられているか否かを示す変数xn,i,jが「0,1」以外の値をとらないようにする。 In the above equation (6), the variable x n, i, j indicating whether or not VM n is assigned to the server S (i, j) is a discrete value that takes a binary value of “0” or “1”. It is a constraint condition indicating that it is a variable. The variable x n, i, j indicating whether or not VM n is assigned to the server S (i, j) does not take a value other than “0,1” due to the constraint condition of the above equation (6). To.

Figure 0005978673
Figure 0005978673

上記式(7)は、サーバS(i,j)の電源がON状態かOFF状態かを示す変数vijが、「0」か「1」かの2値をとる離散変数であることを示す制約条件である。上記式(7)の制約条件により、サーバS(i,j)の電源がON状態かOFF状態かを示す変数vijが、「0,1」以外の値をとらないようにする。 The above equation (7) indicates that the variable v ij indicating whether the power source of the server S (i, j) is ON or OFF is a discrete variable that takes a binary value of “0” or “1”. It is a constraint condition. The variable v ij indicating whether the power source of the server S (i, j) is in an ON state or an OFF state is prevented from taking a value other than “0,1” by the constraint condition of the above equation (7).

Figure 0005978673
Figure 0005978673

上記式(8)は、ラック203(i)にVMが割り当てられているか否かを示す変数θiが、「0」か「1」かの2値をとる離散変数であることを示す制約条件である。上記式(8)の制約条件により、ラック203(i)にVMが割り当てられているか否かを示す変数θiが、「0,1」以外の値をとらないようにする。 The above equation (8) is a constraint condition indicating that the variable θ i indicating whether or not the VM is allocated to the rack 203 (i) is a discrete variable that takes a binary value of “0” or “1”. It is. The variable θ i indicating whether or not the VM is allocated to the rack 203 (i) is prevented from taking a value other than “0, 1” by the constraint condition of the above equation (8).

Figure 0005978673
Figure 0005978673

上記式(9)は、サーバルームのサーバS群の各々のサーバSに関する変数xn,i,jの総和が「1」になることを示す制約条件である。そのため、各々のサーバSのうち、いずれか1つのサーバSに関する変数xn,i,jが「1」になり、残余のサーバSに関する変数xn,i,jが「0」になる。換言すれば、上記式(9)の制約条件は、VMnはいずれか1つのサーバSに割り当てられることを示し、2つ以上のサーバSに割り当てられる場合やサーバSに割り当てられない場合がないことを示す。 The above equation (9) is a constraint indicating that the sum of the variables x n, i, j related to each server S in the server S group in the server room is “1”. Therefore, among each server S, the variable x n, i, j related to any one server S becomes “1”, and the variable x n, i, j related to the remaining server S becomes “0”. In other words, the constraint condition of the above formula (9) indicates that VM n is assigned to any one server S, and there is no case where it is assigned to two or more servers S or not assigned to servers S. It shows that.

Figure 0005978673
Figure 0005978673

上記式(10)は、上記式(1)に対応する制約条件であり、バッチVMを規定終了時刻までに終了するための条件を示す。ここで、M0,i,jは、配置済みのVMの数である。τ0,i,j,mは、サーバS(i,j)に配置済みのVM(m)の平均CPU利用率である。τnは、割当対象になるVM(n)の平均CPU利用率である。γijは、サーバS(i,j)が、基準になるサーバSの何倍の性能があるかを示す比例係数である。Lijは、サーバS(i,j)のCPU利用率の上限である。 The above equation (10) is a constraint condition corresponding to the above equation (1), and indicates a condition for ending the batch VM by the specified end time. Here, M 0, i, j is the number of allocated VMs. τ 0, i, j, m is the average CPU utilization of the VM (m) that has already been placed in the server S (i, j). τ n is the average CPU usage rate of the VM (n) to be allocated. γ ij is a proportional coefficient indicating how many times the performance of the server S (i, j) is higher than that of the reference server S. L ij is the upper limit of the CPU usage rate of the server S (i, j).

上記式(10)の条件は、具体的には、複数のオンラインVMの各々の平均CPU利用率を考慮しても、複数のバッチVMの各々を規定終了時刻までに終了することが可能な最小の平均CPU利用率を、サーバSのCPU利用率上限以下に確保できることを示す。上記式(1)の制約条件により、バッチVMを規定終了時刻までに終了することができる。   Specifically, the condition of the above formula (10) is the minimum that can finish each of the plurality of batch VMs by the predetermined end time even in consideration of the average CPU utilization rate of each of the plurality of online VMs. It is shown that the average CPU usage rate can be secured below the CPU usage rate upper limit of the server S. The batch VM can be completed by the specified end time due to the constraint condition of the above equation (1).

Figure 0005978673
Figure 0005978673

上記式(11)は、上記式(2)に対応する制約条件の式であり、オンラインVMの性能低下を回避するための条件を示す。ここで、a0,i,j,mは、サーバS(i,j)に配置済みのオンラインVMの数であり、M0,i,j以下の数である。aは、割当対象になるオンラインVMの数であり、M以下の数である。 The above equation (11) is a constraint equation corresponding to the above equation (2), and indicates a condition for avoiding the performance degradation of the online VM. Here, a 0, i, j, m is the number of online VMs already placed in the server S (i, j), and is a number less than or equal to M 0, i, j . a is the number of online VMs to be allocated, and is a number equal to or less than M.

σ0,i,j,mは、サーバS(i,j)に配置済みのオンラインVM(m)のCPU利用率の正規分布における標準偏差である。cは、標準偏差に乗算する定数である。従って、τ0,i,j,m+σ0,i,j,m×cは、サーバS(i,j)に配置済みのオンラインVM(m)が同時に高負荷になったときのCPU利用率である。 σ 0, i, j, m is a standard deviation in the normal distribution of the CPU utilization rate of the online VM (m) that has already been arranged in the server S (i, j). c is a constant for multiplying the standard deviation. Therefore, τ 0, i, j, m + σ 0, i, j, m × c is the CPU utilization rate when the online VM (m) placed in the server S (i, j) is simultaneously subjected to a high load. It is.

σnは、割当対象になるオンラインVM(n)のCPU利用率の正規分布における標準偏差である。従って、xn,i,j(τn+σn×c)は、割当対象になるオンラインVM(n)が高負荷になったときのCPU利用率である。 σ n is a standard deviation in the normal distribution of the CPU usage rate of the online VM (n) to be allocated. Therefore, x n, i, jn + σ n × c) is the CPU utilization rate when the online VM (n) to be allocated becomes a high load.

上記式(2)の条件は、具体的には、複数のオンラインVMが同時に高負荷になった場合であっても、オンラインVMのCPU利用率の和が、サーバSのCPU利用率上限以下になることを示す。上記式(2)の制約条件により、オンラインVM同士の競合が回避され、オンラインVMの性能低下が回避される。   Specifically, the condition of the above formula (2) is that the sum of the CPU utilization rates of the online VMs is equal to or less than the upper limit of the CPU utilization rate of the server S even when a plurality of online VMs are simultaneously subjected to a high load. It shows that it becomes. Due to the constraint condition of the above equation (2), competition between online VMs is avoided and performance degradation of online VMs is avoided.

Figure 0005978673
Figure 0005978673

上記式(12)は、ラック203(i)に割り当てられるVMの数が割当対象になるVMの数M以下であることを示す制約条件である。   The above equation (12) is a constraint condition indicating that the number of VMs allocated to the rack 203 (i) is equal to or less than the number M of VMs to be allocated.

Figure 0005978673
Figure 0005978673

Figure 0005978673
Figure 0005978673

Figure 0005978673
Figure 0005978673

上記式(13)〜式(15)は、サーバルーム内の冷却状態に関する制約条件である。上記式(13)〜式(15)の制約条件により、冷却不十分なサーバSがなくなるようにすることができる。上記式(13)〜式(15)の各変数の値は、例えば、記憶装置502に記憶されている。   The above formulas (13) to (15) are constraints regarding the cooling state in the server room. Due to the constraints of the above formulas (13) to (15), it is possible to eliminate the server S with insufficient cooling. The values of the variables in the above formulas (13) to (15) are stored in the storage device 502, for example.

また、制御サーバ100は、サーバルームでのCRAC204の消費電力を考慮せず、サーバルームでのサーバSの総消費電力を低減することもできる。この場合、混合整数計画問題について、上記式(5)のΣk=1 C(λk+μkin,CRAC K)+Σk=1 C(κkout,CRAC K)、および上記式(13)〜式(15)は削除される。 Further, the control server 100 can reduce the total power consumption of the server S in the server room without considering the power consumption of the CRAC 204 in the server room. In this case, for the mixed integer programming problem, Σ k = 1 Ck + μ k q in, CRAC K ) + Σ k = 1 Ck q out, CRAC K ) in the above equation (5) and the above equation ( 13) to (15) are deleted.

(サーバSの機能的構成例)
次に、サーバSの機能的構成例について説明する。図18は、サーバSの機能的構成例を示すブロック図である。サーバSは、受付部1801と、決定部1802と、割当部1803と、制御部1804と、を含む構成である。受付部1801〜制御部1804は、図3に示した記憶装置302に記憶されたプログラムをCPU301に実行させることにより、または、通信装置305により、その機能を実現する。
(Functional configuration example of server S)
Next, a functional configuration example of the server S will be described. FIG. 18 is a block diagram illustrating a functional configuration example of the server S. The server S is configured to include a reception unit 1801, a determination unit 1802, an allocation unit 1803, and a control unit 1804. The accepting unit 1801 to the control unit 1804 realize the functions by causing the CPU 301 to execute the program stored in the storage device 302 illustrated in FIG. 3 or the communication device 305.

受付部1801は、具体的には、例えば、制御サーバ100から自装置に送信されたVM群の実行要求を受け付ける。ここで、実行要求には、VM群の各々の実行ファイルが含まれる。また、実行要求には、VM群の中のオンラインVMの実行の優先度を、バッチVMよりも高くする旨を示す通知が含まれる。   Specifically, the reception unit 1801 receives, for example, a VM group execution request transmitted from the control server 100 to the own device. Here, the execution request includes each execution file of the VM group. The execution request includes a notification indicating that the priority of execution of the online VM in the VM group is higher than that of the batch VM.

受付部1801は、より具体的には、例えば、自装置に割り当てられ、同時に実行されるオンラインVMとバッチVMとの実行要求を受け付ける。ここで、オンラインVMとバッチVMとは、自装置において同時に実行した場合に、上記式(10)および式(11)の制約条件を満たすことができるVM群である。また、実行要求には、VM群の配置先のCPUを指定する情報が含まれてもよい。これにより、受付部1801は、自装置において同時に実行しても、性能低下を回避することができるオンラインVMと、規定終了時刻までに終了させることができるバッチVMと、の処理を開始するトリガを発生させることができる。   More specifically, the accepting unit 1801 accepts, for example, execution requests for an online VM and a batch VM that are assigned to the own device and are executed simultaneously. Here, the online VM and the batch VM are VM groups that can satisfy the constraint conditions of the above formulas (10) and (11) when executed simultaneously in the own apparatus. Further, the execution request may include information for designating a CPU to which the VM group is arranged. Thereby, the reception unit 1801 triggers to start the processing of the online VM that can avoid the performance degradation and the batch VM that can be completed by the specified end time even if the reception unit 1801 executes simultaneously in the own device. Can be generated.

また、受付部1801は、自装置に配置済みのオンラインVMと同時に実行されるバッチVMの実行要求を受け付けてもよい。また、実行要求には、VM群の配置先になるオンラインVMが配置済みのCPUを指定する情報が含まれてもよい。これにより、受付部1801は、自装置において配置済みのオンラインVMと同時に実行しても、配置済みのオンラインVMが性能低下を生じず、かつ、規定終了時刻までに終了させることができるバッチVMの処理を開始するトリガを発生させることができる。   The accepting unit 1801 may accept an execution request for a batch VM that is executed at the same time as an online VM that has already been placed in the own device. In addition, the execution request may include information for designating a CPU in which an online VM that is the destination of the VM group has already been placed. As a result, even if the reception unit 1801 executes the online VM that has already been arranged in its own device, the online VM that has already been arranged does not cause performance degradation, and the batch VM that can be terminated by the specified end time. A trigger to start processing can be generated.

また、受付部1801は、自装置に配置済みのバッチVMと同時に実行されるオンラインVMの実行要求を受け付けてもよい。また、実行要求には、VM群の配置先になるバッチVMが配置済みのCPUを指定する情報が含まれてもよい。ここで、オンラインVMとバッチVMとは、自装置において同時に実行した場合に、上記式(10)および式(11)の制約条件を満たすことができるVM群である。これにより、受付部1801は、自装置において配置済みのバッチVMと同時に実行しても、配置済みのバッチVMが規定終了時刻までに終了し、かつ、性能低下を回避することができるオンラインVMの処理を開始するトリガを発生させることができる。   In addition, the reception unit 1801 may receive an execution request for an online VM that is executed simultaneously with the batch VM that has been arranged in the own device. In addition, the execution request may include information for designating a CPU in which a batch VM that is a placement destination of the VM group has been placed. Here, the online VM and the batch VM are VM groups that can satisfy the constraint conditions of the above formulas (10) and (11) when executed simultaneously in the own apparatus. As a result, even if the reception unit 1801 executes the batch VM at the same time as the allocated batch VM in its own device, the allocated batch VM is completed by the specified end time, and the online VM that can avoid performance degradation can be avoided. A trigger to start processing can be generated.

決定部1802は、仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定する。ここで、仮想マシン群は、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む。演算処理装置とは、CPUである。決定部1802は、具体的には、例えば、VM群の配置先を、複数のCPUの中で、VMを配置済みのCPUに決定する。また、決定部1802は、実行要求に配置先のCPUを指定する情報が含まれる場合、当該情報が示すCPUを配置先に決定してもよい。これにより、決定部1802は、同一CPUによりVM群を実行し、CPUリソースを効率よく利用することができる。   The determining unit 1802 determines the placement destination of the virtual machine group as one of the plurality of arithmetic processing devices so as to be within the processing capability of the arithmetic processing device. Here, the virtual machine group includes a first type virtual machine that executes a predetermined process by bidirectional communication with another device, and a fixed process that performs a predetermined process by a predetermined time without interactive input / output And a second type of virtual machine. The arithmetic processing unit is a CPU. Specifically, the determination unit 1802 determines, for example, the placement destination of the VM group as a CPU in which a VM has been placed among a plurality of CPUs. In addition, when the execution request includes information specifying the placement destination CPU, the determination unit 1802 may determine the CPU indicated by the information as the placement destination. Thereby, the determination unit 1802 can execute a VM group by the same CPU and efficiently use CPU resources.

また、決定部1802は、前記第1種類の仮想マシンが前記複数の演算処理装置のいずれかの演算処理装置に配置済みである場合、第2種類の仮想マシンの配置先を、第1種類の仮想マシンが配置済みの演算処理装置に決定してもよい。決定部1802は、具体的には、例えば、バッチVMの配置先を、オンラインVMが配置済みのCPUに決定する。これにより、決定部1802は、同時に実行しても性能低下を回避することができる配置済みのオンラインVMと規定終了時刻までに終了させることができる割当対象になるバッチVMとを同一のCPUにより実行させることができる。   In addition, when the first type virtual machine has already been arranged in any one of the plurality of arithmetic processing devices, the determination unit 1802 determines the placement type of the second type virtual machine as the first type virtual machine. You may determine to the arithmetic processing apparatus by which the virtual machine has already been arrange | positioned. Specifically, the determination unit 1802 determines, for example, the placement destination of the batch VM as the CPU on which the online VM has been placed. As a result, the determination unit 1802 executes, with the same CPU, the arranged online VM that can avoid performance degradation even when executed simultaneously and the batch VM to be allocated that can be completed by the specified end time. Can be made.

また、決定部1802は、前記第2種類の仮想マシンが前記複数の演算処理装置のいずれかの演算処理装置に配置済みである場合、第1種類の仮想マシンの配置先を、第2種類の仮想マシンが配置済みの演算処理装置に決定してもよい。決定部1802は、具体的には、例えば、オンラインVMの配置先を、バッチVMが配置済みのCPUに決定する。これにより、決定部1802は、同時に実行しても性能低下を回避することができる割当対象になるオンラインVMと規定終了時刻までに終了させることができる配置済みのバッチVMとを同一のCPUにより実行させることができる。   In addition, when the second type virtual machine has already been placed in any one of the plurality of processing units, the determination unit 1802 determines the placement type of the first type virtual machine as the second type. You may determine to the arithmetic processing apparatus by which the virtual machine has already been arrange | positioned. Specifically, for example, the determination unit 1802 determines the placement destination of the online VM as the CPU on which the batch VM has been placed. As a result, the determination unit 1802 executes, with the same CPU, an online VM that is an allocation target that can avoid performance degradation even if it is executed at the same time, and an already placed batch VM that can be ended by the specified end time. Can be made.

割当部1803は、複数の演算処理装置のうち決定部1802によって配置先に決定された演算処理装置に、仮想マシン群を割り当てる。これにより、割当部1803は、VMの処理をCPUに開始させることができる。   The assigning unit 1803 assigns a virtual machine group to the arithmetic processing device determined as the placement destination by the determining unit 1802 among the plurality of arithmetic processing devices. Thereby, the allocation unit 1803 can cause the CPU to start the VM processing.

制御部1804は、第1種類の仮想マシンを第2種類の仮想マシンよりも優先して実行するように制御する。制御部1804は、具体的には、例えば、オンラインVMの優先度を、バッチVMの優先度より高くするようにCPUに通知する。そのため、CPUは、オンラインVMの実行には優先してCPUリソースを利用し、バッチVMの実行にはオンラインVMの実行に利用されていない余りのCPUリソースを利用する。これにより、制御部1804は、オンラインVMの性能低下を回避することができる。   The control unit 1804 performs control so that the first type virtual machine is executed with priority over the second type virtual machine. Specifically, for example, the control unit 1804 notifies the CPU so that the priority of the online VM is higher than the priority of the batch VM. For this reason, the CPU uses CPU resources preferentially for execution of online VMs, and uses extra CPU resources not used for execution of online VMs for execution of batch VMs. As a result, the control unit 1804 can avoid the performance degradation of the online VM.

(制御サーバ100によるサーバSへのVMの割当結果)
次に、図19および図20を用いて、制御サーバ100によるサーバSへのVMの割当結果について説明する。
(Assignment result of VM to server S by control server 100)
Next, VM allocation results to the server S by the control server 100 will be described with reference to FIGS. 19 and 20.

図19および図20は、制御サーバ100によるサーバSへのVMの割当結果の一例を示す説明図である。図19の例では、サーバS1には、オンラインVM11と、バッチVM12と、オンラインVM13と、バッチVM14と、オンラインVM15と、オンラインVM16と、バッチVM17と、が配置済みである。また、サーバS2には、バッチVM18が配置済みである。サーバS3には、VMが割り当てられておらず、電力供給がされていない。一例として、オンラインVMの平均CPU利用率は30%、オンラインVMの標準偏差込みのCPU利用率は80%、バッチVMの平均CPU利用率は30%、各サーバSの閾値は360%とする。   FIGS. 19 and 20 are explanatory diagrams illustrating an example of a VM allocation result to the server S by the control server 100. FIG. In the example of FIG. 19, the online VM 11, the batch VM 12, the online VM 13, the batch VM 14, the online VM 15, the online VM 16, and the batch VM 17 are already arranged in the server S 1. In addition, the batch VM 18 has already been placed in the server S2. The server S3 is not assigned a VM and is not supplied with power. As an example, the average CPU usage rate of the online VM is 30%, the CPU usage rate including the standard deviation of the online VM is 80%, the average CPU usage rate of the batch VM is 30%, and the threshold value of each server S is 360%.

制御サーバ100は、オンラインVM19をいずれかのサーバSに割り当てる。制御サーバ100は、割当対象VMテーブル1500からオンラインVM19の平均CPU利用率とCPU利用率の標準偏差を取得し、配置済みVMテーブル1600から配置済みのVM11〜18の平均CPU利用率やCPU利用率の標準偏差を取得する。そして、制御サーバ100は、取得した平均CPU利用率と標準偏差とを用いて、混合整数計画問題を解く。   The control server 100 assigns the online VM 19 to any server S. The control server 100 acquires the average CPU usage rate and the standard deviation of the CPU usage rate of the online VM 19 from the allocation target VM table 1500, and the average CPU usage rate and the CPU usage rate of the allocated VMs 11 to 18 from the allocated VM table 1600. Get the standard deviation of. Then, the control server 100 solves the mixed integer programming problem using the acquired average CPU utilization rate and standard deviation.

制御サーバ100は、具体的には、例えば、図4〜図16に示した各テーブルに記憶された変数の値を設定した混合整数計画問題をGLPKに入力し、GLPKが求めた混合整数計画問題の解を取得する。例えば、GLPKは、VM19を割り当てた場合の変数xn,i,jを、解として出力する。 Specifically, the control server 100 inputs, for example, a mixed integer programming problem in which values of variables stored in the respective tables illustrated in FIGS. 4 to 16 are set to the GLPK, and the mixed integer programming problem obtained by the GLPK. Get the solution of For example, the GLPK outputs the variable x n, i, j when the VM 19 is allocated as a solution.

例えば、サーバS1〜S3のいずれのサーバSにおいても、配置済みのVMの平均CPU利用率と、オンラインVM19の平均CPU利用率「30%」と、の和が、CPU利用率の上限になる閾値「360%」以下である。従って、サーバS1〜S3は上記式(10)の条件を満たしている。   For example, in any of the servers S1 to S3, the threshold that is the sum of the average CPU usage rate of the arranged VMs and the average CPU usage rate “30%” of the online VM 19 is the upper limit of the CPU usage rate “360%” or less. Therefore, the servers S1 to S3 satisfy the condition of the above formula (10).

また、サーバS1においては、配置済みのオンラインVMの標準偏差込みのCPU利用率「320%」と、オンラインVM19の標準偏差込みのCPU利用率「80%」と、の和が、CPU利用率の上限になる閾値「360%」を超えている。従って、サーバS1は上記式(11)の条件を満たしていない。また、サーバS2,S3においては、配置済みのオンラインVMの標準偏差込みのCPU利用率と、オンラインVM19の標準偏差込みのCPU利用率「80%」と、の和が、CPU利用率の上限になる閾値「360%」以下である。従って、サーバS2,S3は上記式(11)の条件を満たしている。   Further, in the server S1, the sum of the CPU utilization rate including the standard deviation of the arranged online VM “320%” and the CPU utilization rate including the standard deviation of the online VM 19 “80%” is the CPU utilization rate. The upper threshold “360%” is exceeded. Therefore, the server S1 does not satisfy the condition of the above formula (11). In addition, in the servers S2 and S3, the sum of the CPU usage rate including the standard deviation of the online VMs already arranged and the CPU usage rate “80%” including the standard deviation of the online VM 19 is the upper limit of the CPU usage rate. The threshold is “360%” or less. Therefore, the servers S2 and S3 satisfy the condition of the above formula (11).

また、電源供給されていないサーバS3にオンラインVM19を割り当てる場合、サーバS3に電源を供給して、オンラインVM19を割り当てて、実行させることになる。この場合、サーバルームでの消費電力が増大してしまい、上記式(5)の最小化関数を最小化できなくなる。そのため、GLPKは、例えば、オンラインVM19がラック203(1)のサーバS2に割り振られているか否かを示す変数x19,1,2を「1」にして出力する。 Further, when the online VM 19 is allocated to the server S3 to which power is not supplied, power is supplied to the server S3, and the online VM 19 is allocated and executed. In this case, power consumption in the server room increases, and the minimizing function of the above equation (5) cannot be minimized. Therefore, for example, the GLPK sets the variable x 19,1,2 indicating whether or not the online VM 19 is allocated to the server S2 of the rack 203 (1) to “1” and outputs it.

そして、制御サーバ100は、出力された解「x19,1,2=1」に応じたサーバS2にオンラインVM19を割り当てる。これにより、制御サーバ100は、オンラインVMの性能低下を回避することができる。また、制御サーバ100は、バッチVMが規定終了時刻までに終了し、かつ、VMを割り当てられたサーバS数が少なくなるように、VMを割り当てることができる。 Then, the control server 100 allocates the online VM 19 to the server S2 corresponding to the output solution “x 19,1,2 = 1”. Thereby, the control server 100 can avoid the performance degradation of online VM. In addition, the control server 100 can allocate VMs so that the batch VMs are completed by the specified end time and the number of servers S to which VMs are allocated decreases.

また、制御サーバ100は、オンラインVM19を割り当てると、割当対象VMテーブル1500のオンラインVM19に関するレコードを参照して、配置済みVMテーブル1600にオンラインVM19に関するレコードを追加する。また、制御サーバ100は、割当対象VMテーブル1500のオンラインVM19に関するレコードを削除する。また、制御サーバ100は、初期配置テーブル1300のサーバS2に関する初期配置項目を更新する。これにより、制御サーバ100は、以降において、新たにVMを割り当てる場合、オンラインVM19の平均CPU利用率とCPU利用率の標準偏差を、配置済みVMテーブル1600から取得できる。   Further, when the online VM 19 is allocated, the control server 100 refers to the record related to the online VM 19 in the allocation target VM table 1500 and adds the record related to the online VM 19 to the arranged VM table 1600. Also, the control server 100 deletes the record related to the online VM 19 in the allocation target VM table 1500. In addition, the control server 100 updates the initial arrangement item regarding the server S2 in the initial arrangement table 1300. Thereby, the control server 100 can acquire the average CPU usage rate of the online VM 19 and the standard deviation of the CPU usage rate from the arranged VM table 1600 when a new VM is allocated thereafter.

一方、サーバS2は、自装置内で、配置済みのVM群の中のオンラインVMの性能低下を回避し、配置済みのVM群の中のバッチVMを規定終了時刻までに終了することができるように、オンラインVM19をいずれかのCPUに実行させる。これにより、サーバS2は、オンラインVMの性能低下を回避し、バッチVMを規定終了時刻までに終了することができる。   On the other hand, the server S2 can avoid the performance degradation of the online VM in the already-arranged VM group and can finish the batch VM in the already-arranged VM group by the specified end time. Then, the online VM 19 is executed by any CPU. Thereby, the server S2 can avoid the performance degradation of the online VM and can finish the batch VM by the specified end time.

次に、図20の例では、サーバS2に割り当てられたオンラインVM19が終了している。ここで、サーバS2に割り当てられたVMが、バッチVM18であることを検出すると、制御サーバ100は、バッチVM18を他のサーバSに移行できるかを試行する。   Next, in the example of FIG. 20, the online VM 19 assigned to the server S2 has ended. Here, when it is detected that the VM assigned to the server S2 is the batch VM 18, the control server 100 tries whether the batch VM 18 can be migrated to another server S.

具体的には、制御サーバ100は、配置済みのVMからバッチVM18を除外し、かつ、割当対象になるVMとしてバッチVM18を採用した場合の混合整数計画問題を解き、バッチVM18の割り当てをやり直す。   Specifically, the control server 100 excludes the batch VM 18 from the arranged VMs, solves the mixed integer programming problem when the batch VM 18 is adopted as the allocation target VM, and reassigns the batch VM 18.

具体的には、制御サーバ100は、配置済みVMテーブル1600のバッチVM18に関するレコードを参照して、割当対象VMテーブル1500にバッチVM18に関するレコードを追加する。また、制御サーバ100は、配置済みVMテーブル1600のバッチVM18に関するレコードを削除する。また、制御サーバ100は、初期配置テーブル1300のサーバS1,S2に関する初期配置項目を更新する。これにより、制御サーバ100は、バッチVM18を割当対象になるVMとして扱うことができる。   Specifically, the control server 100 refers to a record related to the batch VM 18 in the arranged VM table 1600 and adds a record related to the batch VM 18 to the allocation target VM table 1500. Further, the control server 100 deletes the record related to the batch VM 18 in the arranged VM table 1600. In addition, the control server 100 updates the initial arrangement items regarding the servers S1 and S2 in the initial arrangement table 1300. Thereby, the control server 100 can handle the batch VM 18 as a VM to be assigned.

そして、制御サーバ100は、図4〜図16に示した各テーブルに記憶された変数の値を設定した混合整数計画問題をGLPKに入力し、GLPKが求めた混合整数計画問題の解を取得する。例えば、GLPKは、VM18を割り当てた場合の変数xn,i,jを、解として出力する。そして、制御サーバ100は、混合整数計画問題の解に応じたサーバSにバッチVM18を割り当てる。 Then, the control server 100 inputs the mixed integer programming problem in which the values of the variables stored in the tables shown in FIGS. 4 to 16 are set to the GLPK, and acquires the solution of the mixed integer programming problem obtained by the GLPK. . For example, GLPK outputs the variable x n, i, j when the VM 18 is allocated as a solution. Then, the control server 100 assigns the batch VM 18 to the server S corresponding to the solution of the mixed integer programming problem.

例えば、サーバS1〜S3のいずれのサーバSにおいても、配置済みのVMの平均CPU利用率と、バッチVM18の平均CPU利用率「30%」と、の和が、CPU利用率の上限になる閾値「360%」以下である。従って、サーバS1〜S3は上記式(10)の条件を満たしている。   For example, in any of the servers S1 to S3, a threshold that is the sum of the average CPU usage rate of the arranged VMs and the average CPU usage rate “30%” of the batch VM 18 is the upper limit of the CPU usage rate. “360%” or less. Therefore, the servers S1 to S3 satisfy the condition of the above formula (10).

また、サーバS1〜S3のいずれのサーバSにおいても、配置済みのオンラインVMの標準偏差込みのCPU利用率が、CPU利用率の上限になる閾値「360%」以下である。従って、サーバS1〜S3は上記式(11)の条件を満たしている。   In any of the servers S1 to S3, the CPU usage rate including the standard deviation of the arranged online VM is equal to or less than the threshold “360%” that is the upper limit of the CPU usage rate. Therefore, the servers S1 to S3 satisfy the condition of the above formula (11).

また、サーバS2にバッチVM18を割り当てない場合、サーバS2にはVMが一つも割り当てられなくなる。この場合、サーバS2に割り当てなければ、制御サーバ100は、サーバS2への電力供給を停止することができる。これにより、サーバルームでの消費電力が低減され、上記式(5)の最小化関数が小さくなる。また、サーバS3にバッチVM18を割り当てると、制御サーバ100は、サーバS3に電源を供給して、バッチVM18を実行させることになる。この場合、サーバルームでの消費電力が増大してしまい、上記式(5)の最小化関数を最小化できない。以上より、GLPKは、例えば、バッチVM18がラック203(1)のサーバS1に割り振られているか否かを示す変数x19,1,1を「1」にして出力する。 Further, when the batch VM 18 is not assigned to the server S2, no VM is assigned to the server S2. In this case, if not assigned to the server S2, the control server 100 can stop the power supply to the server S2. Thereby, power consumption in the server room is reduced, and the minimizing function of the above equation (5) is reduced. When the batch VM 18 is assigned to the server S3, the control server 100 supplies power to the server S3 to execute the batch VM 18. In this case, power consumption in the server room increases, and the minimizing function of the above equation (5) cannot be minimized. From the above, the GLPK outputs, for example, the variable x 19,1,1 indicating whether the batch VM 18 is allocated to the server S1 of the rack 203 (1) as “1”.

ここで、制御サーバ100は、混合整数計画問題の解「x19,1,1=1」に応じたサーバS1にバッチVM18を割り当て、サーバS2からバッチVM18を移行させる。そして、制御サーバ100は、サーバS2に割り当てられたVMがないことを検出すると、サーバS2への電力供給の停止をUPS206に要求する。これにより、サーバルームの消費電力が低減される。また、制御サーバ100は、VMの移行においても、上記式(10)および式(11)の条件を満たすサーバSにVMを移行するため、オンラインVMの性能低下を回避し、バッチVMを規定終了時刻までに終了させることができる。 Here, the control server 100 assigns the batch VM 18 to the server S1 corresponding to the solution “x 19,1,1 = 1” of the mixed integer programming problem, and migrates the batch VM 18 from the server S2. When the control server 100 detects that there is no VM assigned to the server S2, the control server 100 requests the UPS 206 to stop supplying power to the server S2. Thereby, the power consumption of a server room is reduced. Further, the control server 100 also migrates the VM to the server S that satisfies the conditions of the above formulas (10) and (11) in the migration of the VM, so the performance degradation of the online VM is avoided and the batch VM is specified. It can be finished by time.

また、混合整数計画問題の解に応じたサーバSがサーバS2であれば、制御サーバ100は、VMの移行を行わない。これにより、制御サーバ100は、消費電力を低減できる移行先があれば、VMを移行することにより、サーバルームの消費電力を低減することができる。また、一般に移行の際にはVMの性能が悪化するため、制御サーバ100は、オンラインVMを移行すると、クライアント202への応答が遅れ、クライアント202の利用者が不利益を被ったり、SLA違反を生じたりする場合がある。そのため、制御サーバ100は、オンラインVMについては移行を行わないようにしてもよい。   In addition, if the server S corresponding to the solution of the mixed integer programming problem is the server S2, the control server 100 does not perform VM migration. Thereby, if there is a migration destination that can reduce power consumption, the control server 100 can reduce the power consumption of the server room by migrating the VM. In general, since the VM performance deteriorates during the migration, the control server 100 delays the response to the client 202 when the online VM is migrated, and the user of the client 202 suffers a disadvantage or an SLA violation. May occur. Therefore, the control server 100 may not perform the migration for the online VM.

(割当処理)
次に、図21を用いて、制御サーバ100によって実行される割当処理の詳細な処理手順について説明する。
(Assignment process)
Next, a detailed processing procedure of the allocation processing executed by the control server 100 will be described using FIG.

図21は、割当処理の詳細な処理手順を示すフローチャートである。図21において、まず、制御サーバ100は、VMの割当要求を受け付けたか否かを判定する(ステップS2101)。ここで、VMの割当要求を受け付けていない場合(ステップS2101:No)、制御サーバ100は、ステップS2101に戻り、割当要求を待つ。   FIG. 21 is a flowchart showing a detailed processing procedure of the allocation processing. In FIG. 21, first, the control server 100 determines whether or not a VM allocation request has been received (step S2101). If a VM allocation request has not been received (step S2101: No), the control server 100 returns to step S2101 and waits for an allocation request.

一方、VMの割当要求を受け付けた場合(ステップS2101:Yes)、制御サーバ100は、割当要求されたVMがオンラインVMか否かを判定する(ステップS2102)。ここで、オンラインVMである場合(ステップS2102:Yes)、制御サーバ100は、割当対象VMテーブル1500から、オンラインVMの平均CPU利用率と、オンラインVMのCPU利用率の標準偏差と、を取得する(ステップS2103)。そして、制御サーバ100は、ステップS2105に移行する。   On the other hand, when a VM allocation request is received (step S2101: Yes), the control server 100 determines whether the allocation-requested VM is an online VM (step S2102). Here, in the case of an online VM (step S2102: Yes), the control server 100 acquires the average CPU usage rate of the online VM and the standard deviation of the CPU usage rate of the online VM from the allocation target VM table 1500. (Step S2103). Then, the control server 100 proceeds to Step S2105.

一方、オンラインVMではない場合(ステップS2102:No)、制御サーバ100は、割当対象VMテーブル1500から、バッチVMの平均CPU利用率を取得する(ステップS2104)。そして、制御サーバ100は、ステップS2105に移行する。   On the other hand, when it is not an online VM (step S2102: No), the control server 100 acquires the average CPU usage rate of the batch VM from the allocation target VM table 1500 (step S2104). Then, the control server 100 proceeds to Step S2105.

次に、制御サーバ100は、取得したバッチVMの平均CPU利用率、または取得したオンラインVMの平均CPU利用率と標準偏差を用いて混合整数計画問題を解く(ステップS2105)。   Next, the control server 100 solves the mixed integer programming problem using the acquired average CPU usage rate of the batch VM or the acquired average CPU usage rate and standard deviation of the online VM (step S2105).

次に、制御サーバ100は、混合整数計画問題の解に応じて、VMを割り当てる(ステップS2106)。そして、制御サーバ100は、割当処理を終了する。これにより、制御サーバ100は、オンラインVMの性能低下を回避し、バッチVMが規定終了時刻までに終了し、かつ、VMを割り当てられたサーバS数が少なくなるように、VMを割り当てることができる。   Next, the control server 100 allocates VMs according to the solution of the mixed integer programming problem (step S2106). Then, the control server 100 ends the allocation process. Thereby, the control server 100 can allocate the VM so that the performance degradation of the online VM is avoided, the batch VM is completed by the specified end time, and the number of servers S to which the VM is allocated is reduced. .

以上説明したように、割当装置は、オンラインVMの平均CPU利用率と、オンラインVMのCPU利用率のσ×cと、の和が、サーバSでのCPU利用率の上限を超えない条件の下で、VMを割り当てる。これにより、割当装置は、サーバSでのオンラインVM同士の競合を回避させることができ、オンラインVMの性能低下を回避することができる。   As described above, the allocating device is based on the condition that the sum of the average CPU usage rate of the online VM and the CPU usage rate σ × c of the online VM does not exceed the upper limit of the CPU usage rate in the server S. Then, assign a VM. Thereby, the allocation apparatus can avoid the competition between online VMs in the server S, and can avoid the performance degradation of online VMs.

また、割当装置は、VM群の複数のバッチVMの平均CPU利用率と、VM群の複数のオンラインVMの平均CPU利用率と、の和が、サーバSでのCPU利用率の上限を超えない条件の下で、VMを割り当てる。そのため、割当装置は、バッチVMが規定終了時刻までに終了するようにVMを割り当てることができる。   In the allocation device, the sum of the average CPU utilization rate of the plurality of batch VMs in the VM group and the average CPU utilization rate of the plurality of online VMs in the VM group does not exceed the upper limit of the CPU utilization rate in the server S. Assign VMs under conditions. Therefore, the allocating device can allocate the VM so that the batch VM ends by the specified end time.

また、割当装置は、VM群をまとめて1つのサーバSに割り当てることにより、サーバルームにおけるVMが割り当てられたサーバS数を減少させることができる。結果、割当装置は、VMが割り当てられていないサーバSがあれば、電力供給を停止して、サーバルームの消費電力を低減することができる。   Further, the allocating device can reduce the number of servers S to which VMs are allocated in the server room by collectively allocating the VM group to one server S. As a result, if there is a server S to which no VM is allocated, the allocation device can stop power supply and reduce power consumption of the server room.

また、割当装置は、配置済みのVMを移行させることにより、サーバルームにおけるVMが割り当てられたサーバS数を減少させることができる。結果、割当装置は、VMが割り当てられていないサーバSがあれば、電力供給を停止して、サーバルームの消費電力を低減することができる。   In addition, the allocating device can reduce the number of servers S to which the VMs are allocated in the server room by transferring the allocated VMs. As a result, if there is a server S to which no VM is allocated, the allocation device can stop power supply and reduce power consumption of the server room.

この場合、割当装置は、配置済みのVMがオンラインVMである場合、オンラインVMを移行対象にしないことにより、オンラインVMの性能低下を回避することができる。   In this case, when the allocated VM is an online VM, the allocating apparatus can avoid the performance degradation of the online VM by not using the online VM as a migration target.

なお、本実施の形態で説明した割当方法および情報処理方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータにより実行することにより実現することができる。本割当プログラムおよび本情報処理プログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本割当プログラムおよび本情報処理プログラムは、インターネット等のネットワークを介して配布してもよい。   The allocation method and information processing method described in this embodiment can be realized by executing a program prepared in advance by a computer such as a personal computer or a workstation. The allocation program and the information processing program are recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and are executed by being read from the recording medium by the computer. Further, the allocation program and the information processing program may be distributed through a network such as the Internet.

上述した実施の形態に関し、さらに以下の付記を開示する。   The following additional notes are disclosed with respect to the embodiment described above.

(付記1)他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の演算処理装置使用率の予測値がしきい値以下となる前記仮想マシン群を割当装置から受け付ける受付部と、
前記受付部によって受け付けられた前記仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定する決定部と、
前記複数の演算処理装置のうち前記決定部によって配置先に決定された演算処理装置に、前記仮想マシン群を割り当てる割当部と、
前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように制御する制御部と、
を有することを特徴とする情報処理装置。
(Supplementary Note 1) A first type of virtual machine that executes a predetermined process by bidirectional communication with another device, and a standard process that performs a predetermined process by a predetermined time without interactive input / output A reception unit that receives the virtual machine group from which the predicted value of the arithmetic processing unit usage rate of the virtual machine group including the two types of virtual machines is equal to or less than a threshold value;
A determination unit that determines an arrangement destination of the virtual machine group received by the reception unit to be any one of the plurality of arithmetic processing devices so as to be within the processing capacity of the arithmetic processing device;
An allocating unit for allocating the virtual machine group to the arithmetic processing device determined as the placement destination by the determining unit among the plurality of arithmetic processing devices;
A control unit that controls the first type virtual machine to be executed in preference to the second type virtual machine;
An information processing apparatus comprising:

(付記2)前記決定部は、
前記第1種類の仮想マシンが前記複数の演算処理装置のいずれかの演算処理装置に配置済みである場合、前記第2種類の仮想マシンの配置先を、前記第1種類の仮想マシンが配置済みの演算処理装置に決定することを特徴とする付記1に記載の情報処理装置。
(Supplementary Note 2)
When the first type virtual machine has already been placed in any one of the plurality of processing units, the second type virtual machine has been placed in the first type virtual machine. The information processing apparatus according to appendix 1, wherein the information processing apparatus is determined to be an arithmetic processing apparatus.

(付記3)前記決定部は、
前記第2種類の仮想マシンが前記複数の演算処理装置のいずれかの演算処理装置に配置済みである場合、前記第1種類の仮想マシンの配置先を、前記第2種類の仮想マシンが配置済みの演算処理装置に決定することを特徴とする付記1に記載の情報処理装置。
(Supplementary note 3)
When the second type virtual machine has already been placed in any one of the plurality of processing units, the second type virtual machine has been placed as the placement destination of the first type virtual machine. The information processing apparatus according to appendix 1, wherein the information processing apparatus is determined to be an arithmetic processing apparatus.

(付記4)サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の割当先を選択する選択部と、
前記仮想マシン群を同一のサーバに割り当てた場合の前記仮想マシン群の演算処理装置使用率に基づく演算処理装置使用率の予測値を取得する取得部と、
前記取得部によって取得された予測値が、前記選択部によって選択されたサーバの演算処理装置数に基づくしきい値以下であるか否かを判断する判断部と、
前記判断部によってしきい値以下と判断された場合、前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように、前記選択されたサーバに前記仮想マシン群を割り当てる割当部と、
を有することを特徴とする割当装置。
(Supplementary Note 4) A first type of virtual machine that executes predetermined processing by bidirectional communication with another device from the server group, and does not have interactive input / output, and performs predetermined processing by a predetermined time A selection unit that selects an assignment destination of a virtual machine group including a second type of virtual machine that executes the standard processing;
An acquisition unit that acquires a predicted value of the arithmetic processing device usage rate based on the arithmetic processing device usage rate of the virtual machine group when the virtual machine group is assigned to the same server;
A determination unit that determines whether or not the predicted value acquired by the acquisition unit is equal to or less than a threshold value based on the number of arithmetic processing devices of the server selected by the selection unit;
When the determination unit determines that the virtual machine group is less than or equal to the threshold value, the virtual machine group is set to the selected server so that the first type virtual machine is executed in preference to the second type virtual machine. Assigning part to be assigned,
An allocating device comprising:

(付記5)前記選択部は、
前記第1種類の仮想マシンが配置済みであるサーバを選択し、
前記割当部は、
前記判断部によってしきい値以下と判断された場合、前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように、前記選択されたサーバに、前記第2種類の仮想マシンを割り当てることを特徴とする付記4に記載の割当装置。
(Supplementary note 5)
Select the server on which the first type virtual machine has been placed,
The allocation unit is
When the determination unit determines that the threshold value is less than or equal to the threshold value, the second type is sent to the selected server so that the first type virtual machine is executed in preference to the second type virtual machine. The assigning device according to appendix 4, wherein the virtual machine is assigned.

(付記6)前記サーバ群に配置済みの前記第2種類の仮想マシン群の中から、予測残存実行時間が最長の前記第2種類の仮想マシンを特定する特定部を有し、
前記選択部は、
前記特定部によって特定された予測残存実行時間が最長の前記第2種類の仮想マシンが配置済みのサーバ以外であって、かつ、前記第1種類の仮想マシンが配置済みであるサーバを選択することを特徴とする付記5に記載の割当装置。
(Additional remark 6) It has the specific part which specifies the said 2nd type virtual machine with the longest prediction remaining execution time from the said 2nd type virtual machine group already arrange | positioned at the said server group,
The selection unit includes:
Selecting a server other than the server on which the second type virtual machine with the longest predicted remaining execution time specified by the specifying unit is placed, and on which the first type virtual machine has been placed. Item 6. The allocation device according to appendix 5.

(付記7)前記選択部は、
前記第2種類の仮想マシンが配置済みであるサーバを選択し、
前記割当部は、
前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように、前記選択されたサーバに、前記第1種類の仮想マシンを割り当てることを特徴とする付記4に記載の割当装置。
(Supplementary note 7)
Select the server on which the second type of virtual machine has been placed,
The allocation unit is
The supplementary note 4 is characterized in that the first type virtual machine is allocated to the selected server so that the first type virtual machine is executed in preference to the second type virtual machine. Allocation device.

(付記8)前記サーバ群に配置済みの前記第2種類の仮想マシン群の中から、予測残存実行時間が最長の前記第2種類の仮想マシンを特定する特定部を有し、
前記選択部は、
前記特定部によって特定された予測残存実行時間が最長の前記第2種類の仮想マシンが配置済みであるサーバを選択することを特徴とする付記7に記載の割当装置。
(Additional remark 8) It has the specific part which specifies the said 2nd type virtual machine with the longest prediction remaining execution time from the said 2nd type virtual machine group already arrange | positioned at the said server group,
The selection unit includes:
8. The allocation apparatus according to appendix 7, wherein a server in which the second type virtual machine having the longest predicted remaining execution time specified by the specifying unit is already arranged is selected.

(付記9)前記サーバ群のうちいずれの仮想マシンも割り当てられていないサーバの消費電力が低下するように制御する制御部を備えることを特徴とする付記4〜8のいずれか一つに記載の割当装置。 (Additional remark 9) The control part which controls so that the power consumption of the server to which any virtual machine is not allocated among the said server groups falls is provided. Any one of additional remark 4-8 characterized by the above-mentioned. Allocation device.

(付記10)コンピュータが、
他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の演算処理装置使用率の予測値がしきい値以下となる前記仮想マシン群を割当装置から受け付け、
受け付けられた前記仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定し、
前記複数の演算処理装置のうち配置先に決定された演算処理装置に、前記仮想マシン群を割り当て、
前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先実行するように制御する、
処理を実行することを特徴とする情報処理方法。
(Supplementary note 10)
A first type of virtual machine that executes a predetermined process by bidirectional communication with another device, and a second type of virtual machine that does not have interactive input / output and executes a standard process that performs the predetermined process by a predetermined time A virtual machine group including the machine, and accepting the virtual machine group from which the predicted value of the arithmetic processing unit usage rate of the virtual machine group is equal to or less than a threshold value from the allocation device,
The placement destination of the accepted virtual machine group is determined to be any one of the plurality of arithmetic processing devices so as to be within the processing capacity of the arithmetic processing device,
Assign the virtual machine group to the arithmetic processing device determined as the placement destination among the plurality of arithmetic processing devices,
Controlling the first type of virtual machine to be preferentially executed over the second type of virtual machine;
An information processing method characterized by executing processing.

(付記11)コンピュータが、
サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の割当先を選択し、
前記仮想マシン群を同一のサーバに割り当てた場合の前記仮想マシン群の演算処理装置使用率に基づく演算処理装置使用率の予測値を取得し、
取得された予測値が、選択されたサーバの演算処理装置数に基づくしきい値以下であるか否かを判断し、
しきい値以下と判断された場合、前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように、前記選択されたサーバに前記仮想マシン群を割り当てる、
処理を実行することを特徴とする割当方法。
(Appendix 11) The computer
From the server group, the first type of virtual machine that executes predetermined processing by bidirectional communication with other devices and routine processing that performs predetermined processing by a predetermined time without interactive input / output Select the assignment destination of the virtual machine group including the second type of virtual machine
Obtaining a predicted value of the processing unit usage rate based on the processing unit usage rate of the virtual machine group when the virtual machine group is assigned to the same server;
Determining whether the obtained predicted value is less than or equal to a threshold value based on the number of processing units of the selected server;
If the virtual machine group is determined to be equal to or lower than the threshold value, the virtual machine group is assigned to the selected server so that the virtual machine of the first type is executed in preference to the virtual machine of the second type.
An allocation method characterized by executing processing.

(付記12)コンピュータに、
他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の演算処理装置使用率の予測値がしきい値以下となる前記仮想マシン群を割当装置から受け付け、
受け付けられた前記仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定し、
前記複数の演算処理装置のうち配置先に決定された演算処理装置に、前記仮想マシン群を割り当て、
前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように制御する、
処理を実行させることを特徴とする情報処理プログラム。
(Supplementary note 12)
A first type of virtual machine that executes a predetermined process by bidirectional communication with another device, and a second type of virtual machine that does not have interactive input / output and executes a standard process that performs the predetermined process by a predetermined time A virtual machine group including the machine, and accepting the virtual machine group from which the predicted value of the arithmetic processing unit usage rate of the virtual machine group is equal to or less than a threshold value from the allocation device,
The placement destination of the accepted virtual machine group is determined to be any one of the plurality of arithmetic processing devices so as to be within the processing capacity of the arithmetic processing device,
Assign the virtual machine group to the arithmetic processing device determined as the placement destination among the plurality of arithmetic processing devices,
Controlling the first type virtual machine to be executed in preference to the second type virtual machine;
An information processing program for executing a process.

(付記13)コンピュータに、
サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の割当先を選択し、
前記仮想マシン群を同一のサーバに割り当てた場合の前記仮想マシン群の演算処理装置使用率に基づく演算処理装置使用率の予測値を取得し、
取得された予測値が、選択されたサーバの演算処理装置数に基づくしきい値以下であるか否かを判断し、
しきい値以下と判断された場合、前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先実行するように、前記選択されたサーバに前記仮想マシン群を割り当てる、
処理を実行させることを特徴とする割当プログラム。
(Supplementary note 13)
From the server group, the first type of virtual machine that executes predetermined processing by bidirectional communication with other devices and routine processing that performs predetermined processing by a predetermined time without interactive input / output Select the assignment destination of the virtual machine group including the second type of virtual machine
Obtaining a predicted value of the processing unit usage rate based on the processing unit usage rate of the virtual machine group when the virtual machine group is assigned to the same server;
Determining whether the obtained predicted value is less than or equal to a threshold value based on the number of processing units of the selected server;
If it is determined that the threshold value is less than or equal to the threshold value, the virtual machine group is allocated to the selected server so that the first type virtual machine is preferentially executed over the second type virtual machine;
An assignment program for executing a process.

1701 受付部
1702 特定部
1703 選択部
1704 取得部
1705 判断部
1706 割当部
1707 検出部
1708 制御部
1801 受付部
1802 決定部
1803 割当部
1804 制御部
1701 Reception Unit 1702 Identification Unit 1703 Selection Unit 1704 Acquisition Unit 1705 Determination Unit 1706 Allocation Unit 1707 Detection Unit 1708 Control Unit 1801 Reception Unit 1802 Determination Unit 1803 Allocation Unit 1804 Control Unit

Claims (14)

他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の、前記他の装置との双方向通信により前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値がしきい値以下、かつ、前記所定の時間までの演算処理装置使用率の予測値がしきい値以下となる前記仮想マシン群を割当装置から受け付ける受付部と、
前記受付部によって受け付けられた前記仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定する決定部と、
前記複数の演算処理装置のうち前記決定部によって配置先に決定された演算処理装置に、前記仮想マシン群を割り当てる割当部と、
前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように制御する制御部と、を有し、
前記決定部は、
前記第1種類の仮想マシンが前記複数の演算処理装置のいずれかの演算処理装置に配置済みである場合、前記第2種類の仮想マシンの配置先を、前記第1種類の仮想マシンが配置済みの演算処理装置に決定することを特徴とする情報処理装置。
A first type of virtual machine that executes a predetermined process by bidirectional communication with another device, and a second type of virtual machine that does not have interactive input / output and executes a standard process that performs the predetermined process by a predetermined time A predicted value of the processor utilization rate when the first type virtual machine becomes highly loaded due to two-way communication with the other device in the virtual machine group including the machine, An accepting unit that accepts the virtual machine group from which the predicted value of the arithmetic processing device usage rate up to the predetermined time is equal to or less than a threshold value;
A determination unit that determines an arrangement destination of the virtual machine group received by the reception unit to be any one of the plurality of arithmetic processing devices so as to be within the processing capacity of the arithmetic processing device;
An allocating unit for allocating the virtual machine group to the arithmetic processing device determined as the placement destination by the determining unit among the plurality of arithmetic processing devices;
A control unit that controls the first type virtual machine to be executed in preference to the second type virtual machine ,
The determination unit
When the first type virtual machine has already been placed in any one of the plurality of processing units, the second type virtual machine has been placed in the first type virtual machine. An information processing apparatus characterized by being determined as an arithmetic processing apparatus.
他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の、前記他の装置との双方向通信により前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値がしきい値以下、かつ、前記所定の時間までの演算処理装置使用率の予測値がしきい値以下となる前記仮想マシン群を割当装置から受け付ける受付部と、A first type of virtual machine that executes a predetermined process by bidirectional communication with another device, and a second type of virtual machine that does not have interactive input / output and executes a standard process that performs the predetermined process by a predetermined time A predicted value of the processor utilization rate when the first type virtual machine becomes highly loaded due to two-way communication with the other device in the virtual machine group including the machine, An accepting unit that accepts the virtual machine group from which the predicted value of the arithmetic processing device usage rate up to the predetermined time is equal to or less than a threshold value;
前記受付部によって受け付けられた前記仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定する決定部と、A determination unit that determines an arrangement destination of the virtual machine group received by the reception unit to be any one of the plurality of arithmetic processing devices so as to be within the processing capacity of the arithmetic processing device;
前記複数の演算処理装置のうち前記決定部によって配置先に決定された演算処理装置に、前記仮想マシン群を割り当てる割当部と、An allocating unit for allocating the virtual machine group to the arithmetic processing device determined as the placement destination by the determining unit among the plurality of arithmetic processing devices;
前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように制御する制御部と、を有し、A control unit that controls the first type virtual machine to be executed in preference to the second type virtual machine,
前記決定部は、The determination unit
前記第2種類の仮想マシンが前記複数の演算処理装置のいずれかの演算処理装置に配置済みである場合、前記第1種類の仮想マシンの配置先を、前記第2種類の仮想マシンが配置済みの演算処理装置に決定することを特徴とする情報処理装置。When the second type virtual machine has already been placed in any one of the plurality of processing units, the second type virtual machine has been placed as the placement destination of the first type virtual machine. An information processing apparatus characterized by being determined as an arithmetic processing apparatus.
サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の割当先を選択する選択部と、From the server group, the first type of virtual machine that executes predetermined processing by bidirectional communication with other devices and routine processing that performs predetermined processing by a predetermined time without interactive input / output A selection unit that selects an assignment destination of a virtual machine group including:
前記仮想マシン群を同一のサーバに割り当てた場合の前記仮想マシン群の演算処理装置使用率に基づく、前記他の装置との双方向通信により前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値、および、前記所定の時間までの演算処理装置使用率の予測値を取得する取得部と、When the first type virtual machine is heavily loaded by bidirectional communication with the other device based on the processing device usage rate of the virtual machine group when the virtual machine group is assigned to the same server An acquisition unit that acquires the predicted value of the arithmetic processing device usage rate and the predicted value of the arithmetic processing device usage rate up to the predetermined time;
前記取得部によって取得された前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値が、前記選択部によって選択されたサーバの演算処理装置数に基づくしきい値以下、かつ、前記取得部によって取得された前記所定の時間までの演算処理装置使用率の予測値が、前記選択部によって選択されたサーバの演算処理装置数に基づくしきい値以下であるか否かを判断する判断部と、The predicted value of the processing device usage rate when the first type of virtual machine acquired by the acquisition unit is heavily loaded is a threshold value based on the number of processing units of the server selected by the selection unit Whether or not the predicted value of the arithmetic processing device usage rate acquired by the acquisition unit up to the predetermined time is equal to or less than a threshold value based on the number of arithmetic processing devices of the server selected by the selection unit. A determination unit for determining whether or not
前記判断部によって、前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値がしきい値以下、かつ、前記所定の時間までの演算処理装置使用率の予測値がしきい値以下と判断された場合、前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように、前記選択されたサーバに前記仮想マシン群を割り当てる割当部と、を有し、The predicted value of the arithmetic processing unit usage rate when the first type virtual machine is heavily loaded by the determination unit is equal to or less than a threshold and the predicted processing unit usage rate until the predetermined time Allocating unit for allocating the virtual machine group to the selected server so that the first type of virtual machine is executed in preference to the second type of virtual machine when it is determined that the value is equal to or less than the threshold value And having
前記選択部は、The selection unit includes:
前記第1種類の仮想マシンが配置済みであるサーバを選択し、Select the server on which the first type virtual machine has been placed,
前記割当部は、The allocation unit is
前記選択されたサーバに、前記第2種類の仮想マシンを割り当てることを特徴とする割当装置。An allocation apparatus that allocates the second type of virtual machine to the selected server.
前記サーバ群に配置済みの前記第2種類の仮想マシン群の中から、予測残存実行時間が最長の前記第2種類の仮想マシンを特定する特定部を有し、A specifying unit for specifying the second type virtual machine having the longest estimated remaining execution time from the second type virtual machine group already arranged in the server group;
前記選択部は、The selection unit includes:
前記特定部によって特定された予測残存実行時間が最長の前記第2種類の仮想マシンが配置済みのサーバ以外であって、かつ、前記第1種類の仮想マシンが配置済みであるサーバを選択することを特徴とする請求項3に記載の割当装置。Selecting a server other than the server on which the second type virtual machine with the longest predicted remaining execution time specified by the specifying unit is placed, and on which the first type virtual machine has been placed. The allocation device according to claim 3.
サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の割当先を選択する選択部と、From the server group, the first type of virtual machine that executes predetermined processing by bidirectional communication with other devices and routine processing that performs predetermined processing by a predetermined time without interactive input / output A selection unit that selects an assignment destination of a virtual machine group including:
前記仮想マシン群を同一のサーバに割り当てた場合の前記仮想マシン群の演算処理装置使用率に基づく、前記他の装置との双方向通信により前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値、および、前記所定の時間までの演算処理装置使用率の予測値を取得する取得部と、When the first type virtual machine is heavily loaded by bidirectional communication with the other device based on the processing device usage rate of the virtual machine group when the virtual machine group is assigned to the same server An acquisition unit that acquires the predicted value of the arithmetic processing device usage rate and the predicted value of the arithmetic processing device usage rate up to the predetermined time;
前記取得部によって取得された前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値が、前記選択部によって選択されたサーバの演算処理装置数に基づくしきい値以下、かつ、前記取得部によって取得された前記所定の時間までの演算処理装置使用率の予測値が、前記選択部によって選択されたサーバの演算処理装置数に基づくしきい値以下であるか否かを判断する判断部と、The predicted value of the processing device usage rate when the first type of virtual machine acquired by the acquisition unit is heavily loaded is a threshold value based on the number of processing units of the server selected by the selection unit Whether or not the predicted value of the arithmetic processing device usage rate acquired by the acquisition unit up to the predetermined time is equal to or less than a threshold value based on the number of arithmetic processing devices of the server selected by the selection unit. A determination unit for determining whether or not
前記判断部によって、前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値がしきい値以下、かつ、前記所定の時間までの演算処理装置使用率の予測値がしきい値以下と判断された場合、前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように、前記選択されたサーバに前記仮想マシン群を割り当てる割当部と、を有し、The predicted value of the arithmetic processing unit usage rate when the first type virtual machine is heavily loaded by the determination unit is equal to or less than a threshold and the predicted processing unit usage rate until the predetermined time Allocating unit for allocating the virtual machine group to the selected server so that the first type of virtual machine is executed in preference to the second type of virtual machine when it is determined that the value is equal to or less than the threshold value And having
前記選択部は、The selection unit includes:
前記第2種類の仮想マシンが配置済みであるサーバを選択し、Select the server on which the second type of virtual machine has been placed,
前記割当部は、The allocation unit is
前記選択されたサーバに、前記第1種類の仮想マシンを割り当てることを特徴とする割当装置。An allocation apparatus that allocates the first type virtual machine to the selected server.
前記サーバ群のうちいずれの仮想マシンも割り当てられていないサーバの消費電力が低下するように制御する制御部を備えることを特徴とする請求項3〜5のいずれか一つに記載の割当装置。The allocation apparatus according to claim 3, further comprising a control unit configured to control power consumption of a server to which no virtual machine is allocated from the server group. コンピュータが、Computer
他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の、前記他の装置との双方向通信により前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値がしきい値以下、かつ、所定の時間までの演算処理装置使用率の予測値がしきい値以下となる前記仮想マシン群を割当装置から受け付け、A first type of virtual machine that executes a predetermined process by bidirectional communication with another device, and a second type of virtual machine that does not have interactive input / output and executes a standard process that performs the predetermined process by a predetermined time A predicted value of the processor utilization rate when the first type virtual machine becomes highly loaded due to two-way communication with the other device in the virtual machine group including the machine, The virtual machine group in which the predicted value of the arithmetic processing device usage rate up to a predetermined time is equal to or less than a threshold value is received from the allocation device,
受け付けられた前記仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定し、The placement destination of the accepted virtual machine group is determined to be any one of the plurality of arithmetic processing devices so as to be within the processing capacity of the arithmetic processing device,
前記複数の演算処理装置のうち配置先に決定された演算処理装置に、前記仮想マシン群を割り当て、Assign the virtual machine group to the arithmetic processing device determined as the placement destination among the plurality of arithmetic processing devices,
前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように制御する、処理を実行し、Executing a process of controlling the first type virtual machine to be executed in preference to the second type virtual machine;
前記決定する処理は、The determination process is as follows:
前記第1種類の仮想マシンが前記複数の演算処理装置のいずれかの演算処理装置に配置済みである場合、前記第2種類の仮想マシンの配置先を、前記第1種類の仮想マシンが配置済みの演算処理装置に決定することを特徴とする情報処理方法。When the first type virtual machine has already been placed in any one of the plurality of processing units, the second type virtual machine has been placed in the first type virtual machine. An information processing method characterized by deciding to an arithmetic processing device.
コンピュータが、
他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の、前記他の装置との双方向通信により前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値がしきい値以下、かつ、所定の時間までの演算処理装置使用率の予測値がしきい値以下となる前記仮想マシン群を割当装置から受け付け、
受け付けられた前記仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定し、
前記複数の演算処理装置のうち配置先に決定された演算処理装置に、前記仮想マシン群を割り当て、
前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように制御する、処理を実行し、
前記決定する処理は、
前記第2種類の仮想マシンが前記複数の演算処理装置のいずれかの演算処理装置に配置済みである場合、前記第1種類の仮想マシンの配置先を、前記第2種類の仮想マシンが配置済みの演算処理装置に決定することを特徴とする情報処理方法。
Computer
A first type of virtual machine that executes a predetermined process by bidirectional communication with another device, and a second type of virtual machine that does not have interactive input / output and executes a standard process that performs the predetermined process by a predetermined time A predicted value of the processor utilization rate when the first type virtual machine becomes highly loaded due to two-way communication with the other device in the virtual machine group including the machine, The virtual machine group in which the predicted value of the arithmetic processing device usage rate up to a predetermined time is equal to or less than a threshold is received from the allocation device
The placement destination of the accepted virtual machine group is determined to be any one of the plurality of arithmetic processing devices so as to be within the processing capacity of the arithmetic processing device,
Assign the virtual machine group to the arithmetic processing device determined as the placement destination among the plurality of arithmetic processing devices,
Executing a process of controlling the first type virtual machine to be executed in preference to the second type virtual machine ;
The determination process is as follows:
When the second type virtual machine has already been placed in any one of the plurality of processing units, the second type virtual machine has been placed as the placement destination of the first type virtual machine. An information processing method characterized by deciding to an arithmetic processing device .
コンピュータが、
サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の割当先を選択し、
前記仮想マシン群を同一のサーバに割り当てた場合の前記仮想マシン群の演算処理装置使用率に基づく、前記他の装置との双方向通信により前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値、および、前記所定の時間までの演算処理装置使用率の予測値を取得し、
取得された前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値が、選択されたサーバの演算処理装置数に基づくしきい値以下、かつ、取得された前記所定の時間までの演算処理装置使用率の予測値が、選択されたサーバの演算処理装置数に基づくしきい値以下であるか否かを判断し、
前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値がしきい値以下、かつ、前記所定の時間までの演算処理装置使用率の予測値がしきい値以下と判断された場合、前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように、前記選択されたサーバに前記仮想マシン群を割り当てる、処理を実行し、
前記選択する処理は、
前記第1種類の仮想マシンが配置済みであるサーバを選択し、
前記割り当てる処理は、
前記選択されたサーバに、前記第2種類の仮想マシンを割り当てることを特徴とする割当方法。
Computer
From the server group, the first type of virtual machine that executes predetermined processing by bidirectional communication with other devices and routine processing that performs predetermined processing by a predetermined time without interactive input / output Select the assignment destination of the virtual machine group including the second type of virtual machine
When the first type virtual machine is heavily loaded by bidirectional communication with the other device based on the processing device usage rate of the virtual machine group when the virtual machine group is assigned to the same server A predicted value of the arithmetic processing device usage rate and a predicted value of the arithmetic processing device usage rate up to the predetermined time,
The predicted value of the arithmetic processing unit usage rate when the acquired first type virtual machine is heavily loaded is equal to or less than a threshold value based on the number of arithmetic processing units of the selected server, and the acquired Determining whether or not the predicted value of the arithmetic processor usage rate up to a predetermined time is equal to or less than a threshold value based on the number of arithmetic processors in the selected server;
The predicted value of the processing device usage rate when the first type virtual machine is heavily loaded is less than or equal to a threshold value, and the predicted value of the processing device usage rate up to the predetermined time is less than or equal to the threshold value If it is determined that, the first type of virtual machine to preferentially execute than the second type of virtual machine, you assign the virtual machine group to the selected server, and executes the process,
The process to select is
Select the server on which the first type virtual machine has been placed,
The assigning process is:
An allocation method comprising: allocating the second type virtual machine to the selected server .
コンピュータが、Computer
サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の割当先を選択し、From the server group, the first type of virtual machine that executes predetermined processing by bidirectional communication with other devices and routine processing that performs predetermined processing by a predetermined time without interactive input / output Select the assignment destination of the virtual machine group including the second type of virtual machine
前記仮想マシン群を同一のサーバに割り当てた場合の前記仮想マシン群の演算処理装置使用率に基づく、前記他の装置との双方向通信により前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値、および、前記所定の時間までの演算処理装置使用率の予測値を取得し、When the first type virtual machine is heavily loaded by bidirectional communication with the other device based on the processing device usage rate of the virtual machine group when the virtual machine group is assigned to the same server A predicted value of the arithmetic processing device usage rate and a predicted value of the arithmetic processing device usage rate up to the predetermined time,
取得された前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値が、選択されたサーバの演算処理装置数に基づくしきい値以下、かつ、取得された前記所定の時間までの演算処理装置使用率の予測値が、選択されたサーバの演算処理装置数に基づくしきい値以下であるか否かを判断し、The predicted value of the arithmetic processing unit usage rate when the acquired first type virtual machine is heavily loaded is equal to or less than a threshold value based on the number of arithmetic processing units of the selected server, and the acquired Determining whether or not the predicted value of the arithmetic processor usage rate up to a predetermined time is equal to or less than a threshold value based on the number of arithmetic processors in the selected server;
前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値がしきい値以下、かつ、前記所定の時間までの演算処理装置使用率の予測値がしきい値以下と判断された場合、前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように、前記選択されたサーバに前記仮想マシン群を割り当てる、処理を実行し、The predicted value of the processing device usage rate when the first type virtual machine is heavily loaded is less than or equal to a threshold value, and the predicted value of the processing device usage rate up to the predetermined time is less than or equal to the threshold value If it is determined that the virtual machine group is assigned to the selected server so that the first type of virtual machine is executed in preference to the second type of virtual machine,
前記選択する処理は、The process to select is
前記第2種類の仮想マシンが配置済みであるサーバを選択し、Select the server on which the second type of virtual machine has been placed,
前記割り当てる処理は、The assigning process is:
前記選択されたサーバに、前記第1種類の仮想マシンを割り当てることを特徴とする割当方法。An allocation method comprising: allocating the first type virtual machine to the selected server.
コンピュータに、On the computer,
他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の、前記他の装置との双方向通信により前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値がしきい値以下、かつ、所定の時間までの演算処理装置使用率の予測値がしきい値以下となる前記仮想マシン群を割当装置から受け付け、A first type of virtual machine that executes a predetermined process by bidirectional communication with another device, and a second type of virtual machine that does not have interactive input / output and executes a standard process that performs the predetermined process by a predetermined time A predicted value of the processor utilization rate when the first type virtual machine becomes highly loaded due to two-way communication with the other device in the virtual machine group including the machine, The virtual machine group in which the predicted value of the arithmetic processing device usage rate up to a predetermined time is equal to or less than a threshold value is received from the allocation device,
受け付けられた前記仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定し、The placement destination of the accepted virtual machine group is determined to be any one of the plurality of arithmetic processing devices so as to be within the processing capacity of the arithmetic processing device,
前記複数の演算処理装置のうち配置先に決定された演算処理装置に、前記仮想マシン群を割り当て、Assign the virtual machine group to the arithmetic processing device determined as the placement destination among the plurality of arithmetic processing devices,
前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように制御する、処理を実行させ、Controlling the first type of virtual machine to be executed in preference to the second type of virtual machine;
前記決定する処理は、The determination process is as follows:
前記第1種類の仮想マシンが前記複数の演算処理装置のいずれかの演算処理装置に配置済みである場合、前記第2種類の仮想マシンの配置先を、前記第1種類の仮想マシンが配置済みの演算処理装置に決定することを特徴とする情報処理プログラム。When the first type virtual machine has already been placed in any one of the plurality of processing units, the second type virtual machine has been placed in the first type virtual machine. An information processing program that is determined to be an arithmetic processing device.
コンピュータに、On the computer,
他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の、前記他の装置との双方向通信により前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値がしきい値以下、かつ、所定の時間までの演算処理装置使用率の予測値がしきい値以下となる前記仮想マシン群を割当装置から受け付け、A first type of virtual machine that executes a predetermined process by bidirectional communication with another device, and a second type of virtual machine that does not have interactive input / output and executes a standard process that performs the predetermined process by a predetermined time A predicted value of the processor utilization rate when the first type virtual machine becomes highly loaded due to two-way communication with the other device in the virtual machine group including the machine, The virtual machine group in which the predicted value of the arithmetic processing device usage rate up to a predetermined time is equal to or less than a threshold value is received from the allocation device,
受け付けられた前記仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定し、The placement destination of the accepted virtual machine group is determined to be any one of the plurality of arithmetic processing devices so as to be within the processing capacity of the arithmetic processing device,
前記複数の演算処理装置のうち配置先に決定された演算処理装置に、前記仮想マシン群を割り当て、Assign the virtual machine group to the arithmetic processing device determined as the placement destination among the plurality of arithmetic processing devices,
前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように制御する、処理を実行させ、Controlling the first type of virtual machine to be executed in preference to the second type of virtual machine;
前記決定する処理は、The determination process is as follows:
前記第2種類の仮想マシンが前記複数の演算処理装置のいずれかの演算処理装置に配置済みである場合、前記第1種類の仮想マシンの配置先を、前記第2種類の仮想マシンが配置済みの演算処理装置に決定することを特徴とする情報処理プログラム。When the second type virtual machine has already been placed in any one of the plurality of processing units, the second type virtual machine has been placed as the placement destination of the first type virtual machine. An information processing program that is determined to be an arithmetic processing device.
コンピュータに、On the computer,
サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の割当先を選択し、From the server group, the first type of virtual machine that executes predetermined processing by bidirectional communication with other devices and routine processing that performs predetermined processing by a predetermined time without interactive input / output Select the assignment destination of the virtual machine group including the second type of virtual machine
前記仮想マシン群を同一のサーバに割り当てた場合の前記仮想マシン群の演算処理装置使用率に基づく、前記他の装置との双方向通信により前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値、および、前記所定の時間までの演算処理装置使用率の予測値を取得し、When the first type virtual machine is heavily loaded by bidirectional communication with the other device based on the processing device usage rate of the virtual machine group when the virtual machine group is assigned to the same server A predicted value of the arithmetic processing device usage rate and a predicted value of the arithmetic processing device usage rate up to the predetermined time,
取得された前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値が、選択されたサーバの演算処理装置数に基づくしきい値以下、かつ、取得された前記所定の時間までの演算処理装置使用率の予測値が、選択されたサーバの演算処理装置数に基づくしきい値以下であるか否かを判断し、The predicted value of the arithmetic processing unit usage rate when the acquired first type virtual machine is heavily loaded is equal to or less than a threshold value based on the number of arithmetic processing units of the selected server, and the acquired Determining whether or not the predicted value of the arithmetic processor usage rate up to a predetermined time is equal to or less than a threshold value based on the number of arithmetic processors in the selected server;
前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値がしきい値以下、かつ、前記所定の時間までの演算処理装置使用率の予測値がしきい値以下と判断された場合、前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように、前記選択されたサーバに前記仮想マシン群を割り当てる、処理を実行させ、The predicted value of the processing device usage rate when the first type virtual machine is heavily loaded is less than or equal to a threshold value, and the predicted value of the processing device usage rate up to the predetermined time is less than or equal to the threshold value If it is determined that the virtual machine group is assigned to the selected server so that the first type virtual machine is executed in preference to the second type virtual machine, the process is executed.
前記選択する処理は、The process to select is
前記第1種類の仮想マシンが配置済みであるサーバを選択し、Select the server on which the first type virtual machine has been placed,
前記割り当てる処理は、The assigning process is:
前記選択されたサーバに、前記第2種類の仮想マシンを割り当てることを特徴とする割当プログラム。An allocation program for allocating the second type of virtual machine to the selected server.
コンピュータに、On the computer,
サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の割当先を選択し、From the server group, the first type of virtual machine that executes predetermined processing by bidirectional communication with other devices and routine processing that performs predetermined processing by a predetermined time without interactive input / output Select the assignment destination of the virtual machine group including the second type of virtual machine
前記仮想マシン群を同一のサーバに割り当てた場合の前記仮想マシン群の演算処理装置使用率に基づく、前記他の装置との双方向通信により前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値、および、前記所定の時間までの演算処理装置使用率の予測値を取得し、When the first type virtual machine is heavily loaded by bidirectional communication with the other device based on the processing device usage rate of the virtual machine group when the virtual machine group is assigned to the same server A predicted value of the arithmetic processing device usage rate and a predicted value of the arithmetic processing device usage rate up to the predetermined time,
取得された前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値が、選択されたサーバの演算処理装置数に基づくしきい値以下、かつ、取得された前記所定の時間までの演算処理装置使用率の予測値が、選択されたサーバの演算処理装置数に基づくしきい値以下であるか否かを判断し、The predicted value of the arithmetic processing unit usage rate when the acquired first type virtual machine is heavily loaded is equal to or less than a threshold value based on the number of arithmetic processing units of the selected server, and the acquired Determining whether or not the predicted value of the arithmetic processor usage rate up to a predetermined time is equal to or less than a threshold value based on the number of arithmetic processors in the selected server;
前記第1種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値がしきい値以下、かつ、前記所定の時間までの演算処理装置使用率の予測値がしきい値以下と判断された場合、前記第1種類の仮想マシンを前記第2種類の仮想マシンよりも優先して実行するように、前記選択されたサーバに前記仮想マシン群を割り当てる、処理を実行させ、The predicted value of the processing device usage rate when the first type virtual machine is heavily loaded is less than or equal to a threshold value, and the predicted value of the processing device usage rate up to the predetermined time is less than or equal to the threshold value If it is determined that the virtual machine group is assigned to the selected server so that the first type virtual machine is executed in preference to the second type virtual machine, the process is executed.
前記選択する処理は、The process to select is
前記第2種類の仮想マシンが配置済みであるサーバを選択し、Select the server on which the second type of virtual machine has been placed,
前記割り当てる処理は、The assigning process is:
前記選択されたサーバに、前記第1種類の仮想マシンを割り当てることを特徴とする割当プログラム。An allocation program for allocating the first type virtual machine to the selected server.
JP2012059503A 2012-03-15 2012-03-15 Information processing device Expired - Fee Related JP5978673B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012059503A JP5978673B2 (en) 2012-03-15 2012-03-15 Information processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012059503A JP5978673B2 (en) 2012-03-15 2012-03-15 Information processing device

Publications (2)

Publication Number Publication Date
JP2013196062A JP2013196062A (en) 2013-09-30
JP5978673B2 true JP5978673B2 (en) 2016-08-24

Family

ID=49394995

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012059503A Expired - Fee Related JP5978673B2 (en) 2012-03-15 2012-03-15 Information processing device

Country Status (1)

Country Link
JP (1) JP5978673B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6358042B2 (en) 2014-10-21 2018-07-18 富士通株式会社 Information processing system, control apparatus, and information processing system control method
WO2017168664A1 (en) * 2016-03-30 2017-10-05 富士通株式会社 Deployment search program, deployment search method, and deployment search device

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002132518A (en) * 2000-10-25 2002-05-10 Fujitsu Ltd Virtual computer system and exchanging method of input- output apparatus among virtual computers
JP2010097566A (en) * 2008-10-20 2010-04-30 Hitachi Ltd Information processing apparatus, and method for assigning batch processing in information processing system
JP4839361B2 (en) * 2008-11-11 2011-12-21 株式会社日立製作所 Virtual machine migration management server and virtual machine migration method
JP2010191567A (en) * 2009-02-17 2010-09-02 Nec Corp Information management apparatus, information management method and the like
JP5471080B2 (en) * 2009-06-30 2014-04-16 日本電気株式会社 Information system, control device, data processing method thereof, and program

Also Published As

Publication number Publication date
JP2013196062A (en) 2013-09-30

Similar Documents

Publication Publication Date Title
Praveenchandar et al. RETRACTED ARTICLE: Dynamic resource allocation with optimized task scheduling and improved power management in cloud computing
US11714667B2 (en) Automated scaling of application in virtual data centers
Esfandiarpoor et al. Structure-aware online virtual machine consolidation for datacenter energy improvement in cloud computing
Devi et al. Load balancing in cloud computing environment using improved weighted round robin algorithm for nonpreemptive dependent tasks
US9727383B2 (en) Predicting datacenter performance to improve provisioning
US8881168B2 (en) Scheduling a parallel job in a system of virtual containers
US8024737B2 (en) Method and a system that enables the calculation of resource requirements for a composite application
He et al. Real time elastic cloud management for limited resources
US20120023492A1 (en) Workload interference estimation and performance optimization
Sampaio et al. PIASA: A power and interference aware resource management strategy for heterogeneous workloads in cloud data centers
JP2011258119A (en) Cluster configuration management method, management device and program
US10601690B2 (en) Assessing performance of networked computing environments
Castro et al. A joint CPU-RAM energy efficient and SLA-compliant approach for cloud data centers
US10353745B1 (en) Assessing performance of disparate computing environments
Nagpure et al. An efficient dynamic resource allocation strategy for VM environment in cloud
JP2015007942A (en) Program, virtual machine management method, and information processing apparatus
US20140137122A1 (en) Modified backfill scheduler and a method employing frequency control to reduce peak cluster power requirements
JP2017041191A (en) Resource management apparatus, resource management program, and resource management method
Kumar et al. Achieving quality of service (QoS) using resource allocation and adaptive scheduling in cloud computing with grid support
Priya et al. Moving average fuzzy resource scheduling for virtualized cloud data services
Hähnel et al. Extending the cutting stock problem for consolidating services with stochastic workloads
Mangla et al. Resource scheduling in cloud environmet: A survey
KR102469927B1 (en) Apparatus for managing disaggregated memory and method for the same
Zheng et al. Dynamic virtual machine placement for cloud computing environments
JP5978673B2 (en) Information processing device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141112

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150804

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151005

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160606

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160628

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160711

R150 Certificate of patent or registration of utility model

Ref document number: 5978673

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees