JP6015887B2 - I/oデバイス共有システム、i/oデバイス共有方法、及びプログラム - Google Patents

I/oデバイス共有システム、i/oデバイス共有方法、及びプログラム Download PDF

Info

Publication number
JP6015887B2
JP6015887B2 JP2011195466A JP2011195466A JP6015887B2 JP 6015887 B2 JP6015887 B2 JP 6015887B2 JP 2011195466 A JP2011195466 A JP 2011195466A JP 2011195466 A JP2011195466 A JP 2011195466A JP 6015887 B2 JP6015887 B2 JP 6015887B2
Authority
JP
Japan
Prior art keywords
cache memory
access
access request
response data
increase rate
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.)
Active
Application number
JP2011195466A
Other languages
English (en)
Other versions
JP2013058049A (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 JP2011195466A priority Critical patent/JP6015887B2/ja
Publication of JP2013058049A publication Critical patent/JP2013058049A/ja
Application granted granted Critical
Publication of JP6015887B2 publication Critical patent/JP6015887B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、I/Oデバイス共有システムに関し、特に、I/Oアクセスリクエストのレスポンスを高速化する2段階キャッシュメモリを備えるI/Oデバイス共有システムに関する。
複数のサーバ装置と、サーバ装置を管理する管理端末を備えるコンピュータシステムにおいて、管理端末が備えるCDドライブやDVDドライブ等のI/Oデバイスを複数のサーバ間で共有するためのリモートメディア接続技術が知られている。このようなリモートメディア接続技術では、各サーバは、サーバの外部にネットワークを介して存在するI/Oデバイスに接続するリモートメディア制御部を備え、当該I/Oデバイスを、各サーバ上に仮想的に接続されたデバイスとして機能させる。
特開2010−134911号公報(特許文献1)では、複数のブレードサーバと、ブレード管理モジュールと、記憶媒体を含むメディア・トレーを備えるブレード・センタを、リモート管理端末装置によって管理する発明が開示されている。この発明では、リモート管理端末装置が、ブレード管理モジュールを介して、メディア・トレーの記憶媒体に、データ・ファイルを格納している。各ブレードサーバは、ブレード管理モジュールを介して、メディア・トレーの記憶媒体に格納されたデータ・ファイルにアクセスしている。
リモートメディア制御において、複数のサーバ装置でI/Oデバイスを共有すると、複数のサーバ装置からアクセスが集中することによって、様々な問題が発生することが知られている。
例えば、複数のブレードサーバに対して、一斉にOS(Operating System)をインストールしたい場合を考えると、一台の管理端末のCD/DVDドライブにOSインストール用CD/DVD媒体をセットしておき、ブレードサーバ群のサービスプロセッサ(SP)と、管理PCのリモートメディア制御部が連携させる方法がある。この方法を実現させる例としては、次のような方法がある。まず、管理端末のCD/DVDドライブを、各ブレードサーバ上に、USBデバイスとしてリモートメディア接続しておく。次に、ブレードサーバ群の電源を同時にONにすると、BIOS POSTを経て、リモートメディア接続中のCD/DVDメディアから、インストーラをブートさせることができる。これにより、各ブレードサーバのOSを一斉にインストールすることができる。
このとき、管理端末のOSでは、CD/DVDドライブに対して、複数のブレードサーバのサービスプロセッサからのSCSI(Small Computer System Interface)コマンドリクエストによるI/Oアクセスが頻繁に発生する。そのため、レスポンス処理全体の遅延が生じてしまい、OSのインストールがスムーズに進行しない。
上述の例では、CD/DVDドライブへのI/Oアクセスは、メインメモリアクセスと比較して処理が遅くなるため、レスポンス処理全体の遅延が生じてしまい、複数のサーバ装置に対するOSのインストールがスムーズに進行しない問題が発生する。
複数のサーバ装置でI/Oデバイスを共有することにより発生する問題についての2つ目の例としては、管理端末がストールしてしまう問題がある。その理由は、管理端末のリモートメディア制御部が保持している受信バッファ(キュー)容量よりも、多いI/Oアクセスリクエストが、各サーバのサービスプロセッサから、一度に集中して要求されるためである。結果的に、バッファオーバーフローにより、リモートメディア制御部の処理能力を超え、管理端末がストールしてしまう。
逆に、管理端末のリモートメディア制御部が保持している送信バッファ(キュー)容量よりも、多いI/Oアクセスリクエストのレスポンスが、一度に集中する場合もある。この場合においても、結果的に、バッファオーバーフローにより、リモートメディア制御部の処理能力を超え、管理端末がストールしてしまう。
複数のサーバ装置が同時にアクセスすることにより、I/Oデバイスに対するアクセスリクエストが集中しても、I/Oアクセスリクエストに対するレスポンスを遅延させないI/Oデバイス共有システムが必要とされている。
また、複数のサーバ装置のサービスプロセッサから、管理端末のI/Oデバイスに、I/Oアクセスリクエストが集中しても、バッファオーバーフローにより、I/Oアクセスリクエスト処理、又はI/Oアクセスレスポンス処理がストールしないI/Oデバイス共有システムが必要とされている。
特開2010−134911号公報
本発明の目的は、I/Oアクセスリクエストのレスポンス処理を高速化するI/Oデバイス共有システムを提供することにある。
本発明のI/Oデバイス共有システムは、複数のサーバ装置と、管理端末とを備える。管理端末は、複数のサーバ装置により共有されるI/Oデバイスと、1次キャッシュメモリと、2次キャッシュメモリと、I/Oアクセス高速化部とを備える。I/Oアクセス高速化部は、1次キャッシュメモリ、又は2次キャッシュメモリに記録されたI/Oアクセスリクエストのレスポンスデータを管理し、レスポンスデータが管理されていない場合に、I/Oデバイスにアクセスする。また、I/Oアクセス高速化部は、I/Oデバイスから取得したレスポンスデータを1次キャッシュメモリに記憶し、1次キャッシュメモリの容量に空きがなくなった場合には、I/Oデバイスに対するI/Oアクセスリクエストの受信頻度の傾向を表す増加率を算出し、増加率が最小のI/Oアクセスリクエストのレスポンスデータを、2次キャッシュメモリに移動し、2次キャッシュメモリの容量に空きがなくなった場合には、増加率が最小のI/Oアクセスリクエストのレスポンスデータを2次キャッシュメモリから削除する。
本発明のI/Oデバイス共有方法は、I/Oデバイス共有システムにより実施されるI/Oデバイス共有方法である。本発明のI/Oデバイス共有方法は、I/Oアクセス高速化部が、受信キューからI/Oアクセスリクエストを取得するステップと、I/Oアクセス高速化部が、前記I/Oアクセスリクエストに対応するレスポンスデータが、前記1次キャッシュメモリ、又は前記2次キャッシュメモリに記憶されているかどうかを確認するステップと、前記確認するステップで、前記レスポンスデータが、前記1次キャッシュメモリ、又は前記2次キャッシュメモリに記憶されている場合には、記憶されている前記レスポンスデータを、送信キューにエンキューするステップと、前記確認するステップで、前記レスポンスデータが、前記1次キャッシュメモリ、又は前記2次キャッシュメモリに記憶されていない場合には、I/Oアクセス高速化部が、I/Oデバイスにアクセスするステップと、I/Oアクセス高速化部が、前記アクセスするステップで取得した前記レスポンスデータを、送信キューにエンキューするステップと、I/Oアクセス高速化部が、前記アクセスするステップで取得した前記レスポンスデータを前記1次キャッシュメモリに記憶するステップと、1次キャッシュメモリの容量に空きがなくなった場合には、I/Oアクセス高速化部が、前記I/Oデバイスに対するI/Oアクセスリクエストの受信頻度の傾向を表す増加率を算出するステップと、I/Oアクセス高速化部が、前記増加率が最小の前記I/Oアクセスリクエストの前記レスポンスデータを、前記1次キャッシュメモリから、前記2次キャッシュメモリに移動するステップと、前記2次キャッシュメモリの容量に空きがなくなった場合には、I/Oアクセス高速化部が、前記増加率が最小の前記I/Oアクセスリクエストの前記レスポンスデータを前記2次キャッシュメモリから削除するステップとを含む。
本発明によれば、I/Oアクセスリクエストのレスポンス処理を高速化するI/Oデバイス共有システムを提供することができる。
図1は、本発明の実施形態におけるI/Oデバイス共有システムのネットワーク構成図である。 図2は、本発明の実施形態におけるI/Oデバイス共有システムに含まれる管理端末のブロック図である。 図3は、本発明の実施形態におけるキャッシュ管理テーブル17の例である。 図4は、本実施形態のI/Oデバイス共有システムにおけるレスポンスデータ返却方法のフローチャートである。 図5は、本実施形態のI/Oデバイス共有システムにおける1次キャッシュメモリ管理方法のフローチャートである。 図6は、本実施形態のI/Oデバイス共有システムにおいて、増加率の計算方法を説明するための図である。 図7は、本実施形態のI/Oデバイス共有システムにおいて、I/Oアクセスリクエストのコマンド番号00のコマンド受信回数の遷移を示す図である。 図8は、本実施形態のI/Oデバイス共有システムにおいて、I/Oアクセスリクエストのコマンド番号01のコマンド受信回数の遷移を示す図である。 図9は、本実施形態のI/Oデバイス共有システムにおける2次キャッシュメモリ管理方法のフローチャートである。
添付図面を参照して、本発明の実施形態によるI/Oデバイス共有システムを以下に説明する。
[構成の説明]
はじめに、本実施形態におけるI/Oデバイス共有システムの構成の説明を行う。図1は、本発明の実施形態におけるI/Oデバイス共有システムのネットワーク構成図である。本実施形態のI/Oデバイス共有システムは、管理端末1、及びN台のサーバ装置(サーバ装置2−1、サーバ装置2−2、・・・、サーバ装置2−N)で構成されるサーバ装置群2を備える。
管理端末1は、サーバ装置群2の管理者が、サーバ装置2−1、サーバ装置2−2、・・・、サーバ装置2−Nを管理するために使用する端末である。サーバ装置群2に含まれる各サーバは、クライアント端末からの所定のサービス要求に応答して、所定の処理を実行する。なお、各サーバ装置は、別々の筐体として構成されていなくてもよく、ブレードサーバのように1つの筐体に、複数のサーバ装置が含まれる構成であってもよい。本実施形態のI/Oデバイス共有システムでは、各サーバ装置が、管理端末1のI/Oデバイスを共有する。管理端末1は、2段階キャッシュメモリを備えることにより、管理端末1にI/Oアクセスリクエストが集中しても、レスポンスを遅延させない機能を持つ。
次に、管理端末1の構成について説明する。図2は、本発明の実施形態におけるI/Oデバイス共有システムに含まれる管理端末のブロック図である。管理端末1は、NIC11(Network Interface Card)、ドライバ層処理部12、バッファ15、I/Oアクセス高速化部16、1次キャッシュメモリ18、2次キャッシュメモリ19、及びI/Oデバイス20を備える。
NIC11は、管理端末1と、サーバ装置群2が、ネットワークを介して通信するためのネットワークインターフェースである。
ドライバ層処理部12は、ドライバ層に含まれる処理を行う処理部であり、管理端末1のOSが、NIC11、及びI/Oデバイス20を使用するために必要な処理が含まれる。
バッファ15は、受信キュー13、及び送信キュー14を備える。受信キュー13には、I/Oデバイス20に対するI/Oアクセスリクエストデータがエンキューされる。送信キュー14には、I/Oアクセスリクエストデータに対するレスポンスデータがエンキューされる。受信キュー13、及び送信キュー14は、サーバ装置群2に含まれる各サーバ装置に対して、個別に用意してもよい。I/Oアクセスリクエストの例としては、SCSIコマンドリクエストがある。
I/Oアクセス高速化部16は、キャッシュ管理テーブル17を備える。I/Oアクセス高速化部16は、キャッシュ管理テーブル17を使用して、1次キャッシュメモリ18、及び2次キャッシュメモリ19に記憶するレスポンスデータを管理する。
図3は、本発明の実施形態におけるキャッシュ管理テーブル17の例である。キャッシュ管理テーブル17は、コマンド番号フィールド、パラメータフィールド、キャッシュフィールド、及びレスポンスデータアドレスフィールドを含む。
コマンド番号フィールドには、I/Oアクセスリクエストの種類(コマンド)を識別する番号が設定される。パラメータフィールドには、コマンドに指定されたパラメータが設定される。キャッシュフィールドには、レスポンスデータの記憶先が設定され、“1”は、該当のレスポンスデータが、1次キャッシュメモリに記憶されていることを示し、“2”は、該当のレスポンスデータが、2次キャッシュメモリに記憶されていることを示す。レスポンスデータアドレスフィールドには、該当のレスポンスデータが、記憶されている箇所の開始アドレスと終了アドレスが設定される。
I/Oアクセス高速化部16は、1次キャッシュメモリ18、及び2次キャッシュメモリ19を効果的に使用することにより、I/Oデバイス20に対するアクセスリクエストが集中しても、レスポンスを遅延させない機能を実現する。
1次キャッシュメモリ18は、使用頻度の高いI/Oアクセスリクエストに対するレスポンスデータを記憶する。
2次キャッシュメモリ19は、使用頻度の低いI/Oアクセスリクエストに対するレスポンスデータを記憶する。
I/Oデバイス20は、CDドライブ、DVDドライブ等のドライブや、USB(Universal Serial Bus)接続の外部装置等である。
[動作方法の説明]
次に、本実施形態のI/Oデバイス共有システムにおいて、I/Oデバイス共有方法の説明を行う。図4は、本実施形態のI/Oデバイス共有システムにおけるレスポンスデータ返却方法のフローチャートである。
(ステップS1)
管理端末1のNIC11が、I/Oアクセスリクエストを受信する。I/Oアクセスリクエストは、ドライバ層処理部12を介して、バッファ15の受信キュー13にエンキューされる。I/Oアクセス高速化部16は、受信キュー13から、I/Oアクセスリクエストを取り出す。
(ステップS2)
I/Oアクセス高速化部16は、キャッシュ管理テーブル17を参照して、I/Oアクセスリクエストに対応するレスポンスデータが、1次キャッシュメモリ、又は2次キャッシュメモリに存在するかどうかを確認する。I/Oアクセス高速化部16は、1次キャッシュメモリ、又は2次キャッシュメモリにレスポンスデータがある場合には、ステップS3の処理に進み、レスポンスデータがない場合には、ステップS4の処理に進む。
(ステップS3)
I/Oアクセス高速化部16は、1次キャッシュメモリ、又は2次キャッシュメモリにキャッシュされているレスポンスデータを取得し、バッファ15の送信キュー14に、当該レスポンスデータをエンキューする。
(ステップS4)
I/Oアクセス高速化部16は、ドライバ層処理部12を介して、I/Oデバイス20にアクセスする。I/Oアクセス高速化部16は、ドライバ層処理部12を介して、I/Oデバイス20からレスポンスデータを受信する。
(ステップS5)
I/Oアクセス高速化部16は、レスポンスデータを、バッファ15の送信キュー14にエンキューする。
(ステップS6)
I/Oアクセス高速化部16は、実際にI/Oデバイスにアクセスすることにより取得されたレスポンスデータを、1次キャッシュメモリに格納し、当該レスポンスデータに対応するキャッシュ管理テーブル17のレコードを登録する。
次に、本実施形態のI/Oデバイス共有システムにおける1次キャッシュメモリ管理方法について説明する。図5は、本実施形態のI/Oデバイス共有システムにおける1次キャッシュメモリ管理方法のフローチャートである。
(ステップS11)
I/Oアクセス高速化部16は、I/Oアクセスリクエストの種類(コマンド)毎に、時刻T(n)から時刻T(n+1)までの所定の間に受信した回数を記録する。ここで、nは整数であり、例えば、T(0)→T(1)、T(1)→T(2)、・・・と所定の時間間隔毎に、コマンド毎に、I/Oアクセスリクエストの受信回数を記録する。所定の時間間隔は、I/Oデバイスのアクセス頻度や、処理負荷等に基づいて、当業者によって適宜、変更することができる。
(ステップS12)
I/Oアクセス高速化部16は、1次キャッシュメモリの記憶容量に空きがあるかどうかを確認し、記憶容量に空きがある場合には、ステップS11の処理に戻り、記憶容量に空きがない場合には、ステップS13の処理に進む。
(ステップS13)
I/Oアクセス高速化部16は、キャッシュ管理テーブル17、及びステップS11において、所定の時間毎、かつコマンド毎に記録していた受信回数を使用して増加率を算出する。
図6は、本実施形態のI/Oデバイス共有システムにおいて、増加率の計算方法を説明するための図である。
I/Oアクセス高速化部16は、現在時刻から遡って、最新の4回の計測期間における各コマンドのリクエスト受信回数を使用して、受信頻度の傾向を表す増加率を計算する。本実施形態では、最新の4回の計測期間を使用しているが、増加率の計算に使用する計測期間の回数は、4回でなくてもよい。図6におけるコマンド番号00、及びコマンド番号01の場合を例にして、この増加率の計算方法について説明する。
はじめに、I/Oアクセス高速化部16は、コマンド番号00のコマンドの受信回数の計測結果、T(0)→T(1)(400回)、T(1)→T(2)(395回)、T(2)→T(3)(390回)、及びT(3)→T(4)(380回)において、T(0)→T(1)における受信回数の値(400)を選択する。
次に、I/Oアクセス高速化部16は、他計測間隔(T1→T2、T2→T3、T3→T4)でも同じ値だった場合を仮定した基準(つまり増加率1)として、(400+395+390+380)/(400×4)=1565/1600=0.97により増加率を算出する。図7は、本実施形態のI/Oデバイス共有システムにおいて、I/Oアクセスリクエストのコマンド番号00のコマンドの受信回数の遷移を示す図である。
コマンド番号01のコマンドについても同様に、I/Oアクセス高速化部16は、(2+6+7+9)/(2×4)=24/8=3.00により増加率を算出する。図8は、本実施形態のI/Oデバイス共有システムにおいて、I/Oアクセスリクエストのコマンド番号01のコマンド受信回数の遷移を示す図である。
I/Oアクセス高速化部16は、コマンドA、B、Cについても同様に、それぞれのリクエスト回数の最大値10回、20回、14回を基準にして増加率を計算し、それぞれ1.25、0.45、0.65を算出する。
本実施形態では、4回の計測期間を使用して増加率を計算したが、N回(N>1)の計測期間を使用して増加率を計算する場合の計算式は、以下のようになる。
Figure 0006015887
(ステップS14)
I/Oアクセス高速化部16は、最小の増加率を有するコマンドが1つであるかどうかを確認し、当該コマンドが1つである場合には、ステップS15の処理に進み、当該コマンドが2つ以上ある場合には、ステップS16の処理に進む。
(ステップS15)
I/Oアクセス高速化部16は、最小の増加率を有するコマンドのレスポンスデータを、1次キャッシュメモリ18から、2次キャッシュメモリ19に移動する。
(ステップS16)
I/Oアクセス高速化部16は、最小の増加率を有する複数のコマンドの中から、ランダムで1つのコマンドを選択し、当該コマンドのレスポンスデータを、1次キャッシュメモリ18から、2次キャッシュメモリ19に移動する。
(ステップS17)
I/Oアクセス高速化部16は、計測サイクル(T(n)→T(n+1)の受信回数の記録)を再開する。
次に、本実施形態のI/Oデバイス共有システムにおける2次キャッシュメモリ管理方法について説明する。図9は、本実施形態のI/Oデバイス共有システムにおける2次キャッシュメモリ管理方法のフローチャートである。
(ステップS21)
I/Oアクセス高速化部16は、I/Oアクセスリクエストの種類(コマンド)毎に、時刻T(n)から時刻T(n+1)までの所定の間に受信した回数を記録する。ここで、nは整数であり、例えば、T(0)→T(1)、T(1)→T(2)、・・・と所定の時間毎に、コマンド毎に、I/Oアクセスリクエストの受信回数を記録する。所定の時間間隔は、I/Oデバイスのアクセス頻度や、処理負荷等に基づいて、当業者によって適宜、変更することができる。
(ステップS22)
I/Oアクセス高速化部16は、2次キャッシュメモリの記憶容量に空きがあるかどうかを確認し、記憶容量に空きがある場合には、ステップS21の処理に戻り、記憶容量に空きがない場合には、ステップS23の処理に進む。
(ステップS23)
I/Oアクセス高速化部16は、キャッシュ管理テーブル17、及びステップS21において、所定の時間毎、かつコマンド毎に記録していた受信回数を使用して、受信頻度の傾向を表す増加率を算出する。増加率の計算方法の説明は、図6を用いて説明した1次キャッシュメモリの場合と同様であるため省略する。
(ステップS24)
I/Oアクセス高速化部16は、最小の増加率を有するコマンドが1つであるかどうかを確認し、当該コマンドが1つである場合には、ステップS25の処理に進み、当該コマンドが2つ以上ある場合には、ステップS26の処理に進む。
(ステップS25)
I/Oアクセス高速化部16は、最小の増加率を有するコマンドのレスポンスデータを、2次キャッシュメモリ19から削除する。
(ステップS26)
I/Oアクセス高速化部16は、最小の増加率を有する複数のコマンドの中から、ランダムで1つのコマンドを選択し、当該コマンドのレスポンスデータを、1次キャッシュメモリ19から削除する。
(ステップS27)
I/Oアクセス高速化部16は、計測サイクル(T(n)→T(n+1)の受信回数の記録)を再開する。
本発明の実施形態によれば、例えば、CD/DVDドライブに対するSCSIリクエストにおいて、複数のサーバ装置からSCSIリクエストが集中しても、キャッシュレスポンスデータがあれば、CD/DVDドライブにアクセスしないため、レスポンスの遅延を防ぐことができる。
本発明の実施形態によれば、例えば、管理端末のI/Oデバイスを利用して、ネットワーク経由で、フロアのサーバ装置群の各サーバ装置に、OSを同時にリモートインストールする際に、I/Oアクセスリクエストの応答待ちによるインストールプロセスの遅延を防ぐことができる。
本発明の実施形態によれば、I/Oアクセスリクエストの増加率に基づいて、1次キャッシュメモリ、及び2次キャッシュメモリに格納されているキャッシュレスポンスデータを管理しているため、キャッシュヒット率を上げることができる。
本発明の実施形態によれば、2次キャッシュメモリよりも1次キャッシュメモリのヒット率の方が高い状態を維持できるため、1次キャッシュメモリには、高速なメモリを使用し、2次キャッシュメモリには、1次キャッシュメモリよりも性能の劣るメモリを使用する構成を考えることができる。このような構成にすることにより、合理的に、性能と実装費用についての折り合いをつけることができる。
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
1 管理端末
2 サーバ装置群(サーバ装置2−1、・・・、サーバ装置2−N)
11 NIC
12 ドライバ層処理部
13 受信キュー
14 送信キュー
15 バッファ
16 I/Oアクセス高速化部
17 キャッシュ管理テーブル
18 1次キャッシュメモリ
19 2次キャッシュメモリ
20 I/Oデバイス

Claims (7)

  1. 複数のサーバ装置と、管理端末とを備え、
    前記管理端末は、
    前記複数のサーバ装置により共有される少なくとも一つのI/Oデバイスと、
    1次キャッシュメモリと、
    2次キャッシュメモリと、
    前記1次キャッシュメモリ、又は前記2次キャッシュメモリに記録されたI/Oアクセスリクエストのレスポンスデータを管理するI/Oアクセス高速化部であって、前記レスポンスデータが管理されていない場合に、前記I/OデバイスにアクセスするI/Oアクセス高速化部と
    を備え、
    前記I/Oアクセス高速化部は、
    前記I/Oデバイスから取得した前記レスポンスデータを前記1次キャッシュメモリに記憶し、
    前記1次キャッシュメモリの容量に空きがなくなった場合には、前記I/Oデバイスに対するI/Oアクセスリクエストの受信頻度の傾向を表す増加率をI/Oアクセスリクエストの種類毎に算出し、前記I/Oアクセスリクエストの種類毎に算出された複数の増加率の中から、最も増加率の小さいI/Oアクセスリクエストに対応する前記レスポンスデータを前記1次キャッシュメモリから前記2次キャッシュメモリに移動させ
    前記2次キャッシュメモリの容量に空きがなくなった場合には、前記最も増加率の小さいI/Oアクセスリクエストに対応するレスポンスデータを前記2次キャッシュメモリから削除し、
    更に前記I/Oアクセス高速化部は、前記I/Oデバイスが複数ある場合において、前記最も増加率の小さい前記I/Oアクセスリクエストが複数存在するときには、前記1次キャッシュメモリの容量に空きがなくなった場合でも、前記2次キャッシュメモリの容量に空きがなくなった場合でも、複数存在する前記最も増加率の小さいI/Oアクセスリクエストの中から、ランダムに1つを選択する
    I/Oデバイス共有システム。
  2. 前記I/Oアクセス高速化部は、
    キャッシュ管理テーブルを更に備え、
    前記キャッシュ管理テーブルのレコードは、前記I/Oアクセスリクエストの種類を設定するコマンド番号フィールド、前記I/Oアクセスリクエストに設定されているパラメータを設定するパラメータフィールド、前記1次キャッシュメモリ、又は前記2次キャッシュメモリのどちらかに記憶されているかを示す情報を設定するキャッシュフィールド、及びレスポンスデータが格納されているアドレス情報を設定するレスポンスデータアドレスフィールドを含む
    請求項1に記載のI/Oデバイス共有システム。
  3. 前記I/Oアクセス高速化部は、
    所定の時間間隔T(n)→T(n+1)、及び前記I/Oアクセスリクエストの種類毎に、前記I/Oアクセスリクエストの受信回数を記録し、最新のN回(N>1)の前記時間間隔T(n)→T(n+1)について、前記I/Oアクセスリクエストの前記増加率を
    Figure 0006015887
    により算出する
    請求項1又は2に記載のI/Oデバイス共有システム。
  4. I/Oデバイス共有システムを用いるI/Oデバイス共有方法であって、
    前記I/Oデバイス共有システムは、複数のサーバ装置と、管理端末とを備え、
    前記管理端末は、
    前記複数のサーバ装置により共有される少なくとも一つのI/Oデバイスと、
    1次キャッシュメモリと、
    2次キャッシュメモリと、
    前記1次キャッシュメモリ、又は前記2次キャッシュメモリに記録されたI/Oアクセスリクエストのレスポンスデータを管理するI/Oアクセス高速化部と
    を備え、
    前記I/Oデバイス共有方法は、
    (A)前記レスポンスデータが管理されているかどうかを前記I/Oアクセス高速化部が確認するステップと、
    (B)前記(A)のステップの結果、前記レスポンスデータが管理されていない場合に、前記I/Oアクセス高速化部が前記I/Oデバイスにアクセスするステップと、
    (C)前記I/Oデバイスにアクセスすることにより前記I/Oデバイスから取得した前記レスポンスデータを前記I/Oアクセス高速化部が前記1次キャッシュメモリに記憶するステップと、
    (D)前記1次キャッシュメモリの容量に空きがなくなった場合には、前記I/Oアクセス高速化部が、前記I/Oデバイスに対するI/Oアクセスリクエストの受信頻度の傾向を表す増加率をI/Oアクセスリクエストの種類毎に算出するステップと、
    (E)前記1次キャッシュメモリの容量に空きがなくなった場合には、前記I/Oアクセスリクエストの種類毎に算出された複数の増加率の中から、最も増加率の小さいI/Oアクセスリクエストに対応するレスポンスデータを前記I/Oアクセス高速化部が前記1次キャッシュメモリから前記2次キャッシュメモリに移動させるステップと、
    (F)前記2次キャッシュメモリの容量に空きがなくなった場合には、前記I/Oアクセス高速化部が、前記I/Oデバイスに対するI/Oアクセスリクエストの受信頻度の傾向を表す増加率をI/Oアクセスリクエストの種類毎に算出するステップと、
    (G)前記2次キャッシュメモリの容量に空きがなくなった場合には、前記最も増加率の最も小さいI/Oアクセスリクエストに対応するレスポンスデータを前記2次キャッシュメモリから削除するステップと、
    (H)前記I/Oデバイスが複数ある場合において、前記最も増加率の小さいI/Oアクセスリクエストが複数存在するときには、前記1次キャッシュメモリの容量に空きがなくなった場合でも、前記2次キャッシュメモリの容量に空きがなくなった場合でも、複数存在する前記最も増加率の小さいI/Oアクセスリクエストの中から、ランダムに1つを前記I/Oアクセス高速化部が選択するステップと
    を含むI/Oデバイス共有方法。
  5. 前記I/Oアクセス高速化部は、
    キャッシュ管理テーブルを更に備え、
    前記キャッシュ管理テーブルのレコードは、前記I/Oアクセスリクエストの種類を設定するコマンド番号フィールド、前記I/Oアクセスリクエストに設定されているパラメータを設定するパラメータフィールド、前記1次キャッシュメモリ、又は前記2次キャッシュメモリのどちらかに記憶されているかを示す情報を設定するキャッシュフィールド、及びレスポンスデータが格納されているアドレス情報を設定するレスポンスデータアドレスフィールドを含み、
    前記(A)のステップは、前記キャッシュ管理テーブルに基づいて、前記1次キャッシュメモリ、又は前記2次キャッシュメモリに記憶されているかどうかを前記I/Oアクセス高速化部が確認する
    請求項4に記載のI/Oデバイス共有方法。
  6. 前記(D)のステップおよび前記(F)のステップは、
    前記I/Oアクセス高速化部が、所定の時間間隔T(n)→T(n+1)、及び前記I/Oアクセスリクエストの種類毎に、前記I/Oアクセスリクエストの受信回数を記録するステップと、
    前記I/Oアクセス高速化部が、最新のN回(N>1)の前記時間間隔T(n)→T(n+1)について、前記I/Oアクセスリクエストの前記増加率を
    Figure 0006015887
    により算出するステップと
    を含む請求項4又は5に記載のI/Oデバイス共有方法。
  7. 請求項4乃至6のいずれか1項に記載のI/Oデバイス共有方法をコンピュータに実行させるためのプログラム。
JP2011195466A 2011-09-07 2011-09-07 I/oデバイス共有システム、i/oデバイス共有方法、及びプログラム Active JP6015887B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011195466A JP6015887B2 (ja) 2011-09-07 2011-09-07 I/oデバイス共有システム、i/oデバイス共有方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011195466A JP6015887B2 (ja) 2011-09-07 2011-09-07 I/oデバイス共有システム、i/oデバイス共有方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2013058049A JP2013058049A (ja) 2013-03-28
JP6015887B2 true JP6015887B2 (ja) 2016-10-26

Family

ID=48133897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011195466A Active JP6015887B2 (ja) 2011-09-07 2011-09-07 I/oデバイス共有システム、i/oデバイス共有方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6015887B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08179976A (ja) * 1994-12-20 1996-07-12 Oki Electric Ind Co Ltd データベースサーバシステム
JP2000010740A (ja) * 1998-06-26 2000-01-14 Hitachi Ltd 階層記憶管理システム
JP2000353125A (ja) * 1999-06-09 2000-12-19 Nec Software Shikoku Ltd ストレージシステム、情報処理装置
JP3742071B2 (ja) * 2003-06-02 2006-02-01 株式会社日立製作所 記憶システム
JP2006252019A (ja) * 2005-03-09 2006-09-21 Hitachi Ltd ストレージネットワークシステム
US20120198159A1 (en) * 2009-10-14 2012-08-02 Panasonic Corporation Information processing device

Also Published As

Publication number Publication date
JP2013058049A (ja) 2013-03-28

Similar Documents

Publication Publication Date Title
US20150161043A1 (en) Storage control apparatus and storage control method
US10642755B2 (en) Invoking demote threads on processors to demote tracks from a cache based on free cache segments
CN105637470B (zh) 用于脏数据管理的方法和计算设备
CN102117248A (zh) 一种缓存系统和在缓存系统中缓存数据的方法
CN108733310B (zh) 用于管理存储系统的方法、设备和计算机可读存储介质
US8914582B1 (en) Systems and methods for pinning content in cache
US9645747B2 (en) Management of allocation for alias devices
CN110362517B (zh) 用于动态地调整在计算设备和存储设备之间传输i/o请求的方式的技术
JP4332126B2 (ja) キャッシング制御プログラム、キャッシング制御装置およびキャッシング制御方法
WO2014206078A1 (zh) 内存访问方法、装置及系统
US9189477B2 (en) Managing direct attached cache and remote shared cache
JP5521610B2 (ja) 入出力制御装置、入出力制御方法
CN113031857B (zh) 数据写入方法、装置、服务器及存储介质
KR20190018730A (ko) 캐시 엔트리 전송을 위한 캐시 위치 정보를 저장하기 위한 시스템 및 방법
CN109478126B (zh) 计算设备中的在外部管理的i/o饥饿避免
US7484217B2 (en) Method for automatic adjustment of time a consumer waits to access data from a queue during a waiting phase and transmission phase at the queue
JP2017027301A (ja) ストレージ制御装置、階層化ストレージ制御プログラム、階層化ストレージ制御方法
JP6015887B2 (ja) I/oデバイス共有システム、i/oデバイス共有方法、及びプログラム
US9223703B2 (en) Allocating enclosure cache in a computing system
US11687443B2 (en) Tiered persistent memory allocation
US10169235B2 (en) Methods of overriding a resource retry
JP2014174597A (ja) インメモリ型分散データベース、データ分散方法及びプログラム
JP4857338B2 (ja) 複数の処理ユニットに用いるためのリモート・メディア・キャッシュ最適化システム、方法及びコンピュータ・プログラム
US20170318114A1 (en) Methods for managing multi-level flash storage and devices thereof
CN114760327B (zh) 云盘资源配置的调整方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140813

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150529

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160331

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160913

R150 Certificate of patent or registration of utility model

Ref document number: 6015887

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150