JP5978673B2 - Information processing device - Google Patents
Information processing device Download PDFInfo
- 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
Links
Images
Landscapes
- Power Sources (AREA)
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
しかしながら、上述した従来技術では、プロセッサが複数の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.
以下に添付図面を参照して、この発明にかかる情報処理装置、割当装置、情報処理方法、割当方法、情報処理プログラムおよび割当プログラムの実施の形態を詳細に説明する。以下では、情報処理装置としてサーバルーム内のサーバを採用し、割当装置としてサーバに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
以下では、他の装置と双方向通信により所定の処理を実行する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
上記式(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
上記式(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.
上記式(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
制御サーバ100は、割当先になるサーバSとして、サーバS1を選択する。制御サーバ100は、選択したサーバS1にオンラインVM1を割り当てた場合に、サーバS1において上記式(1)および式(2)の条件を満たすか否かを判断する。上記式(1)の条件は「30%≦240%」となり、条件を満たしている。また、上記式(2)の条件は、「30%+20%×3=90%≦240%」となり、条件を満たしている。そのため、制御サーバ100は、オンラインVM1をサーバS1に割り当てる。
The
次に、制御サーバ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
ここで、上記式(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
次に、制御サーバ100は、割当対象になるVMとして、バッチVM3を選択する。ここで、バッチVM3の平均CPU利用率は「30%」とする。制御サーバ100は、VMが割り振られたサーバS数が少なくなるように、オンラインVM1およびオンラインVM2を割当済みのサーバS1を、割当先になるサーバSとして選択する。制御サーバ100は、選択したサーバS1にバッチVM3を割り当てた場合に、サーバS1において上記式(1)および式(2)の条件を満たすか否かを判断する。
Next, the
ここで、上記式(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
次に、制御サーバ100は、割当対象になるVMとして、バッチVM4を選択する。ここで、バッチVM4の平均CPU利用率は「30%」とする。制御サーバ100は、VMが割り振られたサーバS数が少なくなるように、オンラインVM1、オンラインVM2およびバッチVM3を割当済みのサーバS1を、割当先になるサーバSとして選択する。制御サーバ100は、選択したサーバS1にバッチVM4を割り当てた場合に、サーバS1において上記式(1)および式(2)の条件を満たすか否かを判断する。
Next, the
ここで、上記式(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
サーバ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
図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
ここで、サーバ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
また、VMが割り当てられていないサーバSがあれば、制御サーバ100は、サーバSへの電力供給を停止する。これにより、サーバルームの消費電力が低減される。また、制御サーバ100は、複数のVMを1つのサーバSに割り当てることにより、サーバSはCPUリソースを効率よく利用することができる。
If there is a server S to which no VM is assigned, the
また、制御サーバ100は、上記式(1)および(2)を制約条件とした混合整数計画問題を解くことにより、オンラインVM1、オンラインVM2、バッチVM3、およびバッチVM4を、サーバSに割り当ててもよい。例えば、配置済みのVMの平均CPU利用率やCPU利用率の標準偏差を入力とし、変数xn,i,jと、変数vijと、変数θiを出力する混合整数計画問題を用いて、VMをサーバSに割り当てる。
Further, the
変数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
また、制御サーバ100は、サーバルーム内のCRAC(精密空量装置:Computer Room Air Conditioning)による冷却効率がよいサーバSを、VMを割り当てるサーバSとして選択してもよい。これにより、CRACの消費電力が低減される。
In addition, the
(システム構成例)
次に、図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
サーバルーム内のサーバS群と、制御サーバ100と、タスク投入サーバ201と、クライアント202と、は、ネットワークNETにより接続されている。ネットワークNETは、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット、携帯電話網などで構成される。
The server S group in the server room, the
タスク投入サーバ201は、VMのサーバSへの割当要求を制御サーバ100に送信するコンピュータである。割当要求には、例えば、VMの実行ファイルと、VMがオンラインVMかバッチVMかを示す情報と、が含まれる。
The
制御サーバ100は、タスク投入サーバ201からVMのサーバSへの割当要求を受け付けるコンピュータである。制御サーバ100は、オンラインVMの性能低下を回避し、バッチVMが規定終了時刻までに終了し、かつ、VMを割り当てられたサーバS数が少なくなるように、受け付けたVMをサーバルーム内のサーバSに割り当てる。
The
クライアント202は、オンラインVMと双方向通信を行うコンピュータである。クライアント202は、オンラインVMに対して、処理要求を送信したり、処理結果を受信したりする。また、クライアント202は、バッチVMの処理結果を受信するコンピュータであってもよい。クライアント202には、例えば、デスクトップ型PC(Personal Computer)、ノート型PC、携帯電話機(スマートフォン、PHS(Personal Handyphone System))、タブレット型端末を採用できる。
The
ラック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
CRAC204は、ラック203内のサーバSを冷却する装置である。例えば、CRAC204は、サーバルーム内にC台存在するとし、k番目のCRAC204をCRAC204(k)と表す。Chiller205は、排気を行う装置である。Chiller205は、CRAC204と同数台存在するとし、例えば、k番目のChiller205をChiller205(k)と表す。
The
(コンピュータのハードウェア構成例)
次に、図3を用いて、制御サーバ100およびサーバSとして採用されるコンピュータのハードウェア構成例について説明する。
(Computer hardware configuration example)
Next, a hardware configuration example of a computer employed as the
図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
CPUs301は、コンピュータ300の全体の制御を司る。また、CPUs301は、記憶装置302に記憶されている各種プログラムを実行することで、記憶装置302内のデータを読み出したり、実行結果となるデータを記憶装置302に書き込んだりする。各種プログラムには、OS(Operating System)や本実施の形態の情報処理プログラムまたは割当プログラムが含まれる。
The
記憶装置302は、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、磁気ディスクドライブなどで構成され、CPUs301のワークエリアになったり、各種プログラムや各プログラムの実行により得られたデータを含む各種データを記憶したりする。
The
入力装置303は、キーボード、マウス、タッチパネルなどユーザの操作により、各種データの入力を行うインターフェースである。出力装置304は、CPUs301の指示により、データを出力するインターフェースである。出力装置304としては、例えば、ディスプレイやプリンタが採用される。通信装置305は、ネットワークNETを介して外部からデータを受信したり、外部にデータを送信したりするインターフェースである。
The
(サーバルーム構造情報の記憶内容)
次に、図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
図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
(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
図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数テーブルの記憶内容)
次に、図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
図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
(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
図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
(ベース消費電力テーブルの記憶内容)
次に、図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
図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
(スケーリング情報の記憶内容)
次に、図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
図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
(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
図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
(電源テーブルの記憶内容)
次に、図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
図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
(ラック状態テーブルの記憶内容)
次に、図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
図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
(初期配置テーブルの記憶内容)
次に、図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
図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
(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
図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
(割当対象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
図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
図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
平均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
標準偏差項目には、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
(制御サーバ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
受付部1701は、タスク投入サーバ201から送信されたVMのサーバSへの割当要求を受け付ける。ここで、割当要求には、例えば、割当対象になるVMの実行ファイルが含まれる。また、割当要求には、割当対象になるVMの平均CPU利用率や標準偏差が含まれていてもよい。制御サーバ100は、割当要求に割当対象になるVMの平均CPU利用率や標準偏差が含まれる場合、割当対象になるVMと、平均CPU利用率や標準偏差と、を対応付けたレコードを、割当対象VMテーブル1500に追加する。
The accepting
また、受付部1701は、現在サーバSに割り当てられているVMの配置変更要求を受け付けてもよい。VMの配置変更の要求は、タスク投入サーバ201から送信されてもよいし、制御サーバ100内で一定時間ごとに発生させてもよい。また、サーバSからのVMの終了通知を、VMの配置変更の要求として受け付けてもよい。これにより、受付部1701は、サーバSへのVMの割り当てを開始するトリガを発生させることができる。受け付けられた要求は、例えば、記憶装置302に記憶される。
The accepting
特定部1702は、サーバ群に配置済みの第2種類の仮想マシン群の中から、予測残存実行時間が最長の第2種類の仮想マシンを特定する。特定部1702は、具体的には、例えば、サーバ群の各々から実行中のバッチVMの予測残存実行時間を取得し、予測残存実行時間が最長のバッチVMを特定する。また、特定部1702は、サーバ群の各々から実行中のバッチVMのCPU利用率の変動履歴と実行時間を取得し、予測残存実行時間を算出し、予測残存実行時間が最長のバッチVMを特定してもよい。また、特定部1702は、バッチVMにプログラムの進捗を示す情報を送信するAPIが含まれる場合、APIにより送信された進捗を示す情報から予測残存実行時間を算出し、予測残存実行時間が最長のバッチVMを特定してもよい。
The identifying
これにより、特定部1702は、選択部1703に予測残存時間が最長のバッチVMを配置済みのサーバSを配置先に選択させることができる。結果として、特定部1702は、予測残存時間が最長でないバッチVMに遅れを生じさせず、予測残存時間が最長でないバッチVMの終了により、早期にサーバSのCPUリソースに空きが生じるようにすることができる。
As a result, the specifying
選択部1703は、サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む仮想マシン群の割当先を選択する。ここで、第1種類の仮想マシンとは、他の装置と双方向通信により所定の処理を実行するVMであり、上述したオンラインVMである。また、第1種類の仮想マシンは、割当対象になるVMであってもよいし、配置済みのVMであってもよい。第2種類の仮想マシンとは、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行するVMであり、上述したバッチVMである。また、第2種類の仮想マシンは、割当対象になるVMであってもよいし、配置済みのVMであってもよい。第1種類の仮想マシンおよび第2種類の仮想マシンは、各々複数個選択されてもよい。
The
選択部1703は、具体的には、例えば、サーバ群の中から、オンラインVMとバッチVMとを含むVM群の割当先として、他のサーバSよりもCRAC204による冷却効率がよいサーバSを選択する。CRAC204による冷却効率がよいサーバSとは、例えば、他のサーバSよりもCRAC204との距離が近いサーバSである。これにより、選択部1703は、CRAC204による冷却効率の悪いサーバSにVMを割り振った場合に比較して、CRAC204の消費電力の増加を抑えることができる。
Specifically, for example, the
また、選択部1703は、具体的には、例えば、第1種類の仮想マシンが配置済みであるサーバSを選択してもよい。選択部1703は、より具体的には、例えば、VM群の中に未割当のバッチVMがある場合、オンラインVMが配置済みのサーバSを選択する。これにより、1つのサーバSに、オンラインVMとバッチVMとが配置される。
For example, the
この場合、選択部1703は、特定部1702によって特定された予測残存実行時間が最長の第2種類の仮想マシンが配置済みのサーバS以外であって、かつ、第1種類の仮想マシンが配置済みであるサーバSを選択してもよい。選択部1703は、より具体的には、例えば、特定されたバッチVMの割当先になるサーバSとして、オンラインVMが配置済みであるサーバSを選択する。これにより、選択部1703は、オンラインVMの割当によって予測残存時間が最長でないバッチVMに遅れを生じさせず、予測残存時間が最長でないバッチVMの終了により、早期にサーバSのCPUリソースに空きが生じるようにすることができる。
In this case, the
また、選択部1703は、具体的には、例えば、第2種類の仮想マシンが配置済みであるサーバSを選択してもよい。選択部1703は、より具体的には、例えば、VM群の中に未割当のオンラインVMがある場合、バッチVMが配置済みのサーバSを選択する。これにより、選択部1703は、1つのサーバSに、オンラインVMとバッチVMとが割り当てられるようにする。
For example, the
この場合、選択部1703は、特定部1702によって特定された予測残存実行時間が最長の第2種類の仮想マシンが配置済みであるサーバSを選択してもよい。選択部1703は、より具体的には、例えば、VM群の中に未割当のオンラインVMがある場合、特定されたバッチVMが配置済みであるサーバSを選択する。これにより、選択部1703は、オンラインVMの割当によって予測残存時間が最長でないバッチVMに遅れを生じさせず、予測残存時間が最長でないバッチVMの終了により、早期にサーバSのCPUリソースに空きが生じるようにすることができる。選択結果は、例えば、記憶装置302に記憶される。
In this case, the
取得部1704は、仮想マシン群を同一のサーバSに割り当てた場合の仮想マシン群の演算処理装置使用率に基づく演算処理装置使用率の予測値を取得する。ここで、演算処理装置とは、上述したCPUである。取得部1704は、具体的には、例えば、割当対象VMテーブル1500から、VM群に含まれる割当対象になるバッチVMの平均CPU利用率と割当対象になるオンラインVMの平均CPU利用率とを取得する。そして、取得部1704は、バッチVMの平均CPU利用率とオンラインVMの平均CPU利用率との和を、予測値として算出する。
The
ここで、バッチ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
また、取得部1704は、具体的には、例えば、割当対象VMテーブル1500から、VM群に含まれる割当対象になるバッチVMの平均CPU利用率を取得する。次に、取得部1704は、配置済みVMテーブル1600から、VM群に含まれる配置済みのオンラインVMの平均CPU利用率を取得する。そして、取得部1704は、バッチVMの平均CPU利用率とオンラインVMの平均CPU利用率との和を、予測値として算出する。
Specifically, the
ここで、配置済みの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
また、取得部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
また、取得部1704は、具体的には、例えば、割当対象VMテーブル1500から、オンラインVMの平均CPU利用率と、オンラインVMのCPU利用率のσ×nとを取得する。そして、取得部1704は、オンラインVMの平均CPU利用率と、オンラインVMのCPU利用率のσ×cと、の和を、予測値として算出する。ここで、σは、オンラインVMのCPU利用率の正規分布における標準偏差である。nは、標準偏差に乗算する定数である。これにより、取得部1704は、割当対象になるオンラインVMが高負荷になったときのCPU利用率を取得することができる。
Specifically, the
また、取得部1704は、具体的には、例えば、配置済みVMテーブル1600から、オンラインVMの平均CPU利用率と、オンラインVMのCPU利用率のσ×nとを取得する。そして、取得部1704は、オンラインVMの平均CPU利用率と、オンラインVMのCPU利用率のσ×cと、の和を、予測値として算出する。これにより、取得部1704は、配置済みのオンラインVMが高負荷になったときのCPU利用率を取得することができる。
Specifically, the
算出された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
判断部1705は、取得部1704によって取得された予測値が、選択部1703によって選択されたサーバSの演算処理装置数に基づくしきい値以下であるか否かを判断する。しきい値とは、サーバSでのCPU利用率の上限であり、上述したPiである。Piは、サーバS内のCPUの数と1CPU当たりのCPU利用率の上限とを乗算した値である。Piとしては、例えば、(CPUの数×90%)−10%が採用される。
The
判断部1705は、具体的には、例えば、VM群の複数のバッチVMの平均CPU利用率と、VM群の複数のオンラインVMの平均CPU利用率と、の和が、Pi以下であるか否かを判断する。これにより、判断部1705は、複数のオンラインVMのCPU利用率を考慮しても、複数のバッチVMの各々を規定終了時刻までに終了することが可能な最小の平均CPU利用率を、サーバSのCPU利用率上限以下に確保できるか否かを判断することができる。
Specifically, for example, the
また、判断部1705は、具体的には、例えば、オンラインVMの平均CPU利用率と、オンラインVMのCPU利用率のσ×nと、の和が、Pi以下であるか否かを判断する。これにより、判断部1705は、同時に複数のオンラインVMが高負荷になった場合であっても、オンラインVMのCPU利用率の和が、サーバSのCPU利用率上限以下になるか否かを判断することができる。判断結果は、例えば、記憶装置302に記憶される。
Further,
割当部1706は、判断部1705によってしきい値以下と判断された場合、第1種類の仮想マシンを第2種類の仮想マシンよりも優先実行するように、選択されたサーバSに仮想マシン群を割り当てる。割当部1706は、具体的には、例えば、判断部1705によって閾値以下と判断された場合、選択されたサーバSに、VM群の実行要求を送信する。ここで、実行要求には、VM群の各々の実行ファイルが含まれる。また、実行要求には、VM群の中のオンラインVMの実行の優先度を、バッチVMよりも高くする旨を示す通知が含まれる。これにより、割当部1706は、割当対象になるバッチVMとオンラインVMとをサーバSに割り当てた場合に、割り当てたオンラインVMの性能低下を回避し、割り当てたバッチVMを規定終了時刻までに終了させることができる。
When the
また、実行要求には、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
割当部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
また、割当部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
また、実行要求には、サーバ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
また、割当部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
また、実行要求には、サーバ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
検出部1707は、サーバ群のうち、いずれのVMも割り当てられていないサーバSを検出する。検出部1707は、具体的には、例えば、一定時間ごとに、サーバS群の各々にVMの実行状況を要求し、サーバS群の各々のVMの実行状況を取得することによりいずれのVMも割り当てられていないサーバSを検出する。また、検出部1707は、割当部1706による割当の結果、配置済みのVMが他のサーバSに割り振り直されたサーバSのVMの実行状況を取得してもよい。検出結果は、例えば、記憶装置302に記憶される。
The
制御部1708は、サーバ群のうちいずれの仮想マシンも割り当てられていないサーバSの消費電力が低下するように制御する。制御部1708は、具体的には、例えば、検出部1707によって検出されたサーバSへの電力供給を停止する要求を、当該サーバSへの電力供給を制御するUPS206に送信する。これにより、制御部1708は、サーバSの消費電力を低減することができる。
The
また、選択部1703と取得部1704と判断部1705との機能は、上記式(1)および式(2)を制約条件に含む混合整数計画問題を解くことにより実現することができる。また、混合整数計画問題を解く際にソルバを利用してもよい。混合整数計画問題を解くソルバとしては、例えば、GLPK、SYMPHONY、Gurobi、CPLEXがある。
The functions of the
具体的には、例えば、混合整数計画問題は下記式(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.
上記式(5)は、混合整数計画問題における最小化関数を示す。制御サーバ100は、混合整数計画問題を解くことで、下記式(6)〜式(15)の制約条件を満たす範囲で、最小化関数を最小化する解を求めることができる。上記式(5)は、具体的には、サーバルームでの消費電力を示す。そのため、制御サーバ100は、混合整数計画問題を解くことにより、サーバルームでの消費電力を最小化する解を求めることができる。
Equation (5) above shows the minimizing function in the mixed integer programming problem. The
ここで、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
η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
β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αijvijは、ラック203(i)内の複数のサーバSの常時消費電力の和を示す。上記式(5)のΣj=1 SβijWij 0は、ラック203(i)内の複数のサーバSに配置済みのVMの消費電力の和を示す。上記式(5)のΣj=1 S(βijΣn=1 Mτnxn,i,j)は、ラック203(i)内の複数のサーバSに割り当てられたVMの消費電力の和を示す。従って、上記式(5)のΣj=1 S(αijvij+βij(Wij 0+Σn=1 Mτnxn,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 S (β ij Σ 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 S (α ij 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(αijvij+βij(Wij 0+Σn=1 Mτnxn,i,j)))は、ラック203(i)内のUPS206の消費電力を示す。従って、Σi=1 N(ηi+(1+εi)(Σj=1 S(αijvij+βij(Wij 0+Σn=1 Mτnxn,i,j))))は、サーバルーム内の複数のラック203の消費電力の和を示す。
In the above equation (5), ε i (Σ j = 1 S (α ij v ij + β ij (W ij 0 + Σ n = 1 M τ n x n, i, j ))) in the rack 203 (i) The power consumption of the
また、上記式(5)のΣk=1 C(λk+μkqin,CRAC K)は、CRAC204がサーバSの冷却に消費する電力の和を示す。上記式(5)のΣk=1 C(κkqout,CRAC K)は、CRAC204が流出した熱流を、Chiller205が排気するために消費する電力の和を示す。従って、Σk=1 C(λk+μkqin,CRAC K)+Σk=1 C(κkqout,CRAC K)は、サーバルーム内のサーバSの冷却のための総消費電力を示す。 In addition, Σ k = 1 C (λ k + μ 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 C (κ k 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 C (λ k + μ k q in, CRAC K ) + Σ k = 1 C (κ k 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
上記式(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.
上記式(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).
上記式(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).
上記式(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.
上記式(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).
上記式(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, j (τ n + σ 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.
上記式(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.
上記式(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+μkqin,CRAC K)+Σk=1 C(κkqout,CRAC K)、および上記式(13)〜式(15)は削除される。
Further, the
(サーバ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
受付部1801は、具体的には、例えば、制御サーバ100から自装置に送信されたVM群の実行要求を受け付ける。ここで、実行要求には、VM群の各々の実行ファイルが含まれる。また、実行要求には、VM群の中のオンラインVMの実行の優先度を、バッチVMよりも高くする旨を示す通知が含まれる。
Specifically, the
受付部1801は、より具体的には、例えば、自装置に割り当てられ、同時に実行されるオンラインVMとバッチVMとの実行要求を受け付ける。ここで、オンラインVMとバッチVMとは、自装置において同時に実行した場合に、上記式(10)および式(11)の制約条件を満たすことができるVM群である。また、実行要求には、VM群の配置先のCPUを指定する情報が含まれてもよい。これにより、受付部1801は、自装置において同時に実行しても、性能低下を回避することができるオンラインVMと、規定終了時刻までに終了させることができるバッチVMと、の処理を開始するトリガを発生させることができる。
More specifically, the accepting
また、受付部1801は、自装置に配置済みのオンラインVMと同時に実行されるバッチVMの実行要求を受け付けてもよい。また、実行要求には、VM群の配置先になるオンラインVMが配置済みのCPUを指定する情報が含まれてもよい。これにより、受付部1801は、自装置において配置済みのオンラインVMと同時に実行しても、配置済みのオンラインVMが性能低下を生じず、かつ、規定終了時刻までに終了させることができるバッチVMの処理を開始するトリガを発生させることができる。
The accepting
また、受付部1801は、自装置に配置済みのバッチVMと同時に実行されるオンラインVMの実行要求を受け付けてもよい。また、実行要求には、VM群の配置先になるバッチVMが配置済みのCPUを指定する情報が含まれてもよい。ここで、オンラインVMとバッチVMとは、自装置において同時に実行した場合に、上記式(10)および式(11)の制約条件を満たすことができるVM群である。これにより、受付部1801は、自装置において配置済みのバッチVMと同時に実行しても、配置済みのバッチVMが規定終了時刻までに終了し、かつ、性能低下を回避することができるオンラインVMの処理を開始するトリガを発生させることができる。
In addition, the
決定部1802は、仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定する。ここで、仮想マシン群は、他の装置と双方向通信により所定の処理を実行する第1種類の仮想マシンと、対話的な入出力がなく、所定の処理を所定の時間までに行う定型処理を実行する第2種類の仮想マシンと、を含む。演算処理装置とは、CPUである。決定部1802は、具体的には、例えば、VM群の配置先を、複数のCPUの中で、VMを配置済みのCPUに決定する。また、決定部1802は、実行要求に配置先のCPUを指定する情報が含まれる場合、当該情報が示すCPUを配置先に決定してもよい。これにより、決定部1802は、同一CPUによりVM群を実行し、CPUリソースを効率よく利用することができる。
The determining
また、決定部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
また、決定部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
割当部1803は、複数の演算処理装置のうち決定部1802によって配置先に決定された演算処理装置に、仮想マシン群を割り当てる。これにより、割当部1803は、VMの処理をCPUに開始させることができる。
The assigning
制御部1804は、第1種類の仮想マシンを第2種類の仮想マシンよりも優先して実行するように制御する。制御部1804は、具体的には、例えば、オンラインVMの優先度を、バッチVMの優先度より高くするようにCPUに通知する。そのため、CPUは、オンラインVMの実行には優先してCPUリソースを利用し、バッチVMの実行にはオンラインVMの実行に利用されていない余りのCPUリソースを利用する。これにより、制御部1804は、オンラインVMの性能低下を回避することができる。
The
(制御サーバ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
図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
制御サーバ100は、オンラインVM19をいずれかのサーバSに割り当てる。制御サーバ100は、割当対象VMテーブル1500からオンラインVM19の平均CPU利用率とCPU利用率の標準偏差を取得し、配置済みVMテーブル1600から配置済みのVM11〜18の平均CPU利用率やCPU利用率の標準偏差を取得する。そして、制御サーバ100は、取得した平均CPU利用率と標準偏差とを用いて、混合整数計画問題を解く。
The
制御サーバ100は、具体的には、例えば、図4〜図16に示した各テーブルに記憶された変数の値を設定した混合整数計画問題をGLPKに入力し、GLPKが求めた混合整数計画問題の解を取得する。例えば、GLPKは、VM19を割り当てた場合の変数xn,i,jを、解として出力する。
Specifically, the
例えば、サーバ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
また、サーバ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
また、電源供給されていないサーバS3にオンラインVM19を割り当てる場合、サーバS3に電源を供給して、オンラインVM19を割り当てて、実行させることになる。この場合、サーバルームでの消費電力が増大してしまい、上記式(5)の最小化関数を最小化できなくなる。そのため、GLPKは、例えば、オンラインVM19がラック203(1)のサーバS2に割り振られているか否かを示す変数x19,1,2を「1」にして出力する。
Further, when the
そして、制御サーバ100は、出力された解「x19,1,2=1」に応じたサーバS2にオンラインVM19を割り当てる。これにより、制御サーバ100は、オンラインVMの性能低下を回避することができる。また、制御サーバ100は、バッチVMが規定終了時刻までに終了し、かつ、VMを割り当てられたサーバS数が少なくなるように、VMを割り当てることができる。
Then, the
また、制御サーバ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
一方、サーバ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
次に、図20の例では、サーバS2に割り当てられたオンラインVM19が終了している。ここで、サーバS2に割り当てられたVMが、バッチVM18であることを検出すると、制御サーバ100は、バッチVM18を他のサーバSに移行できるかを試行する。
Next, in the example of FIG. 20, the
具体的には、制御サーバ100は、配置済みのVMからバッチVM18を除外し、かつ、割当対象になるVMとしてバッチVM18を採用した場合の混合整数計画問題を解き、バッチVM18の割り当てをやり直す。
Specifically, the
具体的には、制御サーバ100は、配置済みVMテーブル1600のバッチVM18に関するレコードを参照して、割当対象VMテーブル1500にバッチVM18に関するレコードを追加する。また、制御サーバ100は、配置済みVMテーブル1600のバッチVM18に関するレコードを削除する。また、制御サーバ100は、初期配置テーブル1300のサーバS1,S2に関する初期配置項目を更新する。これにより、制御サーバ100は、バッチVM18を割当対象になるVMとして扱うことができる。
Specifically, the
そして、制御サーバ100は、図4〜図16に示した各テーブルに記憶された変数の値を設定した混合整数計画問題をGLPKに入力し、GLPKが求めた混合整数計画問題の解を取得する。例えば、GLPKは、VM18を割り当てた場合の変数xn,i,jを、解として出力する。そして、制御サーバ100は、混合整数計画問題の解に応じたサーバSにバッチVM18を割り当てる。
Then, the
例えば、サーバ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
また、サーバ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
ここで、制御サーバ100は、混合整数計画問題の解「x19,1,1=1」に応じたサーバS1にバッチVM18を割り当て、サーバS2からバッチVM18を移行させる。そして、制御サーバ100は、サーバS2に割り当てられたVMがないことを検出すると、サーバS2への電力供給の停止をUPS206に要求する。これにより、サーバルームの消費電力が低減される。また、制御サーバ100は、VMの移行においても、上記式(10)および式(11)の条件を満たすサーバSにVMを移行するため、オンラインVMの性能低下を回避し、バッチVMを規定終了時刻までに終了させることができる。
Here, the
また、混合整数計画問題の解に応じたサーバ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
(割当処理)
次に、図21を用いて、制御サーバ100によって実行される割当処理の詳細な処理手順について説明する。
(Assignment process)
Next, a detailed processing procedure of the allocation processing executed by the
図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
一方、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
一方、オンライン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
次に、制御サーバ100は、取得したバッチVMの平均CPU利用率、または取得したオンラインVMの平均CPU利用率と標準偏差を用いて混合整数計画問題を解く(ステップS2105)。
Next, the
次に、制御サーバ100は、混合整数計画問題の解に応じて、VMを割り当てる(ステップS2106)。そして、制御サーバ100は、割当処理を終了する。これにより、制御サーバ100は、オンラインVMの性能低下を回避し、バッチVMが規定終了時刻までに終了し、かつ、VMを割り当てられたサーバS数が少なくなるように、VMを割り当てることができる。
Next, the
以上説明したように、割当装置は、オンライン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
(付記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
(付記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
Claims (14)
前記受付部によって受け付けられた前記仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定する決定部と、
前記複数の演算処理装置のうち前記決定部によって配置先に決定された演算処理装置に、前記仮想マシン群を割り当てる割当部と、
前記第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.
前記受付部によって受け付けられた前記仮想マシン群の配置先を、演算処理装置の処理能力内に収まるよう複数の演算処理装置の中のいずれかの演算処理装置に決定する決定部と、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種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値、および、前記所定の時間までの演算処理装置使用率の予測値を取得する取得部と、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.
前記選択部は、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種類の仮想マシンが高負荷になったときの演算処理装置使用率の予測値、および、前記所定の時間までの演算処理装置使用率の予測値を取得する取得部と、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.
他の装置と双方向通信により所定の処理を実行する第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 .
サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第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.
他の装置と双方向通信により所定の処理を実行する第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.
他の装置と双方向通信により所定の処理を実行する第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.
サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第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.
サーバ群の中から、他の装置と双方向通信により所定の処理を実行する第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.
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)
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 |
JP6699720B2 (en) * | 2016-03-30 | 2020-05-27 | 富士通株式会社 | Location search program, location search method, and location search device |
Family Cites Families (5)
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 |
-
2012
- 2012-03-15 JP JP2012059503A patent/JP5978673B2/en not_active Expired - Fee Related
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 | |
US8881168B2 (en) | Scheduling a parallel job in a system of virtual containers | |
He et al. | Real time elastic cloud management for limited resources | |
US20130219068A1 (en) | Predicting datacenter performance to improve provisioning | |
Sampaio et al. | PIASA: A power and interference aware resource management strategy for heterogeneous workloads in cloud data centers | |
US20120023492A1 (en) | Workload interference estimation and performance optimization | |
US20070250629A1 (en) | Method and a system that enables the calculation of resource requirements for a composite application | |
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 | |
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 | |
KR102469927B1 (en) | Apparatus for managing disaggregated memory and method for the same | |
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 | |
Mangla et al. | Resource scheduling in cloud environmet: A survey | |
Hähnel et al. | Extending the cutting stock problem for consolidating services with stochastic workloads | |
Zheng et al. | Dynamic virtual machine placement for cloud computing environments | |
JP5978673B2 (en) | Information processing device | |
JP2010191567A (en) | Information management apparatus, information management method and the like |
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 |