JP4557178B2 - 仮想マシン管理システム、その方法及びそのプログラム - Google Patents

仮想マシン管理システム、その方法及びそのプログラム Download PDF

Info

Publication number
JP4557178B2
JP4557178B2 JP2007052842A JP2007052842A JP4557178B2 JP 4557178 B2 JP4557178 B2 JP 4557178B2 JP 2007052842 A JP2007052842 A JP 2007052842A JP 2007052842 A JP2007052842 A JP 2007052842A JP 4557178 B2 JP4557178 B2 JP 4557178B2
Authority
JP
Japan
Prior art keywords
virtual machine
resource usage
special
general
domain
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007052842A
Other languages
English (en)
Other versions
JP2008217332A (ja
Inventor
輝幸 馬場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2007052842A priority Critical patent/JP4557178B2/ja
Publication of JP2008217332A publication Critical patent/JP2008217332A/ja
Application granted granted Critical
Publication of JP4557178B2 publication Critical patent/JP4557178B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は仮想マシンの管理に関し、より詳細には複数仮想マシンで共有される共有リソースの使用量を測定できる仮想マシン管理システム、その方法及びそのプログラムに関する。
近年、高性能化したコンピュータの余剰リソースを有効利用するために、仮想化ソフトウェアが利用されている。
ここで、仮想化ソフトウェアとは、コンピュータ内に仮想的にマシンを創設し、コンピュータシステム(物理マシン)のリソースであるメモリ、CPU、そしてディスクやネットワークカード(NIC(Network Interface Card))のようなI/O(input/output)資源(リソース)を各仮想マシンへ割り当てるソフトウェアのことを指す。
例えば、CPU使用率の割り当ては、CPUのスケジューラを制御することで、仮想マシンがCPUを利用できる時間を制御することで行う。
この制御により、各仮想マシンが利用可能な最大リソース量を制限したり、他の仮想マシンの負荷が大きい場合でも最低限のリソース量を保障したりすることができる。
なお、物理マシンとは、仮想マシンに対する用語で、CPU、メモリ、ディスク、ネットワークカード(NIC)などを有する一般的なコンピュータである。また以下の説明では、単に仮想マシンといった場合、一般仮想マシンと特殊仮想マシンの両方を含めた仮想マシンを指すものとする。
このような、仮想化ソフトウェアにより、物理マシン内に複数の仮想マシンが構成される、仮想化システムにおいて、それぞれの仮想マシンに対してリソースをどのように配分するかを決める仮想マシンの管理は、コンピュータリソースの利用効率を高める上で重要である。
従来の仮想マシン管理システムの例が、特許文献1に記載されている。この従来の仮想マシン管理システムの構成を図24に示す。
従来の仮想マシン管理システム920は、性能モニタ手段911と、リソース管理手段912と、仮想マシン管理手段913とを備える。
性能モニタ手段911は、仮想マシン903上で動作しているアプリケーションの性能を測定し、各仮想マシンが使用しているリソース量を把握する。
リソース管理手段912は、各物理マシンでの空きリソース量を管理する。仮想マシン管理手段913は、仮想マシンへのリソース割当てを制御する。
性能モニタ手段911は、仮想マシン上のアプリケーションの性能を測定している。この測定した性能値は、仮想マシン管理手段913に通知され、仮想マシン管理手段913が、仮想マシンが要求された性能を満足しているか否か判断する。
性能を満足していない場合は、該性能を満足していない仮想マシンに対して割り当てるリソース量を増加させる。
この点、リソース増加の対象となる仮想マシンが存在するローカルな物理マシン上に十分な余剰リソースがある場合と、十分な余剰リソースが無い場合が考えられる。
ここで、リソース増加の対象となる仮想マシンが存在するローカルな物理マシン上に十分な余剰リソースが存在すれば、この仮想マシンに対するリソース割当を増加させる。
一方、ローカルな物理マシンに、十分なリソース量が存在しない場合は、ネットワーク904で接続された別の物理マシン上に余剰リソースがあるか確認し、余剰リソースが存在する場合には、仮想マシンをネットワーク経由で移動させる。
図24を用いて説明すると、物理マシン901aに十分なリソース量が存在しない場合は、仮想マシン管理手段913aは、ネットワーク904経由で物理マシン901bに余剰リソースがあるか確認し、余剰リソースが存在する場合には、仮想マシンをネットワーク経由で901aから901bに移動させることとなる。
また、上記従来技術のように仮想マシンごとのCPU使用率を取得する具体的方法の一例が特許文献2に記載されている。
特許文献2では、CPUがどのような処理をどのような順番でするかを制御するスケジューラにサービス使用量測定部が接続されている。このサービス使用時間測定部が、スケジューラから各仮想マシンに割り当てた時間を測定する。
このように、従来技術では、仮想マシン上のアプリケーションの性能をモニタし、その性能や状況に応じて、割り当てるリソース量を増減させることによってシステム全体のコンピュータリソースを有効に利用している。
また、CPUの使用時間測定は、CPUのスケジューラでの割り当て時間を取得することで実現している。
特開平11−327927号公報 特開平9−81401号公報 HPテクニカルレポートHPL−2005−187、Diwaker Gupta, et al[XenMon:QoS Monitoring and Performance Profiling Tool][平成19年2月19日検索]、インターネット 〈URL:http://www.hpl.hp.co.uk/techreports/2005/HPL-2005-187.html〉
仮想化システムにおいて、複数の仮想マシンからリソースを共有される共有リソース部分を有する仮想マシンが存在する。ホストOSや物理デバイスを扱うための特別な仮想マシンである。ここでは、Xenという仮想化技術を用いる場合を例に説明する。
Xenのアーキテクチャを図25に示す。Xenでは、Xenハイパーバイザ711が、ディスク751、NIC752、メモリ753、CPU754のような物理リソースを各仮想マシンに割り当てる。
Xenでは、このようにリソースを割り当てられる仮想マシンのことをドメインと呼ぶ。図25では、ドメイン0(701)と、ドメイン1(702)、ドメイン2(703)が動作している。
ここで、ドメイン0は物理デバイスを直接制御することができる。
一方、ドメイン1とドメイン2はドメインUと呼ばれ、自らは物理デバイスを直接制御することができない。つまり、物理デバイスを直接制御することができるのはドメイン0のみである。
ドメインU上のアプリケーションから要求されるI/O処理はドメイン0がドメインUの代わりに実行することとなる。
ドメインUが仮想デバイスにI/Oアクセスを要求すると、Xenハイパーバイザ711がその要求をドメイン0に転送する。
ドメイン0は、物理デバイスのデバイスドライバを有する特別な仮想マシンであり、ドメインUから要求されたI/Oアクセスを代わりに実行して、実行の結果をドメインUへ返す。
このようなXenのアーキテクチャを考えると、従来技術には以下のような問題点が存在する。
第1の実施問題点は、従来の方法では、ドメインUの代わりにドメイン0にI/Oアクセスを代行させ、その実行の結果を移動させた際に、同時にドメイン0のCPU使用率が増加することを考慮できないことである。
その理由は、仮想マシンへのリソース割当の際に、仮想マシン単位で測定したリソース使用量しか考慮していないためである。つまり、ドメインUが依存するドメイン0のリソース使用量を取得していないためである。
この問題点の具体例を、図26を参照して説明する。図26では、2つの物理マシン940、950上に、Xenハイパーバイザ944、954により、それぞれ仮想マシンが作成されている。
第1のマシン940上には、物理デバイスを制御する仮想マシンとしてドメイン0(941)、ドメインUとしてドメイン1(942)、ドメイン2(943)が構成されている。
第2のマシン950上には、物理デバイスを制御する仮想マシンとしてドメイン0(951)、ドメインUとしてドメイン1(952)が構成されている。
また、第1のマシン940と第2のマシン950は、ネットワーク949に接続しており、データの交換が可能である。
図26に示す構成での各仮想マシンのCPU使用率の例を図27に示す。第1のマシン940の各仮想マシンのCPU使用率は、ドメイン0(941)が25%、ドメイン1(942)が25%、ドメイン2(943)が20%である。
また、第2のマシン950の各仮想マシンのCPU使用率は、ドメイン0(951)が10%、ドメイン1(952)が30%である。また、各マシンのCPU使用率は最大で75%までに制限されているものとする。
このような状況において、第1のマシン940上のドメイン2(943)のアプリケーションの性能が低下したので、ドメイン2(943)のCPU使用率を10%追加したい場合を考える。
ドメイン2(943)のCPU使用率を10%増加させると、第1のマシン940のCPU使用率が80%となり、制限の75%を越えてしまう。
このため、従来技術では、ドメイン2(943)の現在のCPU使用率20%に追加するCPU使用率10%を加えた、30%を第2のマシン950で確保できるか確認する。
図27によると、第2のマシン上でのCPU使用率は、ドメイン0(951)とドメイン1(952)の合計で、40%であるので、ドメイン2(943)のCPU使用率30%の全てを第2のマシンへ移動できるという判断がなされる。
しかし、実際はドメイン2(943)を移動させることにより、第2のマシン950上ではドメイン0(951)のCPU使用率も増加する。
この点を、図27の表で示されている数値で想定する。ドメイン2(943)のCPU使用率が20%、ドメイン0(951)の現在のCPU使用率が10%、ドメイン(952)のCPU使用率が30%の場合を想定する。
この場合第2のマシン950の現在のCPU使用率は40%である。
ここで、ドメイン2(943)を第2のマシン950に移動するとそれに伴い、ドメイン0(951)のCPU使用率が20%増加するとする。
そうすると、第2のマシンの950CPU使用率の合計は現状の40%に、ドメイン2(943)のCPU使用率が20%、ドメイン0(951)のCPU使用率増加量20%、の合計80%となる。
よってこれでは、第2のマシン950上でCPUの使用制限である75%を超過するという問題が生じる。
第2の問題点は、仮想化システムのアーキテクチャ及び仮想マシン上のアプリケーションの特徴により、リソースの使用量が異なるという点を考慮できなかったことである。
その理由は、従来の仮想化管理システムでは、仮想マシンを移動させる際に、実際は異なる物理マシンであるのにも関わらず、移動元でも、移動先でも同じ物理マシンがあるという前提でリソース使用量を想定していたからである。
そして、該誤った想定に基づき測定したリソース使用量を、使用できるという、判断をしてしまう。
そこで、本発明は仮想マシン単位だけでなく、仮想マシン間でのリソース量の依存関係についても考慮でき、更にアプリケーションの種類ごとに異なる、リソース使用量を考慮できる仮想マシン管理システム、その方法及びそのプログラムを提供することを目的とする。
本発明の第1の観点によれば、処理の一部を特殊仮想マシン内の共有リソースを利用して実行する一般仮想マシンと、一般仮想マシンでの処理の一部を代理で実行する特殊仮想マシンとを備える仮想化システムにおいて、前記仮想マシンを管理する仮想マシン管理システムであって、仮想マシン単位のリソース使用量を取得する仮想マシンリソース使用量取得手段と、各一般仮想マシンからの処理要求に費やされる特殊仮想マシン内でのリソース使用率を測定する共有リソース使用量取得手段と、前記仮想マシンリソース使用量取得手段が取得する特殊仮想マシンのリソース使用量と、前記共有リソース使用量取得手段が測定した各一般仮想マシンからの処理要求に費やされる特殊仮想マシン内でのリソース使用率を掛けることにより、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を計算する共有リソース使用量計算手段と、を備えることを特徴とする仮想マシン管理システムが提供される。
更に、本発明の第2の観点によれば、処理の一部を特殊仮想マシン内の共有リソースを利用して実行する一般仮想マシンと、一般仮想マシンでの処理の一部を代理で実行する特殊仮想マシンとを備える仮想化システムにおいて、前記仮想マシンを管理する仮想マシン管理システムであって、仮想マシン単位のリソース使用量を取得する仮想マシンリソース使用量取得手段と、特殊仮想マシンの共有リソースを使用する一般仮想マシンと特殊仮想マシンとの間でのデータ転送回数を数えるデータ転送カウント手段と、前記仮想マシンリソース使用量取得手段が取得する特殊仮想マシンのリソース使用量と、前記データ転送カウント手段により取得する各一般仮想マシンのデータ転送回数の比率とを掛けることにより、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を計算する共有リソース使用量計算手段と、を備えることを特徴とする仮想マシン管理システムが提供される。
更に、本発明の第3の観点によれば、処理の一部を特殊仮想マシン内の共有リソースを利用して実行する一般仮想マシンと、一般仮想マシンでの処理の一部を代理で実行する特殊仮想マシンとを備える仮想化システムにおいて、前記仮想マシンを管理する仮想マシン管理システムであって、仮想マシン単位のリソース使用量を取得する仮想マシンリソース使用量取得手段と、一般仮想マシンからの処理要求に費やされる特殊仮想マシンのリソース使用量の比率を仮想マシン上で動作するアプリケーションの種類毎に保持する共有リソース使用比率データベースと、仮想マシン上で実行されているアプリケーションの種類に対応した前記共有リソース使用比率データベース内のリソース使用比率と、前記仮想マシンリソース使用量取得手段が取得する一般仮想マシンのリソース使用量とを掛けることにより、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を計算する共有リソース使用量計算手段と、を備えることを特徴とする仮想マシン管理システムが提供される。
更に、本発明の第4の観点によれば、処理の一部を特殊仮想マシン内の共有リソースを利用して実行する一般仮想マシンと、一般仮想マシンでの処理の一部を代理で実行する特殊仮想マシンとを備える仮想化システムにおいて、前記仮想マシンを管理する仮想マシン管理システムであって、仮想マシン単位のリソース使用量を取得する仮想マシンリソース使用量取得手段と、アプリケーションの処理1件当たりに実行される命令の種類及び回数を保持するアプリケーション特性データベースと、前記命令を仮想マシン上で実行した際の仮想マシンのリソース使用量と特殊仮想マシン内の共有リソース使用量を保持するシステム特性データベースと、仮想マシン上で動作しているアプリケーションの種類を保持するアプリケーション管理データベースと、管理対象とする仮想マシン上で動作しているアプリケーションをアプリケーション管理データベースから検索する手段と、前記検索されたアプリケーションを実行する際に、実行する命令種類と回数をアプリケーション特性データベースから検索する手段と、
前記検索された命令種類を実行する際の仮想マシンのリソース使用量と特殊仮想マシン内の共有リソースの使用量をシステム特性データベースから検索する手段と、前記検索された各命令の仮想マシンのリソース使用量と特殊仮想マシン内の共有リソース使用量に各命令の実行回数を掛けることでアプリケーション実行時の仮想マシンのリソース使用量と特殊仮想マシン内の共有リソース使用量の比率を求める手段と、前記共有リソース使用量の比率と前記仮想マシンリソース使用量取得手段が取得する対象仮想マシンのリソース使用量を掛けることにより、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を計算する共有リソース使用量計算手段と、を備えることを特徴とする仮想マシン管理システムが提供される。
共有リソースも含めた仮想マシンのリソース量の割当量を決定することができる。このため、リソース設定の際に共有リソースが不足することを防ぐことができる。
次に、発明を実施するための最良の形態について図面を参照して詳細に説明する。
[第1の実施形態]
図1は、本発明を実施するための第1の実施形態における仮想マシン管理システムの構成要素とその動作環境の例を記載している。
本発明は、物理マシン801内で仮想マシンモニタ(VMM(Virtual Machine Monitor))が、仮想マシン管理システム810と、共有リソースを直接制御することができる特殊仮想マシン820と、特殊仮想マシン820が代理で共有リソース処理を実行する一般仮想マシン803b、803cを備える。
それぞれの仮想マシンにおいて、ゲストOS820b及び820cが動作している。Xenの例では、仮想マシン803a、bは、I/O(input/output)処理を直接実行できないドメインUにあたり、特殊仮想マシン820は、I/O処理を実行できるドメイン0にあたる。
更に、特殊仮想マシン820では、一般仮想マシンのI/O処理要求を受けるための仮想デバイスドライバ841を有している。
なお、ここで物理マシンとは、仮想マシンに対する用語で、CPU、メモリ、ディスク、ネットワークカード(NIC)などを有する一般的なコンピュータである。また、本説明では、単に仮想マシンといった場合、一般仮想マシンと特殊仮想マシンの両方を含めた仮想マシンを指す。
本発明の第1の実施形態における仮想マシン管理システム810は、仮想マシンリソース使用量取得手段811(本発明の要求処理量取得手段に相当する。)と、共有リソース使用量計算手段821と、リソース量演算手段831を備える。
仮想マシンリソース使用量取得手段811は、仮想マシン単位でのリソース使用量を取得する。
仮想マシンリソース使用量取得手段811の構成を図2に示す。
仮想マシンリソース使用量取得手段811では、取得手段811aがVMMから仮想マシン単位でのリソース使用量を取得する。図2では測定するリソース使用量の例として、仮想マシンリソース使用量テーブル811bに示すCPU使用率を示しているが、CPU使用率のほかにも、メモリサイズ、ディスクサイズ、ネットワーク帯域などであってもよい。
共有リソース使用量計算手段821は、共有リソース使用量取得手段832とリソース量演算手段831を備える。
共有リソース使用量取得手段832は、各一般仮想マシンからの処理要求に費やされる特殊仮想マシン内でのリソース使用率を測定する。
ここで、共有リソース使用量取得手段832の構成を図3に示す。
仮想マシンID取得手段8323は、仮想デバイスドライバ841から、共有リソース処理要求ごとに要求元の一般仮想マシンのIDを取得する。
一般仮想マシンのIDは、特殊仮想マシンと一般仮想マシン間で共有リソース処理要求を通知するためのイベントチャネルを識別して取得する。
また、共有リソーススケジューリング取得手段8324は、各共有処理要求の実行時間を特殊仮想マシンゲストOS820b内のスケジューラから取得する。
集計手段8321は、共有リソーススケジューリング取得手段8324が取得する処理要求ごとの処理時間や、処理に対するリクエストIDと仮想マシンID取得手段8323が取得する各要求がどの一般仮想マシンからのものであるかという情報をもとに、各一般仮想マシンが使用する特殊仮想マシン内の共有リソースの使用量を集計する。
図3では、特殊仮想マシン内での共有リソースの例であるCPU使用率が、ドメイン1はr1、ドメイン2はr2、ドメインiはri、であることを示している。
また、リソース量演算手段831は、特殊仮想マシンのリソース使用量と、各一般仮想マシンからの処理要求に費やされる特殊仮想マシン内でのリソース使用率を掛けることで、各一般仮想マシンからの処理要求に費やされる特殊仮想マシン内でのリソース量を計算する。
具体的に、ドメインiのリソース使用率を計算することを例として説明する。
仮想マシンリソース使用取得手段811から取得できるドメイン0の使用率が、x0(図2、71)、ドメインiの使用率がxi(図2、75)、共有リソース使用量取得手段832から取得できる特殊仮想マシン内での共有リソース使用率はri(図2、84)である。
一般仮想マシン自身のリソース使用率yiは、仮想マシンリソース使用取得手段811が測定したそのままであるため、以下の式で求まる。
Figure 0004557178
特殊仮想マシン内で利用するリソース使用率ziは、共有リソース使用量取得手段832で取得した値が、特殊仮想マシンのリソース使用量に対する割合であるため、特殊仮想マシンが物理マシン全体に対してどのくらいリソースを使用しているかを考慮する必要がある。
このため、特殊仮想マシン内で利用するリソース使用率ziは、以下の式で求まる。
Figure 0004557178
次に、図1の構成図に加え、図6のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
まず、ステップS801で、仮想マシンリソース使用量取得手段811が、仮想マシンごとのリソース使用量を取得する。この仮想マシンリソース使用量取得手段811は一般仮想マシン203a、bの、いずれの特殊仮想マシンのリソース量をも取得できる。
次にステップS802において、共有リソース使用量取得手段832が、特殊仮想マシンのリソース使用率の中で、各一般仮想マシンが使用した共有リソース量を取得する。
さらに、ステップS803において、リソース量演算手段831が、仮想マシンリソース使用量取得手段811が取得した特殊仮想マシンのリソース量と、共有リソース使用量取得手段832が取得したリソース量をもとに、物理マシン全体に対する共有リソースの使用量を計算する。
具体的には、仮想マシンリソース使用量取得手段811が取得した特殊仮想マシンのリソース使用量と、共有リソース使用量取得手段832が取得した一般仮想マシンからの処理要求に要する共有リソースの特殊仮想マシン内での使用率を掛けることで、対象とする仮想マシンが使用する共有リソース量を求める。
計算で求めた一般仮想マシンごとの共有リソース使用量は、出力手段804で出力することができる。ここで、出力手段804による出力例を図5に示す。
図5の94を参照すると、ドメインiに対して、一般仮想マシンであるドメインi自身のCPU使用率がyi、ドメインiからの共有リソース処理要求に費やされる特殊仮想マシンのCPU使用率がziであることがわかる。
具体的な実施例としては、計算で求めた一般仮想マシンごとの特殊仮想マシン内の共有リソースの使用量を表として画面に表示することが挙げられる。この出力画面を見ることで、システム管理者は特殊仮想マシン内の共有リソースを大量に消費している一般仮想マシンを特定することができる。
次に、第1の実施の形態の効果について説明する。
本実施の形態では、仮想マシン単位のリソース使用量に加えて、特殊仮想マシン内での各一般仮想マシンの共有リソース使用量を測定することができる。
この理由は、特殊仮想マシンのリソース使用量を取得する手段と、この特殊仮想マシン内のリソース使用量がどの一般仮想マシンからの処理のために消費されているかという内訳を取得する手段と、特殊仮想マシンのリソース使用量と特殊仮想マシン内のリソース使用量の内訳の比率を演算することで特殊仮想マシン内での各一般仮想マシンの共有リソース使用量を計算する手段を有するためである。
また、上記で説明した仮想マシンのリソース量取得と、共有リソースの使用量取得の順番は、説明のための例であり、情報取得の順番はどちらが先でも、また同時に実行しても、本発明の目的を実現することができる。
[第2の実施形態]
つぎに、図を用いて第2の実施形態の構成と動作を説明する。
図7を参照して、VMMとしてXenを、共有リソースとしてCPU使用率を対象とする場合を本発明の第2の実施形態として説明する。
図7を参照すると、本発明の第2の実施形態における仮想マシン管理システムが管理する仮想化システムは、VMMとしてXenを利用している。
Xenハイパーバイザ130が、ドメイン0(120)、ドメインUとしてドメイン1(130a)、ドメイン2(105a)を作成している。
それぞれのドメインでは、ゲストOSとして、ドメイン0OS125、ドメインUOS125a、125bが動作している。
ドメインU上では、それぞれアプリケーション105a、105bが動作している。ドメイン0仮想マシン120内には、ドメインUのI/O処理要求を受け付けるための仮想デバイスドライバとしてバックエンドドライバ128を有する。
また、物理マシン101aはネットワーク104に接続している。別の物理マシン105aもネットワーク104に接続しており、物理マシン103aと物理マシン105a間で通信することができる。
ここでは、説明のために物理マシンは2台記載したが、本発明の対象は、物理マシンの台数を限定するわけではない。物理マシンと同様に、本発明の対象は、仮想マシンの台数を限定するわけでもない。
本発明の第2の実施形態における仮想マシン管理システム211は、仮想マシンリソース使用量取得プログラム111(本発明の要求処理量取得手段に相当する。)と、共有リソース使用量計算プログラム121と、共有リソース割当機能付きリソース割り当て量計算プログラム113と、仮想マシン設定プログラム114と、共有リソース使用量取得プログラム116と、演算プログラム161と、通信プログラム115で構成される。
それぞれの構成は第1の実施形態において説明した構成と同じであるため、ここでは、それぞれをVMMとしてXenとした場合の具体例について説明する。
仮想マシンリソース使用量取得プログラム111は、ドメイン単位でのリソース使用量を取得する。
この仮想マシンリソース使用量取得プログラム111は、ドメイン0、ドメインUに関わらず仮想マシンごとのリソース使用量を測定する。
例えば、VMMとしてXenを利用する場合には非特許文献1に記載されているXenMonを利用することで、仮想マシンごとのCPU使用率を測定することができる。
また、Xenの“xm list”コマンドを利用することで、ドメインごとのメモリサイズを取得することができる。
共有リソース使用量計算プログラム121は、共有リソース使用量取得プログラム116で取得されるドメイン0仮想マシン120内における各ドメインU処理に関連するCPU使用率と、仮想マシンリソース使用量取得プログラム111で取得されるドメイン0仮想マシン120のリソース使用量をもとに、物理マシン101a全体におけるリソース使用量を計算する。
共有リソース割当機能付きリソース割当量計算プログラム113は、仮想マシンに対して使用を許可するCPU使用率を計算する。
この共有リソース割当機能付きリソース割当量計算プログラム113は、ドメインUへ割り当てるCPU使用率の計算の際に、対象とするドメインUだけでなく、対象ドメインUの使用状況に依存して使用量が変化するドメイン0へ割り当てるCPU使用率も同時に計算する。
仮想マシン設定プログラム114は、共有リソース割当機能付きリソース割当量計算プログラム113で計算されたリソース量に応じて、各ドメインのリソース量を設定する。
このドメインのリソース量の設定は、Xenの標準コマンドを利用する。CPU使用量の変更には“xm sched−sedf”コマンドを、メモリ量の変更には“xm mem−set”コマンドを利用することでドメインごとのリソース量を変更することができる。
共有リソース使用量取得プログラム116は、ドメイン0(120)内における、各ドメインU103からの処理要求に費やされるCPU使用率を取得する。
Xenの場合は、ドメイン0仮想マシン120と各ドメインU仮想マシン103との間でI/O制御情報を交換するイベントチャネルをモニタし、それぞれのイベントチャネルから要求されたドメイン0内での処理に要した時間の使用率を測定する。
この共有リソース使用量取得プログラム116で取得するCPU使用時間は、ドメイン0のCPU使用量を1と定義し、それに対しての使用率である。
このため、ドメイン0のCPU使用量が異なるとドメインU処理に要するCPU使用量も異なってしまい、このままの値では、他物理マシンへの仮想マシン移動の際に、必要なCPU使用量を正確に通知できない。
そこで、本発明では、演算プログラム161を利用してドメインU処理に要するドメイン0内のCPU使用量を計算している。
通信手段115は、仮想マシンリソース使用量取得プログラム111が取得したドメインごとのリソース使用量や共有リソース割当機能付きリソース割当量計算手段113で計算したリソース割当量を他の物理マシンとの間で通信する。
これにより、複数物理マシンにまたがるシステムであっても、該複数の物理マシンを管理することが可能となる。
なお、管理対象の物理マシンが1台の場合は、この通信手段115は不要である。
次に、図8のフローチャートを参照して第2の実施形態の全体の動作について詳細に説明する。
まず、ステップS101で、仮想マシンリソース使用量取得プログラム111が、ドメインごとのCPU使用率を取得する。ここで、ドメイン0OS125、ドメイン125a、ドメイン125bのCPU使用率は、それぞれ25%、25%、20%と測定されたとする。
次にステップS102において、共有リソース使用量取得プログラム116が、各ドメインUの処理に要したドメイン0のCPU使用時間の割合を取得する。ここで、ドメイン1とドメイン2それぞれからの処理要求のためにドメイン0のCPUを使用した時間の比が1:4と測定されたとする。
さらに、ステップS103において、演算プログラム161が、仮想マシンリソース使用量取得プログラム111が取得したドメイン0のCPU使用率と、共有リソース使用量取得プログラム116が取得したドメインU間の使用比率から、各ドメインUの処理要求に関連するドメイン0のCPU使用量を計算する。
具体的には、ドメイン1の処理要求に関連するドメイン0のCPU使用率は、スップS101で取得したドメイン0のCPU使用率25%に、ステップS102で取得した1/5を掛けることで5%と求まる。
同様に、ドメイン2の処理要求に関連するドメイン0のCPU使用率は、スップS101で取得したドメイン0のCPU使用率25%に、ステップS102で取得した4/5を掛けることで20%と求まる。
ステップS104では、共有リソース割当機能付きリソース割当量計算プログラム113が、リソース割当の対象となるドメインU自身のCPU使用率と対象ドメインUの動作状況に影響を受ける共有リソース量の双方を満足するようなリソースの配置及びリソース量を決定する。
物理マシン101a上のドメイン125bを物理マシン101bへ移動させようとする場合、物理マシン101b上にドメインUとして20%、ドメイン0として20%のCPU使用率を確保できるか確認する。
ステップS105では、仮想マシン設定プログラム114が、ステップS104で求めたCPU使用率に従い、ドメインのCPU使用率を割り当てる。
次に、第2の実施の形態の効果について説明する。
本実施の形態では、ドメインU単位のCPU使用率に加えて、対象ドメインUの処理に要するドメイン0のCPU使用率も取得するため、ドメインUを異なる物理マシンに移動させる際に移動先でドメイン0のCPU使用率が不足し、移動先でドメインU上のアプリケーションの性能が低下することを防ぐことができる。
なお、上記で説明した仮想マシンのリソース量取得と、共有リソースの使用量取得の順番は、本発明の効果には影響を与えないため、情報取得の順番はどちらが先であってもよい。
[第3の実施形態]
次に、本発明の第3の実施形態について図面を参照して詳細に説明する。
図9を参照すると、本発明の第3の実施の実施形態は、第2の実施形態と共有リソース使用量計算プログラム224の構成が異なる。第5の実施形態における有リソース使用量計算プログラム224は、データ転送カウントプログラム217と演算プログラム225で構成される。
データ転送カウントプログラム217は、ドメイン0とドメインU間で転送されるI/O処理に関してデータ転送の回数を数える。
VMMがXenの場合は、XenMonを利用して、ドメイン0とドメインU間の共有メモリを利用したデータ転送回数をページフリップ回数として取得できるため、これを利用することで実現する。
データ転送カウントプログラム217で取得できるデータの例を図10に示す。図10を参照すると、ドメイン1との転送回数は5000回(741)、ドメイン2との転送回数は20000回(742)、ドメインiとの転送回数はfi回(744)であることがわかる。
図11に示すように演算プログラム225は、ドメイン0のCPU使用率は、全てのドメインUのデータ転送回数の総和(Σfi)に対する対象ドメインの転送回数(fi)の割合に応じて使用されているとして計算を行う。
各ドメインU処理に費やされるドメイン0のCPU使用率ziは次式で計算される。
Figure 0004557178
次に、図9の構成図、図12のフローチャートを参照して第3の実施の形態の全体の動作について詳細に説明する。
図12に示すフローチャートのステップS401、S404、S405は、第2の実施の形態のフローチャートのステップS101、S104、S105とそれぞれ同じである。
このため、ここではこれらの説明は省略し、第2の実施の形態と異なるステップS402及びS403について説明する。
ステップS402では、データ転送カウントプログラムがドメイン0とドメインU間のデータ転送回数を取得する。
VMMがXenの場合は、ドメイン0とドメインU間の共有メモリを利用したデータ転送回数であるページフリップ回数をXenMonにより取得する。
例えば、ドメインUとしてドメイン1とドメイン2のみが存在し、ドメイン1のデータ転送回数が5000回、ドメイン2のデータ転送回数が20000回と測定されたとする。
次に、ステップS403では、共有リソース使用量計算手段224が、ステップS401で取得したドメイン0のCPU使用率を、ステップS402で取得した各ドメインUのデータ転送回数の比率に応じて決定する。
ステップS402で取得したように、ドメイン1のデータ転送回数が5000回、ドメイン2のデータ転送回数が20000回の場合は、ドメイン0のCPU使用率の20%をドメイン1が、80%をドメイン2が利用しているとする。
ステップS401で取得するドメイン0のCPU使用率が25%の場合は、ドメイン1の処理に関連するドメイン0のCPU使用率は5%、ドメイン2の処理に関連するドメイン0のCPU使用率は20%と計算される。
ここで、一般的にI/O処理のデータサイズはその都度異なる。もっとも、上記データ転送カウント手段は回数をカウントしているだけであり、データサイズはその都度異なるという点は考慮されていない。
よって、結果としては完全に正確なCPU使用率ではなく、概算を求めることになる。
この精度を向上するために、データ転送カウント手段で転送回数でなく転送データサイズをモニタし、共有リソース使用量計算手段224が、このデータサイズの比率に基づきドメイン0のリソース量の内訳を更に計算することで、より精度を向上することができる。
次に本発明の第3の実施の形態における効果を説明する。
第3の実施の形態では、データ転送カウント手段を利用しているため、アプリケーションに依存しないで共有リソースの使用率の内訳を計算できるという効果がある。
[第4の実施形態]
次に、本発明の第4の実施形態について図面を参照して詳細に説明する。
図13に本発明の第4の実施形態の構成要素が示されている。第4の実施形態は、第2の実施形態と比較すると、共有リソース使用量計算プログラム222の構成が異なる。
その他の構成要素は第2の実施形態と同じなので、ここでの説明は省略する。ここでは、構成が異なる共有リソース使用量計算プログラム222について説明する。
共有リソース使用量計算プログラム222の構成を図14に示す。共有リソース使用量計算プログラム222は、共有リソース使用比率DB251と、アプリケーション管理データベース257と、演算プログラム252で構成される。
共有リソース使用比率DB251は、アプリケーションごとにドメイン0とドメインUのCPU使用率の比率をデータベースとして保持する。
ここでは、CPU使用率を対象としたが、メモリ使用量など他のリソース種類でも同様である。
共有リソース使用比率DB251の例を図16に示す。図16では、共有リソース比率として、アプリケーションをXenのドメインU上で実行したときのドメインUのCPU使用率と、このアプリケーション処理に関与するドメイン0のCPU使用率の比率を表している。
例えば、アプリケーションが科学計算の場合(図16、701)は、ドメインUのCPU使用率と科学計算アプリケーションに関連するドメイン0での処理にかかるCPU使用率の比が1:0.2であることを表している。
同様に、アプリケーションがデータベースの場合(図16、702)は、ドメインUのCPU使用率とデータベースアプリケーションに関連するドメイン0での処理にかかるCPU使用率の比が1:1であることを表している。
アプリケーションがアプリケーションAの場合(図16、704)は、ドメインUのCPU使用率とアプリケーションAに関連するドメイン0での処理にかかるCPU使用率の比が1:aaであることを表している。
アプリケーション管理データベース257は、各仮想マシン上で動作しているアプリケーションの種類を保持している。このデータベースの情報は予め登録されているものとする。
アプリケーション管理データベース257の例を図17に示す。図17では、ドメイン1上では、科学計算を実行し、ドメイン2上ではデータベースを実行し、ドメインi上ではアプリケーションAを実行していることを表す。
図15に示すように、演算プログラム252は、アプリケーション管理データベース257を参照してドメインUで動作しているアプリケーション種類を検索し、共有リソース使用比率DB251を参照してドメインU上のアプリケーション実行時のドメインUとドメイン0のCPU使用比率を取得する。
このドメインUとドメイン0のCPU使用比率と仮想マシンリソース使用量取得プログラム111から得られるドメインUのCPU使用率とを掛けることで、対象となるドメインUの処理に関連するドメイン0のCPU使用率を計算する。
例えば、ドメインiの場合、図17の行714からアプリケーションAが実行されていることがわかる。また、図16の行704からドメインUのCPU使用率とアプリケーションAに関連するドメイン0での処理にかかるCPU使用率の比が1:aaであることがわかる。
また、図2の行75からドメインiのCPU使用率はxiであることがわかる。これらの情報をもとに、特殊仮想マシン内でのドメインiの処理に費やされるCPU使用率Ziは、以下の式で求まる。
Figure 0004557178
次に、図13及び図18のフローチャートを参照して第4の実施形態の動作について詳細に説明する。図18において、ステップS201、S203、S204は、それぞれ第2の実施形態のステップS101、S104、S105と同じであるため、ここでの説明は省略する。
ここでは、第2の実施形態と動作が異なるステップS202について以下で説明する。
ステップS202で、演算プログラム252が、アプリケーション管理データベース257を参照してドメインUで動作しているアプリケーション種類を検索し、共有リソース使用比率DB251を参照してドメインU上のアプリケーション実行時のドメインUとドメイン0のCPU使用比率を取得する。
そして、このドメインUとドメイン0のCPU使用比率とステップS201で取得したドメインUのCPU使用率とを掛けることで、対象となるドメインUの処理に関連するドメイン0のCPU使用率を計算する。
例えば、第2の実施形態と同様に、ステップS201において、ドメイン0(120)、ドメイン125a、ドメイン125bのCPU使用率は、それぞれ25%、25%、20%と測定されたとする。
ステップS202で、演算プログラム252が、アプリケーション管理データベース257を参照することで、ドメイン1では科学計算、ドメイン2では、データベースがアプリケーションとして実行していることを取得する。
次に、演算プログラム252は、共有リソース使用比率データベースを参照して、科学計算、データベースをそれぞれ実行した際の、(ドメイン0のCPU使用率/ドメインUのCPU使用率)が0.2及び1.0であることを取得する。
さらに、演算プログラム252は、仮想マシンリソース取得プログラム111からドメイン1のCPU使用率が25%であることを取得し、ドメイン1のアプリケーションのドメイン0とドメインUの使用比率0.2を掛けることで、ドメイン1に関するドメイン0でのCPU使用率が5%であることを計算する。
ドメイン2に対しても同様に、ドメイン2のCPU使用率である20%に、ドメイン0とドメインUの使用比率1.0を掛けることで、メイン2に関するドメイン0でのCPU使用率が20%であることを計算する。
次に本発明の第4の実施形態における効果を説明する。
本発明の第4の実施形態は、ドメイン0とドメインUのCPU使用率の比率をデータベースとして保持し、仮想マシンリソース使用量計算プログラム222がドメインUのCPU使用率とこのドメイン0とドメインUのCPU使用率からドメインUの処理に関連するドメイン0内のCPU使用率を計算する。
よって、第2の実施形態のようにドメイン0のOS又はVMMを改修することなく、ドメイン0のCPU使用率を考慮した仮想マシンのリソース割当を実現することができる。
[第5の実施形態]
次に、本発明の第5の実施形態について図面を参照して、詳細に説明する。
本発明の第5の実施形態は、図13に示す第4の実施形態における共有リソース使用量計算プログラムの構成が異なる。
ここでは、第4の実施の形態と同じ構成要素の説明は省略し、第5の実施の形態の特徴となる共有リソース使用量計算プログラムについて図19を参照して説明する。
図19を参照すると共有リソース使用量計算プログラム223は、アプリケーション特性データベース255と、システム特性データベース256と、アプリケーション管理データベース257と、演算プログラム258で構成される。
アプリケーション特性データベース(DB)255は、アプリケーションの処理1件当たりに実行される命令回数の平均値を登録している。
このデータベースの値は、あらかじめアプリケーション実行時の動作をモニタして作成しておく。
アプリケーション特性データベースの例を図21に示す。
図21の例では、アプリケーションが科学計算の場合は、科学計算処理1件当たり、四則演算450回、ディスクread5回、ディスクwrite5回、データ送信5回、データ受信5回の命令をそれぞれ実行することを表している。
また、アプリケーションがデータベースの場合では、四則演算50回、ディスクread20回、ディスクwrite20回、データ送信7回、データ受信8回の命令をそれぞれ実行することを表している。
また、アプリケーションがアプリケーションAの場合では、四則演算をc1回、ディスクreadをc2回、ディスクwriteをc3回、データ送信をc4回、データ受信をc5回、命令jをcjの命令をそれぞれ実行することを表している。
アプリケーション及び命令の種類は図21の例に限定されず、他の命令を追加することもできる。
システム特性データベース(DB)256は、命令1回当たりに使用される仮想マシンのリソース使用量と、共有リソース機能付き仮想マシンのリソース使用量を登録している。
このデータベースの値は、あらかじめシステム上での命令実行時のリソース使用量をモニタして作成しておく。
システム特性データベース256の例を図22に示す。図22では、命令種類が四則演算の場合は、命令1回当たりドメインUのCPU使用率が0.01%、ドメイン0のCPU使用率が0.001%であることを表している(図22、731)。
同様に、ディスクreadの場合は、命令1回当たりドメインUのCPU使用率が0.02%、ドメイン0のCPU使用率が0.03%であることを表している(図22、732)。ディスクwriteの場合は、命令1回当たりドメインUのCPU使用率が0.02%、ドメイン0のCPU使用率が0.04%であることを表している(図22、733)。
データ送信の場合は、命令1回当たりドメインUのCPU使用率が0.03%、ドメイン0のCPU使用率が0.02%であることを表している(図22、734)。データ受信の場合は、命令1回当たりドメインUのCPU使用率が0.3%、ドメイン0のCPU使用率が0.2%であることを表している(図22、735)。
また、命令jの場合は、命令1回当たりドメインUのCPU使用率がdj1、ドメイン0のCPU使用率がdj2であることを表している(図22、737)。
なお、このドメイン0及びドメインUのCPU使用率は、命令が扱うデータサイズによっても異なるため、平均値を記載する。
また、データサイズとCPU使用率の関係式を保持することで、データサイズごとのより詳細な命令実行当たりの使用量を確認することができる。システム特性データベースに登録する命令の種類は図22の例に限らず、他の種類を追加することもできる。
アプリケーション管理データベース257は、各仮想マシン上で動作しているアプリケーションの種類を保持している。
このデータベースの情報はあらかじめ登録されているものとする。アプリケーション管理データベース257の例を図17に示す。
図17では、ドメイン1上では、科学計算を実行し、ドメイン2上ではデータベースを、ドメインiではアプリケーションAを実行していることを表す。
ここでは、各ドメインについて、アプリケーションは1つである場合を例示したが、ドメイン内に複数のアプリケーションを実行している場合は、複数のアプリケーション名を保持する。
図20に示すように演算プログラム258は、ドメインU上で動作しているアプリケーションの種類を特定し、特定されたアプリケーションの処理1件当たりに必要なドメインUとドメイン0のそれぞれのCPU使用率を計算し、ドメインUのCPU使用率からドメイン0で必要となるCPU使用率を計算する。
ドメインi上のアプリケーションAの場合を例に計算内容を以下で説明する。まず、アプリケーションAの1処理当たりのドメインUのCPU使用率pa1及びpa0は以下の式で求まる。
Figure 0004557178
次に、アプリケーションAのドメインU及びドメイン0のCPU使用率の比を求め、この比に仮想マシンリソース使用量取得プログラムで取得されたドメインiのCPU使用率を次式のように掛けて、ドメインiの処理に費やされるドメイン0内のCPU使用率Ziを求めることができる。
Figure 0004557178
次に、図23のフローチャートを参照して第5の実施形態の全体の動作について詳細に説明する。
図23のフローチャートにおいて、ステップS301、S306、S307は、第2の実施の形態のフローチャートのステップS101、S104、S105と同じである。
このため、ここでは、これらのステップの説明は省略し、動作が異なるステップS302、S303、S304及びS305のみ説明する。
ステップS302では、演算プログラム258が、アプリケーション管理テーブル257を参照して仮想マシン上で動作しているアプリケーションの種類を検索する。
第2の実施形態と同様に、ドメイン1上では、科学計算を実行し、ドメイン2上ではデータベースを実行していることを取得する。
ステップS303では、演算手段プログラム258が、ステップS302で検索したアプリケーションの処理1件を実行する際に実行される命令の種類と回数をアプリケーション特性DB255から取得する。
ドメイン1に関しては、アプリケーション特性データベース255から科学計算に関する値を取得する。
ドメイン2に関しては、アプリケーション特性データベース255からデータベースに関する値を取得する。
ステップS304では、ステップS303で取得したアプリケーションを処理するために、適合した種類の命令を実行する際の、ドメインU及びドメイン0でのCPU使用率をシステム特性DB256から取得し、このアプリケーション実行時のドメイン0及びドメインUのCPU使用率の比率を計算する。
具体的には、以下のように各命令のCPU使用率に回数を掛けて総和をとる。
ドメインU上での科学計算に関するドメインUのCPU使用率は以下の式で求まる、
Figure 0004557178
ドメインU上での科学計算に関するドメイン0のCPU使用率は以下の式で求まる、
Figure 0004557178
ドメインU上でのデータベースに関するドメインUのCPU使用率は以下の式で求まる、
Figure 0004557178
ドメインU上でのデータベースに関するドメイン0のCPU使用率は以下の式で求まる、
Figure 0004557178
以上の計算より、科学計算のドメインUとドメイン0のCPU使用比率は0.2、データベースのドメインUとドメイン0のCPU使用比率は1.0と算出できる。
ステップS305では、ステップS304で計算したアプリケーション実行時のドメイン0及びドメインUのCPU使用率の比率に、ステップS301で取得したアプリケーションが動作しているドメインUのCPU使用率を掛けることによって、このアプリケーションの動作に関連するドメイン0のCPU使用率を計算することができる。
本説明の例では、ドメイン1のCPU使用率25%にステップS304で計算した比率0.2を掛けることで、ドメイン1の処理に関連するドメイン0のCPU使用率は5%と求まる。
同様に、ドメイン2のCPU使用率20%にステップS304で計算した比率1.0を掛けることで、ドメイン2の処理に関連するドメイン0のCPU使用率は20%と求まる。
次に本発明の第5の実施の形態における効果を述べる。
本発明の第5の実施の形態は、第4の実施の形態で利用した共有リソース使用比率DBを、アプリケーション特性DBとシステム特性DBの2つの情報を参照して計算により求める仕組みになっている。
このため、仮想マシンを移動させる際に、移動元と移動先で物理マシンの性能が異なる場合でも、同一のアプリケーション特性DBとそれぞれのシステム特性DBを利用することで、移動先で必要となるリソース量を計算することができる。
なお、上記各実施形態の説明では、仮想マシン管理システムはドメイン0で動作する例を示したが、ドメインU上及びVMM内でも動作させることもできる。
ただし、本発明の仮想マシン管理システムをドメインU上で動作させる際には、ドメイン0上にXenコマンド実行用のエージェントプログラムを追加するなどして、ドメインU上からドメイン0のXenのコマンドを実行できるようにする必要がある。
本発明は、I/O処理要求を直接実行できる特殊な仮想マシンと、この特殊な仮想マシンにI/O処理要求依頼する仮想マシンとで構成される仮想マシンシステムにおいて、これら仮想マシンへのリソース割当量を決定するための管理装置をコンピュータに実現するためのプログラムといった用途に適用可能である。
本発明の第1の実施形態の構成を示すブロック図である。 本発明の第1の実施形態における仮想マシンリソース使用量取得手段の構成を示すブロック図である。 本発明の第1の実施形態における共有リソース使用量取得手段の構成を示すブロック図である。 本発明の第1の実施形態におけるリソース量演算手段の構成を示すブロック図である。 本発明の第1の実施形態における出力手段本発明の第1の実施形態の構成を示すブロック図である。 本発明の第1の実施形態の動作を示すフローチャートである。 本発明の第2の実施形態の構成を示すブロック図である。 本発明の第2の実施形態の動作を示すフローチャートである。 本発明の第3の実施形態の構成を示すブロック図である。 本発明の第3の実施形態におけるデータ転送カウント手段で取得されるデータ転送回数の例を示す図である。 本発明の第3の実施形態における演算手段の構成を示す図である。 本発明の第3の実施形態の動作を示すフローチャートである。 本発明の第4の実施形態の構成を示すブロック図である。 本発明の第4の実施形態における共有リソース使用量計算プログラムを示す図である。 本発明の第4の実施形態における演算プログラムを示す図である。 本発明の第4の実施形態における共有リソース使用比率データベースを示す図である。 本発明の第4の実施形態におけるアプリケーション管理データベースを示す図である。 本発明の第4の実施形態の動作を示すフローチャートである。 本発明の第5の実施形態における共有リソース使用量計算プログラムを示す図である。 本発明の第5の実施形態における演算プログラムを示す図である。 本発明の第5の実施形態におけるアプリケーション特性データベースを示す図である。 本発明の第5の実施形態におけるシステム特性データベースを示す図である。 本発明の第4の実施形態の動作を示すフローチャートである。 従来の仮想マシン管理システムの構成を示すブロック図である。 Xenのアーキテクチャを示すブロック図である。 従来技術の課題を説明するための仮想化システムの例を示す図である。 従来技術の課題を説明するための仮想マシンのCPU使用率の例を示す図である。
符号の説明
101、101a、101b、801、901a、901b 物理マシン
102、105a、105b アプリケーション
103、103a、103b ドメインU仮想マシン
104、949 ネットワーク
111 仮想マシンリソース使用量取得プログラム
113 共有リソース割り当て機能付きリソース割当量計算プログラム
114 仮想マシン設定プログラム
115 通信プログラム
116 共有リソース使用量取得プログラム
121、222、224、223、225 共有リソース使用量計算プログラム
120 ドメイン0仮想マシン
125 ドメイン0OS
125a、125b ドメインUOS
128、741 バックエンドドライバ
130、711、944、954 Xenハイパーバイザ
161、252、258 演算プログラム
211、920a、920b 仮想マシン管理システム
217 データ転送カウントプログラム
251 共有リソース使用比率データベース
255 アプリケーション特性データベース
256 システム特性データベース
257 アプリケーション管理データベース
701、820、941、951 ドメイン0
702、942、952 ドメイン1
703、953 ドメイン2
712 共有メモリ
721、722、723、820a、820b、820c ゲストOS
731、732 アプリケーション
740 物理デバイスドライバ
742、743 フロントエンドドライバ
751 ディスク
752 NIC
753 メモリ
754 CPU
803a、803b 一般仮想マシン
804 出力手段
804a リソース使用量テーブル
810 仮想マシン管理システム
811 仮想マシンリソース使用量取得手段
811a 取得手段
811b 仮想マシンリソース使用量テーブル
821 共有リソース使用量計算手段
831 リソース量演算手段
832 共有リソース使用量取得手段
841 仮想デバイスドライバ
903a、903b、903c、903d、903e、903f 仮想マシン
911a、911b、911c、911d、911e、911f 性能モニタ手段
912a、912b リソース管理手段
913a、913b 仮想マシン管理手段
940 第1の物理マシン
950 第2の物理マシン
8321 集計手段
8322 共有リソース使用量テーブル
8323 仮想マシンID取得手段
8324 共有リソーススケジューリング取得手段

Claims (15)

  1. 処理の一部を特殊仮想マシン内の共有リソースを利用して実行する一般仮想マシンと、一般仮想マシンでの処理の一部を代理で実行する特殊仮想マシンとを備える仮想化システムにおいて、前記仮想マシンを管理する仮想マシン管理システムであって、
    仮想マシン単位のリソース使用量を取得する仮想マシンリソース使用量取得手段と、
    各一般仮想マシンからの処理要求に費やされる特殊仮想マシン内でのリソース使用率を測定する共有リソース使用量取得手段と、
    前記仮想マシンリソース使用量取得手段が取得する特殊仮想マシンのリソース使用量と、前記共有リソース使用量取得手段が測定した各一般仮想マシンからの処理要求に費やされる特殊仮想マシン内でのリソース使用率を掛けることにより、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を計算する共有リソース使用量計算手段と、
    を備えることを特徴とする仮想マシン管理システム。
  2. 処理の一部を特殊仮想マシン内の共有リソースを利用して実行する一般仮想マシンと、一般仮想マシンでの処理の一部を代理で実行する特殊仮想マシンとを備える仮想化システムにおいて、前記仮想マシンを管理する仮想マシン管理システムであって、
    仮想マシン単位のリソース使用量を取得する仮想マシンリソース使用量取得手段と、
    特殊仮想マシンの共有リソースを使用する一般仮想マシンと特殊仮想マシンとの間でのデータ転送回数を数えるデータ転送カウント手段と、
    前記仮想マシンリソース使用量取得手段が取得する特殊仮想マシンのリソース使用量と、前記データ転送カウント手段により取得する各一般仮想マシンのデータ転送回数の比率とを掛けることにより、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を計算する共有リソース使用量計算手段と、
    を備えることを特徴とする仮想マシン管理システム。
  3. 処理の一部を特殊仮想マシン内の共有リソースを利用して実行する一般仮想マシンと、一般仮想マシンでの処理の一部を代理で実行する特殊仮想マシンとを備える仮想化システムにおいて、前記仮想マシンを管理する仮想マシン管理システムであって、
    仮想マシン単位のリソース使用量を取得する仮想マシンリソース使用量取得手段と、
    一般仮想マシンからの処理要求に費やされる特殊仮想マシンのリソース使用量の比率を仮想マシン上で動作するアプリケーションの種類毎に保持する共有リソース使用比率データベースと、
    仮想マシン上で実行されているアプリケーションの種類に対応した前記共有リソース使用比率データベース内のリソース使用比率と、前記仮想マシンリソース使用量取得手段が取得する一般仮想マシンのリソース使用量とを掛けることにより、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を計算する共有リソース使用量計算手段と、
    を備えることを特徴とする仮想マシン管理システム。
  4. 処理の一部を特殊仮想マシン内の共有リソースを利用して実行する一般仮想マシンと、一般仮想マシンでの処理の一部を代理で実行する特殊仮想マシンとを備える仮想化システムにおいて、前記仮想マシンを管理する仮想マシン管理システムであって、
    仮想マシン単位のリソース使用量を取得する仮想マシンリソース使用量取得手段と、
    アプリケーションの処理1件当たりに実行される命令の種類及び回数を保持するアプリケーション特性データベースと、
    前記命令を仮想マシン上で実行した際の仮想マシンのリソース使用量と特殊仮想マシン内の共有リソース使用量を保持するシステム特性データベースと、
    仮想マシン上で動作しているアプリケーションの種類を保持するアプリケーション管理データベースと、
    管理対象とする仮想マシン上で動作しているアプリケーションをアプリケーション管理データベースから検索する手段と、
    前記検索されたアプリケーションを実行する際に、実行する命令種類と回数をアプリケーション特性データベースから検索する手段と、
    前記検索された命令種類を実行する際の仮想マシンのリソース使用量と特殊仮想マシン内の共有リソースの使用量をシステム特性データベースから検索する手段と、
    前記検索された各命令の仮想マシンのリソース使用量と特殊仮想マシン内の共有リソース使用量に各命令の実行回数を掛けることでアプリケーション実行時の仮想マシンのリソース使用量と特殊仮想マシン内の共有リソース使用量の比率を求める手段と、
    前記共有リソース使用量の比率と前記仮想マシンリソース使用量取得手段が取得する対象仮想マシンのリソース使用量を掛けることにより、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を計算する共有リソース使用量計算手段と、
    を備えることを特徴とする仮想マシン管理システム。
  5. 請求項1乃至の何れか1項に記載の仮想マシン管理システムであって、
    前記共有リソース使用量計算手段で求めた、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を出力する出力手段を更に備えることを特徴とする仮想マシン管理システム。
  6. 請求項1乃至の何れか1項に記載の仮想マシン管理システムであって、
    複数の一般仮想マシンが構築されている際は、
    各一般仮想マシンに要求されるリソース量と前記共有リソース使用計算手段で求めた、特殊仮想マシン内での一般マシンの代理処理に費やされる共有リソースの使用量に基づいて、各仮想マシンがリソースを使用できるように、一般仮想マシンの構成場所を計算するリソース割当計算手段を更に備えることを特徴とする仮想マシン管理システム。
  7. 請求項に記載の仮想マシン管理システムであって、
    前記リソース割当計算手段で計算されたリソース量に従い、仮想マシンのリソース量を設定する、仮想マシン設定手段を更に備えることを特徴とする仮想マシン管理システム。
  8. 処理の一部を特殊仮想マシン内の共有リソースを利用して実行する一般仮想マシンと、一般仮想マシンでの処理の一部を代理で実行する特殊仮想マシンとを備える仮想化システムにおいて、前記仮想マシンを管理する仮想マシン管理方法であって、
    仮想マシン単位のリソース使用量を取得する仮想マシンリソース使用量取得ステップと、
    各一般仮想マシンからの処理要求に費やされる特殊仮想マシン内でのリソース使用率を測定する共有リソース使用量取得ステップと、
    前記仮想マシンリソース使用量取得ステップにより取得する特殊仮想マシンのリソース使用量と、前記共有リソース使用量取得ステップが測定した各一般仮想マシンからの処理要求に費やされる特殊仮想マシン内でのリソース使用率を掛けることにより、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を計算する共有リソース使用量計算ステップと、
    を備えることを特徴とする仮想マシン管理方法。
  9. 処理の一部を特殊仮想マシン内の共有リソースを利用して実行する一般仮想マシンと、一般仮想マシンでの処理の一部を代理で実行する特殊仮想マシンとを備える仮想化システムにおいて、前記仮想マシンを管理する仮想マシン管理方法であって、
    仮想マシン単位のリソース使用量を取得する仮想マシンリソース使用量取得ステップと、
    特殊仮想マシンの共有リソースを使用する一般仮想マシンと特殊仮想マシンとの間でのデータ転送回数を数えるデータ転送カウントステップと、
    前記仮想マシンリソース使用量取得ステップにより取得する特殊仮想マシンのリソース使用量と、前記データ転送カウントステップにより取得する各一般仮想マシンのデータ転送回数の比率とを掛けることにより、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を計算する共有リソース使用量計算ステップと、
    を備えることを特徴とする仮想マシン管理方法。
  10. 処理の一部を特殊仮想マシン内の共有リソースを利用して実行する一般仮想マシンと、一般仮想マシンでの処理の一部を代理で実行する特殊仮想マシンとを備える仮想化システムにおいて、前記仮想マシンを管理する仮想マシン管理方法であって、
    仮想マシン単位のリソース使用量を取得する仮想マシンリソース使用量取得ステップと、
    一般仮想マシンからの処理要求に費やされる特殊仮想マシンのリソース使用量の比率を仮想マシン上で動作するアプリケーションの種類毎に保持する共有リソース使用比率データベースと、
    仮想マシン上で実行されているアプリケーションの種類に対応した前記共有リソース使用比率データベース内のリソース使用比率と、前記仮想マシンリソース使用量取得ステップにより取得する一般仮想マシンのリソース使用量とを掛けることにより、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を計算する共有リソース使用量計算ステップと、
    を備えることを特徴とする仮想マシン管理方法。
  11. 処理の一部を特殊仮想マシン内の共有リソースを利用して実行する一般仮想マシンと、一般仮想マシンでの処理の一部を代理で実行する特殊仮想マシンとを備える仮想化システムにおいて、前記仮想マシンを管理する仮想マシン管理方法であって、
    仮想マシン単位のリソース使用量を取得する仮想マシンリソース使用量取得ステップと、
    アプリケーションの処理1件当たりに実行される命令の種類及び回数を保持するアプリケーション特性データベースを利用し、
    前記命令を仮想マシン上で実行した際の仮想マシンのリソース使用量と特殊仮想マシン内の共有リソース使用量を保持するシステム特性データベースを利用し、
    仮想マシン上で動作しているアプリケーションの種類を保持するアプリケーション管理データベースを利用し、
    管理対象とする仮想マシン上で動作しているアプリケーションをアプリケーション管理データベースから検索するステップと、
    前記検索されたアプリケーションを実行する際に、実行する命令種類と回数をアプリケーション特性データベースから検索するステップと、
    前記検索された命令種類を実行する際の仮想マシンのリソース使用量と特殊仮想マシン内の共有リソースの使用量をシステム特性データベースから検索するステップと、
    前記検索された各命令の仮想マシンのリソース使用量と特殊仮想マシン内の共有リソース使用量に各命令の実行回数を掛けることでアプリケーション実行時の仮想マシンのリソース使用量と特殊仮想マシン内の共有リソース使用量の比率を求めるステップと、
    前記共有リソース使用量の比率と前記仮想マシンリソース使用量取得ステップにより取得する対象仮想マシンのリソース使用量を掛けることにより、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を計算する共有リソース使用量計算ステップと、
    を備えることを特徴とする仮想マシン管理方法。
  12. 請求項乃至11の何れか1項に記載の仮想マシン管理方法であって、
    前記共有リソース使用量計算ステップで求めた、特殊仮想マシン内での一般仮想マシンの代理処理に費やされる共有リソースの使用量を出力する出力ステップを更に備えることを特徴とする仮想マシン管理方法。
  13. 請求項乃至12の何れか1項に記載の仮想マシン管理方法であって、
    複数の一般仮想マシンが構築されている際は、
    各一般仮想マシンに要求されるリソース量と前記共有リソース使用計算ステップで求めた、特殊仮想マシン内での一般マシンの代理処理に費やされる共有リソースの使用量に基づいて、各仮想マシンがリソースを使用できるように、一般仮想マシンの構成場所を計算するリソース割当計算ステップを更に備えることを特徴とする仮想マシン管理方法。
  14. 請求項13に記載の仮想マシン管理方法であって、
    前記リソース割当計算ステップで計算されたリソース量に従い、仮想マシンのリソース量を設定する、仮想マシン設定ステップを更に備えることを特徴とする仮想マシン管理方法。
  15. コンピュータを請求項1からの何れか1項に記載の仮想マシン管理システムとして機能させることを特徴とするプログラム。
JP2007052842A 2007-03-02 2007-03-02 仮想マシン管理システム、その方法及びそのプログラム Expired - Fee Related JP4557178B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007052842A JP4557178B2 (ja) 2007-03-02 2007-03-02 仮想マシン管理システム、その方法及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007052842A JP4557178B2 (ja) 2007-03-02 2007-03-02 仮想マシン管理システム、その方法及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2008217332A JP2008217332A (ja) 2008-09-18
JP4557178B2 true JP4557178B2 (ja) 2010-10-06

Family

ID=39837313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007052842A Expired - Fee Related JP4557178B2 (ja) 2007-03-02 2007-03-02 仮想マシン管理システム、その方法及びそのプログラム

Country Status (1)

Country Link
JP (1) JP4557178B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9223636B2 (en) 2013-01-08 2015-12-29 International Business Machines Corporation Low-risk server consolidation

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799895B2 (en) 2008-12-22 2014-08-05 Electronics And Telecommunications Research Institute Virtualization-based resource management apparatus and method and computing system for virtualization-based resource management
KR101259548B1 (ko) 2008-12-22 2013-04-30 한국전자통신연구원 가상화 기반 자원 관리 장치 및 방법과 가상화 기반 자원 관리가 가능한 컴퓨팅 시스템
JP5504651B2 (ja) * 2009-03-06 2014-05-28 日本電気株式会社 仮想マシンシステム、情報処理装置、リソース管理方法、プログラム及び記録媒体
EP2418578A1 (en) * 2009-03-25 2012-02-15 Hitachi, Ltd. A computer system, resource management server of a computer system, and resource management method of a computer system
US8650562B2 (en) * 2009-06-12 2014-02-11 International Business Machines Corporation Method and apparatus for scalable monitoring of virtual machine environments combining base virtual machine and single monitoring agent for measuring common characteristics and individual virtual machines measuring individualized characteristics
FR2948247B1 (fr) * 2009-07-16 2011-12-09 Univ Paris Curie Procede et systeme pour la gestion performante et automatisee de reseaux virtuels.
JP5555903B2 (ja) * 2010-09-27 2014-07-23 株式会社日立製作所 I/oアダプタ制御方法、計算機及び仮想計算機生成方法
CN102859502B (zh) * 2011-03-02 2016-03-23 松下电器(美国)知识产权公司 虚拟计算机系统、虚拟计算机控制方法、及半导体集成电路
JP5646560B2 (ja) * 2012-08-15 2014-12-24 株式会社東芝 仮想os制御装置、システム、方法およびプログラム
JP6075226B2 (ja) 2013-06-26 2017-02-08 富士通株式会社 プログラム、仮想マシン管理方法および情報処理装置
WO2017072933A1 (ja) * 2015-10-30 2017-05-04 株式会社日立製作所 計算機システムの管理システム及び管理方法
CN113157341B (zh) * 2021-04-26 2022-12-02 上海淇馥信息技术有限公司 对象的资源环境自适应处理方法、装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003157177A (ja) * 2001-11-22 2003-05-30 Hitachi Ltd 仮想計算機システム及びプログラム
JP2004535615A (ja) * 2001-03-08 2004-11-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 区分処理環境における共有i/o
JP2005115653A (ja) * 2003-10-08 2005-04-28 Ntt Data Corp 仮想マシン管理装置及びプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3227069B2 (ja) * 1994-12-22 2001-11-12 株式会社日立製作所 入出力処理システム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004535615A (ja) * 2001-03-08 2004-11-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 区分処理環境における共有i/o
JP2003157177A (ja) * 2001-11-22 2003-05-30 Hitachi Ltd 仮想計算機システム及びプログラム
JP2005115653A (ja) * 2003-10-08 2005-04-28 Ntt Data Corp 仮想マシン管理装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9223636B2 (en) 2013-01-08 2015-12-29 International Business Machines Corporation Low-risk server consolidation

Also Published As

Publication number Publication date
JP2008217332A (ja) 2008-09-18

Similar Documents

Publication Publication Date Title
JP4557178B2 (ja) 仮想マシン管理システム、その方法及びそのプログラム
JP5680070B2 (ja) 複数の仮想計算装置の計算機活動をモニタする方法、装置及びプログラム
JP6571161B2 (ja) アプリケーショントポロジ関係を探索するための方法、装置、およびシステム
US20190227835A1 (en) Capacity risk management for virtual machines
EP2616935B1 (en) Dynamic balancing of io resources on numa platforms
US10225333B2 (en) Management method and apparatus
JP6019139B2 (ja) クラウドサービス間の転送時のアプリケーション性能の維持
JP5370946B2 (ja) リソース管理方法及び計算機システム
US20100115510A1 (en) Virtual graphics device and methods thereof
US20130290941A1 (en) Certification for flexible resource demand applications
US20120317578A1 (en) Scheduling Execution of Complementary Jobs Based on Resource Usage
RU2015114568A (ru) Автоматизированное профилирование использования ресурса
KR101471749B1 (ko) 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법
Wang et al. Research on virtual machine consolidation strategy based on combined prediction and energy-aware in cloud computing platform
US20150033226A1 (en) Host system and method for managing data consumption rate in a virtual data processing environment
Xu et al. Enhancing performance and energy efficiency for hybrid workloads in virtualized cloud environment
Li et al. PageRankVM: A pagerank based algorithm with anti-collocation constraints for virtual machine placement in cloud datacenters
US20140136659A1 (en) Timeout Value Adaptation
CN115437794A (zh) I/o请求调度方法、装置、电子设备及存储介质
Rao et al. Scheduling microservice containers on large core machines through placement and coalescing
JP2009163527A (ja) Os間で負荷分散する情報処理システム
JP5045576B2 (ja) マルチプロセッサシステム及びプログラム実行方法
WO2012117471A1 (ja) 仮想サーバシステム、管理サーバ装置及びシステム管理方法
JP2015165362A (ja) 性能を測定する情報処理装置、性能測定方法及びそのためのプログラム
JP2005122616A (ja) ネットワーク型グリッドコンピューティングシステム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080619

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100604

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Ref document number: 4557178

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100713

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees