(57)【要約】【課題】旧世代のＳ／Ｗを最新Ｈ／Ｗに搭載する場合に、Ｓ／Ｗを最新Ｈ／Ｗに対応させることなく、ＩＯ性能を改善する情報処理装置を得る。【解決手段】  ＣＰＵ１０３上で動作するハイパーバイザ１０１に、このハイパーバイザ１０１上で動作するＯＳ１００とは独立して動作する先読み機能１０２を設け、この先読み機能１０２が、ＨＤＤ１０６のデータを先読みし、メモリ１０４の先読み用バッファ１０５に格納させておき、ＯＳ１００からのＨＤＤ１０６へのアクセス要求に対し、先読み用バッファ１０５に格納されているデータの場合には、先読み用バッファ１０５からデータを読み出してＯＳ１００に通知するようにした。【選択図】図１
2013114369.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵとメモリとハードディスク装置を有するハードウェア上で動作するハイパーバイザ、
及びこのハイパーバイザ上で動作するＯＳを備え、
上記ハイパーバイザは、
上記ＯＳとは独立して動作し、上記ハードディスク装置の所定領域のデータを先読みし、上記メモリ上に設けられた先読み用バッファに記憶させる先読み手段を有し、
上記先読み手段は、上記ＯＳからの上記ハードディスク装置へのアクセス要求が、上記ハードディスク装置の所定領域に対するものである場合には、上記先読み用バッファに対してアクセスを実行することを特徴とする情報処理装置。
【請求項２】
ＣＰＵとメモリとハードディスク装置を有するハードウェア上で動作するハイパーバイザ、
及びこのハイパーバイザ上で動作するＯＳを備え、
上記ハイパーバイザは、
上記ハードディスク装置の上記ＯＳが使用するＯＳ使用領域と、上記メモリに設けられたハードディスク装置用バッファとを同じ内容にするミラーリング手段を有し、
上記ミラーリング手段は、上記ＯＳからの上記ハードディスク装置へのアクセス要求を、上記ハードディスク装置用バッファに対して実行することを特徴とする情報処理装置。
【請求項３】
ＣＰＵとメモリとハードディスク装置を有するハードウェア上で動作するハイパーバイザ、
及びこのハイパーバイザ上で動作するＯＳを備え、
上記ハイパーバイザは、
上記ハードディスク装置の領域を区切り、各領域ごとの上記ＯＳからのアクセス頻度を上記メモリに設けられたアクセス頻度管理テーブルに記憶させるとともに、上記ハードディスク装置の上記アクセス頻度の高い領域のデータを優先的に上記メモリに設けられたバッファに記憶させるアクセス頻度管理手段を有し、
上記アクセス頻度管理手段は、上記ＯＳから上記ハードディスク装置へのアクセス要求が、アクセス頻度の高い領域に対するものである場合には、上記バッファに対してアクセスを実行することを特徴とする情報処理装置。
【請求項４】
ＣＰＵとメモリとハードディスク装置を有するハードウェア上で動作するハイパーバイザ、
及びこのハイパーバイザ上で動作するＯＳを備え、
上記ハイパーバイザは、
上記ハードディスク装置の領域を区切り、各領域ごとに上記ＯＳからのアクセス頻度を上記メモリに設けられたアクセス頻度管理テーブルに記憶させるアクセス頻度管理手段と、
上記ＯＳとは独立して動作し、上記アクセス頻度管理テーブルを参照して、上記ハードディスク装置の上記アクセス頻度の高い領域のデータを優先的に先読みし、上記メモリに設けられたバッファに記憶させる先読み手段とを有し、
上記アクセス頻度管理手段は、上記ＯＳから上記ハードディスク装置へのアクセス要求が、アクセス頻度の高い領域に対するものである場合には、上記バッファに対してアクセスを実行することを特徴とする情報処理装置。
【請求項５】
上記ハードウェアは、マルチコアＣＰＵを搭載し、
上記ハイパーバイザは、コアごとに上記先読み手段を有し、
上記メモリには、上記コアごとに上記先読み用バッファが設けられていることを特徴とする請求項１記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、旧世代のＳ／Ｗ（ソフトウェア）を最新Ｈ／Ｗ（ハードウェア）に搭載する場合に、仮想化技術を用いてＩＯ性能を改善する情報処理装置に関するものである。
【背景技術】
【０００２】
従来より、旧世代のＳ／Ｗを最新Ｈ／Ｗに搭載する場合に、Ｓ／Ｗを改造せず互換性を維持して動作させる方法として、仮想化技術（ハイパーバイザ）を使用する方法が知られている（特許文献１）。
ハイパーバイザにより、旧世代Ｓ／Ｗが動作可能なＨ／Ｗ構成をエミュレーションして旧世代Ｈ／Ｗに見せることで、旧世代Ｓ／Ｗを改造することなく、ハイパーバイザが提供する仮想的なＨ／Ｗ上で動作できるようになる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２０４９６２号公報（第１３〜１４頁、図３）
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ハイパーバイザ上で旧世代Ｓ／Ｗを動作させると、ハイパーバイザによるＨ／Ｗのエミュレーションが必要になるため、旧世代Ｓ／Ｗの動作する時間に加えて、ハイパーバイザの処理時間が追加され、本来のＨ／Ｗ性能と比較してＩＯ性能が低下していた。
また、Ｈ／Ｗは高速に動作が可能なのに、旧世代Ｓ／Ｗがそれに適したアクセスをしないため、旧世代Ｓ／Ｗの処理がボトルネックとなり、Ｈ／Ｗ性能を十分に活かしきれずにＩＯ性能が低下するケースがあった。
【０００５】
この発明は、上述のような課題を解決するためになされたものであり、旧世代のＳ／Ｗを最新Ｈ／Ｗに搭載する場合に、仮想Ｈ／Ｗを形成することなく、ＩＯ性能を改善する情報処理装置を得ることを目的にする。
【課題を解決するための手段】
【０００６】
この発明に係わる情報処理装置においては、ＣＰＵとメモリとハードディスク装置を有するハードウェア上で動作するハイパーバイザ、及びこのハイパーバイザ上で動作するＯＳを備え、ハイパーバイザは、ＯＳとは独立して動作し、ハードディスク装置の所定領域のデータを先読みし、メモリ上に設けられた先読み用バッファに記憶させる先読み手段を有し、先読み手段は、ＯＳからのハードディスク装置へのアクセス要求が、ハードディスク装置の所定領域に対するものである場合には、先読み用バッファに対してアクセスを実行するものである。
【発明の効果】
【０００７】
この発明によれば、ＣＰＵとメモリとハードディスク装置を有するハードウェア上で動作するハイパーバイザ、及びこのハイパーバイザ上で動作するＯＳを備え、ハイパーバイザは、ＯＳとは独立して動作し、ハードディスク装置の所定領域のデータを先読みし、メモリ上に設けられた先読み用バッファに記憶させる先読み手段を有し、先読み手段は、ＯＳからのハードディスク装置へのアクセス要求が、ハードディスク装置の所定領域に対するものである場合には、先読み用バッファに対してアクセスを実行するので、旧世代のＳ／Ｗであっても、仮想Ｈ／Ｗを形成することなく、ＩＯ性能を改善することができる。
【図面の簡単な説明】
【０００８】
【図１】この発明の実施の形態１による情報処理装置を示す構成図である。
【図２】この発明の実施の形態１による情報処理装置の動作を示す説明図である。
【図３】この発明の実施の形態２による情報処理装置の構成と動作を示す説明図である。
【図４】この発明の実施の形態３による情報処理装置を示す構成図である。
【図５】この発明の実施の形態３による情報処理装置におけるアクセス頻度管理機能の内部動作を示すフローチャートである。
【図６】この発明の実施の形態４による情報処理装置を示す構成図である。
【図７】この発明の実施の形態５による情報処理装置を示す構成図である。
【発明を実施するための形態】
【０００９】
実施の形態１．
以下、この発明の実施の形態１を、図に基づいて説明する。
図１は、この発明の実施の形態１による情報処理装置を示す構成図である。
図１において、最新Ｈ／ＷであるＣＰＵ１０３上にハイパーバイザ１０１を搭載し、ハイパーバイザ１０１上で、旧世代のＯＳ１００を動作させるというＳ／Ｗ構成をとる。ＯＳ１００は、メモリ１０４やＨＤＤ１０６（ハードディスク装置）のＨ／Ｗ資源には直接アクセスせず、ハイパーバイザ１０１を経由してアクセスする。
ハイパーバイザ１０１は、ＯＳ１００のＩＯ要求とは独立して、ＨＤＤ１０６にアクセスする先読み機能１０２（先読み手段）を有する。メモリ１０４には、先読み機能１０２が使用する専用のメモリ空間として、先読み用バッファ１０５の空間を割り当てる。
【００１０】
図２は、この発明の実施の形態１による情報処理装置の動作を示す説明図である。
図２において、１００〜１０６は図１におけるものと同一のものである。ａ〜ｈは処理の流れを示している。
【００１１】
次に、実施の形態１の動作について、図２に基づいて説明する。
通常、ＯＳ１００からＨＤＤ１０６に対するＩＯ要求は、ハイパーバイザ１０１を経由してＨＤＤ１０６にアクセスし（ａ）、その結果をＯＳ１００に通知する（ｂ）。
この時、ＯＳ１００からのＩＯ要求が、連続した領域（所定領域）に対して続いた場合や、ある一定の領域内に集中した場合は、ハイパーバイザ１０１では、次のＯＳ１００からのＩＯ要求はその周辺の領域（所定領域）へのアクセスである可能性が高いと判断し、先読み機能１０２を動作させる。
先読み機能１０２は、ＯＳ１００からのＩＯ要求がない空き時間を利用して、ＨＤＤ１０６にアクセスし（ｃ）、ＯＳ１００からのアクセスが集中している周辺の領域のデータを、先読み用バッファ１０５に蓄積しておく（ｄ）。
【００１２】
ＯＳ１００から先読み用バッファ１０５に蓄積済みの領域に対するＩＯ要求（読出し）があった場合は（ｅ）、先読み機能１０２は、先読み用バッファ１０５から該当するデータを読出し、結果をＯＳに通知する（ｆ）。
また、ＯＳ１００からのＩＯ要求が書込みの場合は、先読み用バッファ１０５のみ更新して（ｇ）、ＯＳ１００に完了を通知する。その後、先読み機能１０２では、ＩＯの空き時間を利用して、先読み用バッファ１０５に保存したデータを、ＨＤＤ１０６に書き込む（ｈ）。
【００１３】
これにより、ＯＳ１００からのＩＯ要求の一部は、ＨＤＤ１０６にアクセスすることなく完了するため、ＯＳ１００はＩＯの待ち時間無しで高速に動作できる。
また、先読み機能１０２は、ＯＳ１００の処理の空き時間を利用して、ＯＳ１００のＩＯ要求とは関係なく、ＨＤＤ１０６にアクセスするため、本来のＨ／Ｗ性能を発揮して先読み用バッファ１０５にデータを蓄積することができる。
【００１４】
実施の形態１によれば、ＯＳとＨＤＤとの間に介在するハイパーバイザにより、ＨＤＤのデータを先読みする構成にしたので、旧世代のＯＳであっても、高速に動作することができる。
【００１５】
実施の形態２．
以下、この発明の実施の形態２を、図に基づいて説明する。
図３は、この発明の実施の形態２による情報処理装置の構成と動作を示す説明図である。
図３において、１００、１０１、１０３、１０４、１０６は図１におけるものと同一のものである。図３では、ハイパーバイザ１０１に、図１の先読み機能１０２の代わりに、ミラーリング機能３０１（ミラーリング手段）を搭載する。また、メモリ１０４にＨＤＤ用バッファ３０２（ハードディスク装置用バッファ）を設ける。ＨＤＤ１０６の中で、ＯＳ１００が実際に必要とするＯＳ使用領域３０３のサイズが、メモリ３０２のサイズに比べて小さい時に、この使用形態をとることができる。
ミラーリング機能３０１は、ＨＤＤ用バッファ３０２の内容が、ＯＳ使用領域３０３と同じ内容となるように同期をとる、ミラーリング処理を行う。
【００１６】
次に、実施の形態２の動作について、図３に基づいて説明する。
ミラーリング機能３０１の動作は、基本的に図１における先読み機能１０２と同等である。ミラーリング機能３０１は、ＯＳ１００からのＩＯ要求のない空き時間を利用して、ＨＤＤ用バッファ３０２にアクセスし（ｊ）、ＯＳ使用領域３０３との内容の同期を保つように、メモリ１０４やＨＤＤ１０６の読出し・書込みを行う（ｋ）。そして、ＯＳ１００からのＩＯ要求があった場合は（ｍ）、全てＨＤＤ用バッファ３０２に対してアクセスを行う（ｎ）。
【００１７】
実施の形態２の利点は、ＯＳ１００からのＩＯ要求は、全てＨＤＤ用バッファ３０２に対してのみ行われるため、ＯＳ１００のＩＯ待ち時間が完全になくなることである。
その上、ハイパーバイザ１０１では、先読み用バッファ（図１の１０５）にＩＯ対象のデータが蓄積されているかどうかを判定する処理が不要になるため、ハイパーバイザ１０１の処理が軽減される。そのため、ＯＳ１００のＩＯ要求に占める、ハイパーバイザ１０１の処理時間も短縮することが可能となる。
【００１８】
実施の形態２によれば、ＨＤＤのＯＳ使用領域と、メモリのＨＤＤ用バッファとの内容の同期をとることにより、ＯＳのＨＤＤへのアクセスを無くし、したがってＯＳのＩＯ待ち時間を無くし、かつハイパーバイザの処理を軽減することができる。
【００１９】
実施の形態３．
以下、この発明の実施の形態３を、図に基づいて説明する。
図４は、この発明の実施の形態３による情報処理装置を示す構成図である。
図４において、１００、１０１、１０３、１０４、１０６は図１におけるものと同一のものである。図４では、ハイパーバイザ１０１に、図１における先読み機能１０２の代わりに、アクセス頻度管理機能４０１（アクセス頻度管理手段）を設けている。メモリ１０４には、ＨＤＤ１０６をキャッシュするためのバッファ４０３と、ＨＤＤ１０６の一定領域毎のアクセス頻度を記憶するためのアクセス頻度管理テーブル４０２の空間を割り当てる。
アクセス頻度管理機能４０１は、ＨＤＤ１０６を一定領域毎に区切って、ＯＳ１００からのアクセス頻度を、アクセス頻度管理テーブル４０２に記憶させ、アクセス回数が多い領域や、直近でアクセスが増加した領域を、優先的にバッファ４０３に蓄積する機能を有する。
【００２０】
次に、アクセス頻度管理機能４０１の動作について、図５のフローチャートに基づいて説明する。
ＯＳ１００からのＩＯ要求があると（ステップ５０１）、アクセス頻度管理テーブル４０２を読出し（ステップ５０２）、ＩＯ対象の領域がアクセス頻度の高い領域かどうかを判定する（ステップ５０３）。高頻度でなければ、ＨＤＤ１０６に直接アクセスし（ステップ５０４）、その結果をＯＳ１００に通知する（ステップ５０５）。ＯＳ１００は、この時点でＩＯ処理が終了する。
その後、アクセス頻度管理機能４０１は、今回のＩＯ要求に基づいてアクセス頻度管理テーブル４０２を更新し（ステップ５０６）、もし今回のＩＯ処理を行ったことで高頻度と判定されるようになったら（ステップ５０７）、該当の領域をバッファ４０３に追加する（ステップ５０８）。ステップ５０７の判定で、高頻度と判定されなければ、そのまま処理を終了する（ステップ５１４）。
【００２１】
また、ステップ５０３で、高頻度の領域に対するＩＯ要求であると判定した場合は、バッファ４０３にアクセスし（ステップ５０９）、その結果をＯＳ１００に通知する（ステップ５１０）。ＯＳ１００は、この時点でＩＯ処理が終了する。
その後、アクセス頻度管理機能４０１では、今回のＩＯ要求が書込みだった場合（ステップ５１１）、バッファ４０３の内容に従ってＨＤＤ１０６を更新する（ステップ５１２）。最後にアクセス頻度管理テーブル４０２を更新し（ステップ５１３）、処理を終了する（ステップ５１４）。
【００２２】
実施の形態３も、実施の形態１と同様、ＯＳ１００からのＩＯ要求の一部がＨＤＤ１０６にアクセスせずに完了するため、ＯＳ１００はＩＯの待ち時間無しで高速に動作できる。
また、実施の形態１と異なり、ＯＳ１００からのＩＯ要求に関係しないＨＤＤ１０６アクセスを行わないため、実施の形態１よりもハイパーバイザ１０１の動作が軽くなる。
【００２３】
実施の形態３によれば、メモリにＨＤＤをキャッシュするためのバッファを設け、ＨＤＤの高頻度のアクセス領域に対するＩＯ要求をバッファに対して行うようにすることで、ＯＳの動作と、ハイパーバイザの動作を早くすることができる。
【００２４】
実施の形態４．
以下に、この発明の実施の形態４を、図に基づいて説明する。
図６は、この発明の実施の形態４による情報処理装置を示す構成図である。
図６において、１００〜１０４、１０６は図１におけるものと、４０１〜４０３は図４におけるものとそれぞれ同一のものである。
【００２５】
実施の形態４は、実施の形態１と、実施の形態３の機能を組み合わせたものである。
ハイパーバイザ１０１に、先読み機能１０２（先読み手段）とアクセス頻度管理機能４０１（アクセス頻度管理手段）の両方の機能を持たせる。実施の形態４では、先読み機能１０２が、アクセス頻度管理テーブル４０２を参照して、アクセス頻度の高い領域をバッファ４０３に蓄積しておくようにする。
アクセス頻度管理機能４０１は、実施の形態３と同様に、ＯＳ１００からのＩＯ要求によるアクセスの統計を取り、アクセス頻度管理テーブル４０２に蓄積する。
アクセス頻度管理機能４０１は、ＯＳ１００からのＩＯ要求に対しては、実施の形態３と同様に動作し、高頻度の領域に対するＩＯ要求であれば、バッファ４０３に対するアクセスを実行する。
【００２６】
実施の形態４によれば、これにより、普段からアクセスの多い領域が優先してバッファに蓄積されるようになるため、より先読みの効果を期待できるようになる。
【００２７】
実施の形態５．
以下に、この発明の実施の形態５を、図に基づいて説明する。
図７は、この発明の実施の形態５による情報処理装置を示す構成図である。
図７において、１０１、１０４、１０６は図１におけるものと同一のものである。図７では、ＣＰＵはマルチコアＣＰＵ７０５であり、コア１（７０６）とコア２（７０７）を有している。これに対応して、ハイパーバイザ１０１上で、複数のＯＳ１（７０１）とＯＳ２（７０２）が動作する構成である。
また、コア１（７０６）とコア２（７０７）に対応して、ハイパーバイザ１０１には、先読み機能１（７０３）（先読み手段）と先読み機能２（７０４）（先読み手段）が設けられ、メモリ１０４には、先読み用バッファ１（７０８）と先読み用バッファ２（７０９）が設けられている。
なお、各先読み機能１、２と、各先読み用バッファ１、２は、実施の形態１と同様のものである。
【００２８】
実施の形態５は、実施の形態１を、マルチコアＣＰＵ７０５に対応して拡張したものである。
各コア１（７０６）、コア２（７０７）にそれぞれ別のＯＳ１（７０１）、ＯＳ２（７０２）を割り当てる非対称型マルチプロセッシング方式では、各ＯＳ１、２（７０１、７０２）がアクセスするＨＤＤ１０６の領域には相関がほとんど無いことから、各ＯＳ１、２（７０１、７０２）に対応して、それぞれ別の先読み機能１（７０３）、先読み機能２（７０４）と、先読み用バッファ１（７０８）、先読み用バッファ２（７０９）を設けている。
実施の形態５におけるＯＳ１（７０１）、先読み機能１（７０３）、コア１（７０６）、先読み用バッファ１（７０８）のグループと、ＯＳ２（７０２）、先読み機能２（７０４）、コア２（７０７）、先読み用バッファ２（７０９）のグループのそれぞれは、実施の形態１におけるものと同様に動作する。
【００２９】
実施の形態５によれば、これにより、ハイパーバイザは、コア数に応じた特別な改造を行うことなく、マルチコアＣＰＵに対応可能で、かつそれぞれのコア上で動作するＯＳに対して、実施の形態１と同様の効果を期待できる。
【００３０】
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。
【符号の説明】
【００３１】
１００  ＯＳ
１０１  ハイパーバイザ
１０２  先読み機能
１０３  ＣＰＵ
１０４  メモリ
１０５  先読み用バッファ
１０６  ＨＤＤ
３０１  ミラーリング機能
３０２  ＨＤＤ用バッファ
３０３  ＯＳ使用領域
４０１  アクセス頻度管理機能
４０２  アクセス頻度管理テーブル
４０３  バッファ
７０１  ＯＳ１
７０２  ＯＳ２
７０３  先読み機能１
７０４  先読み機能２
７０５  マルチコアＣＰＵ
７０６  コア１
７０７  コア２
７０８  先読み用バッファ１
７０９  先読み用バッファ２
【図１】
2013114369.tif 000003
【図２】
2013114369.tif 000004
【図３】
2013114369.tif 000005
【図４】
2013114369.tif 000006
【図５】
2013114369.tif 000007
【図６】
2013114369.tif 000008
【図７】
2013114369.tif 000009