JP2013041485A - Virtual computer system and resource allocation control method - Google Patents
Virtual computer system and resource allocation control method Download PDFInfo
- Publication number
- JP2013041485A JP2013041485A JP2011178754A JP2011178754A JP2013041485A JP 2013041485 A JP2013041485 A JP 2013041485A JP 2011178754 A JP2011178754 A JP 2011178754A JP 2011178754 A JP2011178754 A JP 2011178754A JP 2013041485 A JP2013041485 A JP 2013041485A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- request
- guest
- cpu
- priority
- 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.)
- Withdrawn
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、複数の仮想計算機が動作する仮想計算機システム、およびこの仮想計算機システムの資源、例えばCPU(Central Processing Unit)の使用割り当てを制御する資源割り当て制御方法に関する。 The present invention relates to a virtual machine system in which a plurality of virtual machines operate, and a resource allocation control method for controlling usage allocation of resources of the virtual machine system, for example, a CPU (Central Processing Unit).
従来から、計算機上で複数の仮想計算機が動作する仮想計算機システムが知られているが、近年、パーソナルコンピュータのような小型の計算機においても、仮想計算機システムの技術が適用されている。典型的な仮想計算機システムの実装形式では、コンピュータのハードウェア上にハイパーバイザと呼ばれる制御プログラムを実装し、ハイパーバイザの機能によりCPU、メモリ、デバイスといったハードウェアを管理および制御を行い、ハイパーバイザ上に実装されるゲストOSに対して、仮想的な計算機(仮想計算機)の環境を提供する。ハイパーバイザを用いた仮想計算機システムを構築することで、物理的には1台のコンピュータ上で複数のOSを動作させることが可能になり、システムの運用コストの点からも、消費電力の抑制の点からもメリットがある。 Conventionally, a virtual computer system in which a plurality of virtual computers operate on a computer is known, but in recent years, the technology of a virtual computer system has been applied to a small computer such as a personal computer. In a typical virtual machine system implementation format, a control program called a hypervisor is installed on computer hardware, and the hardware such as CPU, memory, and device is managed and controlled by the hypervisor function. The virtual machine (virtual machine) environment is provided to the guest OS installed in the system. By constructing a virtual machine system using a hypervisor, it is possible to physically operate multiple OSes on a single computer, reducing power consumption from the viewpoint of system operating costs. There is also a merit from a point.
ハイパーバイザ上には複数のゲストOSが実装され、物理CPUはハイパーバイザによるスケジューリング機能により、各ゲストOSに対応する仮想計算機間で時分割に使用される。従来の仮想計算機システムにおいて、ハイパーバイザは各ゲストOSへのCPU割当のスケジュールを決定する為に、各ゲストOSから提示されるCPU使用率の情報を使用する方式が提案されている(例えば、特許文献1参照)。 A plurality of guest OSs are mounted on the hypervisor, and the physical CPU is used in a time-sharing manner among virtual machines corresponding to each guest OS by a scheduling function by the hypervisor. In a conventional virtual computer system, a method has been proposed in which the hypervisor uses information on the CPU usage rate presented from each guest OS in order to determine a schedule for CPU allocation to each guest OS (for example, patents). Reference 1).
特許文献1では、システム外部からの処理要求に対応して、同一ハイパーバイザ上の別のゲストOSに対して処理を依頼するゲストOSをクライアントOSと呼び、クライアントOSからの要求を受け処理を行うゲストOSをサーバOSと呼ぶ。サーバOSはクライアントOSに対して、自分に割り当てられたCPU時間のうち、実際にCPUを使用している率であるCPU使用率の情報を提供し、各クライアントOSで実際にCPUを使用している量を把握し、実際のCPU使用量に基づいて各CPUに対して適切にCPU割当のスケジュールを行う。
In
従来の仮想計算機システムでは、ハイパーバイザ上に実装されている各ゲストOSに対するCPU割当時間を動的に変更することができ、各ゲストOSのCPUの使用時間に着目したスケジューリングには対応可能であるが、リアルタイム性を意識した処理に対応することができなかった。 In the conventional virtual machine system, the CPU allocation time for each guest OS installed on the hypervisor can be dynamically changed, and it is possible to cope with scheduling that focuses on the CPU usage time of each guest OS. However, it was not possible to deal with processing that was conscious of real-time characteristics.
例えば、ハイパーバイザが割り当てるCPUの割当時間には、実際にCPUを使用している処理の優先度を反映することができない。同一ゲストOS上では優先度の高い処理が先に実行されるため、優先度の高い処理に多くCPUの処理時間が割り当てられる。しかし、異なるゲストOS上で同程度のCPU使用率の優先度の低い処理と優先度の高い処理が動作していた場合には、CPU使用率がその優先度に関係なく同程度と評価され、優先度の高い処理が動作しているゲストOSに対するCPU割当時間と優先度の低い処理が動作しているゲストOSに対しても、優先度の高い処理を実行しているゲストOSと同程度の処理時間が割り当てられてしまうことになる。 For example, the priority of the process actually using the CPU cannot be reflected in the CPU allocation time allocated by the hypervisor. Since a process with a high priority is executed first on the same guest OS, a large amount of CPU processing time is allocated to a process with a high priority. However, if low priority CPU processing and high priority processing are operating on different guest OSes, the CPU usage is evaluated to be the same regardless of the priority. The CPU allocation time for a guest OS in which a high priority process is operating and the guest OS in which a low priority process is operating are the same as the guest OS that is executing a high priority process. Processing time will be allocated.
これらの問題から、従来の仮想計算機システムにおいては、ゲストOSをまたがった優先度を考慮することができず、結果としてシステム全体として優先制御を実現することができず、リアルタイム性を要求される処理に対して効率的にCPU時間を割当てることができなかった。 Because of these problems, in the conventional virtual machine system, priority over the guest OS cannot be considered, and as a result, priority control cannot be realized as the entire system, and processing that requires real-time performance is required. CPU time could not be allocated efficiently.
この発明は上記のような問題点を解決するためになされたもので、複数のゲストOSをまたがった優先制御を実現し、CPUの効率的な利用を実現することを目的とする。 The present invention has been made to solve the above-described problems, and it is an object of the present invention to realize priority control across a plurality of guest OSs and realize efficient use of a CPU.
この発明に係る仮想計算機システムは、複数のゲストOSが実装され、CPUの処理時間を時分割して複数のゲストOSに割り当てることにより処理を実行する仮想計算機システムであって、複数の処理要求を受信する処理要求受信手段と、処理要求受信手段により受信した複数の処理要求の優先度を識別する優先度識別手段と、複数の処理要求についての処理を実行する場合に、複数のゲストOSがそれぞれ必要とする負荷についての負荷情報を格納する負荷情報格納手段と、優先度識別手段による識別結果および負荷情報格納手段に格納された負荷情報に基づいて、ゲストOSに割り当てるCPUの処理時間を決定する割当決定手段と、を備える。 A virtual machine system according to the present invention is a virtual machine system in which a plurality of guest OSs are mounted, and processing is performed by allocating CPU processing time to a plurality of guest OSs. When receiving processing request receiving means, priority identifying means for identifying priorities of a plurality of processing requests received by the processing request receiving means, and processing for a plurality of processing requests, a plurality of guest OSs respectively Based on the load information storage means for storing the load information about the required load, the identification result by the priority identification means and the load information stored in the load information storage means, the CPU processing time allocated to the guest OS is determined. Allocation determining means.
また、この発明に係る資源割り当て制御方法は、計算機に複数のゲストOSが実装され、計算機のCPUの処理時間を時分割して複数のゲストOSに割り当てることにより処理を実行する仮想計算機システムに適用可能な資源割り当て制御方法であって、複数の処理要求を受信する処理要求受信ステップと、処理要求受信ステップにおいて受信した複数の処理要求の優先度を識別する優先度識別ステップと、処理要求受信ステップにおいて受信した複数の処理要求についての処理を実行する場合に複数のゲストOSが必要とする負荷を算出する負荷算出ステップと、優先度識別ステップにおける識別結果および負荷算出ステップにおける負荷算出結果に基づいて、ゲストOSに割り当てるCPUの処理時間を決定する割当決定ステップと、を備える The resource allocation control method according to the present invention is applied to a virtual machine system in which a plurality of guest OSs are mounted on a computer, and processing is performed by time-sharing the CPU processing time of the computer and allocating to a plurality of guest OSs. A possible resource allocation control method, a process request receiving step for receiving a plurality of process requests, a priority identifying step for identifying priorities of a plurality of process requests received in the process request receiving step, and a process request receiving step Based on the load calculation step for calculating the load required by the plurality of guest OSs when executing the processing for the plurality of processing requests received in step, the identification result in the priority identification step, and the load calculation result in the load calculation step And an allocation determination step for determining a processing time of the CPU allocated to the guest OS. Obtain
本発明によれば、ゲストOSをまたがった優先制御を行うことが可能となり、CPUの効率的な使用を実現することができる。 According to the present invention, it is possible to perform priority control across guest OSes, thereby realizing efficient use of the CPU.
実施の形態1.
本発明を適用した仮想計算機システムについて、ハイパーバイザを実装した仮想計算機システムを例にとり説明する。図1はこの発明の実施の形態1に係る仮想計算機システムの構成図である。図1において仮想計算機システム1は、実施の形態1に係る仮想計算機システムのシステム全体を示しており、例えば、パーソナルコンピュータやサーバコンピュータのような計算機を用いて実現される。図1においては、1台の計算機を用いて仮想計算機システムを構成する場合について示しているが、複数の計算機により構成するようにしてもよい。また、図1においては図示しないが入出力デバイスおよびネットワーク等を介して外部にユーザ端末等が接続されている。
A virtual machine system to which the present invention is applied will be described by taking a virtual machine system equipped with a hypervisor as an example. FIG. 1 is a configuration diagram of a virtual machine system according to
物理資源部2は仮想計算機システム1を構成する物理的な構成要素であり、物理資源2はCPU11、および、図1では図示しない主記憶装置や入出力デバイス等を備えている。ハイパーバイザ3は複数のゲストOS4に対して、仮想的な計算機環境を提供し仮想マシンを実現する。ハイパーバイザ3はそれぞれのゲストOS4に対して、物理資源部2に対するアクセスを制御するCPU割当部10を備えており、また、各ゲストOSが主記憶や入出力デバイスといった物理資源2に対するアクセスする機能を有している。
The
CPU割当決定部5は、仮想計算機システム1において1つだけ存在し、仮想計算機システム1が外部からの処理依頼を受け付ける機能を有する受付アプリケーション8と同一のゲストOS上に実装される。要求データベース(DB)6は、受付アプリケーション8が受け付けた外部からの処理要求のリストを管理するデータベースである。種別テーブル(TBL)7は、受付アプリケーション8が受け付ける可能性のある要求処理について、その種別ごとの処理負荷と優先度を管理するテーブルである。ここで、種別ごとの処理負荷とは、処理要求についての処理を実行する場合に、各ゲストOSが必要とする処理の負荷をいう。受付アプリケーション8およびその他の個別アプリケーション(APL)9は各ゲストOS上で動作するアプリケーションであり、受付アプリケーションは仮想計算機システム1に接続されたユーザ端末からの処理要求の受付を行う。
There is only one CPU
(構成の説明1)
図2は要求データベース6の論理的な構成を示した図である。要求データベース6は、受付アプリケーションが受け付けた処理要求を一意に管理するための識別子である要求ID601と、受け付けた処理要求の処理内容を示す要求処理種別602の情報により構成されるエントリの集合である。
(Description of configuration 1)
FIG. 2 is a diagram showing a logical configuration of the
図3は種別テーブル7の論理的な構成を示した図である。種別テーブル7は、要求処理種別毎の情報を示す要求処理種別701毎と仮想計算機システム1に実装されるゲストOS4ごとの負荷を管理するテーブルである。図3では要求処理種別701がFID#1で示される処理では、ゲストOS#1の負荷702はW#1−1、ゲストOS#2の負荷703はW#2−1、ゲストOS#3の負荷704はW#3−1で定義されている。また要求処理種別701がFID#1で示される処理の優先度705はPRI#1で定義されている。
FIG. 3 is a diagram showing a logical configuration of the type table 7. The type table 7 is a table for managing the load for each
次に動作について説明する。まず、本発明の実施の形態1に係る仮想計算機システムの全体的な動作について説明する。本発明の実施の形態1に係る仮想計算機システムは、外部の装置/ユーザから処理要求を受け付け、仮想計算機システム1内で各処理要求の負荷および優先度に基づいて、各ゲストOSが使用する資源(ここでは、CPUの処理時間)の割り当ての決定を行い、割当てられた処理時間に各ゲストOSがCPUを用いて処理を行う。処理が終了した場合、外部の装置/ユーザに対して処理結果を送信する。なお、仮想計算機システム1が処理結果を送信する先は、処理要求を入力した要求元のユーザ端末とは限らない。
Next, the operation will be described. First, the overall operation of the virtual machine system according to the first embodiment of the present invention will be described. The virtual machine system according to the first embodiment of the present invention receives processing requests from external devices / users, and resources used by each guest OS based on the load and priority of each processing request in the virtual machine system 1 (Here, the processing time of the CPU) is determined, and each guest OS performs processing using the CPU during the allocated processing time. When the processing is completed, the processing result is transmitted to an external device / user. Note that the destination to which the
次に、各ゲストOSが使用するCPUの処理時間の割当動作について図4を参照して説明する。外部の装置/ユーザから仮想計算機システム1に処理要求が入力された場合、受付アプリケーション8へ転送され(ステップS1)、受付アプリケーション8では受信した処理要求の情報を精査し、必要な処理の種別を示す要求処理種別を判定する(ステップS2)。要求処理種別が判定できたら、受付アプリケーション8は当該要求処理を実現するために必要なアプリケーション9に対して処理の依頼を行う。その後、受付アプリケーション8は現在処理中の処理要求の内容に識別子を割り当てて要求データベース6に登録し、要求データベースを更新する(ステップS3)。要求データベース6への登録が終わった後、受付アプリケーション8は新しい要求が登録されたことで要求データベース6の内容が変更されことをCPU割当決定機能5に対して通知する(ステップS4)。要求データベース6の更新が通知された際には、CPU割当決定機能5は要求データベース6の内容と種別テーブル7の内容を基に、ハイパーバイザ3が各ゲストOSに対してどのようにCPUを割り当てるかを計算する(ステップS6)。要求DBに処理要求がある場合には、ステップS1に戻り、CPUによる処理が終了し処理要求が全て処理された場合には終了する(ステップS7)。
Next, the CPU processing time allocation operation used by each guest OS will be described with reference to FIG. When a processing request is input to the
CPU11は、割当スケジュールに基づいて処理要求の内容についてアプリケーション9を実行することにより、要求された処理を実行し、処理結果を外部の装置/ユーザに対して送信することができる。以下に、発明の特徴となる動作について詳述する。
The
要求データベース6への登録動作(ステップS4)について説明する。外部のユーザ端末から処理要求が入力された場合、受付アプリケーション8がその処理要求を受け付ける。受付アプリケーション8は、受け付けた処理要求に対して要求IDを振り、要求データベース6に登録する。また、受け付けた処理要求の種別を判定し、その種別を要求IDに対応させて要求データベース6に登録する。要求データベース6の設定例を図5に示す。図5に示す設定例では要求IDが1、2、3、4の4つの要求が登録されており、それぞれの要求種別はA、A、D、Cである。
The registration operation (step S4) in the
図6に、種別テーブル7の設定例を示す。図5では、A〜Eの処理要求の種別が登録されている。それぞれの種別で、各OS(#1〜#3)の負荷が格納されており、例えば、要求処理種別Aでは、各ゲストOSの負荷は(OS#1,OS#2,OS#3)=(1,0,1)となっている。また、要求処理種別ごとに優先度が格納されており、優先度は(A,B,C,D,E)=(低、高、低、低、高)である。
FIG. 6 shows a setting example of the type table 7. In FIG. 5, the types of processing requests A to E are registered. The load of each OS (# 1 to # 3) is stored for each type. For example, in the request processing type A, the load of each guest OS is (
CPU割当スケジュールの決定方法(ステップS6)について説明する。まず、図4に示すように要求データベース6に高優先度の処理要求(最も高い優先度の処理要求)が格納されていない場合の割当決定動作について説明する。
要求データベース6の更新が通知された場合、CPU割当決定部10は要求データベース6の登録内容を確認する。仮想計算機システム1で処理中の要求の要求種別はA、C、Dの3種類である。CPU割当決定部10は、現在仮想計算機システム1で処理中のA、C、Dの3種類の処理について、種別テーブル7を参照し、それぞれに対応する優先度と各ゲストOSへの負荷を算出する。図5の設定例では、要求種別がAの処理については、優先度が低、各ゲストOSの負荷が(OS#1,OS#2,OS#3)=(1,0,1)となっている。同様に要求種別がCの場合には優先度低、(OS#1,OS#2,OS#3)=(1,1,1)、要求種別がDの場合には優先度低、(OS#1,OS#2,OS#3)=(1,0,2)となる。
A method for determining the CPU allocation schedule (step S6) will be described. First, as shown in FIG. 4, an allocation determination operation in the case where a high priority processing request (the highest priority processing request) is not stored in the
When the update of the
この結果から現在処理中の要求に対応する要求種別A、C、Dは全て優先度が低で定義されており、同一の優先度を持つことがわかる。全ての処理要求が同一の優先度を持つ場合には、定義された各ゲストOSの負荷に対応した比率で各OSのCPU割当比率を決定する。現在処理中の要求はA、A、D、Cであるため、それらの処理に必要とされる各OSの処理負荷の値を加算すると(OS#1,OS#2,OS#3)=A+A+D+C=(1,0,1)+(1,0,1)+(1,0,2)+(1,1,1)=(4,1,5)となり、OS#1:OS#2:OS#3=4:1:5の比率でCPUの割当を行うように決定する。
From this result, it can be seen that the request types A, C, and D corresponding to the request currently being processed are all defined with low priority and have the same priority. If all processing requests have the same priority, the CPU allocation ratio of each OS is determined at a ratio corresponding to the load of each defined guest OS. Since the requests currently being processed are A, A, D, and C, the value of the processing load of each OS required for the processing is added (
要求データベース6に対応したCPU割当スケジュールを決定したCPU割当決定部5は、結果をハイパーバイザ3内に実装されているCPU割当部10へ設定する。CPU割当部10は、設定されたCPU割当スケジュールに基づき、各ゲストOS4のCPU割当スケジュールを制御する。
The CPU
受付アプリケーション8から他のアプリケーション9に依頼していた処理が完了し、受付アプリケーション8へ応答が返ってきた場合には、受付アプリケーションは応答の内容を確認し、要求データベース6に登録された内容から、対応する要求ID601の登録情報を削除し、CPU割当決定機能5へ要求データベース6が変更されたことを通知する。CPU割当決定機能5は現在の最新の要求データベース6の情報を基にCPU割当スケジュールを決定し、ハイパーバイザ3内のCPU割当部10に設定する。この動作により仮想計算機システム1外部から要求された処理の要求種別に基づき、各ゲストOSへのCPU割当スケジュールを変更する。
When the processing requested from the
次に、高優先度の処理要求(最も優先度の高い処理要求)を受け付けた場合の割当決定動作(ステップS6)について説明する。すなわち、要求データベース6が図5に示す設定状態であった場合に、外部から要求処理種別がBとEの処理要求が入力された場合の動作について説明する。
要求データベース6の更新が通知され、CPU割当決定機能5が割り当てスケジュールを決定する際、要求データベース6から登録されている処理要求の要求処理種別を検索するとA、B、C、D、Eが登録されているということがわかる。図5に示された種別テーブル7から要求種別A、B、C、D、Eに対応する情報を検索すると、B、Eの優先度が高、A、C、Dの優先度は低として設定されていることがわかる。
Next, the assignment determination operation (step S6) when a high-priority processing request (a processing request with the highest priority) is received will be described. That is, the operation when the
When the update of the
ここで優先度705が異なる要求が要求データベース6に登録されていることがわかるため、CPU割当決定機能5は優先度705の最も高い処理要求に基づいてCPU割当スケジュールを決定する。登録されているA、B、C、D、Eの要求処理種別の優先度は「高」「低」の2種類に分類される。このうち最も優先度が高いグループは優先度「高」と設定されたものである。
Since it can be seen that requests having
この結果からCPU割当決定機能5は優先度「高」に該当する要求処理種別のB、Eの情報を用いてCPU割当スケジュールの決定を行う。すなわち、この場合各OSの負荷は(OS#1,OS#2,OS#3)=B+E=(1,1,0)+(1,0,2)=(2,1,2)となり、OS#1:OS#2:OS#3=2:1:2の比率でCPUの割当を行うように決定する。
From this result, the CPU
CPU11は、設定された割当スケジュールに基づいて処理要求の内容についてアプリケーション9を実行して要求された処理を行い、処理結果を外部の装置/ユーザに対して送信する。
The
これらの動作によりゲストOSをまたがった優先度を考慮することが可能となり、システム全体として優先制御を実現することができ、リアルタイム性を要求される処理に対して効率的にCPU時間を割当てることができるようになる。 With these operations, it is possible to take into account priorities across guest OSes, realize priority control for the entire system, and efficiently allocate CPU time for processing that requires real-time performance. become able to.
なお、ここでは、優先度が最も高い処理要求に基づいて割当スケジュールを決定する場合について示したが、優先度が3つ以上設けられている場合(例えば、高・中・低)には、2以上の優先度の処理要求(例えば、高・中)に基づいて割当スケジュールを決定するようにしても良い。また、本実施の形態では、処理要求を受け付けた場合にCPUの処理時間の割当を行う場合について示したが、処理要求の受付の有無にかかわらず定期的に要求データベースの内容に基づいてCPUの処理時間の割当を行う構成としてもよい。 Here, the case where the allocation schedule is determined based on the processing request with the highest priority is shown, but when there are three or more priorities (for example, high, medium, and low), 2 is assigned. The allocation schedule may be determined based on the processing requests with the above priorities (for example, high / medium). Further, in the present embodiment, the case where the processing time of the CPU is allocated when the processing request is received is shown, but the CPU's processing is periodically performed based on the contents of the request database regardless of whether or not the processing request is received. A configuration may be adopted in which processing time is allocated.
実施の形態2.
実施の形態1では、CPU割当決定部10において、最も高い優先度の処理要求の情報に基づいてCPU割当スケジュールを決定する場合について示したが、実施の形態2では優先度の比率に対応してCPU割当時間を割り振る場合について示す。実施の形態2に係る仮想計算機システムの構成は、図1に示す実施の形態1の仮想計算機システムと同様であり、説明を省略する。図8は本実施の形態に関わる種別テーブル7の設定例について示している。図8に示す種別テーブル7では、実施の形態1で示した種別テーブルと異なり、優先度は数値(1〜3)で設定されている。
In the first embodiment, the case where the CPU allocation determination unit 10 determines the CPU allocation schedule based on the processing request information with the highest priority has been described. In the second embodiment, the CPU allocation determination unit 10 corresponds to the priority ratio. A case where CPU allocation time is allocated will be described. The configuration of the virtual machine system according to the second embodiment is the same as that of the virtual machine system according to the first embodiment shown in FIG. FIG. 8 shows a setting example of the type table 7 relating to the present embodiment. In the type table 7 shown in FIG. 8, unlike the type table shown in the first embodiment, the priority is set by numerical values (1 to 3).
次に、動作について説明する。実施の形態2に係る仮想計算機システムの全体の動作およびCPU割当決定動作は、実施の形態1に示す場合と同様であり、図4に示すとおりである。ここでは、実施の形態1に示す仮想計算機システムと動作が異なるCPU割当スケジュールの決定(ステップS6)について説明する。 Next, the operation will be described. The overall operation of the virtual machine system and the CPU allocation determination operation according to the second embodiment are the same as those shown in the first embodiment and are as shown in FIG. Here, determination of a CPU allocation schedule (step S6) that differs in operation from the virtual machine system shown in the first embodiment will be described.
要求データベース6が更新され、図7のように設定された場合、CPU割当決定機能5では要求データベース6に登録されている処理要求の要求処理種別A、B、C、D、Eを種別テーブル7から検索し、各要求処理種別の優先度を識別し、各ゲストOSに対する付加を算出する。要求種別がAの処理について優先度は1、各ゲストOSの負荷は(OS#1,OS#2,OS#3)=(1,0,1)となっている。同様に、要求種別がBの場合には優先度は2、(1,1,0)、要求種別がCの場合には優先度が1、(1,1,1)、要求種別がDの場合には優先度が1、(1,0,2)、要求種別がEの場合には優先度が2、(1,0,2)となる。これらの結果から各ゲストOSへの負荷に対して、優先度に応じて重み付け、すなわち、優先度を乗算した情報を加算して各ゲストOSへのCPU割当時間を決定する。
When the
具体的には、(OS#1,OS#2,OS#3)=A+A+D+C+B+E=(1,1,0)+(1,1,0)+(1,0,2)+(1,1,1)+2×(1,1,0)+3×(1,0,2)=(9,5,9)となり、OS#1:OS#2:OS#3=9:5:9の比率でCPUの割当を行うように決定する。
Specifically, (
CPU11は、設定された割当スケジュールに基づいて処理要求の内容についてアプリケーション9を実行して要求された処理を行い、処理結果を外部の装置/ユーザに対して送信する。
The
実施の形態2に係る仮想計算機システムでは、上述のような構成となっているため、ゲストOSをまたがった優先度を考慮することが可能となり、システム全体として優先制御を実現することができ、リアルタイム性を要求される処理に対して効率的にCPU時間を割当てることができるようになる。 Since the virtual machine system according to the second embodiment has the above-described configuration, it is possible to consider the priority across guest OSes, realize priority control for the entire system, and realize real-time. CPU time can be efficiently allocated to processing that requires high performance.
実施の形態3.
実施の形態1および2は、種別テーブル7において予め定められた処理要求種別ごとの各ゲストOSに対するCPU負荷に基づいてCPU割当スケジュールの決定する場合について示したが、実施の形態3では処理要求種別の実際の応答時間に基づいて、種別テーブル7を修正し、修正された種別テーブル7に基づいてCPU割り当てを決定する場合について説明する。実施の形態3に係る計算機システムの構成は、実施の形態1に示す場合と同様であり、図1に示す通りである。
In the first and second embodiments, the case where the CPU allocation schedule is determined based on the CPU load on each guest OS for each processing request type predetermined in the type table 7 is described. In the third embodiment, the processing request type is determined. The case where the type table 7 is corrected based on the actual response time and the CPU assignment is determined based on the corrected type table 7 will be described. The configuration of the computer system according to the third embodiment is the same as that shown in the first embodiment, as shown in FIG.
図9に、実施の形態3に係る仮想計算機システムの要求データベース6の構成を示す。図8において、各エントリには要求ID601に対応する要求実施時刻603を保存する項目が設定されている。要求実施時刻603には受付アプリケーション8が他のアプリケーション9に対して要求を依頼した時刻を格納する。
FIG. 9 shows the configuration of the
図9に、実施の形態3に係る仮想計算機システムの種別テーブル7の構成を示す。各エントリには要求処理種別701に対応する応答時間下限706、応答時間上限707の情報を設定する。ここで、応答時間下限706とは、予め設定された応答時間の下限値であり、同様に、応答時間上限707とは、予め設定された応答時間の上限値である。また、ここでの応答時間とは、各処理要求の処理に要する時間を指し、ここでは、受付アプリケーション8が他のアプリケーション9に対して要求を依頼してから、要求を依頼された他のアプリケーション9から応答を受け取るまでの時間をいうものとする。
FIG. 9 shows the configuration of the type table 7 of the virtual machine system according to the third embodiment. Information of response time
次に動作について説明する。実施の形態3に係る仮想計算機システムの全体の動作については図4に示す場合と同様である。仮想計算機システム1が外部から処理要求を受信する(ステップS1)と、受付アプリケーション8がその処理要求を受け付け、他のアプリケーション9に要求を依頼し(ステップS2)、要求データベース6を更新する。その際、実施の形態3においては、要求ID601に対応する要求依頼時の時刻情報を要求実施時刻603に格納する。その後、受け付けアプリケーション8はCPU割当決定機能5に対して、要求データベース6の更新があったことを通知し(ステップS5)、CPU割当決定機能5は各ゲストOS4に対するCPU割当時間のスケジュールを再計算し、再計算された割当時間に基づいて各ゲストOSが処理を実行する(ステップS6)。
Next, the operation will be described. The overall operation of the virtual machine system according to the third embodiment is the same as that shown in FIG. When the
他のアプリケーション9から応答を受信した場合には、該当する処理要求を要求データベース6から削除し、CPU割当決定機能5は更新された要求データベース5を基に応答時間の計算を行うが、その後要求データベース5に登録されていた該当する処理要求の要求実施時刻603の情報と、要求された処理を実行したアプリケーション9から応答を受信した時刻の情報を用いて処理要求の実行にかかった時間(応答時間)を算出し、該当する要求処理種別701に対応する応答時間下限706、応答時間上限707の値と比較を行う。実行にかかった時間が応答時間下限706より小さい場合、あるいは実行にかかった時間が応答時間上限707より大きい場合には、対象となる要求処理種別701の各ゲストOSの処理負荷702〜704の値を変更する。
When a response is received from another application 9, the corresponding processing request is deleted from the
図11は実施の形態3に対応する要求データベース6の設定例である。図12は実施の形態3に対応する種別テーブル7の設定例である。図11では現在仮想計算機システム1で要求処理種別602がAの要求を1件処理している。要求ID601のその処理要求は01:02:03 000に受付アプリケーション8から他のアプリケーション9へ転送している。図13は受付アプリケーション8が処理要求の応答を受信した場合の動作について示している。
FIG. 11 shows a setting example of the
この状態で受付アプリケーション8が要求ID601に1が設定されている処理要求の応答を、他のアプリケーションから受信した場合には、該当する要求データベース6のエントリを一時格納エリア12に、要求完了時刻1204の情報を付加して保存し、要求データベース6の該当する要求ID601に対応するエントリを削除する動作を示したものである。CPU割当決定機能5は更新された要求データベース6に基づきCPU割当スケジュールの再計算をした後、一時格納エリア12の情報を基に種別テーブル7の更新を行う。
In this state, when the
図13の例では、要求ID601の値が1を持った処理要求の、受付アプリケーション8における処理時間の計測では要求完了時刻1204から要求実施時刻1203の値を減算すると8msec経過していることがわかる。ここで要求処理種別701がAの場合の処理時間下限706、処理時間上限707を見ると、今回の処理時間が処理時間上限707の値である5よりも大きいため、次回からの要求処理種別Aに対する各ゲストOSのCPU時間の割当を増やすために、図14に示すとおり種別テーブル7の要求処理種別Aに対する各ゲストOSの負荷702〜704を例えば10%ずつ増やして再設定する。もし、処理時間下限706よりも処理時間が小さい場合には、各ゲストOSの負荷702〜704を例えば10%ずつ減らす。
In the example of FIG. 13, in the measurement of the processing time in the
これらの動作によりCPU使用率の割当に使用する処理負荷の見積もりを、現状のシステムの稼動状況に応じて適切化することで、優先される処理に対しても過剰に資源を割り当てることではなく、適切な資源分配を実現することができる。 By optimizing the processing load used for allocation of CPU usage rate according to these operations according to the current system operating status, it does not allocate resources excessively for priority processing, Appropriate resource distribution can be realized.
1 仮想計算機システム、2 物理資源部、3 ハイパーバイザ、4 ゲストOS、5 CPU割当決定部、6 要求データベース、7 種別テーブル、8 受付アプリケーション、9 アプリケーション、10 CPU割当部、11 CPU、12 一時格納エリア、601 要求ID、602 要求処理種別、603 要求実施時刻、701 要求処理種別、702〜704 OS#1〜3の負荷、705 優先度、706 応答時間下限、707 応答時間上限、1201 要求ID、1202 要求処理種別、1203 要求実施時刻、1204 要求完了時刻
DESCRIPTION OF
Claims (6)
複数の処理要求を受信する処理要求受信手段と、
前記処理要求受信手段により受信した複数の処理要求の優先度を識別する優先度識別手段と、
前記複数の処理要求についての処理を実行する場合に、前記複数のゲストOSがそれぞれ必要とする負荷についての負荷情報を格納する負荷情報格納手段と、
前記優先度識別手段による識別結果および前記負荷情報格納手段に格納された負荷情報に基づいて、前記ゲストOSに割り当てる前記CPUの処理時間を決定する割当決定手段と、
を備えることを特徴とする仮想計算機システム。 A virtual machine system in which a plurality of guest OSs are mounted and processing is performed by allocating CPU processing time to the plurality of guest OSs,
Processing request receiving means for receiving a plurality of processing requests;
Priority identifying means for identifying priorities of a plurality of processing requests received by the processing request receiving means;
Load information storage means for storing load information on loads required by each of the plurality of guest OSes when executing processing for the plurality of processing requests;
An allocation determination unit that determines a processing time of the CPU to be allocated to the guest OS based on the identification result by the priority identification unit and the load information stored in the load information storage unit;
A virtual computer system comprising:
を特徴とする請求項1記載の仮想計算機システム。 The allocation determining means determines the CPU processing time allocated to the guest OS based on the load calculation result of the processing request with the highest priority;
The virtual computer system according to claim 1.
前記割当決定手段は、前記複数のグループのうち最も高い優先度が設定されたグループの負荷算出結果に基づいて、前記ゲストOSに割り当てる前記CPUの処理時間を決定すること、
を特徴とする請求項1記載の仮想計算機システム。 The priority identifying means classifies the plurality of processing requests into a plurality of groups based on the priority,
The allocation determining means determines a processing time of the CPU allocated to the guest OS based on a load calculation result of a group having the highest priority set among the plurality of groups;
The virtual computer system according to claim 1.
を特徴とする請求項1〜3のいずれか1項に記載の仮想計算機システム。 The allocation determining means determines the processing time of the CPU allocated to the guest OS based on the load information weighted according to the priority identified by the priority identifying means;
The virtual machine system according to any one of claims 1 to 3, wherein
前記負荷情報格納手段は、前記応答時間計測手段により計測された応答時間が、予め定められた範囲外である場合に、対応する処理要求についての負荷情報を更新すること、
を特徴とする請求項1〜4のいずれか1項に記載の仮想計算機システム。 Response time measuring means for measuring the time required for the CPU to execute the processing of the processing request,
The load information storage means updates the load information for the corresponding processing request when the response time measured by the response time measurement means is outside a predetermined range;
The virtual machine system according to any one of claims 1 to 4, wherein
複数の処理要求を受信する処理要求受信ステップと、
前記処理要求受信ステップにおいて受信した複数の処理要求の優先度を識別する優先度識別ステップと、
前記処理要求受信ステップにおいて受信した複数の処理要求についての処理を実行する場合に前記複数のゲストOSが必要とする負荷を算出する負荷算出ステップと、
前記優先度識別ステップにおける識別結果および前記負荷算出ステップにおける負荷算出結果に基づいて、前記ゲストOSに割り当てる前記CPUの処理時間を決定する割当決定ステップと、
を備えることを特徴とする資源割り当て制御方法。 A resource allocation control method applicable to a virtual computer system in which a plurality of guest OSs are mounted on a computer, and processing is performed by time-sharing CPU processing times of the computers and allocating them to the plurality of guest OSes,
A process request receiving step for receiving a plurality of process requests;
A priority identifying step for identifying priorities of a plurality of processing requests received in the processing request receiving step;
A load calculating step of calculating a load required by the plurality of guest OSes when executing processing for a plurality of processing requests received in the processing request receiving step;
An allocation determination step for determining a processing time of the CPU to be allocated to the guest OS based on the identification result in the priority identification step and the load calculation result in the load calculation step;
A resource allocation control method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011178754A JP2013041485A (en) | 2011-08-18 | 2011-08-18 | Virtual computer system and resource allocation control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011178754A JP2013041485A (en) | 2011-08-18 | 2011-08-18 | Virtual computer system and resource allocation control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013041485A true JP2013041485A (en) | 2013-02-28 |
Family
ID=47889801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011178754A Withdrawn JP2013041485A (en) | 2011-08-18 | 2011-08-18 | Virtual computer system and resource allocation control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013041485A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019125242A (en) * | 2018-01-18 | 2019-07-25 | 株式会社デンソー | Scheduling apparatus |
-
2011
- 2011-08-18 JP JP2011178754A patent/JP2013041485A/en not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019125242A (en) * | 2018-01-18 | 2019-07-25 | 株式会社デンソー | Scheduling apparatus |
JP7010014B2 (en) | 2018-01-18 | 2022-01-26 | 株式会社デンソー | Scheduling device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10733026B2 (en) | Automated workflow selection | |
JP5370946B2 (en) | Resource management method and computer system | |
JP4519098B2 (en) | Computer management method, computer system, and management program | |
US8725912B2 (en) | Dynamic balancing of IO resources on NUMA platforms | |
JP5332065B2 (en) | Cluster configuration management method, management apparatus, and program | |
WO2011148563A1 (en) | Information processing system | |
CN109564528B (en) | System and method for computing resource allocation in distributed computing | |
TW201430706A (en) | Computer system and graphics processing method therefore | |
JP2012221273A (en) | Method, system and program for dynamically assigning resource | |
US9110696B2 (en) | Thin client system, connection management server, connection management method and connection management program | |
JP2009251708A (en) | I/o node control system and method | |
KR20130088513A (en) | Task distribution method on multicore system and apparatus thereof | |
Mishra et al. | Time efficient dynamic threshold-based load balancing technique for Cloud Computing | |
Garala et al. | A performance analysis of load Balancing algorithms in Cloud environment | |
JP6116102B2 (en) | Cluster system and load balancing method | |
JP6653710B2 (en) | Computer and computer control method | |
Li et al. | PageRankVM: A pagerank based algorithm with anti-collocation constraints for virtual machine placement in cloud datacenters | |
JP2019008454A (en) | Information processing system and resource allocation method | |
Rampersaud et al. | Sharing-aware online algorithms for virtual machine packing in cloud environments | |
JP5613578B2 (en) | Virtualization environment resource management configuration change system and program | |
JP2010218151A (en) | Virtual computer management mechanism and cpu time allocation control method in virtual computer system | |
JP2011150472A (en) | Web service system, server selection reference determination device, server selection reference determination method and program | |
JP6279816B2 (en) | Storage monitoring system and monitoring method thereof | |
JP6158751B2 (en) | Computer resource allocation apparatus and computer resource allocation program | |
JP2014167713A (en) | Information processing device, information processing system, information processing device management program and information processing device management method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20141104 |