JP5853821B2 - 管理装置、資源管理方法、資源管理プログラム及び情報処理システム - Google Patents

管理装置、資源管理方法、資源管理プログラム及び情報処理システム Download PDF

Info

Publication number
JP5853821B2
JP5853821B2 JP2012076938A JP2012076938A JP5853821B2 JP 5853821 B2 JP5853821 B2 JP 5853821B2 JP 2012076938 A JP2012076938 A JP 2012076938A JP 2012076938 A JP2012076938 A JP 2012076938A JP 5853821 B2 JP5853821 B2 JP 5853821B2
Authority
JP
Japan
Prior art keywords
performance information
resource
past
virtual machine
time series
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
JP2012076938A
Other languages
English (en)
Other versions
JP2013206321A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012076938A priority Critical patent/JP5853821B2/ja
Publication of JP2013206321A publication Critical patent/JP2013206321A/ja
Application granted granted Critical
Publication of JP5853821B2 publication Critical patent/JP5853821B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、管理装置、資源管理方法、資源管理プログラム及び情報処理システムに関する。
近年、仮想環境を実装している情報処理システムが広く用いられている。
仮想環境とは、1台の物理マシンを、複数の仮想マシン(Virtual Machine:VM)として仮想的に使用し、物理マシンの資源(CPU、メモリなど)をこれらの仮想マシン間で共有するための環境である。
このような仮想環境を実現するために、仮想マシンに対して物理マシンの資源を割り当てて、仮想マシンを管理するための管理ツールが使用される。
このような管理ツールは、各物理マシンで実行されている全ての仮想マシンの資源使用量を監視する。そして、全仮想マシンの資源使用量の総和(以降、総資源使用量と呼ぶ)が、物理マシンに搭載されている実際の資源の量(以降、物理資源量と呼ぶ)を超えることが予測される場合、一部の仮想マシンを、物理資源量に余裕のある別の物理マシンに移動させる。
このような管理ツールは、各仮想マシンに対し、その仮想マシンが資源を最大限に使用する場合の資源使用量である、上限資源使用量を割り当てる。
ここで、1台の物理マシンに2つの仮想マシンを実行している物理マシンが複数台存在する例を考える。
図18は、従来の仮想マシンの資源管理の手法を示す図であり、(a)は複数の仮想マシンの上限資源使用量を示し、(b)は実際の総資源使用量の変化を示す。
仮想環境においては、図18に示すように、仮想マシン1,2に、それぞれの上限資源使用量が割り当てられる。
全仮想マシンが資源を資源上限資源使用量まで使用することはないため、仮想マシン1,2の上限資源使用量の総和は、仮想マシン1,2が実行されている物理マシンの実際の資源量(物理資源量)を超える。例えば、図18の(a)の例では、仮想マシン2に割り当てる上限資源使用量単独で、物理マシンの物理資源量と等しくなっている。
特開2009−98798号公報
図18(a)に示したように、上限資源使用量を設定してシステムを運用した場合において、2つの仮想マシンの総資源使用量が、物理マシンの物理資源量を超えそうになった場合、仮想マシンを他の物理マシンへ移動させることが必要となる。
図18の(b)に示す例では、時点t1において、仮想マシン1,2の総資源使用量が、物理マシンの物理資源量を超えたため、管理ツールは、仮想マシン1又は2を、他の物理マシンに移動させる必要がある。
しかし、従来の管理ツールは、各仮想マシンの資源の使用状態(資源使用率や資源使用量)を監視して資源の割り当てを行なっているので、仮想マシンの資源使用率が高くなってから、その仮想マシンを移動させる。
このため、仮想マシンに高負荷がかかっている状態で、仮想マシンを移動させることになり、仮想マシンを採用している情報処理システム全体のパフォーマンスの低下を招く。
そこで、各仮想マシンの資源利用を監視し、各仮想マシンの資源使用状態から将来の資源使用量を予測する手法が提案されている。
この手法では、仮想マシンの資源利用を監視して将来の資源使用量を予測し、今後資源が不足すると予測される場合、事前に仮想マシンを動的に他の物理マシンに移動させている。
しかしながら、資源使用状態は、各仮想マシンが実際に使用した資源の量を示す表面的な情報に過ぎない。このため、資源使用状態からは、資源が使用された状況や、資源がどのように使用されたのかを知ることができない。例えば、命令特性(命令の実行数や命令の種類など)や、キャッシュの利用状況(キャッシュヒット/ミス率など)は、資源の使用状態からは知ることができない。
このため、資源使用状態単独では、仮想マシンの将来の資源使用量を正確に予測することが不可能であり、資源使用量をより正確に予測し、仮想マシンを採用している情報処理システム全体の性能を向上させることが可能な方法が求められている。
1つの側面では、本発明は、仮想マシンを採用している情報処理システム全体の性能を向上させることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
この管理装置は、資源を備えた物理マシン上で実行される複数の仮想マシンを管理する管理装置であって、前記複数の仮想マシンのそれぞれについて、当該仮想マシンによる資源の使用状態を示す資源使用状態情報と、当該仮想マシンのパフォーマンス情報とを一対の情報として時系列的に採取する情報採取部と、各仮想マシンについて、前記情報採取部が採取した前記パフォーマンス情報のうち、現在のパフォーマンス情報を含む複数のパフォーマンス情報によって構成される現パフォーマンス情報時系列変化と、過去の複数のパフォーマンス情報によって構成される複数の過去パフォーマンス情報時系列変化との類似性についての複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化と最も類似性の高い過去パフォーマンス情報時系列変化に対応する過去の資源使用状態情報の推移から当該仮想マシンによる資源の予測使用量を求める第一予測処理、及び、前記各仮想マシンについて、前記情報採取部が採取した前記パフォーマンス情報のうち、前記現パフォーマンス情報時系列変化と、前記複数の過去パフォーマンス情報時系列変化との類似性についての前記複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化との類似性の高い方から順に複数の過去パフォーマンス情報時系列変化を抽出し、該抽出した複数の過去パフォーマンス情報時系列変化に対応する各過去の資源使用状態情報に重み付け処理を施して、得られた重み付け平均資源使用状態情報の推移から当該仮想マシンによる前記資源の予測使用量を求める第二予測処理のうちのいずれかの予測処理を行なう予測部と、前記複数の仮想マシンのそれぞれの予測使用量の合計が、前記資源の量を超える場合、前記複数の仮想マシンのうちの一部の仮想マシンを他の物理マシンに移動させる資源管理部と、を備える。
また、この資源管理方法は、資源を備えた物理マシン上で実行される複数の仮想マシンを、コンピュータによって管理する資源管理方法であって、前記コンピュータにより、前記複数の仮想マシンのそれぞれについて、当該仮想マシンによる資源の使用状態を示す資源使用状態情報と、当該仮想マシンのパフォーマンス情報とを一対の情報として時系列的に採取し、前記コンピュータにより、各仮想マシンについて、採され前記パフォーマンス情報のうち、現在のパフォーマンス情報を含む複数のパフォーマンス情報によって構成される現パフォーマンス情報時系列変化と、過去の複数のパフォーマンス情報によって構成される複数の過去パフォーマンス情報時系列変化との類似性についての複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化と最も類似性の高い過去パフォーマンス情報時系列変化に対応する過去の資源使用状態情報の推移から当該仮想マシンによる資源の予測使用量を求める第一予測処理、及び、前記各仮想マシンについて、前記採取された前記パフォーマンス情報のうち、前記現パフォーマンス情報時系列変化と、前記複数の過去パフォーマンス情報時系列変化との類似性についての前記複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化との類似性の高い方から順に複数の過去パフォーマンス情報時系列変化を抽出し、該抽出した複数の過去パフォーマンス情報時系列変化に対応する各過去の資源使用状態情報に重み付け処理を施して、得られた重み付け平均資源使用状態情報の推移から当該仮想マシンによる前記資源の予測使用量を求める第二予測処理のうちのいずれかの予測処理を行ない前記コンピュータにより、前記複数の仮想マシンのそれぞれの予測使用量の合計が、前記資源の量を超える場合、前記複数の仮想マシンのうちの一部の仮想マシンを他の物理マシンに移動させる。
また、この資源管理プログラムは、資源を備えた物理マシン上で実行される複数の仮想マシンを管理する資源管理プログラムであって、コンピュータによって実行されたときに、前記コンピュータに、前記複数の仮想マシンのそれぞれについて、当該仮想マシンによる資源の使用状態を示す資源使用状態情報と、当該仮想マシンのパフォーマンス情報とを一対の情報として時系列的に採取させ、各仮想マシンについて、採され前記パフォーマンス情報のうち、現在のパフォーマンス情報を含む複数のパフォーマンス情報によって構成される現パフォーマンス情報時系列変化と、過去の複数のパフォーマンス情報によって構成される複数の過去パフォーマンス情報時系列変化との類似性についての複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化と最も類似性の高い過去パフォーマンス情報時系列変化に対応する過去の資源使用状態情報の推移から当該仮想マシンによる資源の予測使用量を求める第一予測処理、及び、前記各仮想マシンについて、前記採取された前記パフォーマンス情報のうち、前記現パフォーマンス情報時系列変化と、前記複数の過去パフォーマンス情報時系列変化との類似性についての前記複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化との類似性の高い方から順に複数の過去パフォーマンス情報時系列変化を抽出し、該抽出した複数の過去パフォーマンス情報時系列変化に対応する各過去の資源使用状態情報に重み付け処理を施して、得られた重み付け平均資源使用状態情報の推移から当該仮想マシンによる前記資源の予測使用量を求める第二予測処理のうちのいずれかの予測処理を実行させ、前記複数の仮想マシンのそれぞれの予測使用量の合計が、前記資源の量を超える場合、前記複数の仮想マシンのうちの一部の仮想マシンを他の物理マシンに移動させる。
また、この情報処理システムは、第1の資源を備え、複数第1の仮想マシンを実行する第1の物理マシンと、第2の資源を備え、少なくとも1つの第2の仮想マシンを実行する第2の物理マシンと、前記第1及び第2の物理マシンを管理する管理装置と、を備え、前記管理装置は、前記複数の第1の仮想マシンのそれぞれについて、当該仮想マシンによる資源の使用状態を示す資源使用状態情報と、当該仮想マシンのパフォーマンス情報とを一対の情報として時系列的に採取する情報採取部と、各第1の仮想マシンについて、前記情報採取部が採取した前記パフォーマンス情報のうち、現在のパフォーマンス情報を含む複数のパフォーマンス情報によって構成される現パフォーマンス情報時系列変化と、過去の複数のパフォーマンス情報によって構成される複数の過去パフォーマンス情報時系列変化との類似性についての複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化と最も類似性の高い過去パフォーマンス情報時系列変化に対応する過去の資源使用状態情報の推移から当該第1の仮想マシンによる資源の予測使用量を求める第一予測処理、及び、前記各第1の仮想マシンについて、前記情報採取部が採取した前記パフォーマンス情報のうち、前記現パフォーマンス情報時系列変化と、前記複数の過去パフォーマンス情報時系列変化との類似性についての前記複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化との類似性の高い方から順に複数の過去パフォーマンス情報時系列変化を抽出し、該抽出した複数の過去パフォーマンス情報時系列変化に対応する各過去の資源使用状態情報に重み付け処理を施して、得られた重み付け平均資源使用状態情報の推移から当該第1の仮想マシンによる前記資源の予測使用量を求める第二予測処理のうちのいずれかの予測処理を行なう予測部と、前記複数第1の仮想マシンのそれぞれの予測使用量の合計が、前記第1の資源の量を超える場合、前記複数の第1の仮想マシンのうちの一部の仮想マシンを前記第2の物理マシンに移動させる資源管理部と、を備える。
本発明によれば、仮想マシンを採用している情報処理システム全体の性能を向上させることができる。
実施形態の一例としての仮想環境を提供する情報処理システムのシステム構成を模式的に示すブロック図である。 実施形態の一例としての情報処理システムの機能構成を模式的に示すブロック図である。 実施形態の一例としての管理装置の資源使用量予測部の予測手法の概略を示す図であり、(a)は性能データDBに蓄積されている性能データ、(b)は現在の性能データをそれぞれ示す。 実施形態の一例としての管理マシンの採取部の性能データ採取部による性能データの採取・蓄積処理を示すフローチャートである。 実施形態の一例としての管理マシンの管理部の資源使用量予測部による資源使用量予測処理を示すフローチャートである。 実施形態の一例としての管理マシンの管理部の資源管理部による資源管理処理を示すフローチャートである。 実施形態の一例としての管理マシンの管理部の資源使用量予測部による相関を用いた予測を示すフローチャートである。 実施形態の一例としての管理マシンの管理部の資源使用量予測部による階層的クラスター分析を用いた予測を示すフローチャートである。 実施形態の一例における性能データの例を示す図であり、(a)はCPU使用率及び実行命令数の推移を表形式で示し、(b)は(a)の表のデータを表わすグラフである。 実施形態の一例における性能データDB内の過去の性能データの例を示す図であり、(a)はCPU使用率及び実行命令数の推移を表形式で示し、(b)は(a)の表のデータを表わすグラフである。 実施形態の一例における性能データDB内の過去の性能データの例を示す図であり、(a)はCPU使用率及び実行命令数の推移を表形式で示し、(b)は(a)の表のデータを表わすグラフである。 実施形態の一例における性能データDB内の過去の性能データの例を示す図であり、(a)はCPU使用率及び実行命令数の推移を表形式で示し、(b)は(a)の表のデータを表わすグラフである。 実施形態の一例における現性能データと過去の性能データとの相関係数の例を示す表である。 図9の性能データを正規化した値を示す表である。 図10〜図12の性能データを正規化した値を示す表である。 図15の正規化性能データ間の距離をユークリッド法で算出した結果を示す表である。 図16の性能データ間の距離を表わす樹形図(デンドログラム)である。 従来の仮想マシンの資源管理の手法を示す図であり、(a)は複数の仮想マシンの上限資源使用量を示し、(b)は実際の総資源使用量の変化を示す。
以下、図面を参照して本発明の実施の形態を説明する。
(A)構成及び機能
以下、図1〜図3,図9を参照して、実施形態の一例としての情報処理システム1の構成について説明する。
図1は、仮想環境を提供する情報処理システム1のシステム構成を模式的に示すブロック図である。
この情報処理システム1は、例えば、仮想環境を提供しており、管理マシン3と、ネットワーク19を介して管理マシン3に接続されている複数台の物理マシン(情報処理装置)5−1,5−2,…とを備える。
なお、情報処理システム1には、多数の物理マシン5−1,5−2,…が備えられるが、説明の便宜上、図1には2台の物理マシン5−1,5−2のみを示す。
物理マシン5−1は、CPU(資源)9−1やメモリ(資源)11−1、不図示のストレージ等を備え、物理マシン5−2は、CPU(資源)9−2やメモリ(資源)11−2、不図示のストレージ等を備える。
CPU9−1,9−2は、それぞれメモリ11−1,11−2や不図示のストレージ等から不図示のプログラムやOS(Operating System)等を読み出し、各種処理を実行するプロセッサである。
メモリ11−1,11−2は、CPU9−1,9−2がそれぞれ演算や制御を行なうに際して、種々のデータやプログラムを格納する記憶領域である。
また、物理マシン5−1,5−2は、それぞれ、ハイパーバイザ7−1,7−2を備える。
ハイパーバイザ7−1,7−2は、物理マシン5−1,5−2上に仮想環境を実現するための制御プログラムである。
ハイパーバイザ7−1,7−2は、それぞれ、物理マシン5−1,5−2上に1以上の仮想マシンを作成し、作成した仮想マシン上で、それぞれ独自にOS(Operating System)を実行させる。
例えば、図1に示すように、ハイパーバイザ7−1は、物理マシン5−1上に2つの仮想マシン13−1,13−2を作成している。
また、ハイパーバイザ7−2も同様に、物理マシン5−2上に1の仮想マシン13−3を作成している。
物理マシン5の一部アーキテクチャでは、ハイパーバイザ7−1,7−2は、物理マシン5−1,5−2上で直接動作してもよい。或いは、ハイパーバイザ7−1,7−2が、物理マシン5−1,5−2のホストOS14−1,14−2上で動作してもよい。
なお、以下、物理マシンを示す符号としては、複数の物理マシンのうち1つを特定する必要があるときには符号5−1,5−2,…を用いるが、任意の物理マシンを指すときには符号5を用いる。
また、以下、ハイパーバイザを示す符号としては、複数のハイパーバイザのうち1つを特定する必要があるときには符号7−1,7−2,…を用いるが、任意のハイパーバイザを指すときには符号7を用いる。
また、以下、物理マシン5のCPUを示す符号としては、複数のCPUのうち1つを特定する必要があるときには符号9−1,9−2,…を用いるが、任意のCPUを指すときには符号9を用いる。
また、以下、物理マシン5のメモリを示す符号としては、複数のメモリのうち1つを特定する必要があるときには符号11−1,11−2,…を用いるが、任意のメモリを指すときには符号11を用いる。
そして、各仮想マシン13−1〜13−3は、それぞれ、ゲストOS15−1〜15−3と、アプリケーションプログラム16−1〜16−3とを実行している。これらのゲストOS15−1〜15−3は、それぞれ仮想マシン13−1〜13−3上で実行されるので、ゲストOSと呼ばれる。
これらのゲストOS15−1〜15−3は、同じOSであっても、異なるOSであってもよい。例えば、ゲストOS15−1がWindows(登録商標)OSであり、ゲストOS15−2がLinux(登録商標)等のUnix(登録商標)OSであってもよい。
アプリケーションプログラム16−1〜16−3は、例えばウェブブラウザや、メールソフト、業務ソフトウェアなどのアプリケーションプログラムである。これらのアプリケーションプログラムを総称してアプリケーションプログラム16−1〜16−3と呼ぶ。
なお、以下、仮想マシンを示す符号としては、複数の仮想マシンのうち1つを特定する必要があるときには符号13−1〜13−3を用いるが、任意の仮想マシンを指すときには符号13を用いる。
また、以下、ゲストOSを示す符号としては、複数のゲストOSのうち1つを特定する必要があるときには符号15−1〜15−3を用いるが、任意のゲストOSを指すときには符号15を用いる。
また、以下、アプリケーションプログラムを示す符号としては、複数のアプリケーションプログラムのうち1つを特定する必要があるときには符号16−1〜16−3を用いるが、任意のアプリケーションプログラムを指すときには符号16を用いる。
管理マシン3は、仮想マシン13を管理する情報処理装置であり、不図示のCPUやメモリ、内部記憶装置等を備える。
管理マシン3は、前述のようにネットワーク19を介して各物理マシン5に接続されており、各物理マシン5上のハイパーバイザ7を介して、仮想マシン13をそれぞれ管理している。
管理マシン3は、CPU8と、メモリ10と、ストレージ12を備える。
CPU8は、メモリ10やストレージ12等から不図示のプログラムやOS(Operating System)等を読み出し、各種処理を実行するプロセッサである。
メモリ10は、CPU8が演算や制御を行なうに際して、種々のデータやプログラムを格納する記憶領域である。
ストレージ12は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などのストレージであり、管理マシン3のOSやプログラムを記憶している。また、ストレージ12は、後述する性能データDB(Database)33として機能する。
なお、図1中、物理マシン5には、CPU9、メモリ11がそれぞれ1つしか図示されていないが、CPU9やメモリ11が複数搭載されていてもよい。
また、管理マシン3も複数のCPU8やメモリ10、ストレージ12を備えていてもよい。
図2は、実施形態の一例としての情報処理システム1の機能構成を模式的に示すブロック図である。
物理マシン5−1,5−2は、それぞれ、前述のCPU9−1,9−2及びメモリ11−1,11−2(図1参照)のほか、PMC(Performance Monitor Counter)17−1,17−2も備える。
PMC17−1,17−2は、物理マシン5−1,5−2に関するアーキテクチャ情報を採取するために、CPU9−1,9−2にそれぞれ組み込まれている機能である。PMC17−1,17−2は、例えば、後述するPMC制御部43−1,43−2の指示を受けて、その物理マシン5上で実行されている各仮想マシン13の資源利用に関連する複数のPMCデータ(仮想マシンのパフォーマンス情報;PMC情報)を採取する。仮想マシン13の資源利用に関連するPMCデータとしては、CPU9の命令実行数や命令の種類(命令特性)、キャッシュミス率(キャッシュ利用状況)等がある。このようなPMCデータは、各仮想マシン13が、仮想マシン13が実行されている物理マシン5の資源をどのように使用しているかを示す。
なお、以下、PMCを示す符号としては、複数のPMCのうち1つを特定する必要があるときには符号17−1,17−2を用いるが、任意のPMCを指すときには符号17を用いる。
例えば、PMC17が採取するPMC情報としては、以下のようなものが挙げられる。また、PMC情報が、複数の他のPMC項目から算出されることもある。
例えば、PMC情報の一種のIPC(Instruction Per Clock)は、1クロックサイクルあたりに実行された命令数を示す。この値は、リタイヤされた命令をカウントするPMC情報(INST_RETIRED)と、経過したクロックサイクル数をカウントするPMC情報(CPU_OP_CYCLES)とから、以下の式に従って計算される。
IPC=(INST_RETIREDt1−INST_RETIREDt0)÷(CPU_OP_CYCLESt1−CPU_OP_CYCLESt0
なお、t0,t1はそれぞれカウントの始点、終点であり、INST_RETIREDt0、INST_RETIREDt1はそれぞれ時点t0,t1でのリタイヤされた命令数であり、CPU_OP_CYCLESt0、CPU_OP_CYCLESt1はそれぞれ時点t0,t1でのクロックサイクル数である。
また、命令に関する他のPMC情報としては、命令実行数、CPI(Clocks Per Instruction)、分岐命令比、予測ミス分岐命令比がある。
命令実行数は、単位時間あたりに実行された命令数を示し、単位時間が1秒のものとして、MIPS(Million Instructions Per Second)がある。
CPIは、1命令実行に要するCPUクロック数を示す。一般に、この値が低いほどシステムの負荷が低く好ましい。CPIは、前述のIPCの逆数である。
分岐命令比は、命令数に対する分岐命令数の割合を示す。一般に、この値が低いほど好ましい。
予測ミス分岐命令比は、分岐命令数に対する予測ミス分岐命令数の割合を示す。一般に、この値が低いほど好ましい。
CPU使用率を示すPMC情報としては、USERレベル、OSレベル、アイドル状態のそれぞれのCPU使用率が、PMC情報として得られる。
コンピュータ内部で各回路がデータをやり取りするための伝送路であるバス利用状況を示すPMC情報としては、制御バス利用率、データバス利用率がある。一般に、これらの値が大きくなるほど平均メモリアクセス時間は長くなる。メモリアクセス時間が長くなると、キャッシュミス時のペナルティが大きくなるので、システム性能に多大な悪影響を及ぼす。
キャッシュ利用状況を示すPMC情報としては、キャッシュミス率、L1キャッシュリードミスヒット率、L2キャッシュデータリードミスヒット率がある。
キャッシュミス率は、以下の式により求められる。一般に、キャッシュミス率が低いほど好ましい。
キャッシュミス率=キャッシュミス発生回数/実行命令数
また、L1キャッシュリードミスヒット率は、命令数に対するデータL1キャッシュリードミスヒット発生回数の割合を示す。一般に、この値が低いほど好ましい。
L2キャッシュデータリードミスヒット率は、命令数に対するL2キャッシュデータリードミスヒット発生回数の割合を示す。一般に、この値が低いほど好ましい。
また、図2のハイパーバイザ7−1,7−2は、それぞれ、資源使用量採取部41−1,41−2と、PMC制御部43−1,43−2とを備える。
なお、以下、資源使用量採取部を示す符号としては、複数の資源使用量採取部のうち1つを特定する必要があるときには符号41−1,41−2を用いるが、任意の資源使用量採取部を指すときには符号41を用いる。
また、以下、PMC制御部を示す符号としては、複数のPMC制御部のうち1つを特定する必要があるときには符号43−1,43−2を用いるが、任意のPMC制御部を指すときには符号43を用いる。
資源使用量採取部41は、資源使用量採取部41が含まれるハイパーバイザ7が管理する各仮想マシン13に関して、仮想マシン13毎のCPU9やメモリ11等の資源の利用に関する情報を採取する。なお、資源の利用情報には、資源の使用サイズや、資源の使用率などの各種単位の情報が含まれるが、以降の説明では、これらを総称して資源使用量と呼ぶ。このため、資源使用量という場合、使用資源のサイズだけではなく、資源の使用率も含んでもよい。
PMC制御部43は、PMC制御部43が含まれるハイパーバイザ7が実行されている物理マシン5のPMC17に対し、仮想マシン13毎のPMCデータを採取するように指示を行なう。
なお、以降、資源使用量に関する情報とPMCデータとをまとめて性能データと呼ぶ。
図9は、実施形態の一例における性能データVM1の例を示す図であり、(a)はCPU使用率及び実行命令数の推移を表形式で示し、(b)は(a)の表のデータを表わすグラフである。
図9の例では、「VM1」という仮想マシン13のCPU使用率(%)と命令実行数とを、10秒毎に採取している。
図9の(b)に示すように、この例では、CPU使用率(%)と命令実行数との変化はほぼ同じである。
また、管理マシン3は、管理部21と採取部31とを有する。
採取部31は、各仮想マシン13の資源使用量に関する情報の採取、並びに各仮想マシン13のPMCデータの採取と、その蓄積とを行なう。図2に示すように、採取部31は、性能データDB(記憶域)33と、性能データ採取部(情報採取部)35とを備える。
性能データ採取部35は、ハイパーバイザ7の後述する資源使用量採取部41に対して、当該ハイパーバイザ7が管理する各仮想マシン13の資源使用量を採取して、性能データ採取部35に報告するように指示する。また、性能データ採取部35は、ハイパーバイザ7の後述するPMC制御部43に対して、各仮想マシンの資源使用量に関連する複数のPMCデータを採取して、性能データ採取部35に報告するように指示する。そして、性能データ採取部35は、採取した仮想マシン13毎の資源使用量及びPMCデータを、性能データDB33に時系列的に蓄積する。
性能データDB33は、性能データ採取部35が採取した仮想マシン13毎の資源使用量(資源使用状態情報)とPMCデータ(パフォーマンス情報)とを時系列的に蓄積するデータベースである。
また、管理マシン3の管理部21は、資源使用量予測部(予測部)23と、資源管理部(管理部)25とを備える。
資源使用量予測部23は、性能データDB33に蓄積されている過去の資源使用量及びPMCデータ(性能データ)と、性能データ採取部35が採取する現在の性能データに基づいて、各仮想マシン13の将来の資源使用量を予測する。
図3に示すように、資源使用量予測部23は、性能データDB33内の仮想マシン13の過去の性能データから、当該仮想マシン13の現在の性能データ値の推移に類似するデータを特定し、その推移から仮想マシン13の将来の資源使用量を予測する。
図3は、実施形態の一例としての管理装置3の資源使用量予測部23の予測手法の概略を示す図であり、(a)は性能データDB33に蓄積されている性能データ、(b)は現在の性能データをそれぞれ示す。
資源使用量予測部23は、性能データDB33内の仮想マシン13の性能データ値の時系列変化と、仮想マシン13の現在の性能データ(以下、現性能データと呼ぶ)の値の時系列変化とを比較し、類似する過去データを特定する。以降の説明では、データの比較を行ない、類似するデータを特定する処理を類似検索と呼ぶ。
図3の例では、資源使用量予測部23は、図3(a)の過去データ1〜n(nは2以上の整数)のうち、過去データ1が(b)の現在の値の変化と似ていると特定する。そして、過去データ1の値の推移から、仮想マシン13の将来の資源使用量を予測する。
例えば、資源使用量予測部23は、相関を用いて類似検索を行ない、予測対象の性能の現性能データと、過去の各性能データとの相関を求める。そして、予測対象の性能の現性能データと相関が高い過去の性能データを抽出する。
或いは、資源使用量予測部23は、階層的クラスター分析を用いて類似検索を行なってもよい。資源使用量予測部23は、クラスター分析手法を用いて、性能データを適当な数のグループに分類する。そして、資源使用量予測部23は、現性能データを分類してグループ化した性能データ群と、現性能データとの類似度を、相関係数などにより求める。
相関や階層的クラスター分析を用いた類似検索の詳細については、図9〜図17を参照して後述する。
資源管理部25は、資源使用量予測部23が行なった予測に基づいて、将来、資源使用量が増えると予測される仮想マシン13を、資源に余裕があると予測される他の物理マシン5に移動させる。
(B)動作
次に、図4〜図17を参照して、実施形態の一例としての管理マシン5の各構成要素の処理を説明する。
まず、図4を参照して、実施形態の一例としての管理マシン5の採取部31の性能データ採取部35による性能データの採取・蓄積処理について説明する。
図4は、性能データ採取部35による性能データの採取・蓄積処理を示すフローチャートである。
ステップS1において、性能データ採取部35は、性能データを収集する物理マシン5で実行されているハイパーバイザ7のPMC制御部43に対して、当該物理マシン5のPMC17から、仮想マシン13毎のPMCデータを採取するように指示する。
ステップS3において、物理マシン5のPMC17がデータの採取を開始する。
ステップS5において、性能データ採取部35は、所定時間T1が経過したかどうかを判定する。この所定時間T1は、例えば、500〜1000ミリ秒などであり、PMC17によるモニタ間隔である。所定時間T1は、例えば運用管理者等によって事前に設定されている。
所定時間T1が経過していない場合(ステップS5のNOルート参照)、処理がステップS13に移り、所定時間T1が経過するまで待機する。
一方、所定時間T1が経過している場合(ステップS5のYESルート参照)、ステップS7において、性能データ採取部35は、性能データを収集する物理マシン5のハイパーバイザ7のPMC制御部43に、当該物理マシン5のPMC17からPMCデータ値を読み出すように指示する。
また、ステップS9において、性能データ採取部35は、性能データを収集する物理マシン5のハイパーバイザ7の資源使用量採取部41に対し、仮想マシン13毎の資源使用量を読み出すように指示する。
次にステップS11において、性能データ採取部35は、ステップS7で採取した仮想マシン13毎のPMCデータ値と、ステップS9で採取した仮想マシン13毎の資源使用量とを、性能データDB33に保存する。
次に、ステップS13において、性能データ採取部35は、性能データの採取が終了しているかどうかを判定する。
性能データの採取が終了していない場合(ステップS13のNOルート参照)、処理が前述のステップS5に戻る。
一方、性能データの採取が終了している場合(ステップS13のYESルート参照)、性能データ採取部35は、性能データの採取・蓄積処理を終了する。
性能データ採取部35は、例えば、上記性能データの採取・蓄積処理を、情報処理システム1内の全ての物理マシン5について行ない、全物理マシン5の性能データを採取する。或いは、場合によっては、上記性能データの採取・蓄積処理を特定の物理マシン5に対して行なってもよい。
次に、図5を参照して、実施形態の一例としての管理マシン3の管理部21の資源使用量予測部23による資源使用量予測処理について説明する。
図5は、資源使用量予測部23による資源使用量予測処理を示すフローチャートである。
ステップS21において、資源使用量予測部23は、予測を行なう対象の仮想マシン13について、現在から所定期間T2遡った時点から現在までの性能データ(現性能データ)を採取する。この所定期間T2は、運用管理者等によって事前に設定されている。その際、資源使用量予測部23は、その仮想マシン13を管理するハイパーバイザ7の資源使用量採取部41及びPMC制御部43に、現性能データを採取するように指示する。
次に、ステップS23において、資源使用量予測部23は、ステップS21で採取した現性能データと似た値の変化をするn個(n=2以上の整数)の過去の性能データ(性能データ群)を、性能データDB33から検索して抽出(類似検索)する。例えば、資源使用量予測部23は、相関や階層的クラスター分析を用いて類似検索を行なう。これらの類似検索の具体的な手法については、図9〜図17を参照して後述する。
ステップS25において、資源使用量予測部23は、ステップS23の類似検索で得た過去のn個の性能データ(性能データ群)に対して、類似度に応じた重み付けを行なうかどうかを判定する。
類似度に応じた重み付けを行なわない場合(ステップS25のNOルート参照)、ステップS27において、資源使用量予測部23は、ステップS23で抽出した性能データ群のうち、現資源使用量と最も似た過去の資源使用量を、予測資源使用量とする。そして、処理を終了する。
一方、類似度に応じた重み付けを行なう場合(ステップS25のYESルート参照)、ステップS29において、資源使用量予測部23は、ステップS23で抽出した、類似する複数の過去の性能データのその後の資源使用量を、類似度に応じて重み付けする。
例えば、資源使用量予測部23は、類似する複数の過去の性能データを、類似度に応じたランキングにより重み付けする。
例えば、資源使用量予測部23は、上位5個(つまり、n=5)の過去の性能データについて、類似度の高いものから順に、1位のデータに5、2位のデータに4、3位のデータに3、4位のデータに2、5位のデータに1の重みをそれぞれ与える。
或いは、資源使用量予測部23は、現性能データに対する類似度に応じて、過去の性能データに重み付けをし、その後の資源使用量にその重みを乗算する。
次に、ステップS31において、資源使用量予測部23は、ステップS29で重み付けした複数の資源使用量の平均値を求める。
例えば、上記の例において、各性能データのその後の資源使用量が、ランキングの高い順から90、70、80、60、100であった場合、資源使用量予測部23は、以下の式を用いて、重み付けした資源使用量を82として求める。
(90×5+70×4+80×3+60×2+100×1)/15=82
或いは、ステップS29で、現性能データに対する類似度に応じて過去の性能データに重み付けをし、その後の資源使用量に重みを乗算する場合、各性能データx(i=1,...,n)に、重みwを乗算したときの加重平均(重み付き平均)を以下の式を用いて算出する。
加重平均=(w+...+w)÷(w+...+w
これにより、資源使用量予測処理を終了する。
以下、ステップS23において、資源使用量予測部23が、類似検索を行なう際の具体的な手法について、図9〜図17を参照して説明する。
まず、図7を参照して、相関を用いた類似検索について説明する。
図7は、実施形態の一例としての管理マシン3の管理部21の資源使用量予測部23による相関を用いた予測を示すフローチャートである。
ステップSa1において、資源使用量予測部23は、予測を行なう対象の資源の使用量に関して、現資源使用量と、過去の性能データ中の当該資源の資源使用量との相関を求める。
ステップSa2において、資源使用量予測部23は、予測対象の資源の使用量に関して相関が高い過去の性能データを抽出する。
ステップSa3において、予測対象の資源の使用量に関して相関が高い過去の性能データについて、他の性能項目のそれぞれの相関を計算する。
ステップSa4において、資源使用量予測部23は、ステップSa3の計算の結果、他の性能項目にも相関が見られる場合、その過去の性能データを、類似性の高い過去の性能データであると判定する。
ステップSa4での類似性の求め方としては、予測対象の資源の使用量との相関の度合いにより性能項目に重み付けして、性能データの相関係数を計算し、これを類似度としてもよい。また、予測対象の資源の使用量との相関が最も高い性能項目の相関係数を類似度としてもよい。
なお、相関係数とは、−1〜+1の範囲をとる実数値であり、例えば、2組の数値データ列(x,y)={(x,y)}(i=1,2,…n)の相関係数は、下記の式から求めることができる。
Figure 0005853821
上記式において、
Figure 0005853821
および
Figure 0005853821
は、それぞれデータ(x)={x}、(y)={y}の相加平均である。
なお、相関係数が+1に近いほどデータ間の類似性が高い。
或いは、相関係数を他の各種の公知手法により求めてもよい。
例えば、資源使用量予測部23が、前述の図9の性能データの仮想マシンVM1のCPU使用率と実行命令数について、相関係数を求めるとする。図9の例では、相関係数が0.976となり、CPU使用率と実行命令数とはかなり相関が高いことがわかる。
そこで、資源使用量予測部23は、CPU使用率と実行命令数とについて、過去の性能データとVM1の現性能データとの相関を算出し、相関の高い過去の性能データを抽出する。
例えば、仮想マシンVM1の過去の性能データとして、性能データDB33に、図10〜図12に示す性能データVM1−01〜VM1−03が蓄積されているとする。
なお、図10〜図12は、実施形態の一例における性能データDB33内の性能データの例を示し、(a)はCPU使用率及び実行命令数の推移を表形式で示し、(b)は(a)の表のデータを表わすグラフである。
例えば、資源使用量予測部23は、図10〜図12の性能データVM1−01〜VM1−03について、図9に示した現性能データVM1との相関を求める。この結果を図13に示す。
図13は、実施形態の一例における現性能データVM1と過去の性能データVM1−01〜VM1−03との相関係数の例を示す表である。
図13に示すように、CPU使用率、実行命令数共に、過去データVM1−01が最も相関があることがわかる。そこで、資源使用量予測部23は、過去データVM1−01のその後のCPU使用率を、予測CPU使用率として使用する。
次に、図8を参照して、階層的クラスター分析を用いた類似検索について説明する。
図8は、実施形態の一例としての管理マシン3の管理部21の資源使用量予測部23による階層的クラスター分析を用いた予測を示すフローチャートである。
資源使用量予測部23は、性能データDB33に蓄積した時系列性能データを、クラスター分析により、適当な数のグループに分類し、最も類似性の高いグループ(群)を抽出する。
このため、ステップSb1において、資源使用量予測部23は、単位の異なる性能データ値同士を比較するためにデータを正規化する。例えば、資源使用量予測部23は、最大値を1、最小値を0としてデータを正規化したり、平均を0、標準偏差を1としてデータを正規化する。
例えば、図9に示した性能データVM1を最大値・最小値で正規化した結果を図14に、図10〜図12に示した性能データVM1−01〜VM1−03を最大値・最小値で正規化した結果を図15にそれぞれ示す。図15中、CPU−tm(m=1〜5)は、時点tmにおけるCPU使用率の値を正規化した値、INST−tmは、時点tmにおける実行命令数の値を正規化した値である。
なお、正規化手法としては、任意の正規化手法を使用することができる。
次に、ステップSb2において、資源使用量予測部23は、正規化した時系列性能データ間の距離を求める。
データ間の距離の算出方法としては、例えば、ユークリッド法、マンハッタン法などがある。
点xと点y間のユークリッド距離は、sqrt(sum((x−y)))により求められる。また、点xと点y間のマンハッタン距離は、sum(abs(x−y))により求められる。ここで、sqrtは平方根、sumは総計、absは絶対値である。
なお、データ間の距離の算出手法としては、任意の算出手法を使用することができる。
図15の正規化性能データ間の距離をユークリッド法で算出した結果を図16に示す。
ステップSb3において、資源使用量予測部23は、時系列性能データ間の距離から、当該データを適当な数のグループに分類する。
このときの分類方法としては、例えば、類似したクラスターを見つける完全連結法、コンパクトで球状のクラスターを見つけ出すウォード法などがある。
例えば、完全連結法により、VM1,VM1−01〜VM1−03の4データを2つのグループに分類すると、VM1及びVM1−01と、VM1−02及びVM1−03の2つに分けられる。
なお、階層的クラスター分析手法では、性能データ間の距離を基に樹形図(デンドログラム)を作成することにより、分類するグループ数を容易に決定できる。図16の性能データ間の距離を表わす樹形図(デンドログラム)を図17に示す。
なお、分類手法としては、任意の分類手法を使用することができる。
また、資源使用量予測部23は、分類したグループ毎に、平均的な時系列性能データを作成して保存する。また、任意選択で、資源使用量予測部23は、代表的な時系列性能データを選択してもよい。
ステップSb4において、資源使用量予測部23は、予測対象の性能の時系列データと、上記ステップSb3で作成した各グループの時系列データとの相関係数を計算し、最も似ているデータ群(グループ)を抽出する。
その際、似たグループ内のデータ群を用いて、データの分類或いは相関計算を更に行なってもよい。
なお、時系列データがある程度蓄積されたら、データのグループ分けを更新する。
その際、資源使用量予測部23は、以下の式を用いて、ステップSb4で分類したグループの平均時系列データを再計算する。
(旧平均×データ数+新データ)/総データ数
或いは、上記再計算の結果を基に、全てのデータを再分類する。
次に、図6を参照して、実施形態の一例としての管理マシン3の管理部21の資源管理部25による資源使用量予測処理について説明する。
図6は、資源管理部25による資源管理処理を示すフローチャートである。なお、この資源管理処理は、情報処理システム1に存在する全物理マシン5について行なう。
最初に、ステップS41において、資源管理部25は、情報処理システム1に存在する物理マシン5のうち、資源管理が未処理の1台を選択する。
次に、ステップS43において、資源管理部25は、前述の資源使用量予測部23に対して、ステップS41で選択した物理マシン5上で動作している全ての仮想マシン13の資源使用量について予測するように依頼を行なう。
次に、ステップS45において、資源使用量予測部23が、ステップS41で選択した物理マシン5上で動作している全仮想マシン13の予測資源量を算出し、これらの予測資源量を資源管理部25に報告する。資源管理部25は、資源使用量予測部23から報告された全仮想マシン13の予測資源使用量の総和(総予測資源使用量)を求める。
ステップS47において、資源管理部25は、ステップS45で求めた総予測資源使用量が、ステップS41で選択した物理マシン5の総資源量(物理資源量)を超えるかどうかを判定する。
総予測資源使用量が物理マシン5の物理資源量を超えない場合(ステップS47のNOルート参照)、その物理マシン5の資源が今後枯渇しないと予測される。このため、資源管理部25は、この物理マシン5を、資源に余裕のある物理マシン5として判定し、ステップS55に移動する。
一方、総予測資源使用量が物理マシン5の物理資源量を超える場合(ステップS47のYESルート参照)、その物理マシン5の資源が将来枯渇すると予測されるため、資源管理部25は、その物理マシン5上の一部の仮想マシン13の移動を開始する。
このため、ステップS49において、資源管理部25は、現在選択されている物理マシン5の現時点の資源使用量を採取する。そして、資源管理部25は、採取した現時点の資源使用量(現資源使用量)と、ステップS43で取得した予測資源使用量とにより、仮想マシン13をソートする。
次に、ステップS51において、資源管理部25は、現資源使用量が少なく、予測資源使用量が多い仮想マシン13を、移動させる仮想マシン13として抽出する。そして、抽出した仮想マシン13の予測資源使用量を、総予測資源使用量から減算し、求めた値を、新たな総予測資源使用量に設定する。
次に、ステップS53において、資源管理部25は、ステップS51で更新した総予測資源使用量が物理マシン5の物理資源量を下回るかどうかを判定する。
総予測資源使用量が物理マシン5の物理資源量を下回る場合(ステップS53のYESルート参照)、処理はステップS55に移動する。
一方、総予測資源使用量が物理マシン5の物理資源量を下回らない場合(ステップS53のNOルート参照)、資源管理部25はステップS51に戻り、次に現資源使用量が少なく、予測資源使用量が多い仮想マシン13を、移動させる仮想マシン13として抽出する。そして、抽出した仮想マシン13の予測資源使用量を、総予測資源使用量から減算し、求めた値を、新たな総予測資源使用量に設定する。資源管理部25は、ステップS51,S53の処理を、総予測資源使用量が物理マシン5の物理資源量を下回るまで繰り返す。
次に、ステップS55について、資源管理部25は、情報処理システム1に存在する全物理マシン5について、ステップS43〜S53の処理(移動対象の仮想マシン13を抽出する処理)を終了したかどうかを判定する。
処理が終わっていない物理マシン5が存在する場合(ステップS55のNOルート参照)、資源管理部25は、ステップS41に戻り、未処理の物理マシン5のうちの1台を選択し、選択した物理マシン5に対してステップS43〜S53の処理を実行する。資源管理部25は、ステップS43〜S53の処理を情報処理システム1内の全物理マシン5に対して繰り返す。
一方、全物理マシン5の処理を終了している場合(ステップS55のYESルート参照)、ステップS57において、資源管理部25は、ステップS51で抽出した仮想マシン13を、ステップS47で判定した資源に余裕のある物理マシン5に移動させる。その際、例えば、予測資源使用量の最も多い仮想マシン13を、最も資源に余裕のある物理マシン5に移動させ、予測資源使用量の次に多い仮想マシン13を、次に資源に余裕のある物理マシン5に…という具合に仮想マシン13を順次移動させる。ステップS51で抽出した全ての仮想マシン13の移動が完了すると、資源管理部25は、資源管理処理を終了する。
(C)作用・効果
本開示の技術によれば、仮想マシン13の資源の利用情報だけではなく、仮想マシン13の資源利用に関連するPMCデータ情報も用いて資源使用量を予測するので、仮想マシン13毎の資源使用量を従来よりも正確に予測することができる。
このため、仮想マシン13を備えた情報処理システム1全体の性能を向上させることができる。
(D)その他
なお、上述した実施形態に関わらず、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。
また、上記の実施形態の一例において、図4にはステップS7とステップS9とが並行して行なわれるように図示されているが、性能データ採取部35がステップS7とS9とを逐次的に実行してもよい。その場合、ステップS7とS9のいずれを先に実行してもよい。
また、上記の実施形態の一例において、図5のステップS23における類似検索を、相関又は階層的クラスター分析を用いて行なっているが、類似検索を他の任意の手法によって行なってもよい。
また、図9〜図16の例においては、PMCデータとしてCPU使用率と実行命令数とを採取しているが、他のPMCデータを採取してもよい。また、物理マシン5のハードウェアアーキテクチャによっては、上記の実施形態の一例において説明した以外のPMCデータを取得することもできる。
なお、上記の管理部21、資源使用量予測部23、資源管理部25、採取部31、及び性能データ採取部35としての機能を実現するためのプログラム(資源管理プログラム)は、例えばフレキシブルディスク、CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置又は外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
また、管理部21、資源使用量予測部23、資源管理部25、採取部31、及び性能データ採取部35としての機能を実現する際には、内部記憶装置(本実施形態では管理マシン13のストレージ12)に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態では管理マシン13のCPU10)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
また、本実施形態では管理マシン13のストレージ12が、性能データDB33として機能する。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、管理マシン13がコンピュータとしての機能を有しているのである。
(E)付記
上記の実施形態に関し、更に以下の付記を開示する。
(付記1)
資源を備えた物理マシン上で実行される複数の仮想マシンを管理する管理装置であって、
前記複数の仮想マシンのそれぞれについて、仮想マシンによる資源の使用状態を示す資源使用状態情報と、仮想マシンのパフォーマンス情報とを時系列的に採取する情報採取部と、
前記情報採取部が採取した前記時系列の前記資源使用状態情報及び前記パフォーマンス情報に基づいて、前記複数の仮想マシンによる前記資源の予測使用量を算出する予測部と、
前記複数の仮想マシンのそれぞれの予測使用量の合計が、前記資源の量を超える場合、前記複数の仮想マシンのうちの一部の仮想マシンを他の物理マシンに移動させる資源管理部と、
を備えることを特徴とする管理装置。
(付記2)
前記仮想マシン毎の前記資源の前記使用状態情報と前記パフォーマンス情報とを時系列的に記憶する記憶域を更に備えることを特徴とする付記1記載の管理装置。
(付記3)
前記予測部は、前記記憶域に記憶されている過去の前記資源使用状態情報及び前記パフォーマンス情報と、前記現在の前記資源使用状態情報及び前記パフォーマンス情報との類似性を決定し、前記現在の前記資源使用状態情報及び前記パフォーマンス情報との類似性が高い前記過去の前記資源使用状態情報及び前記パフォーマンス情報に基づいて、前記将来の資源予測量を予測することを特徴とする付記2記載の管理装置。
(付記4)
前記予測部は、相関及び階層的クラスター分析のいずれかに基づいて、前記記憶域に記憶されている前記過去の前記資源使用状態情報及び前記パフォーマンス情報と、前記現在の前記資源使用状態情報及び前記パフォーマンス情報との類似性を決定することを特徴とする付記3記載の管理装置。
(付記5)
前記パフォーマンス情報は、命令の実行状況及びキャッシュの利用状況の少なくともいずれかに関連する情報であることを特徴とする付記1〜4のいずれか1項に記載の管理装置。
(付記6)
資源を備えた物理マシン上で実行される複数の仮想マシンを管理する資源管理方法であって、
前記複数の仮想マシンのそれぞれについて、仮想マシンによる資源の使用状態を示す資源使用状態情報と、仮想マシンのパフォーマンス情報とを時系列的に採取し、
前記情報採取部が採取した前記時系列の前記資源使用状態情報及び前記パフォーマンス情報に基づいて、前記複数の仮想マシンによる前記資源の予測使用量を算出し、
前記複数の仮想マシンのそれぞれの予測使用量の合計が、前記資源の量を超える場合、前記複数の仮想マシンのうちの一部の仮想マシンを他の物理マシンに移動させる、
ことを特徴とする資源管理方法。
(付記7)
前記仮想マシン毎の前記資源の前記使用状態情報と前記パフォーマンス情報とを時系列的に記憶することを特徴とする付記6記載の資源管理方法。
(付記8)
前記予測において、前記記憶域に記憶されている過去の前記資源使用状態情報及び前記パフォーマンス情報と、前記現在の前記資源使用状態情報及び前記パフォーマンス情報との類似性を決定し、前記現在の前記資源使用状態情報及び前記パフォーマンス情報との類似性が高い前記過去の前記資源使用状態情報及び前記パフォーマンス情報に基づいて、前記将来の資源予測量を予測することを特徴とする付記7記載の資源管理方法。
(付記9)
前記予測において、相関及び階層的クラスター分析のいずれかに基づいて、前記記憶域に記憶されている前記過去の前記資源使用状態情報及び前記パフォーマンス情報と、前記現在の前記資源使用状態情報及び前記パフォーマンス情報との類似性を決定することを特徴とする付記8記載の資源管理方法。
(付記10)
前記パフォーマンス情報は、命令の実行状況及びキャッシュの利用状況の少なくともいずれかに関連する情報であることを特徴とする付記6〜9のいずれか1項に記載の資源管理方法。
(付記11)
資源を備えた物理マシン上で実行される複数の仮想マシンを管理する資源管理プログラムであって、
コンピュータによって実行されたときに、前記コンピュータに、
前記複数の仮想マシンのそれぞれについて、仮想マシンによる資源の使用状態を示す資源使用状態情報と、仮想マシンのパフォーマンス情報とを時系列的に採取させ、
前記情報採取部が採取した前記時系列の前記資源使用状態情報及び前記パフォーマンス情報に基づいて、前記複数の仮想マシンによる前記資源の予測使用量を算出させ、
前記複数の仮想マシンのそれぞれの予測使用量の合計が、前記資源の量を超える場合、前記複数の仮想マシンのうちの一部の仮想マシンを他の物理マシンに移動させる、
ことを特徴とする資源管理プログラム。
(付記12)
第1の資源を備え、第1の複数の仮想マシンを実行している第1の物理マシンと、
第2の資源を備え、少なくとも1つの第2の仮想マシンを実行している第2の物理マシンと、
前記第1及び第2の物理マシンを管理する管理装置と、を備え、前記管理装置は、
前記複数の仮想マシンのそれぞれについて、仮想マシンによる資源の使用状態を示す資源使用状態情報と、仮想マシンのパフォーマンス情報とを時系列的に採取する情報採取部と、
前記情報採取部が採取した前記時系列の前記資源使用状態情報及び前記パフォーマンス情報に基づいて、前記複数の仮想マシンによる前記資源の予測使用量を算出する予測部と、
前記第1の複数の仮想マシンのそれぞれの予測使用量の合計が、前記第1の資源の量を超える場合、前記複数の仮想マシンのうちの一部の仮想マシンを前記第2の物理マシンに移動させる資源管理部と、
を備えることを特徴とする情報処理システム。
1 情報処理システム
11,11−1,11−2 メモリ(資源)
17,17−1,17−2 PMC
21 管理部
23 資源使用量予測部(予測部)
25 資源管理部
3 管理マシン(管理装置)
31 採取部
33 性能データDB(記憶域)
35 性能データ採取部(情報採取部)
41,41−1,41−2 資源使用量採取部
43 PMC制御部
5,5−1,5−2 物理マシン(情報処理装置)
9,9−1,9−2 CPU(資源)

Claims (7)

  1. 資源を備えた物理マシン上で実行される複数の仮想マシンを管理する管理装置であって、
    前記複数の仮想マシンのそれぞれについて、当該仮想マシンによる資源の使用状態を示す資源使用状態情報と、当該仮想マシンのパフォーマンス情報とを一対の情報として時系列的に採取する情報採取部と、
    各仮想マシンについて、前記情報採取部が採取した前記パフォーマンス情報のうち、現在のパフォーマンス情報を含む複数のパフォーマンス情報によって構成される現パフォーマンス情報時系列変化と、過去の複数のパフォーマンス情報によって構成される複数の過去パフォーマンス情報時系列変化との類似性についての複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化と最も類似性の高い過去パフォーマンス情報時系列変化に対応する過去の資源使用状態情報の推移から当該仮想マシンによる資源の予測使用量を求める第一予測処理、及び、前記各仮想マシンについて、前記情報採取部が採取した前記パフォーマンス情報のうち、前記現パフォーマンス情報時系列変化と、前記複数の過去パフォーマンス情報時系列変化との類似性についての前記複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化との類似性の高い方から順に複数の過去パフォーマンス情報時系列変化を抽出し、該抽出した複数の過去パフォーマンス情報時系列変化に対応する各過去の資源使用状態情報に重み付け処理を施して、得られた重み付け平均資源使用状態情報の推移から当該仮想マシンによる前記資源の予測使用量を求める第二予測処理のうちのいずれかの予測処理を行なう予測部と、
    前記複数の仮想マシンのそれぞれの予測使用量の合計が、前記資源の量を超える場合、前記複数の仮想マシンのうちの一部の仮想マシンを他の物理マシンに移動させる資源管理部と、
    を備えることを特徴とする管理装置。
  2. 前記仮想マシン毎の前記資源使用状態情報と前記パフォーマンス情報とを一対の情報として時系列的に記憶する記憶域を更に備えることを特徴とする請求項1記載の管理装置。
  3. 前記予測部は、相関及び階層的クラスター分析のいずれかに基づいて、前記現パフォーマンス情報時系列変化と、前記過去の複数のパフォーマンス情報によって構成される複数の過去パフォーマンス情報時系列変化との類似性を決定することを特徴とする請求項1又は2記載の管理装置。
  4. 前記パフォーマンス情報は、命令の実行状況及びキャッシュの利用状況の少なくともいずれかに関連する情報であることを特徴とする請求項1〜のいずれか1項に記載の管理装置。
  5. 資源を備えた物理マシン上で実行される複数の仮想マシンを、コンピュータによって管理する資源管理方法であって、
    前記コンピュータにより、前記複数の仮想マシンのそれぞれについて、当該仮想マシンによる資源の使用状態を示す資源使用状態情報と、当該仮想マシンのパフォーマンス情報とを一対の情報として時系列的に採取し、
    前記コンピュータにより、各仮想マシンについて、採され前記パフォーマンス情報のうち、現在のパフォーマンス情報を含む複数のパフォーマンス情報によって構成される現パフォーマンス情報時系列変化と、過去の複数のパフォーマンス情報によって構成される複数の過去パフォーマンス情報時系列変化との類似性についての複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化と最も類似性の高い過去パフォーマンス情報時系列変化に対応する過去の資源使用状態情報の推移から当該仮想マシンによる資源の予測使用量を求める第一予測処理、及び、前記各仮想マシンについて、前記採取された前記パフォーマンス情報のうち、前記現パフォーマンス情報時系列変化と、前記複数の過去パフォーマンス情報時系列変化との類似性についての前記複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化との類似性の高い方から順に複数の過去パフォーマンス情報時系列変化を抽出し、該抽出した複数の過去パフォーマンス情報時系列変化に対応する各過去の資源使用状態情報に重み付け処理を施して、得られた重み付け平均資源使用状態情報の推移から当該仮想マシンによる前記資源の予測使用量を求める第二予測処理のうちのいずれかの予測処理を行ない
    前記コンピュータにより、前記複数の仮想マシンのそれぞれの予測使用量の合計が、前記資源の量を超える場合、前記複数の仮想マシンのうちの一部の仮想マシンを他の物理マシンに移動させる、
    ことを特徴とする資源管理方法。
  6. 資源を備えた物理マシン上で実行される複数の仮想マシンを管理する資源管理プログラムであって、
    コンピュータによって実行されたときに、前記コンピュータに、
    前記複数の仮想マシンのそれぞれについて、当該仮想マシンによる資源の使用状態を示す資源使用状態情報と、当該仮想マシンのパフォーマンス情報とを一対の情報として時系列的に採取させ、
    各仮想マシンについて、採され前記パフォーマンス情報のうち、現在のパフォーマンス情報を含む複数のパフォーマンス情報によって構成される現パフォーマンス情報時系列変化と、過去の複数のパフォーマンス情報によって構成される複数の過去パフォーマンス情報時系列変化との類似性についての複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化と最も類似性の高い過去パフォーマンス情報時系列変化に対応する過去の資源使用状態情報の推移から当該仮想マシンによる資源の予測使用量を求める第一予測処理、及び、前記各仮想マシンについて、前記採取された前記パフォーマンス情報のうち、前記現パフォーマンス情報時系列変化と、前記複数の過去パフォーマンス情報時系列変化との類似性についての前記複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化との類似性の高い方から順に複数の過去パフォーマンス情報時系列変化を抽出し、該抽出した複数の過去パフォーマンス情報時系列変化に対応する各過去の資源使用状態情報に重み付け処理を施して、得られた重み付け平均資源使用状態情報の推移から当該仮想マシンによる前記資源の予測使用量を求める第二予測処理のうちのいずれかの予測処理を実行させ、
    前記複数の仮想マシンのそれぞれの予測使用量の合計が、前記資源の量を超える場合、前記複数の仮想マシンのうちの一部の仮想マシンを他の物理マシンに移動させる、
    ことを特徴とする資源管理プログラム。
  7. 第1の資源を備え、複数第1の仮想マシンを実行する第1の物理マシンと、
    第2の資源を備え、少なくとも1つの第2の仮想マシンを実行する第2の物理マシンと、
    前記第1及び第2の物理マシンを管理する管理装置と、を備え、前記管理装置は、
    前記複数の第1の仮想マシンのそれぞれについて、当該仮想マシンによる資源の使用状態を示す資源使用状態情報と、当該仮想マシンのパフォーマンス情報とを一対の情報として時系列的に採取する情報採取部と、
    各第1の仮想マシンについて、前記情報採取部が採取した前記パフォーマンス情報のうち、現在のパフォーマンス情報を含む複数のパフォーマンス情報によって構成される現パフォーマンス情報時系列変化と、過去の複数のパフォーマンス情報によって構成される複数の過去パフォーマンス情報時系列変化との類似性についての複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化と最も類似性の高い過去パフォーマンス情報時系列変化に対応する過去の資源使用状態情報の推移から当該第1の仮想マシンによる資源の予測使用量を求める第一予測処理、及び、前記各第1の仮想マシンについて、前記情報採取部が採取した前記パフォーマンス情報のうち、前記現パフォーマンス情報時系列変化と、前記複数の過去パフォーマンス情報時系列変化との類似性についての前記複数の比較結果に基づいて、前記複数の過去パフォーマンス情報時系列変化のうち、前記現パフォーマンス情報時系列変化との類似性の高い方から順に複数の過去パフォーマンス情報時系列変化を抽出し、該抽出した複数の過去パフォーマンス情報時系列変化に対応する各過去の資源使用状態情報に重み付け処理を施して、得られた重み付け平均資源使用状態情報の推移から当該第1の仮想マシンによる前記資源の予測使用量を求める第二予測処理のうちのいずれかの予測処理を行なう予測部と、
    前記複数第1の仮想マシンのそれぞれの予測使用量の合計が、前記第1の資源の量を超える場合、前記複数の第1の仮想マシンのうちの一部の仮想マシンを前記第2の物理マシンに移動させる資源管理部と、
    を備えることを特徴とする情報処理システム。
JP2012076938A 2012-03-29 2012-03-29 管理装置、資源管理方法、資源管理プログラム及び情報処理システム Expired - Fee Related JP5853821B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012076938A JP5853821B2 (ja) 2012-03-29 2012-03-29 管理装置、資源管理方法、資源管理プログラム及び情報処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012076938A JP5853821B2 (ja) 2012-03-29 2012-03-29 管理装置、資源管理方法、資源管理プログラム及び情報処理システム

Publications (2)

Publication Number Publication Date
JP2013206321A JP2013206321A (ja) 2013-10-07
JP5853821B2 true JP5853821B2 (ja) 2016-02-09

Family

ID=49525294

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012076938A Expired - Fee Related JP5853821B2 (ja) 2012-03-29 2012-03-29 管理装置、資源管理方法、資源管理プログラム及び情報処理システム

Country Status (1)

Country Link
JP (1) JP5853821B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018199414A1 (ko) * 2017-04-24 2018-11-01 (주) 글루시스 클라우드 컴퓨팅 환경에서 가상화 자원 분배 방법 및 장치

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9614779B2 (en) * 2013-12-24 2017-04-04 Intel Corporation Cloud compute scheduling using a heuristic contention model
JP6331549B2 (ja) * 2014-03-25 2018-05-30 日本電気株式会社 仮想マシン管理装置、仮想マシン管理方法、及び仮想マシン管理システム
JP2015210574A (ja) * 2014-04-24 2015-11-24 富士通株式会社 情報処理装置,処理方法及び処理プログラム
JP6455035B2 (ja) * 2014-09-10 2019-01-23 富士通株式会社 負荷分散管理装置、制御方法およびプログラム
JP6550783B2 (ja) * 2015-02-19 2019-07-31 富士通株式会社 データ出力方法、データ出力プログラムおよびデータ出力装置
JP6383340B2 (ja) * 2015-10-09 2018-08-29 日本電信電話株式会社 キャッシュ競合管理システム、リソース割当サーバおよびリソース割当方法
JP6787032B2 (ja) * 2016-10-18 2020-11-18 富士通株式会社 制御装置、制御方法、および制御プログラム
JP6591689B2 (ja) * 2017-01-11 2019-10-16 株式会社日立製作所 計算機システムを管理する管理システム
US10795711B2 (en) * 2018-01-10 2020-10-06 Vmware, Inc. Predictive allocation of virtual desktop infrastructure computing resources

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4839361B2 (ja) * 2008-11-11 2011-12-21 株式会社日立製作所 仮想マシン移動管理サーバおよび仮想マシン移動方法
JP5412926B2 (ja) * 2009-04-02 2014-02-12 日本電気株式会社 仮想マシン管理システム,仮想マシン配置設定方法及びそのプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018199414A1 (ko) * 2017-04-24 2018-11-01 (주) 글루시스 클라우드 컴퓨팅 환경에서 가상화 자원 분배 방법 및 장치

Also Published As

Publication number Publication date
JP2013206321A (ja) 2013-10-07

Similar Documents

Publication Publication Date Title
JP5853821B2 (ja) 管理装置、資源管理方法、資源管理プログラム及び情報処理システム
Farahnakian et al. Energy-aware VM consolidation in cloud data centers using utilization prediction model
Tran et al. Automatic ARIMA time series modeling for adaptive I/O prefetching
Gong et al. Pac: Pattern-driven application consolidation for efficient cloud computing
JP5218390B2 (ja) 自律制御サーバ、仮想サーバの制御方法及びプログラム
Chiang et al. TRACON: Interference-aware scheduling for data-intensive applications in virtualized environments
Chiang et al. Matrix: Achieving predictable virtual machine performance in the clouds
JP5756478B2 (ja) データ・センタにおける電力消費の最適化
KR101984714B1 (ko) 가상화 자원 모니터링 시스템
JP6075226B2 (ja) プログラム、仮想マシン管理方法および情報処理装置
Sembrant et al. Efficient software-based online phase classification
Shukla et al. A multiphase pre-copy strategy for the virtual machine migration in cloud
US8392168B2 (en) Simulating an application during a sampling period and a non-sampling period
KR102612841B1 (ko) 마이크로 데이터센터 내 운용 서비스별 작업 부하 예측 모델 적용 방법
JP7234702B2 (ja) 情報処理装置、コンテナ配置方法及びコンテナ配置プログラム
CN112000460A (zh) 一种基于改进贝叶斯算法的服务扩缩容的方法及相关设备
US20150074454A1 (en) Information processing method and apparatus for migration of virtual disk
Shanmuganathan et al. Towards proactive resource management in virtualized datacenters
Netto et al. Deciding when and how to move HPC jobs to the cloud
Surya et al. Prediction of resource contention in cloud using second order Markov model
Zhang et al. A VM-based resource management method using statistics
Apte et al. Look Who's Talking: Discovering Dependencies between Virtual Machines Using {CPU} Utilization
Ismaeel et al. Real-time energy-conserving vm-provisioning framework for cloud-data centers
Davis et al. Chaos: Composable highly accurate os-based power models
Rao et al. Online measurement of the capacity of multi-tier websites using hardware performance counters

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151023

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151123

R150 Certificate of patent or registration of utility model

Ref document number: 5853821

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees