JP2013250905A - Virtual machine system and load control method of virtual machine system - Google Patents
Virtual machine system and load control method of virtual machine system Download PDFInfo
- Publication number
- JP2013250905A JP2013250905A JP2012126693A JP2012126693A JP2013250905A JP 2013250905 A JP2013250905 A JP 2013250905A JP 2012126693 A JP2012126693 A JP 2012126693A JP 2012126693 A JP2012126693 A JP 2012126693A JP 2013250905 A JP2013250905 A JP 2013250905A
- Authority
- JP
- Japan
- Prior art keywords
- rate
- virtual machine
- service rate
- service
- cpu
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、仮想計算機システムの負荷制御に関する。 The present invention relates to load control of a virtual machine system.
仮想計算機システムとは、1台の計算機を複数の仮想的な計算機に分割することにより、複数のオペレーティングシステム(OS)を動作させることを可能とするシステムである。物理的な計算機上に仮想計算機モニタ(VMM)を動作させ、物理CPUや物理メモリといった物理資源を論理的に分割し、論理CPUや論理メモリといった論理資源を適切な仮想計算機(VM)に割当てることにより、仮想計算機上で動作する複数のOS各々が自OS専用のCPUやメモリを持っているかのように動作させるシステムのことである。 1台の物理計算機上の複数のVMの性能は、物理CPUや物理メモリを、どれだけ各VMに配分するかにより決まる。従来では、計算機システムの運用者が、例えば物理CPUリソースの配分量を経験的に決定し、VM毎にその配分量を設定してきた。また、VM毎に負荷のアンバランスが生じた場合には、運用者が経験的に物理CPUリソースの再配分量を決定しVM毎に再設定していた。 The virtual computer system is a system that enables a plurality of operating systems (OS) to operate by dividing one computer into a plurality of virtual computers. A virtual machine monitor (VMM) is operated on a physical computer, physical resources such as a physical CPU and physical memory are logically divided, and logical resources such as a logical CPU and logical memory are allocated to an appropriate virtual machine (VM). Thus, each of a plurality of OSs operating on a virtual machine is operated as if it has a CPU or memory dedicated to its own OS. The performance of a plurality of VMs on one physical computer is determined by how much a physical CPU and physical memory are allocated to each VM. Conventionally, an operator of a computer system has determined, for example, the physical CPU resource allocation amount empirically and set the allocation amount for each VM. When load imbalance occurs for each VM, the operator empirically determines the physical CPU resource redistribution amount and resets it for each VM.
従来、仮想計算機システムを用いない物理計算機システムの負荷監視は、OS内に設けられているCPU性能モニタプログラムを動作させて、CPU使用率を測定することにより実行されてきた。CPU使用率とは、単位時間に対するCPUが処理を実行した時間の割合である。 Conventionally, load monitoring of a physical computer system that does not use a virtual computer system has been executed by operating a CPU performance monitor program provided in the OS and measuring the CPU usage rate. The CPU usage rate is the ratio of the time when the CPU executes processing to the unit time.
CPU性能を表示できるモニタプログラム例としては、例えばMicrosoft社製のWindows(登録商標) 2003オペレーティングシステムの"perfmon"や、オープンソースソフトウェアであるLinux(登録商標)オペレーティングシステムの"vmstat"が、知られている。(非特許文献1:Scott Mueller他,"Upgrading and Repairing Servers", QUE, 2006, p.393)
また、仮想計算機システムを用いる場合、VM内部でのCPU使用率の測定は、物理計算機システムの場合と同様にして、OS内のCPU性能モニタプログラムを用いて行われる。これは、そのVMに割当てられた論理CPUのうち、何%を使用しているかを測定することを意味する。さらに、VMM上のCPU使用率測定ツールを用いることにより、VM個々が物理計算機システム全体のうち何%の資源を使用しているかを、個別に表示する手法が一般である。
Examples of monitor programs that can display CPU performance include "perfmon" of the Windows (registered trademark) 2003 operating system manufactured by Microsoft Corporation and "vmstat" of the Linux (registered trademark) operating system that is open source software. ing. (Non-Patent Document 1: Scott Mueller et al., "Upgrading and Repairing Servers", QUE, 2006, p.393)
In the case of using a virtual machine system, the CPU usage rate in the VM is measured using a CPU performance monitor program in the OS in the same manner as in the physical machine system. This means measuring what percentage of the logical CPU assigned to the VM is used. Furthermore, it is common to use a CPU usage rate measurement tool on the VMM to individually display what percentage of the entire physical computer system is used by each VM.
複数の物理計算機から構成される計算機システムの運用者は、計算機資源のCPU使用率を最適にして運用することを目標としている。そのため、計算機システムの運用者は、負荷の重いサーバと負荷の軽いサーバが混在したり、システム的にバランスの悪い状態を発見した場合には、なんとかバランスさせようと努力する。仮想計算機システムを使用しない従来の運用では、負荷の要求元のトラフィックを一部負荷の軽いサーバに流すよう、ロードバランサを用いて調整するといった方法がとられる。 An operator of a computer system composed of a plurality of physical computers has a goal of optimizing the CPU usage rate of computer resources. Therefore, the operator of the computer system tries to balance somehow when a server with a heavy load and a server with a light load are mixed or when a system is unbalanced. In a conventional operation that does not use a virtual machine system, a method is used in which a load balancer is used to adjust the load request source traffic to a partially light-loaded server.
しかしながら、負荷の重い物理計算機と負荷の軽い物理計算機との間で、このような調整が可能な場合は稀である。実質的には、非常に負荷の重い計算機に対しては、現在の計算機より計算性能の高い計算機に交換するという運用が、普通であった。このような負荷バランスの調整方法は、期間を要する上に、システム構築の手間や新規物理計算機の購入費用などのコストもかかるという課題があった。 However, it is rare that such adjustment is possible between a heavy-load physical computer and a light-load physical computer. In practice, it was normal for computers with very heavy loads to be replaced with computers with higher computational performance than current computers. Such a method for adjusting the load balance has a problem in that it takes a period of time and also costs such as trouble of system construction and purchase cost of a new physical computer.
上述の物理計算機システムにおける課題を解決するために、近年、仮想計算機システムが用いられている。仮想計算機システムでは、一般に、物理CPUリソースを論理CPUリソースに割当てる割合を調整する事により、負荷バランスを調整している。 In order to solve the problems in the above-described physical computer system, a virtual computer system has been used in recent years. In the virtual machine system, generally, the load balance is adjusted by adjusting the ratio of allocating physical CPU resources to logical CPU resources.
しかしながら、上述の課題を解決可能とする仮想計算機システムにおいても、さらに下記のような課題がある。 However, the virtual machine system that can solve the above-described problems also has the following problems.
仮想計算機システムを使用したシステムの場合には、予め計算性能の高い物理計算機を導入し、その上で複数のVMを立ち上げて複数のOSを動作させる。そして、各々のVMが使用可能な物理CPUリソースの上限(サービス率)を指定することにより、運用性の高い計算機システムを構成できる。予め上限を設定したサービス率よりも多くのリソースを使う状況となったVMには、サービス率を増加させた設定をおこなう。その代わりに、あまりリソースを使わないVMのサービス率を低下させた設定を行なう作業により、負荷バランス調整が実施可能となる。これにより、ネットワーク上のロードバランサの設定作業や物理サーバの交換作業などが不要となり、運用者の手間は大幅に削減可能となる。 In the case of a system using a virtual computer system, a physical computer having high calculation performance is introduced in advance, and a plurality of VMs are started up and a plurality of OSs are operated. A computer system with high operability can be configured by designating an upper limit (service rate) of physical CPU resources that can be used by each VM. For VMs that use more resources than the service rate for which an upper limit has been set in advance, the service rate is set to be increased. Instead, load balance adjustment can be performed by performing an operation for reducing the service rate of a VM that does not use much resources. This eliminates the need for load balancer setting work and physical server replacement work on the network, and can greatly reduce the labor of the operator.
しかしながら、仮想計算機システムにおいて、前記のような調整作業を実施したとしても、単純にVM毎のCPU性能を測定するだけでは、それらVMが動作する物理サーバの利用率を最適にできないという課題があった。 However, even if the above adjustment work is performed in the virtual machine system, there is a problem that the utilization rate of the physical server on which these VMs cannot be optimized simply by measuring the CPU performance for each VM. It was.
上記課題を解決するために、本発明に係る仮想計算機システムは、従来から用いられてきたVM内のOSが測定するCPU使用率に加え、VMMがVM毎に測定し物理CPU割当がどの程度不足しているかを示すCPU不足率を取得し、外部の管理サーバ上に1台の物理計算機上の複数VMの性能バラツキをより平準化するサービス率の再配分量を計算し、計算結果を用いてVMMに対してサービス率の変更を指示する。 In order to solve the above-described problems, the virtual machine system according to the present invention has a shortage of physical CPU allocation that the VMM measures for each VM in addition to the CPU usage rate measured by the OS in the VM that has been used conventionally. CPU deficiency rate that indicates whether or not, calculate the redistribution amount of the service rate to further level the performance variation of multiple VMs on one physical computer on the external management server, and use the calculation result Instruct the VMM to change the service rate.
すなわち、本発明に係る仮想計算機システム及びその負荷制御方法は、物理CPU及び物理メモリを含む物理資源、論理CPU及び論理メモリを含む論理資源を割当てられた仮想計算機、及び物理資源を論理的に分割した論理資源を仮想計算機に割当てる仮想計算機モニタを有する物理計算機と、物理計算機に接続する管理サーバとを備える。仮想計算機は、物理CPUの使用率を測定する使用率測定部を有し、仮想計算機モニタは、仮想計算機が使用可能な物理CPUリソースの上限であるサービス率を仮想計算機毎に記憶するサービス率記憶部と、仮想計算機毎に論理CPUに対する物理CPUの割当の不足率を測定する不足率測定部とを有する。管理サーバの調整部は、仮想計算機から、仮想計算機の使用率を取得し、仮想計算機モニタから、仮想計算機のサービス率及び不足率を取得し、所定の時間間隔における仮想計算機の平均使用率及び平均不足率を算出する。管理サーバの調整部は、平均使用率が所定の使用率閾値以上であり、且つ平均不足率が所定の不足率閾値以上である場合、仮想計算機の第1のサービス率に配分を加算し、配分を加算した第1のサービス率を第2のサービス率として仮想計算機モニタに通知する。仮想計算機モニタは、通知された第2のサービス率を、サービス率記憶部に設定する。 That is, the virtual computer system and the load control method thereof according to the present invention logically divides a physical resource including a physical CPU and a physical memory, a virtual computer assigned a logical resource including a logical CPU and a logical memory, and the physical resource. A physical computer having a virtual computer monitor for allocating the logical resources to the virtual computer, and a management server connected to the physical computer. The virtual machine has a usage rate measurement unit that measures the usage rate of the physical CPU, and the virtual machine monitor stores a service rate that is the upper limit of the physical CPU resource that can be used by the virtual machine for each virtual machine. And a deficiency rate measurement unit that measures a deficiency rate of allocation of physical CPUs to logical CPUs for each virtual machine. The adjustment unit of the management server obtains the usage rate of the virtual machine from the virtual machine, obtains the service rate and the deficiency rate of the virtual machine from the virtual machine monitor, and calculates the average usage rate and average of the virtual machine in a predetermined time interval. Calculate the deficiency rate. The adjustment unit of the management server adds the distribution to the first service rate of the virtual machine when the average usage rate is equal to or higher than the predetermined usage rate threshold and the average shortage rate is equal to or higher than the predetermined shortage rate threshold. The virtual machine monitor is notified of the first service rate obtained by adding as a second service rate. The virtual machine monitor sets the notified second service rate in the service rate storage unit.
本発明により、仮想計算機システム上の複数の仮想計算機間で、負荷の偏りなく効率的な物理資源の利用が可能となる。 According to the present invention, it is possible to efficiently use physical resources without load unevenness among a plurality of virtual machines on a virtual machine system.
図2に、本発明を構成する仮想計算機システムを含む物理計算機のハードウェア構成例を示す。 FIG. 2 shows a hardware configuration example of a physical computer including a virtual computer system constituting the present invention.
物理計算機201と管理サーバ212とが、LAN211により接続されている。物理計算機201は、物理CPU204、I/Oアダプタ203、主記憶装置202を備える。物理CPU204は、主記憶装置202から命令を取得して演算を実行することによりプログラムを実行し、I/Oアダプタ203を制御することによりストレージ208,209のアクセス、DVDドライブ210のアクセス、LAN211のアクセスなどを実行する。
A
主記憶装置202は、VMMプログラムを配置するVMMプログラム領域205、仮想化された計算機の主記憶装置部分として使用されるVM1領域206、VM2領域207などを備える。物理計算機201の電源が投入されると、VMMプログラムは、VMM用記憶媒体213からI/Oアダプタ203-4を経由してVMMプログラム領域205にロードされる。VMMプログラムは、物理CPU204により実行されることで仮想計算機モニタとして動作を開始し、外部管理サーバ212との通信が可能となる。
The
運用者の操作により管理サーバ212からVM1およびVM2の起動を指示すると、VMMは、I/Oアダプタ203-1を経由してVM1用記憶媒体208をアクセスし、VM1上で動作するプログラムをVM1領域206にロードする。同様に、VMMは、VM2用記憶媒体209からVM2上で動作するプログラムをVM2領域207にロードする。VMMは、必要に応じて物理CPU204にVM1領域206やVM2領域207のプログラム実行を開始させたり、中断させたりすることにより、物理CPU204リソースをVMに対して適切な量だけ割当てる。
When the
VMMやVMは、以上の原理で動作する。以後、本発明に必要な部分以外はハードウェアの具体的な記述を省略する。 The VMM and VM operate on the above principle. Hereinafter, specific description of the hardware is omitted except for the portions necessary for the present invention.
本発明において、CPU割当ての制御のために導入する「CPU不足率」とは、仮想計算機環境において定義される物理CPUの資源割当てについて、資源割当ての待ち状態の程度を現す概念である。以下、CPU不足率の概念を、図4を用いて説明する。 In the present invention, the “CPU shortage rate” introduced for the control of CPU allocation is a concept representing the level of waiting for resource allocation for physical CPU resource allocation defined in the virtual machine environment. Hereinafter, the concept of the CPU shortage rate will be described with reference to FIG.
物理計算機201内に構成される仮想計算機環境においては、仮想計算機モニタ(VMM)1004が、例えば物理CPU204のような物理資源を、VM1002上の論理CPU1003のような論理資源に適切に割当てることにより、仮想計算機(VM)1002の資源使用量を制御する。VMM1004内に設けられたスケジューラ1007は、多数の論理CPU1003各々にどの物理CPU204を割当てるかを判断し、割当て操作を実施する。
In the virtual machine environment configured in the
各VM1002上でプログラムが起動されると、VMM1004は、起動されたプログラムを実行するために、論理CPU1003に物理CPU204を割当てる制御を実行する。論理CPU1003は、仮想的なCPUであり、物理CPU204という物理的な資源を割当てることにより、プログラムの実行が可能となる。
When the program is activated on each
また、各VM1002には、物理CPU204資源を最大でどれだけ使用しても良いかを示すサービス率が定義される。サービス率は、サービス率記憶部1008に格納される。図4では、VM1のサービス率を37.5%、VM2のサービス率を62.5%と設定済みである場合を示す。
Each
VM1に注目すると、VM1が使用可能な物理CPU数は、最大で1.5個である(物理CPU総数×VM1のサービス率)。これに対して、VM1の論理CPUは、4個存在する。この構成において、負荷状況に応じてCPU不足率がどのような考え方になるかを例示する。 When attention is paid to VM1, the maximum number of physical CPUs that can be used by VM1 is 1.5 (total number of physical CPUs × service rate of VM1). On the other hand, there are four VM1 logical CPUs. In this configuration, the concept of the CPU shortage rate according to the load situation is illustrated.
4個の論理CPU1003のうち、1.5個以内の論理CPU1003しか動作しない負荷状況では、VMM1004のスケジューラ1007は、前記1.5個以内の論理CPU1003すべてに物理CPU204を割当てることができる。したがって、物理CPU204は充足されており、物理CPU204の不足は発生していない。この場合、CPU不足率は0%ということになる。
In a load situation where only 1.5 or less
VM1内の4個の論理CPU1003のうち4個全部が動作しなければならない場合、動作要求全部が開始されてから完了するために必要な時間は、物理CPU204が1.5個しか使用できないため、物理CPU204の個数が充足されている場合の約2.7倍となる。つまり、ある単位時間を考えると、4個の物理CPUを必要としているのに物理CPUが1.5個しかないために、残り2.5個分の論理CPU1003が待つことになる。このとき、CPU不足率は約167%ということになる((VM1が必要とする論理CPU個数÷VM1が使用可能な物理CPU個数)−1)。
If all four of the four
CPU不足率という尺度であれば、VM上で動作するOSから観測可能なCPU使用率のみでは分からない、真のCPU負荷状況が分かる。例えば、VM1とVM2の上では、各々の上で動作するOSがCPU使用率を100%と観測していたとしても、VM1の論理CPUは2個が待ちであり、VM2の論理CPUは1個が待ちである、といった場合には、CPU不足率はVM1の場合の方が高くなりVM2よりも実質的な負荷が高いことが分る。 If it is a measure of CPU shortage rate, the true CPU load state can be known that cannot be understood only from the CPU usage rate observable from the OS operating on the VM. For example, on VM1 and VM2, even if the OS running on each observes that the CPU usage rate is 100%, two VM1 logical CPUs are waiting and one VM2 logical CPU is one Is waiting, the CPU shortage rate is higher in the case of VM1, and it is understood that the substantial load is higher than that of VM2.
さらに注意が必要な点は、ゲストOS上で測定されるCPU使用率が100%に達しない場合にも、CPU不足状態が発生するケースの存在である。このケースでは、従来通りのOS上で計測したCPU使用率だけで評価すると、CPUリソースは十分に足りているように見えるが、実際には物理CPUが不足しているのでリソースの追加が望ましいのである。 Furthermore, it should be noted that there is a case where a CPU shortage occurs even when the CPU usage rate measured on the guest OS does not reach 100%. In this case, if only the CPU usage rate measured on the conventional OS is evaluated, it seems that the CPU resources are sufficient, but in reality there is a shortage of physical CPUs, so it is desirable to add resources. is there.
図3は、VM1上でディスパッチ要求されている論理CPUの数(L)と、VM1に対するサービス率設定により使用可能となっている物理CPUの数(P)との大小関係により、ゲストOS上で観測されるCPU使用率(c)とVMMから測定されるCPU不足率(s)とが、どのように変化するかを例示した表である。L=2、P=1.5のとき、VM1のゲストOS上では、論理CPUを2個しか動作させようとしていないので、CPU使用率は50%と測定される。しかし、物理CPUを1.5個しか使用できないため、論理CPUでは待ちが発生し、CPU不足率は33.3%となる。このような意味でも、CPU不足率を見なければ、真のCPU負荷を判断することができないことがわかる。 FIG. 3 shows the relationship between the number of logical CPUs requested to be dispatched on the VM 1 (L) and the number of physical CPUs that can be used by setting the service rate for the VM 1 (P). It is the table | surface which illustrated how the CPU usage rate (c) observed and the CPU shortage rate (s) measured from VMM change. When L = 2 and P = 1.5, since only two logical CPUs are to be operated on the guest OS of VM1, the CPU usage rate is measured as 50%. However, since only 1.5 physical CPUs can be used, waiting occurs in the logical CPU, and the CPU shortage rate is 33.3%. In this sense as well, it can be seen that the true CPU load cannot be determined without looking at the CPU shortage rate.
図5は仮想計算機システムの構成例である。 FIG. 5 is a configuration example of a virtual machine system.
物理計算機201には、物理CPU204がn個備わり、物理メモリ1151がn個備わっている。物理計算機201上で動作するVMM(仮想計算機モニタ)1004が1つ備わり、物理計算機201上で動作するVM(仮想計算機)1002がn台備わっている。
The
VMM1004には、VM1002-1〜nに物理CPU204-1〜nのリソースを配分するスケジューラ1007と、VM1002-1〜nの不足率を測定する不足率測定部1104と、VM1002-1〜nに物理CPU204-1〜nのリソースを割当てする時の配分比率であるサービス率を記憶しておくサービス率記憶部1008がある。なお、サービス率は、予めユーザ等により設定されるものである。
The
VM1002には、スケジューラ1007によって割当てられた論理CPU1003が備わっている。図5の例では、論理CPU1003は2つ割当てられているが、物理CPU204の搭載数以下であればいくつでもよい。また、VM1002毎に論理CPU1003の数に違いがあってもよい。
The
VM1002には、VM1002上で動作するゲストOS1121がある。VM1002で使用するメモリは、物理メモリ1151から占有的にスケジューラ1007が割当てる。
The
ゲストOS1121には、CPU使用率を測定するCPU使用率測定機構1113が動作している。CPU使用率測定機構1113は、OSのCPU使用率取得機能を用いて、定期的にCPU使用率を測定する。 The guest OS 1121 operates a CPU usage rate measuring mechanism 1113 that measures the CPU usage rate. The CPU usage rate measurement mechanism 1113 periodically measures the CPU usage rate using the CPU usage rate acquisition function of the OS.
不足率測定部1104は、スケジューラ1007より、論理CPU1003の命令が物理CPU204で実行されるまでの待機時間と命令実行途中の割り込みによる中断時間とをVM1002毎に取得して、不足率を算出する。この時間の合計は、論理CPU1003の命令実行が待たされた時間、すなわち物理CPU204のリソースが不足していた時間を表しており、不足時間と呼ぶ。不足率測定部1104は、VM1002毎に論理CPU1003が物理CPU204に割当てられる最大時間に対する不足時間を不足率として、単位時間で測定し計算している。
The deficiency rate measurement unit 1104 obtains, from the
物理計算機201は、LAN211に接続されている。
The
管理サーバ212は、物理メモリ1162、物理CPU1163が搭載され、ユーザインターフェースである情報出力用の表示部1165とユーザ入力用の入力部1166を備えている。
The
管理サーバ212には、管理サーバ212上で動作するOS1164があり、OS1164上ではサービス率自動調整機構1201が動作する。
The
管理サーバ212は、LAN211に接続されており、LAN211を介して物理計算機201と通信することができる。
The
管理サーバ212上で動作するサービス率自動調整機構1201は、LAN211を介してVMM1004と通信し、不足率測定部1104で測定したVM1002のCPU不足率データを取得する。また、サービス率自動調整機構1201は、LAN211を介してVM1002と通信し、CPU使用率測定機構1113で測定したVM1002のCPU使用率データを、取得する。
The service rate
図1は、図5のサービス率自動調整機構1201の詳細なブロック構成を示している。
FIG. 1 shows a detailed block configuration of the service rate
サービス率自動調整機構1201は、LAN211を介して物理計算機201と通信をおこなうための対サーバ通信部1205、CPU使用率やCPU不足率を取得する性能データ取得部1202、性能データを記憶しておく為の性能データ格納部1211、性能データを表示させるための性能値表示部1241、VM1002に設定するサービス率を計算するサービス率調整部1203、計算したサービス率をVM1002に設定するサービス率設定部1204、VM1002の設定値を取得するVM設定取得部1206、VM1002の設定値を記憶しておく設定データ格納部1221、サービス率の自動調整に必要な情報を記録しておくサービス率調整用データ格納部1231、設定データ格納部1221にデータを入力する設定入力部1242、を有する。
Service rate
サービス率自動調整機構1201は、動作開始直後に、VM設定取得部1206が動作し、VMのサービス率を取得する。取得する方法を次に説明する。
In the service rate
VM設定取得部1206は、設定データ格納部1221のVMM設定データテーブル1401のVMM識別子列1402を読み出し、VMM設定データテーブル1401に登録されている全VMMに対し、対サーバ通信部1205にサービス率取得コマンドを発行する。
The VM setting acquisition unit 1206 reads the
対サーバ通信部1205は、VM設定取得部1206からのサービス率取得コマンドを受けて、全VMMにサービス率取得コマンドを送信する。
The
対サーバ通信部1205は、全VMMよりレスポンスを受信すると、VM設定取得部1206にレスポンスデータを返す。
When the
VM設定取得部1206は、対サーバ通信部1205から取得したレスポンスデータに含まれるサービス率を、設定データ格納部1221のVM設定データテーブルに記録する。サービス率は、VM単位に存在する。サービス率は、設定データ格納部1221の設定データテーブルに、VM毎に記録される。
The VM setting acquisition unit 1206 records the service rate included in the response data acquired from the
サービス率の取得を完了すると、性能データ取得部1202は、性能データの取得を開始する。性能データとは、VMのCPU使用率とCPU不足率のことである。性能データの取得する方法を次に説明する。 When the acquisition of the service rate is completed, the performance data acquisition unit 1202 starts acquiring the performance data. The performance data is the CPU usage rate and CPU shortage rate of the VM. A method for acquiring performance data will be described next.
性能データ取得部1202は、最初に設定データ格納部1221のVMM設定データテーブル1401より、測定間隔1403を取得する。測定間隔1403は、性能データ取得部1202が採取する時間間隔であり、VMM毎に設定されている。
The performance data acquisition unit 1202 first acquires the
性能データ取得部1202は、対象VMMの測定間隔1403だけ時間が経過すると、対サーバ通信部1205に対象VMMへの性能データ取得コマンドを発行する。
The performance data acquisition unit 1202 issues a performance data acquisition command to the target VMM to the
対サーバ通信部1205は、性能データ取得部1202からの性能データ取得コマンドを受けて、対象VMMに性能データ取得コマンドを送信する。
The
対サーバ通信部1205は、対象VMMよりレスポンスを受信すると、性能データ取得部1202にレスポンスデータを返す。
When the
性能データ取得部1202は、対サーバ通信部1205から取得した性能データを、性能データ格納部1211の性能データテーブル1301に記録する。
The performance data acquisition unit 1202 records the performance data acquired from the
性能データの取得を開始したあと、サービス率調整部1203は、サービス率の自動調整を開始する。サービス率の自動調整方法を次に説明する。 After starting the acquisition of performance data, the service rate adjustment unit 1203 starts automatic adjustment of the service rate. A method for automatically adjusting the service rate will be described next.
サービス率調整部1203は、最初に設定データ格納部1221のVMM設定データテーブル1401より、自動調整間隔1404を取得する。自動調整間隔1404は、サービス率調整部1203がサービス率の自動設定を行なう時間間隔であり、VMM毎に設定されている。
The service rate adjustment unit 1203 first acquires the automatic adjustment interval 1404 from the VMM setting data table 1401 of the setting
サービス率調整部1203は、対象VMMの自動調整間隔1404だけ時間が経過すると、サービス率自動調整処理を実行する。なお、サービス率自動調整処理は、図9を用いて後述する。 The service rate adjustment unit 1203 executes the service rate automatic adjustment processing when the time has passed for the automatic adjustment interval 1404 of the target VMM. The service rate automatic adjustment process will be described later with reference to FIG.
サービス率自動調整処理の中で、VMのサービス率の変更が必要な場合、サービス率調整部1203は、サービス率設定部1204にコマンドを発行する。 If it is necessary to change the VM service rate during the service rate automatic adjustment processing, the service rate adjustment unit 1203 issues a command to the service rate setting unit 1204.
サービス率設定部1204は、サービス率調整部1203からサービス率の変更のコマンドを受け付けると、対サーバ通信部1205に対象VMMへの対象VMのサービス率変更コマンドを発行し、対サーバ通信部1205は対象VMのサービス率変更コマンドを受けて、対象VMMにサービス率変更コマンドを送信する。
Upon receiving the service rate change command from the service rate adjustment unit 1203, the service rate setting unit 1204 issues a service rate change command for the target VM to the target VMM to the
図6は、図1の性能データ格納部1211のテーブルフォーマットの詳細を示している。 FIG. 6 shows details of the table format of the performance data storage unit 1211 of FIG.
性能データ格納部1211は、性能データテーブル1301をもつ。性能データテーブル1301は、性能データを取得した時刻を記録しておく取得時刻列1302、VMを識別するためのVM識別子列1304、そのVMのCPU使用率を記録するCPU使用率列1305、そのVMのCPU不足率を記録するCPU不足率列1306を有する。VM識別子列1304とCPU使用率列1305とCPU不足率列1306とを1組として、性能データを取得した全VMの性能データが格納される。性能データ取得部1202は、性能データを取得するたびに、性能データテーブル1301に書き込む。 図7は、図1の設定データ格納部1221のテーブルフォーマットの詳細を示している。
The performance data storage unit 1211 has a performance data table 1301. The performance data table 1301 includes an
設定データ格納部1221は、VMM毎の設定を記録しておくVMM設定データテーブル1401と、VMの設定を格納しておくVM設定データテーブル1451とをもつ。VM設定データテーブル1451は、VMM単位のテーブルで、対象VMMの数だけテーブルをもつ。
The setting
VMM設定データテーブル1401は、あらかじめ設定されるもので、図1の入力部1166でユーザが入力した値を設定入力部1242が受けて、その値を設定データ格納部1221に書き込む。VMM設定データテーブル1401には、VMM識別子列1402と、測定間隔列1403と、自動調整間隔列1404と、CPU使用率閾値列1405と、CPU不足率閾値列1406と連続回数閾値1407と、条件式列1408と、サービス率調整式列1409がある。
The VMM setting data table 1401 is set in advance. The setting input unit 1242 receives a value input by the user through the input unit 1166 in FIG. 1 and writes the value in the setting
VMM識別子列1402には、VMMを識別するための値を格納する。この列に格納されたVMMが、サービス率自動調整の対象VMMとなる。
The
測定間隔列1403は、性能データ取得部1202が性能データを取得する時間間隔である。
The
自動調整間隔列1404は、サービス率調整部1203がサービス率の自動調整を実行する時間間隔である。 The automatic adjustment interval column 1404 is a time interval at which the service rate adjustment unit 1203 performs automatic adjustment of the service rate.
CPU使用率閾値列1405は、サービス率の調整が必要なVMを判別するのに必要なCPU使用率の閾値である。CPU使用率がこの閾値を越えたVMが、サービス率調整の対象VMの候補となる。 The CPU usage rate threshold column 1405 is a threshold value of CPU usage rate that is necessary for determining a VM that requires adjustment of the service rate. A VM whose CPU usage rate exceeds this threshold is a candidate for a service rate adjustment target VM.
CPU不足率閾値列1406は、サービス率の調整が必要なVMを判別するのに必要なCPU不足率の閾値である。CPU不足率がこの閾値を越えたVMが、サービス率調整の対象VMの候補となる。 The CPU deficiency rate threshold column 1406 is a threshold for the CPU deficiency rate that is necessary for determining a VM that requires adjustment of the service rate. A VM whose CPU shortage rate exceeds this threshold is a candidate for a service rate adjustment target VM.
条件式列1408は、サービス率の調整が必要なVMを判定する条件式を格納する。図7の例では、「CPU使用率閾値以上 かつ CPU不足率閾値以上」としている。条件式は、図7の例を固定的にしてもよい。対象VMMごとに可変にしておく事で、VMの構成に柔軟に対応可能となる。
The
サービス率調整式列1409は、サービス率の調整が必要と判定したVMに対し、実際のサービス率の調整方法を記述しておく。図7の例では、「不足率最大VMを5%上げ、使用率最低VMを5%下げる」としている。サービス率調整式は、図7の例を固定的にしてもよい。対象VMMごとに可変にしておく事で、VMの構成に柔軟に対応可能となる。
The service rate
VM設定データテーブル1451には、VMを識別する為のVM識別子列1452と、そのVMのサービス率を格納しておくサービス率列1453がある。サービス率は、図1のVM設定取得部1206が対象VMMから取得して、VM識別子列1452に書き込む。
The VM setting data table 1451 has a
図8は、図1のサービス率調整用データ格納部1231のテーブルフォーマットの詳細を示している。
FIG. 8 shows details of the table format of the service rate adjustment
サービス率調整用データ格納部1231は、サービス率調整用のデータを格納しておくサービス率調整用データテーブル1501をもつ。サービス率調整用データテーブル1501はVMM単位のテーブルで、対象VMMの数だけテーブルをもつ。
The service rate adjustment
サービス率調整用データテーブル1501には、VMを識別するためのVM識別子列1502と、そのVMの平均CPU使用率を格納する平均CPU使用率列1504と、そのVMの平均CPU不足率を格納する平均CPU不足率列15054と、VMM設定データテーブル1401の条件式1408の条件が合致した連続の回数を格納する連続回数列1506がある。
The service rate adjustment data table 1501 stores a VM identifier column 1502 for identifying a VM, an average CPU usage column 1504 for storing the average CPU usage rate of the VM, and an average CPU shortage rate of the VM. There is an average CPU shortage rate column 15054 and a continuous frequency column 1506 that stores the number of continuous times that the condition of the
サービス率調整用データテーブル1501は、図1のサービス率調整部でサービス率の自動調整処理が実行される毎に書き換わる。 The service rate adjustment data table 1501 is rewritten every time the service rate adjustment unit of FIG.
図9及び10は、サービス率調整部1203が実行するサービス率自動調整処理のフロー例を示しており、VMM単位で処理することを前提としている。フローチャートを説明する上で、対象を図5に示す仮想計算機システムとする。 FIGS. 9 and 10 show a flow example of the service rate automatic adjustment process executed by the service rate adjustment unit 1203, and it is assumed that the process is performed in VMM units. In describing the flowchart, the object is the virtual machine system shown in FIG.
ステップ1601では、VMM1004の設定値(自動調整間隔1405、CPU使用率閾値1405、CPU不足率閾値1406、連続回数閾値1407、条件式1408、サービス率調整式1409)を、VMM設定データテーブル1401から取得する。
In step 1601, the VMM1004 setting values (automatic adjustment interval 1405, CPU usage rate threshold 1405, CPU shortage rate threshold 1406, continuous count threshold 1407,
ステップ1602では、VMM1004のVM設定データテーブル1451からレコード登録順が最初のレコードを取得し、そのレコードからVM1(1111-1)のVM識別子1452を取り出す。
In step 1602, the first record in the record registration order is acquired from the VM setting data table 1451 of the
ステップ1604では、性能データテーブル1301から、ステップ1602で取り出したVM1(1111-1)のVM識別子1452の性能データを取り出す。この時取り出す性能データは、前回のサービス率自動調整処理から現在時刻までに、測定した性能データである。すなわち、性能データテーブル1301のレコードのうち、取得時刻1302が、現在時刻からステップ1601で取り出した自動調整間隔1404だけ過去の時刻から、現在時刻との間の時刻になっているレコードを取得する。
In step 1604, the performance data of the
ステップ1605では、ステップ1604で取得した性能データから、VM1(1111-1)のCPU使用率1305の合計を取得回数で割った平均値と、VM1(1111-1)のCPU不足率1306の合計を取得回数で割った平均値を求めて、VMM1004のサービス率調整用データテーブルに書き込む。書き込むデータは、VM1(1111-1)の識別子「VM1」をVM識別子1502、現在時刻を最終取得時刻1503、求めた平均CPU使用率を平均CPU使用率1504、求めた平均CPU不足率を平均CPU不足率1505、に書き込む。ただし、VM1(1111-1)のVM識別子がサービス率調整用データテーブル1501のレコードに存在していた場合は、最終取得時刻1503と平均CPU使用率1504と平均CPU不足率1505に、上書きのみする。
In step 1605, from the performance data acquired in step 1604, the average value obtained by dividing the total of the
ステップ1605で、平均CPU使用率1504と平均CPU不足率1605とをサービス率調整用データテーブル1501に書き込むのは、性能データテーブル1301のデータを削除可能とするためである。性能データは、データの粒度を細かくするために、なるべく測定間隔1403を短く取るのが望ましい。しかし、測定間隔1403を短くすると、性能データテーブル1301のレコード数が増す事になる。また、対象VMMや対象VMの数にも比例し、これらが多くなると管理サーバ1151のメモリを圧迫し、また性能データテーブル1301への書き込み/読み取り処理の性能が落ちることになる。したがって、性能データテーブル1301に書き込む性能データは定期的に削除する事が必要である。
The reason why the average CPU usage rate 1504 and the average CPU shortage rate 1605 are written in the service rate adjustment data table 1501 in step 1605 is to allow the data in the performance data table 1301 to be deleted. For performance data, it is desirable to make the
ステップ1606では、ステップ1602およびステップ1603で取得したレコードが、VMM1004のVM設定データテーブル1451のテーブル順で最後のレコードかを確認し、最後のレコードであればステップ1607へ、最後のレコードでない場合はステップ1603へ分岐する。本例の場合、VM識別子1452がVMn(1111-n)のレコードが最後のレコードとなる。
In Step 1606, it is confirmed whether the record acquired in Step 1602 and Step 1603 is the last record in the VM setting data table 1451 of the VMM1004. If it is the last record, go to Step 1607. Branch to step 1603. In this example, the record with the
ステップ1603では、VMM1004のVM設定データテーブル1451から、ステップ1606で最後のレコードかを判定したレコードのレコード登録順の次のレコード順のレコードを取得し、そのレコードからVM1004のVM識別子1452を取り出す。ここで取り出したVM識別子1452を元に、ステップ1604、ステップ1605を実行し、ステップ1606の判定を行ない、レコード順が最後のレコードになってステップ1607に分岐するまで、繰り返し実行する。
In step 1603, the record in the record order next to the record registration order of the record determined in step 1606 is acquired from the VM setting data table 1451 of the
ステップ1607では、VMM1004のサービス率調整用データテーブル1501から、レコード順が最初のレコードを取得し、そのレコードから平均CPU使用率1504と平均CPU不足率1505と連続回数1506を取り出す。
In step 1607, the first record in the record order is acquired from the service rate adjustment data table 1501 of the
ステップ1609では、ステップ1607で取り出した平均CPU使用率1514が、ステップ1601で取り出したCPU使用率閾値1405以上の数値かを判定する。CPU使用率閾値1405以上の場合はステップ1610へ、未満の場合はステップ1612へ分岐する。ステップ1612へ分岐する場合は、サービス率を上げる対象から外す事とする。 In step 1609, it is determined whether the average CPU usage rate 1514 extracted in step 1607 is a numerical value equal to or greater than the CPU usage rate threshold value 1405 extracted in step 1601. If the CPU usage rate threshold value is 1405 or more, the process branches to step 1610; otherwise, the process branches to step 1612. When branching to step 1612, it is excluded from the target of increasing the service rate.
ステップ1610では、ステップ1609にて平均CPU使用率1514がCPU使用率閾値1405以上と判定された場合に、ステップ1607で取り出した平均CPU不足率1515が、ステップ1601で取り出したCPU不足率閾値1406以上の数値かを判定する。CPU不足率閾値1406以上の場合はステップ1611へ、未満の場合はステップ1612へ分岐する。ステップ1612へ分岐する場合は、サービス率を上げる対象から外す事とする。 In step 1610, when it is determined in step 1609 that the average CPU usage rate 1514 is equal to or higher than the CPU usage rate threshold value 1405, the average CPU shortage rate 1515 extracted in step 1607 is equal to or higher than the CPU shortage rate threshold value 1406 extracted in step 1601. It is judged whether it is a numerical value. If it is greater than or equal to the CPU deficiency threshold 1406, the process branches to step 1611; When branching to step 1612, it is excluded from the target of increasing the service rate.
ステップ1609とステップ1610で判定した内容は、VMM設定データテーブル1401の条件式1408に記載された内容に従っている。本実施例では、条件式1408は固定的な内容としているが、条件式1408を対象VMM毎に変更してもよい。この条件を変更可能とする事で、サービス率自動調整機構を修正する事なく、サービス率を増加させる対象VMの判断を変更する必要が発生した場合に柔軟に対応可能となる。
The contents determined in steps 1609 and 1610 are in accordance with the contents described in the
ステップ1611では、ステップ1607で取得した連続回数1506のカウントを1加算した値を、VMM1004のサービス率調整用データテーブル1501の連続回数1506へ書き込む。
In
ステップ1612では、VMM1004のサービス率調整用データテーブル1501の連続回数1506の値を、0に初期化する。
In step 1612, the value of the continuous count 1506 in the service rate adjustment data table 1501 of the
ステップ1613では、ステップ1607およびステップ1608で取得したレコードが、VMM1004のサービス率調整用データテーブル1501のレコード順が最後のレコードかを確認し、最後のレコードであればステップ1614へ、最後のレコードでない場合はステップ1608へ分岐する。 In step 1613, it is confirmed whether the record acquired in step 1607 and step 1608 is the last record in the record order of the service rate adjustment data table 1501 of VMM1004. If it is the last record, go to step 1614 and not the last record If so, the process branches to step 1608.
ステップ1608では、VMM1004のサービス率調整用データテーブル1501から、レコード順の次のレコードを取得し、そのレコードから平均CPU使用率1504と平均CPU不足率1505と連続回数1506を取り出す。
In step 1608, the next record in the record order is acquired from the service rate adjustment data table 1501 of the
ステップ1614では、サービス率調整用テーブル1501より、連続回数1516がステップ1601で取得してきた連続回数閾値1407の値以上のVMを、検索する。この連続回数1516は、ステップ1609やステップ1610で判定した値が、連続で何回合致したかを表すものである。この連続回数1516の値を確認する事で、一時的なCPU不足のVMをサービス率増加の対象から外す事が可能となり、継続したCPU不足のVMのみを対象とする事ができる。なお、一時的なCPU不足のVMも対象としたい場合は、連続回数1516を1とすればよい。 In step 1614, the service rate adjustment table 1501 is searched for VMs whose continuous count 1516 is equal to or greater than the continuous count threshold value 1407 acquired in step 1601. The number of continuous times 1516 represents how many times the values determined in step 1609 and step 1610 match continuously. By checking the value of the continuous count 1516, it becomes possible to exclude temporarily CPU-deficient VMs from the target of service rate increase, and it is possible to target only continuous CPU-deficient VMs. Note that if you want to target a VM with a temporary CPU shortage, you can set the continuous count 1516 to 1.
ステップ1615では、ステップ1614で検索したVMの数により、分岐を行なう。ステップ1614で検索したVMの数が0で、該当VMが存在しなかった場合は、本処理は終了となる。ステップ1614で検索したVMの数が1の場合は、該当VMが1つなので、該当VMをサービス率の調整対象VMとし、ステップ1621へ分岐する。ステップ1614で検索したVMの数が2以上の場合は、対象VMが複数となるので、対象VMを1つに選別する為にステップ1616へ分岐する。なお本実施例では対象VMを1つとするが、複数としてもよい。 In step 1615, branching is performed according to the number of VMs searched in step 1614. If the number of VMs searched in step 1614 is 0 and the corresponding VM does not exist, this process ends. If the number of VMs searched in step 1614 is 1, there is one corresponding VM, so that the corresponding VM is set as the service rate adjustment target VM, and the process branches to step 1621. If the number of VMs searched in step 1614 is 2 or more, there are a plurality of target VMs, so the process branches to step 1616 to select one target VM. In this embodiment, one target VM is used, but a plurality of target VMs may be used.
ステップ1616では、ステップ1614で検索した複数のVMから対象VMを選別するために、ステップ1614で検索した複数のVMの中で、サービス率調整用データテーブル1501から平均CPU不足率1515が最大のVMを検索する。ここで、平均CPU使用率1514よりも平均CPU不足率1515が最大のVMを検索するのは、より不足が発生しているVMを優先的にサービス率の増加を行なう為である。
In
ステップ1617では、ステップ1616で検索したVMの数により、分岐を行なう。ステップ1616で検索したVMが1つの場合は、そのVMをサービス率の調整対象VMとし、ステップ1621へ分岐する。複数ある場合は、対象VMを1つに選別する為にステップ1618へ分岐する。
In step 1617, branching is performed according to the number of VMs searched in
ステップ1618では、ステップ1616で検索した複数のVMから対象VMを選別するために、ステップ1616で検索した複数のVMの中で、サービス率調整用データテーブル1501から平均CPU使用率1514が最大のVMを検索する。
In step 1618, in order to select the target VM from the plurality of VMs searched in
ステップ1619では、ステップ1618で検索したVMの数により、分岐を行なう。ステップ1618で検索したVMが1つの場合は、そのVMをサービス率の調整対象VMとし、ステップ1621へ分岐する。複数ある場合は、対象VMを1つに選別する為にステップ1620へ分岐する。 In step 1619, branching is performed according to the number of VMs searched in step 1618. If there is one VM searched in step 1618, that VM is set as the service rate adjustment target VM, and the process branches to step 1621. If there are a plurality of target VMs, the process branches to step 1620 to select one target VM.
ステップ1620では、ステップ1618で検索した複数のVMから、サービス率調整用データテーブル1501のレコード登録順(行番号)が一番小さい値(最若番)のVMを、サービス率の調整対象VMとする。ここでさらに条件を設けて、ステップ1618で検索した複数のVMの中から対象VMを選別させてもよい。ただし実運用上、ここまで条件が合致するVMが複数存在する事はほぼないと考えられ、仮に発生した場合の選択基準として、本例では必ず一意に決定できるレコードを決定するためにレコード順が一番小さい値(最若番)を対象VMとするようにした。 In step 1620, the VM having the smallest value (lowest number) in the record registration order (line number) of the service rate adjustment data table 1501 is selected as the service rate adjustment target VM from the plurality of VMs searched in step 1618. To do. Here, further conditions may be provided, and the target VM may be selected from a plurality of VMs searched in step 1618. However, in actual operation, it is unlikely that there will be multiple VMs that match the conditions so far, and as a selection criterion in the case of occurrence, the record order is used to determine the record that can be determined uniquely in this example. The smallest value (youngest number) is set as the target VM.
ステップ1621では、ステップ1614で検索したVM、またはステップ1616で検索したVM、またはステップ1618で検索したVMを、対象VMとする。
In step 1621, the VM searched in step 1614, the VM searched in
ステップ1622では、対象VMMのVM設定データテーブル1451から、対象VMの現在のサービス率1453を取得する。 In Step 1622, the current service rate 1453 of the target VM is acquired from the VM setting data table 1451 of the target VMM.
ステップ1623では、ステップ1622で取得したサービス率に5%加算した値を、対象VMのサービス率として対象VMMに設定する。ここで5%としたのは1例であり、特にこの数値にする必要はない。予め設定されているサービス率調整式1409に従う。
In
ステップ1624では、ステップ1623で設定したサービス率を、対象VMMのVM設定データテーブル1451の対象VMのサービス率1453に、書き込む。
In step 1624, the service rate set in
ステップ1625では、対象VMMのサービス率調整用データテーブル1501の対象VMの連続回数1516に、0を書き込む。
In
ステップ1626では、対象VMMのサービス率調整用データテーブル1501より、平均CPU使用率1504が最低のVMを検索する。サービス率は物理CPUの配分率を表すものなので、あるVMを5%上げた場合は、他のVMを5%下げる必要がある。その下げる対象のVMを判別するために、平均CPU使用率1504が最低のVMを検索する。 In step 1626, the VM with the lowest average CPU usage 1504 is searched from the service rate adjustment data table 1501 of the target VMM. Since the service rate represents the distribution ratio of the physical CPU, if one VM is raised by 5%, the other VM needs to be lowered by 5%. In order to determine the VM to be lowered, the VM with the lowest average CPU usage 1504 is searched.
ステップ1627では、ステップ1626で検索したVMの数により、分岐を行なう。ステップ1626で検索したVMの数が1の場合は、該当VMが1つなので、該当VMをサービス率を下げる対象VMとし、ステップ1631へ分岐する。ステップ1626で検索したVMの数が2以上の場合は、対象VMが複数となるので、対象VMを1つに選別する為にステップ1628へ分岐する。なお本実施例では対象VMを1つとするが、複数としてもよい。 In step 1627, branching is performed according to the number of VMs searched in step 1626. If the number of VMs searched in step 1626 is 1, since there is one corresponding VM, the corresponding VM is set as a target VM whose service rate is to be reduced, and the process branches to step 1631. If the number of VMs searched in step 1626 is 2 or more, there are a plurality of target VMs, so that the process branches to step 1628 to select one target VM. In this embodiment, one target VM is used, but a plurality of target VMs may be used.
ステップ1628では、ステップ1626で検索した複数のVMから対象VMを選別するために、ステップ1626で検索した複数のVMの中で、サービス率調整用データテーブル1501から平均CPU不足率1515が最低のVMを検索する。ここで最低の平均CPU不足率1515のVMを検索するのは、より不足の少ないVMからCPUリソースを取得するためである。 In step 1628, in order to select the target VM from the plurality of VMs searched in step 1626, among the plurality of VMs searched in step 1626, the VM having the lowest average CPU shortage rate 1515 from the service rate adjustment data table 1501 Search for. The reason why the VM with the lowest average CPU shortage rate 1515 is searched here is to obtain CPU resources from VMs with fewer shortages.
ステップ1629では、ステップ1628で検索したVMの数により、分岐を行なう。ステップ1628で検索したVMが1つの場合は、そのVMをサービス率を下げる対象VMとし、ステップ1631へ分岐する。複数ある場合は、対象VMを1つに選別する為にステップ1630へ分岐する。
In
ステップ1630では、ステップ1628で検索した複数のVMから、サービス率調整用データテーブル1501のレコード順で最若番のVMを、サービス率を下げる対象VMとする。ここでさらに条件を設けて、ステップ1628で検索した複数のVMの中から対象VMを選別させてもよい。ただし実運用上、ここまで条件が合致するVMが複数存在する事はほぼないと考えられ、仮に発生した場合の選択基準として、絶対的に決定可能なレコードの最若番を対象VMとするようにした。 In Step 1630, the VM with the youngest number in the record order of the service rate adjustment data table 1501 among the multiple VMs searched in Step 1628 is set as the target VM for lowering the service rate. Here, further conditions may be provided, and the target VM may be selected from a plurality of VMs searched in step 1628. However, in actual operation, it is unlikely that there will be multiple VMs that match the conditions so far, and the lowest number of records that can be absolutely determined should be the target VM as a selection criterion if it occurs. I made it.
ステップ1631では、ステップ1626で検索したVM、またはステップ1628で検索したVMを、対象VMとする。
In
ステップ1632では、対象VMMのVM設定データテーブル1451から、対象VMの現在のサービス率1453を取得する。 In Step 1632, the current service rate 1453 of the target VM is acquired from the VM setting data table 1451 of the target VMM.
ステップ1633では、ステップ1632で取得したサービス率に5%減算した値を、対象VMのサービス率として対象VMMに設定する。
In
ステップ1634では、ステップ1633で設定したサービス率を、対象VMMのVM設定データテーブル1451の対象VMのサービス率1453に、書き込む。
In step 1634, the service rate set in
ステップ1623とステップ1633で変更したサービス率の値は、VMM設定データテーブル1401のサービス率調整式1409に記載された内容に従っている。本実施例ではサービス率調整式1409は固定的な内容としているが、サービス率調整式1409を対象VMM毎に変更してもよい。この調整式を変更可能とする事で、サービス率自動調整機構を修正する事なく、サービス率の増減方法を変更する必要が発生した場合に柔軟に対応可能となる。
The service rate value changed in
ステップ1634の終了で、本フローチャートの処理は終了する。 At the end of step 1634, the processing of this flowchart ends.
以上説明したように、本発明を適用した仮想計算機システムでは、VM間の性能バラツキを平準化することができる。従来では、特定VMによる処理のみ短時間に実行が完了したり、その他のVMによる処理は長時間かかるといった処理待ち時間のバラツキが生じていたが、本発明の適用により、処理待ち時間のバラツキが小さくなる。また、物理計算機201のCPU使用率が向上し、物理リソースの無駄が小さくなるため、計算機システムへの投資効率が向上するという効果がある。
As described above, in the virtual machine system to which the present invention is applied, performance variation between VMs can be leveled. Conventionally, there has been a variation in processing waiting time such that only processing by a specific VM is completed in a short time, or processing by other VMs takes a long time. However, application of the present invention causes variation in processing waiting time. Get smaller. In addition, since the CPU usage rate of the
201 物理計算機
202 主記憶装置
203 I/Oアダプタ
204 物理CPU
212 管理サーバ
1002 仮想計算機(VM)
1003 論理CPU
1004 仮想計算機モニタ(VMM)
1007 スケジューラ
1008 サービス率記憶部
1104 不足率測定部
1112 ゲストOS
1113 CPU使用率測定機構
1151 物理メモリ
1162 物理メモリ
1163 物理CPU
201
212
1003 Logical CPU
1004 Virtual machine monitor (VMM)
1007
1113 CPU usage rate measurement mechanism 1151 Physical memory 1162
Claims (10)
前記物理計算機に接続する管理サーバとを備え、
前記仮想計算機は、前記物理CPUの使用率を測定する使用率測定部を有し、
前記仮想計算機モニタは、前記仮想計算機が使用可能な物理CPUリソースの上限であるサービス率を前記仮想計算機毎に記憶するサービス率記憶部と、前記仮想計算機毎に前記論理CPUに対する前記物理CPUの割当の不足率を測定する不足率測定部とを有し、 前記管理サーバの調整部は、
前記仮想計算機から、前記仮想計算機の前記使用率を取得し、
前記仮想計算機モニタから、前記仮想計算機のサービス率及び前記不足率を取得し、 所定の時間間隔における前記仮想計算機の平均使用率及び平均不足率を算出し、
前記平均使用率が所定の使用率閾値以上であり、且つ前記平均不足率が所定の不足率閾値以上である場合、
前記仮想計算機の第1のサービス率に配分を加算し、配分を加算した第1のサービス率を第2のサービス率として前記仮想計算機モニタに通知し、
前記仮想計算機モニタは、
前記通知された第2のサービス率を、前記サービス率記憶部に設定すること
を特徴とする仮想計算機システム。 A physical computer including a physical CPU and a physical memory; a virtual computer to which a logical resource including a logical CPU and a logical memory is allocated; and a virtual computer monitor that allocates the logical resource obtained by logically dividing the physical resource to the virtual computer. A physical computer,
A management server connected to the physical computer,
The virtual machine has a usage rate measuring unit that measures the usage rate of the physical CPU,
The virtual machine monitor includes a service rate storage unit that stores, for each virtual machine, a service rate that is an upper limit of a physical CPU resource that can be used by the virtual machine, and an allocation of the physical CPU to the logical CPU for each virtual machine. A deficiency rate measurement unit that measures a deficiency rate of the management server, the adjustment unit of the management server,
Obtaining the usage rate of the virtual machine from the virtual machine;
From the virtual machine monitor, obtain the service rate and the deficiency rate of the virtual machine, calculate the average usage rate and average deficiency rate of the virtual machine in a predetermined time interval,
When the average usage rate is equal to or higher than a predetermined usage rate threshold and the average shortage rate is equal to or higher than a predetermined shortage rate threshold,
Adding a distribution to the first service rate of the virtual machine, and notifying the virtual machine monitor of the first service rate to which the distribution has been added as a second service rate;
The virtual machine monitor is
The virtual machine system, wherein the notified second service rate is set in the service rate storage unit.
前記仮想計算機モニタから取得した前記サービス率を管理する仮想計算機設定データテーブルと、前記仮想計算機モニタ毎に前記使用率閾値及び前記不足率閾値を管理する仮想計算機モニタ設定データテーブルとを格納する設定データ格納部と、
前記取得した前記使用率及び前記不足率を格納する性能データ格納部と、
前記算出した前記平均使用率及び前記平均不足率を格納するサービス率調整用データ格納部と、
前記設定データ格納部、前記性能データ格納部、前記サービス率調整用データ格納部を参照して、前記仮想計算機のサービス率を調整するサービス率調整部とを有すること
を特徴とする請求項1記載の仮想計算機システム。 The adjustment unit is
Setting data for storing a virtual machine setting data table for managing the service rate acquired from the virtual machine monitor and a virtual machine monitor setting data table for managing the usage rate threshold and the deficiency rate threshold for each virtual machine monitor A storage unit;
A performance data storage unit for storing the acquired usage rate and the deficiency rate;
A service rate adjustment data storage unit for storing the calculated average usage rate and the average shortage rate;
The service rate adjustment unit that adjusts the service rate of the virtual machine with reference to the setting data storage unit, the performance data storage unit, and the service rate adjustment data storage unit. Virtual computer system.
複数の前記仮想計算機毎の前記平均使用率及び前記平均不足率を格納する前記サービス率調整用データ格納部を参照して、前記平均使用率が最小である仮想計算機を検索し、 前記検索された仮想計算機の第3のサービス率に、前記加算した配分と等しい配分を減算し、配分を減算した第3のサービス率を第4のサービス率として前記仮想計算機モニタに通知し、
前記仮想計算機モニタは、
前記通知された第4のサービス率を、前記サービス率記憶部に設定すること
を特徴とする請求項2記載の仮想計算機システム。 After the notification of the second service rate, the adjustment unit of the management server,
Referencing the service rate adjustment data storage unit that stores the average usage rate and the average shortage rate for each of the plurality of virtual computers, searches for the virtual computer having the minimum average usage rate, and Subtracting a distribution equal to the added distribution to the third service rate of the virtual machine, and notifying the virtual machine monitor of the third service rate obtained by subtracting the distribution as a fourth service rate;
The virtual machine monitor is
The virtual machine system according to claim 2, wherein the notified fourth service rate is set in the service rate storage unit.
前記新たなサービス率を前記仮想計算機設定データテーブルに書き込むことを特徴とする請求項3記載の仮想計算機システム。 After the notification of the new service rate, the adjustment unit of the management server,
4. The virtual machine system according to claim 3, wherein the new service rate is written in the virtual machine setting data table.
前記不足率閾値は、前記仮想計算機モニタ毎に管理され、前記仮想計算機モニタにより動作する仮想計算機のうち前記サービス率の調整が必要な仮想計算機を判定する際に、前記仮想計算機モニタにより動作する仮想計算機の不足率と比較されること
を特徴とする請求項4記載の仮想計算機システム。 The usage threshold is managed for each virtual machine monitor, and a virtual machine that operates by the virtual machine monitor when determining a virtual machine that requires adjustment of the service rate among virtual machines that operate by the virtual machine monitor. Compared to computer usage,
The deficiency rate threshold is managed for each virtual machine monitor, and a virtual machine that operates by the virtual machine monitor when determining a virtual machine that requires adjustment of the service rate among virtual machines that operate by the virtual machine monitor. The virtual computer system according to claim 4, wherein the virtual computer system is compared with a shortage rate of computers.
前記仮想計算機は、
前記物理CPUの使用率を測定し、
前記仮想計算機モニタは、
前記仮想計算機が使用可能な物理CPUリソースの上限であるサービス率を前記仮想計算機毎に記憶し、
前記仮想計算機毎に前記論理CPUに対する前記物理CPUの割当の不足率を測定し、
前記管理サーバは、
前記仮想計算機から、前記仮想計算機の前記使用率を取得し、
前記仮想計算機モニタから、前記仮想計算機のサービス率及び前記不足率を取得し、 所定の時間間隔における前記仮想計算機の平均使用率及び平均不足率を算出し、
前記平均使用率が所定の使用率閾値以上であり、且つ前記平均不足率が所定の不足率閾値以上である場合、
前記仮想計算機の第1のサービス率に配分を加算し、
配分を加算した第1のサービス率を第2のサービス率として前記仮想計算機モニタに通知し、
前記仮想計算機モニタは、
前記通知された第2のサービス率を、前記サービス率記憶部に設定すること
を特徴とする仮想計算機システムの負荷制御方法。 A physical computer including a physical CPU and a physical memory; a virtual computer to which a logical resource including a logical CPU and a logical memory is allocated; and a virtual computer monitor that allocates the logical resource obtained by logically dividing the physical resource to the virtual computer. A load control method for a virtual computer system comprising a physical computer and a management server connected to the physical computer,
The virtual machine is
Measure the usage rate of the physical CPU,
The virtual machine monitor is
A service rate that is an upper limit of physical CPU resources that can be used by the virtual machine is stored for each virtual machine,
Measure the insufficient rate of allocation of the physical CPU to the logical CPU for each virtual machine,
The management server
Obtaining the usage rate of the virtual machine from the virtual machine;
From the virtual machine monitor, obtain the service rate and the deficiency rate of the virtual machine, calculate the average usage rate and average deficiency rate of the virtual machine in a predetermined time interval,
When the average usage rate is equal to or higher than a predetermined usage rate threshold and the average shortage rate is equal to or higher than a predetermined shortage rate threshold,
Adding a distribution to the first service rate of the virtual machine;
Notifying the virtual machine monitor of the first service rate obtained by adding the distribution as a second service rate;
The virtual machine monitor is
The load control method for a virtual machine system, wherein the notified second service rate is set in the service rate storage unit.
前記仮想計算機モニタから取得した前記サービス率を管理する仮想計算機設定データと、前記仮想計算機モニタ毎に前記使用率閾値及び前記不足率閾値を管理する仮想計算機モニタ設定データとを設定データ格納部に格納し、
前記取得した前記使用率及び前記不足率を性能データ格納部に格納し、
前記算出した前記平均使用率及び前記平均不足率をサービス率調整用データ格納部に格納し、
前記設定データ格納部、前記性能データ格納部、前記サービス率調整用データ格納部を参照して、前記仮想計算機のサービス率を調整すること
を特徴とする請求項7記載の仮想計算機システムの負荷制御方法。 The management server
The virtual machine setting data for managing the service rate acquired from the virtual machine monitor and the virtual machine monitor setting data for managing the usage rate threshold and the deficiency rate threshold for each virtual machine monitor are stored in the setting data storage unit. And
The acquired usage rate and the deficiency rate are stored in a performance data storage unit,
The calculated average usage rate and the average shortage rate are stored in a service rate adjustment data storage unit,
The load control of the virtual machine system according to claim 7, wherein the service rate of the virtual machine is adjusted with reference to the setting data storage unit, the performance data storage unit, and the service rate adjustment data storage unit. Method.
複数の前記仮想計算機毎の前記平均使用率及び前記平均不足率を格納する前記サービス率調整用データ格納部を参照して、前記平均使用率が最小である仮想計算機を検索し、 前記検索された仮想計算機の第3のサービス率に、前記加算した配分と等しい配分を減算し、配分を減算した第3のサービス率を第4のサービス率として前記仮想計算機モニタに通知し、
前記仮想計算機モニタは、
前記通知された第4のサービス率を、前記サービス率記憶部に設定すること
を特徴とする請求項8記載の仮想計算機システムの負荷制御方法。 The management server, after notification of the second service rate,
Referencing the service rate adjustment data storage unit that stores the average usage rate and the average shortage rate for each of the plurality of virtual computers, searches for the virtual computer having the minimum average usage rate, and Subtracting a distribution equal to the added distribution to the third service rate of the virtual machine, and notifying the virtual machine monitor of the third service rate obtained by subtracting the distribution as a fourth service rate;
The virtual machine monitor is
The virtual machine system load control method according to claim 8, wherein the notified fourth service rate is set in the service rate storage unit.
前記新たなサービス率を前記仮想計算機設定データテーブルに書き込むことを特徴とする請求項9記載の仮想計算機システムの負荷制御方法。 After the notification of the new service rate, the management server
10. The load control method for a virtual machine system according to claim 9, wherein the new service rate is written in the virtual machine setting data table.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012126693A JP5740352B2 (en) | 2012-06-04 | 2012-06-04 | Virtual computer system and virtual computer system load control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012126693A JP5740352B2 (en) | 2012-06-04 | 2012-06-04 | Virtual computer system and virtual computer system load control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013250905A true JP2013250905A (en) | 2013-12-12 |
JP5740352B2 JP5740352B2 (en) | 2015-06-24 |
Family
ID=49849477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012126693A Expired - Fee Related JP5740352B2 (en) | 2012-06-04 | 2012-06-04 | Virtual computer system and virtual computer system load control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5740352B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255581A (en) * | 2018-01-15 | 2018-07-06 | 郑州云海信息技术有限公司 | A kind of load based on neural network model determines method, apparatus and system |
CN111427758A (en) * | 2020-03-17 | 2020-07-17 | 北京百度网讯科技有限公司 | Task calculation amount determining method and device and electronic equipment |
KR20200120477A (en) * | 2019-04-11 | 2020-10-21 | 삼성전자주식회사 | System and method for intelligent path selection and load balancing |
EP3764229A1 (en) | 2019-07-08 | 2021-01-13 | Fujitsu Limited | Information processing program, information processing method, and information processing apparatus |
KR20230063015A (en) * | 2021-11-01 | 2023-05-09 | 한화시스템 주식회사 | Apparatus and method for managing virtual machine cpu resource in virtualization server |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002202959A (en) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | Virtual computer system for performing dynamic resource distribution |
JP2004252988A (en) * | 2003-02-20 | 2004-09-09 | Internatl Business Mach Corp <Ibm> | Section-to-section dynamic processor redistribution in computer system |
JP2010282550A (en) * | 2009-06-08 | 2010-12-16 | Hitachi Ltd | Virtual computer system and method for allocating physical resource of the same |
-
2012
- 2012-06-04 JP JP2012126693A patent/JP5740352B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002202959A (en) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | Virtual computer system for performing dynamic resource distribution |
JP2004252988A (en) * | 2003-02-20 | 2004-09-09 | Internatl Business Mach Corp <Ibm> | Section-to-section dynamic processor redistribution in computer system |
JP2010282550A (en) * | 2009-06-08 | 2010-12-16 | Hitachi Ltd | Virtual computer system and method for allocating physical resource of the same |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255581A (en) * | 2018-01-15 | 2018-07-06 | 郑州云海信息技术有限公司 | A kind of load based on neural network model determines method, apparatus and system |
KR20200120477A (en) * | 2019-04-11 | 2020-10-21 | 삼성전자주식회사 | System and method for intelligent path selection and load balancing |
KR102663318B1 (en) * | 2019-04-11 | 2024-05-07 | 삼성전자주식회사 | System and method for intelligent path selection and load balancing |
EP3764229A1 (en) | 2019-07-08 | 2021-01-13 | Fujitsu Limited | Information processing program, information processing method, and information processing apparatus |
US11720397B2 (en) | 2019-07-08 | 2023-08-08 | Fujitsu Limited | Information processing method and apparatus to migrate tasks between resources |
CN111427758A (en) * | 2020-03-17 | 2020-07-17 | 北京百度网讯科技有限公司 | Task calculation amount determining method and device and electronic equipment |
KR20210038455A (en) * | 2020-03-17 | 2021-04-07 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | Task calculation amount determining method and apparatus, electronic device, computer readable storage medium and computer program |
JP2021099860A (en) * | 2020-03-17 | 2021-07-01 | 北京百度網訊科技有限公司 | Task calculation amount determining method, device, electronic apparatus and computer program product |
JP7223048B2 (en) | 2020-03-17 | 2023-02-15 | 阿波▲羅▼智▲聯▼(北京)科技有限公司 | Task complexity determination method, device, electronic device and computer program product |
KR102542247B1 (en) | 2020-03-17 | 2023-06-12 | 아폴로 인텔리전트 커넥티비티 (베이징) 테크놀로지 씨오., 엘티디. | Task calculation amount determining method and apparatus, computer readable storage medium and computer program |
KR20230063015A (en) * | 2021-11-01 | 2023-05-09 | 한화시스템 주식회사 | Apparatus and method for managing virtual machine cpu resource in virtualization server |
KR102676385B1 (en) * | 2021-11-01 | 2024-06-19 | 한화시스템 주식회사 | Apparatus and method for managing virtual machine cpu resource in virtualization server |
Also Published As
Publication number | Publication date |
---|---|
JP5740352B2 (en) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160156568A1 (en) | Computer system and computer resource allocation management method | |
US8667496B2 (en) | Methods and systems of managing resources allocated to guest virtual machines | |
JP6051228B2 (en) | Computer system, storage management computer, and storage management method | |
US9183016B2 (en) | Adaptive task scheduling of Hadoop in a virtualized environment | |
JP4519098B2 (en) | Computer management method, computer system, and management program | |
US9858095B2 (en) | Dynamic virtual machine resizing in a cloud computing infrastructure | |
US8307369B2 (en) | Power control method for virtual machine and virtual computer system | |
US20160117186A1 (en) | Dynamic scaling of management infrastructure in virtual environments | |
JP4438807B2 (en) | Virtual machine system, management server, virtual machine migration method and program | |
JP5740352B2 (en) | Virtual computer system and virtual computer system load control method | |
WO2014076834A1 (en) | Administration system and administration method | |
US20090222560A1 (en) | Method and system for integrated deployment planning for virtual appliances | |
US20140250439A1 (en) | Systems and methods for provisioning in a virtual desktop infrastructure | |
JP6372074B2 (en) | Information processing system, control program, and control method | |
JP5803496B2 (en) | Storage system | |
WO2014118961A1 (en) | Virtual computer management program, virtual computer management method, and virtual computer system | |
US10248460B2 (en) | Storage management computer | |
JPWO2012066640A1 (en) | Computer system, migration method and management server | |
GB2508161A (en) | Monitoring applications executing on a virtual machine and allocating the required resources to the virtual machine. | |
US10664040B2 (en) | Event-driven reoptimization of logically-partitioned environment for power management | |
US20150277951A1 (en) | Auto-scaling virtual switches | |
US20180267879A1 (en) | Management computer, performance monitoring method, and computer system | |
JP7125964B2 (en) | Computer system and management method | |
US20130014113A1 (en) | Machine operation plan creation device, machine operation plan creation method and machine operation plan creation program | |
JP2016038888A (en) | Information processing system, information processing method and information processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140513 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150106 |
|
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: 20150331 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150427 |
|
LAPS | Cancellation because of no payment of annual fees |