(57)【要約】【課題】それぞれ仮想マシンが作成される情報処理装置が複数台、存在する環境で実行される分散処理をより高速に行えるようにするための技術を提供する。【解決手段】管理ホスト１上のHadoop管理部１４は、状態判別部１４３を備える。その状態判別部１４３は、各ホスト２から通知されるＣＰＵ使用率、ＤＡＮ３を介してハードディスク装置３にアクセスするためのＨＤＦＳ通信量、及びHadoop仮想マシン２３間で行われるMapReduce通信量から、各Hadoop仮想マシン２３の処理状態を、ＨＤＦＳ書込／読出、MapReduce処理、及びシャッフル＆ソート処理のなかから判別する。ＨＤＦＳ書込／読出、或いはシャッフル＆ソート処理と処理状態を判別したHadoop仮想マシン２３は、１台のホスト２上に集約させる。それにより、Hadoop仮想マシン２３間の通信に、ホスト２内の仮想パスをより多く利用させる。【選択図】図１
2015194855.tif 000002
【特許請求の範囲】
【請求項１】
演算処理装置を用いて仮想マシンをそれぞれ実行するとともにネットワークを介してそれぞれ接続される複数の情報処理装置と、前記複数の情報処理装置に接続される複数の記憶装置とを有する情報処理システムにおいて、
前記複数の情報処置装置に含まれる管理用の情報処理装置である管理装置は、
前記仮想マシンのなかで分散処理に用いられる仮想マシンである第１の仮想マシンが複数、作成されている場合に、各第１の仮想マシンにそれぞれ対応する演算処理装置の使用率と、前記複数の記憶装置のうちの何れかへの前記各第１の仮想マシンによるアクセスに対応する第１の通信量と、前記記憶装置が記憶するデータに対する前記第１の仮想マシンの演算処理に対応する第２の通信量とを監視する監視部と、
前記監視部が監視した、前記演算処理装置の使用率、前記第１の通信量、及び前記第２の通信量に基づき、前記第１の仮想マシンの前記複数の情報処理装置間の移動を制御する仮想マシン制御部と、を有する、
ことを特徴とする情報処理システム。
【請求項２】
前記複数の情報処理装置と前記複数の記憶装置との間は、前記複数の情報処理装置に含まれる情報処理装置毎に、前記複数の記憶装置のなかでアクセス可能とさせる記憶装置と接続させる他のネットワークを介して接続され、
前記仮想マシン制御部は、前記第１の仮想マシンの移動により、前記他のネットワークによる情報処理装置と記憶装置の接続関係を変更する、
ことを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記仮想マシン制御部は、前記第１の仮想マシンを移動させる場合、移動させる前記第１の仮想マシンへのリソースの割当量を変更する、
ことを特徴とする請求項１、２、または３記載の情報処理システム。
【請求項４】
演算処理装置を用いて仮想マシンをそれぞれ実行するとともにネットワークを介してそれぞれ接続される複数の情報処理装置と、前記複数の情報処理装置に接続される複数の記憶装置とを有する情報処理システムに管理装置として用いられるコンピュータに、
前記仮想マシンのなかで分散処理に用いられる仮想マシンである第１の仮想マシンが複数、作成されている場合に、各第１の仮想マシンにそれぞれ対応する演算処理装置の使用率と、前記複数の記憶装置のうちの何れかへの前記各第１の仮想マシンによるアクセスに対応する第１の通信量と、前記記憶装置が記憶するデータに対する前記第１の仮想マシンの演算処理に対応する第２の通信量とを監視させ、
前記演算処理装置の使用率、前記第１の通信量、及び前記第２の通信量に基づき、前記第１の仮想マシンの前記複数の情報処理装置間の移動を制御させる、
処理を実行させる制御プログラム。
【請求項５】
演算処理装置を用いて仮想マシンをそれぞれ実行するとともにネットワークを介してそれぞれ接続される複数の情報処理装置と、前記複数の情報処理装置に接続される複数の記憶装置とを有する情報処理システムに用いられる管理装置に、
前記仮想マシンのなかで分散処理に用いられる仮想マシンである第１の仮想マシンが複数、作成されている場合に、各第１の仮想マシンにそれぞれ対応する演算処理装置の使用率と、前記複数の記憶装置のうちの何れかへの前記各第１の仮想マシンによるアクセスに対応する第１の通信量と、前記記憶装置が記憶するデータに対する前記第１の仮想マシンの演算処理に対応する第２の通信量とを監視させ、
前記演算処理装置の使用率、前記第１の通信量、及び前記第２の通信量に基づき、前記第１の仮想マシンの前記複数の情報処理装置間の移動を制御させる、
ことを特徴とする情報処理システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、管理装置、制御プログラム、及び情報処理システムの制御方法に関する。
【背景技術】
【０００２】
近年、大量のデータを処理するケースが多くなっている。データ処理に用いられる情報処理装置の処理能力も非常に向上している。しかし、大量のデータの処理を１台の情報処理装置に行わせる場合、非常に長い時間が必要である。このことから、大量のデータの処理をより短い時間で行わせる場合、複数台の情報処理装置に並列にデータ処理を行わせる分散処理が採用されるのが普通である。
【０００３】
現在では、高性能の情報処理装置上に、複数の仮想マシン（ＶＭ：Virtual Machine）を作成するケースが多くなっている。これは、各仮想マシンは相互に干渉せず、任意のＯＳ（Operating System）、及びソフトウェアを採用できる、情報処理装置の必要台数を低減できる、等の利点からである。各仮想マシンは、分散処理を行わせる１台の情報処理装置（ノード）として用いることができる。
【０００４】
分散処理では、各ノードに対し、データが割り当てられ、割り当てられたデータを用いて行うべき処理が指定される。そのような分散処理プラットフォームとして、例えばHadoopがある。
【０００５】
Hadoopは、分散並列処理フレームワークであるMapReduce と、分散ファイルシステム（ＨＤＦＳ：Hadoop File System） のオープンソース実装である。Hadoopでは、データはデータブロックで分割され、ノードは、マスターノード、及びスレーブノードに分けられる。
【０００６】
マスターノードは、各スレーブノードに対し、割り当てるべきタスクを決定し、決定したタスクの処理を依頼する。それにより、実際のデータ処理はスレーブノードによって行われる。このことから、Hadoopによる分散処理では、データ量の増大に対し、スレーブノードの数を増やすことで対応することができる。
【０００７】
仮想マシンが複数台の情報処理装置上に作成されるＶＭ環境では、マスターノード、及びスレーブノードはそれぞれ１台の仮想マシン上に構築されているのが普通である。以降、特に断らない限り、マスターノード、及びスレーブノードは共に仮想マシン上に構築されたノードを指す意味で用いる。
【０００８】
各スレーブノード（タスクトラッカー）は、割り当てられたデータを用いてタスク（処理）を実行する。割り当てられたデータの取得のためには、多くの場合、情報処理装置間のデータ通信が必要である。情報処理装置間の通信を必要とするデータ量が大きいほど、タスクの実行が終了するまでに要する処理時間は長くなる。このことから、各スレーブノードにタスクを割り当てるスケジューリング（ここではデータの配置（割り当て）を含む）では、情報処理装置間の通信に要する時間がより短くなるように考慮されるのが普通である。情報処理装置間の通信に要する時間をより短くすることにより、分散処理全体の処理時間もより短くさせることができる。
【０００９】
各スレーブノードに対し、データブロックの配置、及びタスクの割り当てを最適に行ったとしても、分散処理全体の処理時間は長いのが実情である。今後、多くの場合、分散処理には、ＶＭ環境が用いられると考えられる。処理対象となるデータ自体は、今後、より大きくなるのは確実である。このようなことから、ＶＭ環境で実行される分散処理をより高速に実行できるようにすることが重要と思われる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−２１８３０７号公報
【特許文献２】ＷＯ２００８−０６２８６４号公報
【特許文献３】特開２０１２−１０８８１６号公報
【特許文献４】特開２０１２−１９８６３１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
１側面では、本発明は、それぞれ仮想マシンが作成される情報処理装置が複数台、存在する環境で実行される分散処理をより高速に行えるようにするための技術を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明を適用した１情報処理システムは、演算処理装置を用いて仮想マシンをそれぞれ実行するとともにネットワークを介してそれぞれ接続される複数の情報処理装置と、複数の情報処理装置に接続される複数の記憶装置とを有し、複数の情報処置装置に含まれる管理用の情報処理装置である管理装置は、仮想マシンのなかで分散処理に用いられる仮想マシンである第１の仮想マシンが複数、作成されている場合に、各第１の仮想マシンにそれぞれ対応する演算処理装置の使用率と、複数の記憶装置のうちの何れかへの各第１の仮想マシンによるアクセスに対応する第１の通信量と、記憶装置が記憶するデータに対する第１の仮想マシンの演算処理に対応する第２の通信量とを監視する監視部と、監視部が監視した、演算処理装置の使用率、第１の通信量、及び第２の通信量に基づき、第１の仮想マシンの複数の情報処理装置間の移動を制御する仮想マシン制御部と、を有する。
【発明の効果】
【００１３】
本発明を適用した場合には、それぞれ仮想マシンが作成される情報処理装置が複数台、存在する環境で実行される分散処理をより高速に行うことができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態による情報処理システムの構成例を説明する図である。
【図２】MapReduce処理の流れの例を説明する図である。
【図３】実行している処理によるスレーブノードのリソースの使用状態を説明する図である。
【図４】各種通信量の測定方法例を説明する図である。
【図５】処理状態判別情報の内容例を説明する図である。
【図６】ホスト−仮想マシン管理テーブルの構成例を説明する図である。
【図７】処理状態判別テーブルの構成例を説明する図である。
【図８】処理状態によって行われるHadoop仮想マシンのライブマイグレーション例を説明する図である。
【図９】処理状態判別テーブルの内容の更新例を説明する図である。
【図１０】処理状態判別テーブルの内容の更新によって行われるHadoop仮想マシンのライブマイグレーション例を説明する図である。
【図１１】ＶＭマイグレーション制御処理のフローチャートである。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図１は、本実施形態による情報処理システムの構成例を説明する図である。本実施形態による情報処理システムは、例えばクラウドサービスを提供するデータセンタ内に構築されたシステムである。その情報処理システムは、図１に表すように、管理ホストコンピュータ（図１中「Management Host」と表記。以降「管理ホスト」と表記する）１、複数台のホストコンピュータ（図１中「Host」と表記。以降「ホスト」と略記する）２（２−１〜２−４）、複数台のハードディスク装置（ＨＤＤ：Hard Disk Drive）３、ＬＡＮ（Local Area Network）４、及びＤＡＮ（Disk Area Network）５を備えている。
【００１６】
ＬＡＮ４には、管理ホスト１、及び各ホスト２が接続されている。それにより、管理ホスト１、及び各ホスト２は、ＬＡＮ４を介した通信を行うことができる。
【００１７】
ＤＡＮ５は、各ホスト２と各ハードディスク装置３間の接続に用いられるネットワークである。ＤＡＮ５は、ホスト２毎に、そのホスト２がアクセス可能なハードディスク装置３を制限する。
【００１８】
各ホスト２は、ハードウェア群２１を備え、ハードウェア群２１上では、ハイパーバイザ２２、仮想マシン２３、及び２４が動作する。図１では、Hadoopによる分散処理を行うスレーブノードとして機能する仮想マシン２３を「Hadoop VM」、その仮想マシン２３以外の仮想マシン２４を「Other VM」と表記して区別している。以降、仮想マシン２３は「Hadoop仮想マシン２３」と表記し、仮想マシン２４は「別仮想マシン２４」と表記する。また、特に区別する必要のない仮想マシンには符号は付さないこととする。
【００１９】
各ホスト２が備えるハードウェア群２１には、ＣＰＵ（Central Processing Unit）２１１、ＦＷＨ（Firm-Ware Hub）２１２、複数のメモリ（メモリモジュール）２１３、複数のハードディスク装置（図１中「ＨＤ」と表記）２１４、複数のＮＩＣ（Network Interface Card）２１５、及びＨＢＡ（Host Bus Adapter）２１６が含まれる。ＣＰＵ２１１には、ＣＰＵコア２１１ａが複数、実装されている。図１に表しているのは１例であり、ハードウェア群２１の構成は図１に表す例に限定されない。
【００２０】
ＦＷＨ２１２には、ファームウェアが格納され、ハードディスク装置２１４には、ＯＳ、アプリケーション・プログラム（以降「アプリケーション」と略記）、及び各種データ等が格納されている。ハイパーバイザ２２は、ファームウェアの一部となっているプログラムであり、ハードウェア群２１を仮想化し、複数のＯＳ（仮想マシン）を並列に実行可能にする。
【００２１】
ＣＰＵ２１１は、電源のオンにより、ＦＷＨ２１２に記憶されているファームウェアをメモリ２１３に読み出して実行する。それにより、ファームウェアのハイパーバイザ２２が実行され、仮想マシンが作成可能な状態となる。仮想マシンの作成、及び作成すべき仮想マシンへのリソースの割り当ては、管理ホスト１により管理される。
【００２２】
管理ホスト１は、本実施形態による管理装置であり、各ホスト２での仮想マシンの作成、及び作成させた仮想マシンの配置を管理する。仮想マシンの配置を管理するために、管理ホスト１は、必要に応じて、稼働中のHadoop仮想マシン２３を停止させることなく別のホスト２上に移動させるライブマイグレーションを行わせる。
【００２３】
管理ホスト１は、図１に表すように、ハードウェア群１１を備え、そのハードウェア群１１は、ＶＭ管理部１２、ディスク管理部１３、及びHadoop管理部１４を実現させる。ハードウェア群１１には、ＣＰＵ１１１、ＦＷＨ１１２、メモリ１１３、ハードディスク装置１１４、ＮＩＣ１１５、及びＨＢＡ１１６が含まれている。
【００２４】
ハードディスク装置１１４には、ＯＳ（Operating System）の他に、管理ホスト１として機能させるためのアプリケーション・プログラム（以降「ＶＭ管理ソフトウェア」と表記）１１４ａが格納されている。このＶＭ管理ソフトウェア１１４ａは、ＦＷＨ１１２に格納されたファームウェア、ＯＳに続けてＣＰＵ１１１が起動させるプログラムである。ＶＭ管理部１２、ディスク管理部１３、及びHadoop管理部１４は、ＣＰＵ１１１が、このＶＭ管理ソフトウェア１１４ａを実行することで実現される。
【００２５】
ＶＭ管理部１２は、仮想マシンの作成、及び作成させる管理マシンへのリソースの割り当てを管理し、稼働中の仮想マシンを監視する。ファームウェアを起動させたホスト２は、ＶＭ管理部１２からの指示に従い、作成すべき仮想マシンを作成する。
【００２６】
各仮想マシンには、それぞれＭＡＣ（Media Access Control）アドレス、及びＩＰ（Internet Protocol）アドレスが割り当てられる。ＤＡＮ５は、仮想マシン単位に、アクセス可能とするハードディスク装置３を制限する。ディスク管理部１３は、ＤＡＮ５を制御し、仮想マシンにアクセス可能とさせるハードディスク装置３を管理する。図１中、Hadoop仮想マシン２３とハードディスク装置３を結ぶ各破線は、Hadoop仮想マシン２３毎に、そのHadoop仮想マシン２３がアクセス可能なハードディスク装置３を表している。
【００２７】
Hadoop管理部１４は、Hadoop仮想マシン２３の配備（作成）、及び稼働中のHadoop仮想マシン２３のライブマイグレーションを管理する。そのHadoop管理部１４は、モニタ部１４１、配備部１４２、及び状態判別部１４３を備える。
【００２８】
配備部１４２は、ＶＭ管理部１２を制御して、Hadoop仮想マシン２３を作成させるべきホスト２にHadoop仮想マシン２３を作成させる。それにより、配備部１４２は、必要なHadoop仮想マシン２３を各ホスト２上に配備する。
【００２９】
モニタ部１４１は、Hadoop仮想マシン２３を対象に、各種状態量を監視する。監視する状態量は、ＣＰＵ使用率、通信量である。ＶＭ監視部１２は、ホスト２毎に、リソースの使用状況を監視する。モニタ部１４１は、ＶＭ監視部１２から、リソースの使用状況を表す情報（以降「リソース使用状況情報」）を取得する。リソース使用状況情報は、各ホスト２のハイパーバイザ２２から送信される。
【００３０】
状態判別部１４３は、モニタ部１４１から、Hadoop仮想マシン２３毎に、各種状態量を表す情報（以降「状態量情報」）を取得し、そのHadoop仮想マシン２３の処理状態を判別する。本実施形態では、処理状態の判別結果は、Hadoop仮想マシン２３のライブマイグレーションに用いている。そのライブマイグレーションを制御するために、状態判別部１４３は、移行処理部１４４を備えている。
【００３１】
図２は、MapReduce処理の流れの例を説明する図である。管理ホスト１のより詳細な説明を行う前に、図２を参照し、Hadoopによって実現されるMapReduce処理、及びその流れについて具体的に説明する。
【００３２】
MapReduce処理では、データ処理はmap処理とreduce処理の２段階に分けて行われる。データはkeyとvalueを組み合わせたペアで扱われる。map処理は、このペアを処理して、keyとvalueのペアの中間データを生成する処理である。reduce処理は、中間データを処理し、集計する処理である。
【００３３】
Hadoopでは、MapReduce処理はタスクトラッカーによって実行される。タスクトラッカーは、各スレーブノード（ここでは各Hadoop仮想マシン２３）で実行されるプログラムである。各スレーブノードには、タスクトラッカーの他に、データノードが動作する（図４）。タスクトラッカーがMap処理に用いるデータは、データノードによって提供される。Hadoopの分散ファイルシステムであるＨＤＦＳは、データノードのクラスタによって構成される。
【００３４】
図２では、点線によりデータノードを分けている。これは、各データノードはそれぞれ異なるスレーブノード上で動作するからである。それにより、各点線は、スレーブノードの境界を表している。このことから、図２では、MapReduce処理を３台のスレーブノードに実行させる場合を例にとっている。
【００３５】
本実施形態では、ライブマイグレーションの対象はスレーブノードのみとしている。そのため、図２、及び図１では、スレーブノードのHadoop仮想マシン２３のみ表している。
【００３６】
分散処理を依頼するクライアントは、入力データを提供する。この入力データはブロック単位で分割され、各スレーブノードのデータノードは、割り当てられた分のデータをアクセス可能な記憶装置（図１に表す構成例ではハードディスク装置３）に格納する（Ｓ１）。その後、各スレーブノードのデータノードは、Map処理のために、記憶装置に格納したデータの読み出しを行う（Ｓ２）。それにより、各スレーブノードのタスクトラッカーは、読み出されたデータを用いてMap処理を実行する（Ｓ３）。そのMap処理の実行により、中間データが生成される。この中間データでは、keyとvalueは新たなkeyとvalueに更新される。
【００３７】
生成された中間データには、各スレーブノードのタスクトラッカーによって、同じkeyを有するペア（レコード）毎に収集しソートするシャッフル＆ソート（Shuffle & Sort）処理が実行される（Ｓ４）。その後、各スレーブノードのタスクトラッカーは、同じkey毎の集計のためのReduce処理を実行する（Ｓ５）。
【００３８】
Reduce処理の実行結果は、同じスレーブノード上のデータノードによって記憶装置上に保存される（Ｓ６）。更にMap処理を行う必要がない場合、各記憶装置上に保存されたReduce処理の実行結果が最終的な処理結果である出力データとして出力される（Ｓ７）。
【００３９】
更にMap処理を行う必要がある場合、Map処理は、各Reduce処理の実行結果が得られた後に行われる。そのため、Reduce処理により、各スレーブノード間の同期が取られることとなる。
【００４０】
Hadoopによる分散処理は、図２に表すような流れで実行される。データノードによる記憶装置へのアクセス、つまり記憶装置へのデータの書き込み、或いは記憶装置からのデータの読み込みを行う場合、記憶装置へのアクセスのために通信量（以降「ＨＤＦＳ通信量」と表記）は比較的に大きくなる。しかし、通信のためのＣＰＵの負荷は比較的に小さい。このことから、ＣＰＵ使用率は比較的に低くなる。
【００４１】
MapReduce処理、つまりMap処理、及びReduce処理は、ＣＰＵが行うデータ処理である。そのため、ＣＰＵ使用率は比較的に高い。記憶装置へのアクセスはあまり必要ないことから、ＨＤＦＳ通信量は比較的に小さい。タスクトラッカーが他のスレーブノードと通信を行う必要はあまり必要ないことから、他のスレーブノードとの通信量（以降「MapReduce通信量」）も比較的に小さい。
【００４２】
シャッフル＆ソート処理では、ペア（レコード）の種類を判別しなければならず、他のスレーブノードから必要なデータを取得しなければならない。そのため、MapReduce処理ほどではないが、ＣＰＵ使用率は比較的に高くなる。MapReduce通信量は比較的に大きくなる。記憶装置へのアクセスを行う必要はあまりないことから、ＨＤＦＳ通信量は比較的に小さい。
【００４３】
他のスレーブノードによる処理の終了待ち等のアイドル時、ＣＰＵ使用率は低く、ＨＤＦＳ通信量、及びMapReduce通信量は共に小さくなる。
【００４４】
図３は、実行している処理によるスレーブノードのリソースの使用状態を説明する図である。
【００４５】
上記のように、スレーブノードのリソースの使用状況は、実行している処理によって変化する。そのため、Hadoopでは、図３に表すように、ＣＰＵ使用率、ＨＤＦＳ通信量、及びMapReduce通信量は、スレーブノードが実行している処理によって変化する。このことから、本実施形態では、モニタ部１４１に、各種状態量として、ＣＰＵ使用率、ＨＤＦＳ通信量、及びMapReduce通信量を監視させるようにしている。
【００４６】
従来、仮想マシンのライブマイグレーションは、仮想マシンが作成された情報処理装置上に発生した不具合、或いはリソースの使用状況、等により行われている。ＣＰＵ使用率が高く、仮想マシンの動作に影響を及ぼす可能性が高いと推測される状況では、１台以上の仮想マシンを別の情報処理装置に移動させることが行われている。これに対し、本実施形態では、分散処理をより高速に行えるように、Hadoop仮想マシン２３を必要に応じて移動させるようにしている。
【００４７】
例えばシャッフル＆ソート処理では、スレーブノード間の通信量が比較的に大きくなる。これは、図１に表す構成例の場合、ＬＡＮ４を介したホスト２間の通信量が比較的に大きくなることを意味する。
【００４８】
ＬＡＮ４を介した通信は、高速な処理の実現を阻害する面が大きい。しかし、同じホスト２上に作成された仮想マシン間は、ＬＡＮ４を介して通信を行わせる必要はない。これは、ホスト２内部に構築される仮想パスを介した通信を行えるからである。
【００４９】
仮想パスを介した通信は、ＬＡＮ４を介した通信よりも非常に高速である。そのため、仮想パスを介した通信を可能にした場合、特にシャッフル＆ソート処理を短時間で終了させることができる。本実施形態では、このことに着目し、仮想パスを利用して、特にMapReduce通信に要する通信時間を短縮させることにより、分散処理をより高速に行えるようにしている。ライブマイグレーションを行うのは、そのためである。
【００５０】
マスターノードでは、MapReduce処理は実行されない。マスターノードは、各スレーブノードを監視し、各スレーブノードに処理を指示する。そのため、スレーブノードとは異なり、リソースの使用状況は大きく変化しない。このことから、マスターノードはライブマイグレーションの対象から除外させている。
【００５１】
本実施形態では、マスターノードとは別に、管理ホスト１を設置し、Hadoop管理マシン２３のライブマイグレーションを制御させている。これは、既存のHadoopのアップデートを行うことなく、分散処理の高速化を実現させるためである。既存のHadoopのアップデートを不要とすることにより、より多くの顧客に対して、より質の高いサービスを提供することができる。
【００５２】
１２台のホスト２上にそれぞれ１台のHadoop仮想マシン２３を作成し、１ＴＢ（Tera Byte）のランダムデータ（入力データ）をソートするベンチマークを行ったところ、そのベンチマークの実行に１４４分かかった。その１４４分の全実行時間うち、約３割の４０分ほどをシャッフル＆ソート処理が占めていた。
【００５３】
ＬＡＮ４を介した通信速度は、例えば１或いは１０Ｇｂｐｓ（Giga bits per second））であり、ホスト２内部の仮想パスの通信速度は、例えば５〜２０Ｇｂｐｓである。このことから、全てのHadoop仮想マシン２３を１台のホスト２上に集約し、データ通信に要する時間を１／１０に短縮できた場合、全実行時間は１０４（＝１４４−３６（＝４０−４））となる。１台のHadoop仮想マシン２３のライブマイグレーションに要する移動時間は、仮に４８ＧＢ（Giga Byte）のデータを１ＧｂｐｓのＬＡＮ４で転送すると７分程度となる。１０ＧｂｐｓのＬＡＮ４で転送した場合には１分強となる。
【００５４】
ライブマイグレーションは、並行して実施できる場合もある。しかし、例えHadoop仮想マシン２３のライブマイグレーションを個々に実施したとしても、ＬＡＮ４の通信速度が１０Ｇｂｐｓであった場合、全てのライブマイグレーションは１５分程度で終了する。このライブマイグレーションによるオーバヘッドを勘案すると、全実行時間は１０９（＝１０４＋１５）分となる。従って、全体で約２５（（１−１０９／１４４）・１００）％の処理時間の短縮を行うことができる。
【００５５】
全実行時間は、ＬＡＮ４の通信速度、仮想パスの通信速度の他に、入力データのサイズ、及びハードディスク装置３の性能等にも大きく依存する。また、作成するHadoop仮想マシン２３の台数にも依存する。しかし、ライブマイグレーションを利用し、Hadoop仮想マシン２３間のデータ通信等をより高速に行わせることにより、全実行時間の大幅な短縮を実現させることができる。
【００５６】
図４は、各種通信量の測定方法例を説明する図である。
各Hadoop仮想マシン２３上には、データノード４１、及びタスクトラッカー４２が動作する。データノード（図４中「ＤＮ」と表記）４１、及びタスクトラッカー（図４中「ＴＴ」と表記）４２に別々のネットワーク４５、及び４６を用いた通信を行わせる。そのために、各ネットワーク４５、及び４６には異なるＮＩＣ２１５−１、２１５−２を接続させる。この結果、ＮＩＣ２１５−１、及び２１５−２の通信量を個別に監視させることにより、ＨＤＦＳ通信量、及びMapReduce通信量を分離させて測定することができる。
【００５７】
この方法では、ハイパーバイザ２２等に特別な機能を追加する必要はなく、Hadoop仮想マシン２３の設定のみで対応できる。図１に表す構成例は、この方法を想定して構築されている。図１に表す構成例では、ネットワーク４５はＤＡＮ５に相当し、ネットワーク４６はＬＡＮ４に相当する。
【００５８】
各種通信量の測定方法は、図４に表す例に限定されない。例えばハイパーバイザ２２に、宛先ポート、及び送信元ポートを確認させることにより、データノード４１、及びタスクトラッカー４２毎に、通信量を個別に集計させるようにしても良い。Hadoop仮想マシン２３間の通信がホスト２内の仮想パスにより行われる場合、この方法を採用すれば良い。他の測定方法を採用しても良い。
【００５９】
分散処理全体の処理時間（全処理時間）をより効果的に短縮させるためには、各スレーブノードであるHadoop仮想マシン２３が実行している処理（処理状態）を判別しなければならない。そのため、本実施形態では、状態判別部１４３に、各Hadoop仮想マシン２３の処理状態の判別を行わせ、必要に応じて、移行処理部１４４にライブマイグレーションを行わせるようにしている。
【００６０】
状態判別部１４３は、モニタ部１４１は、Hadoop仮想マシン２３毎に、ＣＰＵ使用率、ＨＤＦＳ通信量、及びMapReduce通信量の各種状態量を状態判別部１４３に通知する。状態判別部１４３は、処理状態判別用の情報（以降「処理状態判別情報」）を参照し、Hadoop仮想マシン２３毎に、モニタ部１４１から通知された各種状態量を用いて処理状態を判別する。
【００６１】
図５は、処理状態判別情報の内容例を説明する図である。この処理状態判別情報は、例えばメモリ１１３上に格納されて参照される情報であり、図１では１１３ａを付して表している。
【００６２】
図５に表すように、処理状態判別情報１１３ａでは、処理状態を、データノード４１によるハードディスク装置３へのアクセス（図５中「ＨＤＦＳ書込／読出」と表記）、タスクトラッカー４２によるMapReduce処理、及びシャッフル＆ソート処理の３つに大別している。そのように大別した処理状態毎に、処理状態判別情報１１３ａは、その処理状態を判別するうえで満たすべき各種状態量、つまりＣＰＵ使用率、ＨＤＦＳ通信量、及びMapReduce通信量を表している。それにより、状態判別部１４３は、モニタ部１４１から通知されたＣＰＵ使用率、ＨＤＦＳ通信量、及びMapReduce通信量を用いて処理状態判別情報１１３ａを参照して、各Hadoop仮想マシン２３の処理状態の判別を行う。
【００６３】
仮想マシンへのリソースの割り当てでは、１台の仮想マシンにＣＰＵ単位、或いはＣＰＵコア単位でリソースが割り当てられる場合がある。ライブマイグレーションでは、移動可能な情報処理装置に仮想マシンを移動させる必要がある。このことから、本実施形態では、ＣＰＵ使用率はホスト２全体の最大のＣＰＵ使用率を１００％として正規化した値としている。
【００６４】
１台のHadoop仮想マシン２３に割り当てるリソースが全て同じであったとしても、ハードウェア群２１の内容がホスト２毎に異なっていれば、処理状態判別情報１１３ａはホスト２毎に用意しなければならない。ここでは、混乱を避けるために、ハードウェア群２１の内容は全てのホスト２で同じと想定する。ハードウェア群２１に含まれるＣＰＵ２１１は、４つのＣＰＵコア２１１ａを搭載した１個のＣＰＵ２１１のみと想定している。１台のHadoop仮想マシン２３へのＣＰＵ２１１の割り当ては、最大で２個のＣＰＵコア２１１ａと想定している。それにより、図５にＣＰＵ使用率の具体値として表す「４５％」は、ＣＰＵコア２１１ａの負荷が非常に大きいことを意味している。
【００６５】
状態判別部１４３は、メモリ１１３に保存する情報である処理状態判別テーブル１１３ｃを用いて、Hadoop仮想マシン２３毎の処理状態の判別を行う。図７は、処理状態判別テーブルの構成例を説明する図である。
【００６６】
図７に表すように、処理状態判別テーブル１１３ｂは、Hadoop仮想マシン２３毎に、ＣＰＵ使用率、ＨＤＦＳ通信量、MapReduce通信量、及び判別された処理状態の各情報が１エントリ（レコード）に格納されたテーブルである。この処理状態判別テーブル１１３ｂの作成は、例えばモニタ部１４１によって行われ、その更新は、例えばモニタ部１４１、及び状態判別部１４３によって行われる。より具体的には、Hadoop仮想マシン２３毎に保存されるＣＰＵ使用率、ＨＤＦＳ通信量、及びMapReduce通信量の更新は、モニタ部１４１によって行われ、処理状態は状態判別部１４３によって行われる。その場合、モニタ部１４１からの各種状態量の状態判別部１４３への通知は、処理状態判別テーブル１１３ｂを介して行われることとなる。
【００６７】
移行処理部１４４は、各Hadoop仮想マシン２３の処理状態の判別結果を用いて、ライブマイグレーションを行うべきHadoop仮想マシン２３の選択、選択したHadoop仮想マシン２３の移動先とすべきホスト２の選択を行う。管理ホスト１は、Hadoop仮想マシン２３が移動可能か否かを判定可能なように、ホスト−仮想マシン管理テーブル１１３ｂをメモリ１１３上に格納している。そのホスト−仮想マシン管理テーブル１１３ｂの作成、及び更新は、ＶＭ管理部１２によって行われる。
【００６８】
図６は、ホスト−仮想マシン管理テーブルの構成例を説明する図である。このホスト−仮想マシンテーブル１１３ｂは、ホスト２毎に、そのホスト２上に作成されている仮想マシン、及びその仮想マシンのＣＰＵ使用率を表すテーブルである。それにより、移行処理部１４４は、ホスト−仮想マシン管理テーブル１１３ｂを参照し、Hadoop仮想マシン２３のライブマイグレーションを行う必要性の判定、及びHadoop仮想マシン２３の移動先とすべきホスト２の決定等を行う。
【００６９】
図６では、リソースの使用状況を表す情報をＣＰＵ使用率のみとしている。これは、Hadoop仮想マシン２３のライブマイグレーションを行ううえで最も考慮すべきリソースとしてＣＰＵ２１１を想定しているためである。考慮すべきリソースは、ホスト２のハードウェア群２１、作成される仮想マシン、等に応じて適宜、決定すれば良いことから、特に限定されない。
【００７０】
図１に表す各Hadoop仮想マシン２３の配備は、各ホスト２がHadoop仮想マシン２３の作成を行った後の初期配備である。初期配備の状態で各Hadoop仮想マシン２３が最初に実行するのは、ハードディスク装置３へのデータの書き込みのためのアクセスである（図２）。そのため、処理状態判別テーブル１１３ｂの内容は図７に表すように更新され、移行処理部１４４は、図８に表すように、Hadoop仮想マシン２３のライブマイグレーションを行わせ、１台のホスト２上に可能な限りのHadoop仮想マシン２３を集約させる。
【００７１】
１台のホスト２上にHadoop仮想マシン２３を集約させるのは、ＤＡＮ３の採用により、ハードディスク装置３へのアクセス速度は維持できる、Hadoop仮想マシン２３間の通信に仮想パスを利用できる、といった理由からである。より多くのHadoop仮想マシン２３の集約が可能なように、本実施形態では、ＣＰＵ２１１の割り当ては、２個のＣＰＵコア２１１ａから１個のＣＰＵコア２１１ａに変更している。これは、ハードディスク装置３へのアクセスを行う状況では、ＣＰＵ使用率は低いからである。また、より多くのHadoop仮想マシン２３を集約させることにより、分散処理はより高速に行うことが可能となる。Hadoop仮想マシン２３の集約は、ハードウェア群２１により制限する他に、ＤＡＮ５を介して１台のホスト２に接続可能なハードディスク装置３の台数により制限することが考えられる。
【００７２】
Hadoop仮想マシン２３を別のホスト２上に移動させた場合、その移動に合わせて、ホスト２とハードディスク装置３の接続関係を切り替えなければならない。その切り替えは、移行処理部１４４がディスク管理部１３にその切り替えを依頼することで行われる。
【００７３】
各Hadoop仮想マシン２３は、ハードディスク装置３へのデータの書き込みのためのアクセスを行った後、Map処理を実行する。そのMap処理では、ＣＰＵ使用率は最大か、或いは最大に近い値となる。それにより、処理状態判別テーブル１１３ｃは、例えば図９に表すような内容例に更新される。このことから、移行処理部１４４は、例えば図１０に表すように、１台のホスト２上に１台のHadoop仮想マシン２３を動作させるように、ライブマイグレーションを行わせる。ＣＰＵ２１１の割り当ては、１個のＣＰＵコア２１１ａから２個のＣＰＵコア２１１ａに変更される。このようなHadoop仮想マシン２３の配置は、処理状態がReduce処理と判別された場合も基本的に同じである。
【００７４】
各Hadoop仮想マシン２３の処理状態がシャッフル＆ソート処理と判別された場合、各Hadoop仮想マシン２３間で大量のデータ通信が行われると推定される。このことから、移行処理部１４４は、処理状態がＨＤＦＳ書込／読出と判別された場合と同様に、１台のホスト２上に可能な限りのHadoop仮想マシン２３を集約させるライブマイグレーションを行わせる。シャッフル＆ソート処理で必要な処理能力は、MapReduce処理時と比較すれば明らかに小さい。このことから、本実施形態では、ＣＰＵ２１１の割り当ては、１個のＣＰＵコア２１１ａとし、１台のホスト２上により多くのHadoop仮想マシン２３を集約できるようにさせている。
【００７５】
上記のような移行処理部１４４を含む状態判別処理１４３は、管理ホスト１のＣＰＵ１１１が、図１１にフローチャートを表すＶＭマイグレーション制御処理を実行することで実現される。次に図１１を参照し、ＣＰＵ１１１が実行するＶＭマイグレーション制御処理について詳細に説明する。
【００７６】
各ホスト２は、例えば一定時間が経過する度に、或いは管理ホスト１からの要求により、各仮想マシンのリソース使用状況情報を管理ホスト１に送信する。管理ホスト１によって受信されたHadoop仮想マシン２３のリソース使用状況情報は、ＶＭ管理部１２、Hadoop管理部１４のモニタ部１４１を介して、状態判別部１４３に通知される。状態判別部１４３は、そのリソース使用状況情報の通知を契機に動作する。このことから、ＶＭマイグレーション制御処理は、Hadoop仮想マシン２３のリソース使用状況情報が受信された場合に実行される。ＶＭマイグレーション制御処理自体は、ＣＰＵ１１１が、上記ＶＭ管理ソフトウェア１１４ａを実行することで実現される。
【００７７】
先ず、ＣＰＵ１１１は、ホスト−仮想マシン管理テーブル１１３ｂ（図１１中「Ｈｏｓｔリスト」と表記）を参照し、処理状態判別テーブル１１３ｃに表されている各Hadoop仮想マシン２３が稼働中のホスト２を確認する（Ｓ１１）。その後、処理ループＬ１０に移行する。
【００７８】
この処理ループＬ１０は、ホスト２毎に、ライブマイグレーションの対象とすべきHadoop仮想マシン２３の抽出、及び抽出したHadoop仮想マシン２３に割り当てるべきリソース量を決定するための一連の処理である。ホスト２上のHadoop仮想マシン２３の全てを確認するために、処理ループＬ１０内には処理ループＬ２０が含まれる。その処理ループＬ２０では、処理ループＬ１０で選択されたホスト２上に作成されているHadoop仮想マシン２３のなかで対象とするHadoop仮想マシン２３を変更しながら、ライブマイグレーションの必要性の有無の確認が行われる。
【００７９】
処理ループL２０では、先ず、ＣＰＵ１１１は、処理状態判別テーブル１１３ｃを参照し、選択されたホスト２上で作成されたHadoop仮想マシン２３のなかで対象とするHadoop仮想マシン２３の処理状態を判別する（Ｓ２１）。判別結果に応じて、処理状態判別テーブル１１３ｃを更新した後、ＣＰＵ１１１は、処理状態を判別したHadoop仮想マシン２３のリソース割当量の変更が必要か否か判定する（Ｓ２２）。
【００８０】
本実施形態では、Hadoop仮想マシン２３の処理状態は、ＨＤＦＳ書込／読出、MapReduce処理、及びシャッフル＆ソート処理のうちの何れかと判別するようにしている。そのように処理状態の判別を行う場合、Hadoop仮想マシン２３の処理状態は、図２に表すように、ＨＤＦＳ書込／読出→MapReduce処理→シャッフル＆ソート処理→ＨＤＦＳ書込／読出、と遷移することになる。そのような遷移では、ＣＰＵリソースの割当量は、上記のように、１個のＣＰＵコア２１１ａ→２個のＣＰＵコア２１１ａ、→１個のＣＰＵコア２１１ａ→１個のＣＰＵコア２１１ａ、と変更させることになる。このようなことから、リソース割当量の変更が必要な状況とは、処理状態を判別したHadoop仮想マシン２３は、ライブマイグレーションを行う候補であることを意味する。それにより、Hadoop仮想マシン２３がライブマイグレーションを行う候補であった場合、Ｓ２２の判定はＹ（Ｙｅｓ）となってＳ２３に移行する。そのHadoop仮想マシン２３がライブマイグレーションを行う候補ではない場合、Ｓ２２の判定はＮ（Ｎｏ）となり、ここで処理ループＬ２０内の一連の処理が終了する。
【００８１】
対象とするホスト２上で他にライブマイグレーションを行う必要性を確認すべきHadoop仮想マシン２３が残っている場合、処理ループL２０は、残っているHadoop仮想マシン２３のなかから１台のHadoop仮想マシン２３を対象として選択する。他にライブマイグレーションを行う必要性を確認すべきHadoop仮想マシン２３が残っていない場合、処理ループL２０が終了する。処理ループL２０が終了した場合、処理ループL１０に戻り、対象とするホスト２が残っているか否かの確認が行われる。対象とするホスト２が残っている場合、残っているホスト２のなかから１台のホスト２が対象として選択され、処理ループL２０が実行される。対象とするホスト２が残っていない場合、処理ループL１０が終了し、Ｓ３１に移行する。それにより、Ｓ３１に移行した時点では、ライブマイグレーションを行うべきHadoop仮想マシン２３が全て特定されていることとなる。
【００８２】
状況によっては、ＨＤＦＳ書込／読出、MapReduce処理、及びシャッフル＆ソート処理のなかから処理状態を判別できないことが有り得る。処理状態が判別できなかった場合、Ｓ２２の判定はＮとなる。それにより、処理状態が判別できなかったHadoop仮想マシン２３は、ライブマイグレーションを行う対象から除外される。
【００８３】
Ｓ２３では、ＣＰＵ１１１は、処理状態を判別したHadoop仮想マシン２３へのリソース割当量の変更が現在、稼働中のホスト２上で可能か否か判定する。そのHadoop仮想マシン２３へのリソース割当量の変更が現在、稼働中のホスト２上ではできない、或いは別のホスト２上に移動させる必要がある場合、Ｓ２３の判定はＮとなってＳ２４に移行する。そのHadoop仮想マシン２３へのリソース割当量の変更が現在、稼働中のホスト２上で行うことができ、且つ別のホスト２上に移動させる必要がない場合、Ｓ２３の判定はＹとなってＳ２５に移行する。
【００８４】
Ｓ２４では、ＣＰＵ１１１は、Hadoop仮想マシン２３を移動対象として設定する。その後、処理ループL２０内の一連の処理が終了する。
【００８５】
Ｓ２５では、ＣＰＵ１１１は、Hadoop仮想マシン２３へのリソース割当量を変更する。その後、処理ループL２０内の一連の処理が終了する。
【００８６】
Ｓ３１では、ＣＰＵ１１１は、移動対象と設定されたHadoop仮想マシン２３毎に、移動先とするホスト２を決定し、移動先として決定したホスト２に各Hadoop仮想マシン２３を移動させるライブマイグレーションを行わせる。その後、このＶＭマイグレーション制御処理が終了する。
【００８７】
移動先とするホスト２は、例えば判別した処理状態がＨＤＦＳ書込／読出、或いはシャッフル＆ソート処理であるHadoop仮想マシン２３を、同じ処理状態のHadoop仮想マシン２３をより多く１台のホスト２上に集約させるように決定される（図８）。判別した処理状態がMapReduce処理のHadoop仮想マシン２３では、１台のホスト２上に集約しないように、移動先とするホスト２が決定される（図１０）。そのようにして、各Hadoop仮想マシン２３が快適に稼働できる環境を維持させつつ、分散処理がより高速に行えるように、各Hadoop仮想マシン２３のライブマイグレーションが行われる。ＤＡＮ５におけるホスト２とハードディスク装置３の接続関係の設定は、Hadoop仮想マシン２３の移動に合わせて更新される。
【００８８】
なお、本実施形態では、Hadoopによる分散処理を行うスレーブモードであるHadoop仮想マシン２３をライブマイグレーションの対象としているが、分散処理はHadoop以外のプラットフォームにより実行されるものであっても良い。これは、他のプラットフォームによる分散処理でも、その分散処理を行う必要上、仮想マシンの処理状態は遷移していく形となっていることが多いからである。
【００８９】
処理状態の判別のための通信量の測定では、通信量をＨＤＦＳ通信量、及びMapReduce通信量に分けて行うようにさせている。しかし、精度は低下するが、図3に表すように、ＣＰＵ使用率、及び通信量から処理状態の判別も可能である。このことから、通信量の測定は、ＨＤＦＳ通信量、及びMapReduce通信量に分けて行わなくても良い。また、測定すべき通信量は、分散処理のためのプラットフォームに応じて選択しても良い。
【００９０】
本実施形態では、処理状態の判別結果が変化したHadoop仮想マシン２３をライブマイグレーションの対象候補としているが、必ずしもそうする必要はない。分散処理の高速化には、シャッフル＆ソート処理を行っているHadoop仮想マシン２３をより多く同じホスト２上に集約させることがより効果的である。このことから、退部マイグレーションは、シャッフル＆ソート処理を行っているHadoop仮想マシン２３の集約に着目する形で行うようにしても良い。
【００９１】
上記以外にも、様々な変形を行うことができる。
以上の変形例を含む実施形態に関し、更に以下の付記を開示する。
（付記１）
演算処理装置を用いて仮想マシンをそれぞれ実行するとともにネットワークを介してそれぞれ接続される複数の情報処理装置と、前記複数の情報処理装置に接続される複数の記憶装置とを有する情報処理システムにおいて、
前記複数の情報処置装置に含まれる管理用の情報処理装置である管理装置は、
前記仮想マシンのなかで分散処理に用いられる仮想マシンである第１の仮想マシンが複数、作成されている場合に、各第１の仮想マシンにそれぞれ対応する演算処理装置の使用率と、前記複数の記憶装置のうちの何れかへの前記各第１の仮想マシンによるアクセスに対応する第１の通信量と、前記記憶装置が記憶するデータに対する前記第１の仮想マシンの演算処理に対応する第２の通信量とを監視する監視部と、
前記監視部が監視した、前記演算処理装置の使用率、前記第１の通信量、及び前記第２の通信量に基づき、前記第１の仮想マシンの前記複数の情報処理装置間の移動を制御する仮想マシン制御部と、を有する、
ことを特徴とする情報処理システム。
（付記２）
前記仮想マシン制御部は、前記演算処理装置の使用率、前記第１の通信量、及び前記第２の通信量に基づき、前記各第１の仮想マシンの処理状態を推定し、推定した前記処理状態から、前記各第１の仮想マシンの移動を制御する、
ことを特徴とする付記１記載の情報処理システム。
（付記３）
前記複数の情報処理装置と前記複数の記憶装置との間は、前記複数の情報処理装置に含まれる情報処理装置毎に、前記複数の記憶装置のなかでアクセス可能とさせる記憶装置と接続させる他のネットワークを介して接続され、
前記仮想マシン制御部は、前記第１の仮想マシンの移動により、前記他のネットワークによる情報処理装置と記憶装置の接続関係を変更する、
ことを特徴とする付記１、または２記載の情報処理システム。
（付記４）
前記仮想マシン制御部は、前記第１の仮想マシンを移動させる場合、移動させる前記第１の仮想マシンへのリソースの割当量を変更する、
ことを特徴とする付記１、２、または３記載の情報処理システム。
（付記５）
演算処理装置を用いて仮想マシンをそれぞれ実行するとともにネットワークを介してそれぞれ接続される複数の情報処理装置と、前記複数の情報処理装置に接続される複数の記憶装置とを有する情報処理システムにおいて、
前記複数の情報処置装置に含まれる管理用の情報処理装置である管理装置は、
前記仮想マシンのなかで分散処理に用いられる仮想マシンである第１の仮想マシンが複数、作成されている場合に、各第１の仮想マシンにそれぞれ対応する演算処理装置の使用率と、前記第１の仮想マシンの通信量とを監視する監視部と、
前記監視部が監視した、前記演算処理装置の使用率、及び前記通信量に基づき、各第１の仮想マシンの処理状態を判別する判別部と、
前記判別部が前記各第１の仮想マシンで判別した処理状態に基づき、前記第１の仮想マシンの前記複数の情報処理装置間の移動を制御する仮想マシン制御部と、を有する、
ことを特徴とする情報処理システム。
（付記６）
演算処理装置を用いて仮想マシンをそれぞれ実行するとともにネットワークを介してそれぞれ接続される複数の情報処理装置と、前記複数の情報処理装置に接続される複数の記憶装置とを有する情報処理システムに管理装置として用いられるコンピュータに、
前記仮想マシンのなかで分散処理に用いられる仮想マシンである第１の仮想マシンが複数、作成されている場合に、各第１の仮想マシンにそれぞれ対応する演算処理装置の使用率と、前記複数の記憶装置のうちの何れかへの前記各第１の仮想マシンによるアクセスに対応する第１の通信量と、前記記憶装置が記憶するデータに対する前記第１の仮想マシンの演算処理に対応する第２の通信量とを監視させ、
前記演算処理装置の使用率、前記第１の通信量、及び前記第２の通信量に基づき、前記第１の仮想マシンの前記複数の情報処理装置間の移動を制御させる、
処理を実行させる制御プログラム。
（付記７）
演算処理装置を用いて仮想マシンをそれぞれ実行するとともにネットワークを介してそれぞれ接続される複数の情報処理装置と、前記複数の情報処理装置に接続される複数の記憶装置とを有する情報処理システムに用いられる管理装置に、
前記仮想マシンのなかで分散処理に用いられる仮想マシンである第１の仮想マシンが複数、作成されている場合に、各第１の仮想マシンにそれぞれ対応する演算処理装置の使用率と、前記複数の記憶装置のうちの何れかへの前記各第１の仮想マシンによるアクセスに対応する第１の通信量と、前記記憶装置が記憶するデータに対する前記第１の仮想マシンの演算処理に対応する第２の通信量とを監視させ、
前記演算処理装置の使用率、前記第１の通信量、及び前記第２の通信量に基づき、前記第１の仮想マシンの前記複数の情報処理装置間の移動を制御させる、
ことを特徴とする情報処理システムの制御方法。
【符号の説明】
【００９２】
１    管理ホスト
２、２−１〜２−４    ホスト
３、１１４、２１４    ハードディスク装置
４    ＬＡＮ
５    ＤＡＮ
１１、２１    ハードウェア群
１２    ＶＭ管理部
１３    ディスク管理部
１４    Hadoop管理部
２２    ハイパーバイザ
２３、２３−１〜２３−４    Hadoop仮想マシン
１１１、２１１    ＣＰＵ
１１２、２１２    ＦＷＨ
１１３、２１３    メモリ
１１３ａ    処理状態判別情報
１１３ｂ    ホスト−仮想マシン管理テーブル
１１３ｃ    処理状態判別テーブル
１１４ａ    ＶＭ管理ソフトウェア
１１５、２１５、２１５−１、２１５−２    ＮＩＣ
１４１    モニタ部
１４２    配備部
１４３    状態判別部
１４４    移行処理部
【図１】
2015194855.tif 000003
【図２】
2015194855.tif 000004
【図３】
2015194855.tif 000005
【図４】
2015194855.tif 000006
【図５】
2015194855.tif 000007
【図６】
2015194855.tif 000008
【図７】
2015194855.tif 000009
【図８】
2015194855.tif 000010
【図９】
2015194855.tif 000011
【図１０】
2015194855.tif 000012
【図１１】
2015194855.tif 000013