JP6015887B2 - I/oデバイス共有システム、i/oデバイス共有方法、及びプログラム - Google Patents
I/oデバイス共有システム、i/oデバイス共有方法、及びプログラム Download PDFInfo
- 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
Links
Images
Description
はじめに、本実施形態におけるI/Oデバイス共有システムの構成の説明を行う。図1は、本発明の実施形態におけるI/Oデバイス共有システムのネットワーク構成図である。本実施形態のI/Oデバイス共有システムは、管理端末1、及びN台のサーバ装置(サーバ装置2−1、サーバ装置2−2、・・・、サーバ装置2−N)で構成されるサーバ装置群2を備える。
次に、本実施形態のI/Oデバイス共有システムにおいて、I/Oデバイス共有方法の説明を行う。図4は、本実施形態のI/Oデバイス共有システムにおけるレスポンスデータ返却方法のフローチャートである。
管理端末1のNIC11が、I/Oアクセスリクエストを受信する。I/Oアクセスリクエストは、ドライバ層処理部12を介して、バッファ15の受信キュー13にエンキューされる。I/Oアクセス高速化部16は、受信キュー13から、I/Oアクセスリクエストを取り出す。
I/Oアクセス高速化部16は、キャッシュ管理テーブル17を参照して、I/Oアクセスリクエストに対応するレスポンスデータが、1次キャッシュメモリ、又は2次キャッシュメモリに存在するかどうかを確認する。I/Oアクセス高速化部16は、1次キャッシュメモリ、又は2次キャッシュメモリにレスポンスデータがある場合には、ステップS3の処理に進み、レスポンスデータがない場合には、ステップS4の処理に進む。
I/Oアクセス高速化部16は、1次キャッシュメモリ、又は2次キャッシュメモリにキャッシュされているレスポンスデータを取得し、バッファ15の送信キュー14に、当該レスポンスデータをエンキューする。
I/Oアクセス高速化部16は、ドライバ層処理部12を介して、I/Oデバイス20にアクセスする。I/Oアクセス高速化部16は、ドライバ層処理部12を介して、I/Oデバイス20からレスポンスデータを受信する。
I/Oアクセス高速化部16は、レスポンスデータを、バッファ15の送信キュー14にエンキューする。
I/Oアクセス高速化部16は、実際にI/Oデバイスにアクセスすることにより取得されたレスポンスデータを、1次キャッシュメモリに格納し、当該レスポンスデータに対応するキャッシュ管理テーブル17のレコードを登録する。
I/Oアクセス高速化部16は、I/Oアクセスリクエストの種類(コマンド)毎に、時刻T(n)から時刻T(n+1)までの所定の間に受信した回数を記録する。ここで、nは整数であり、例えば、T(0)→T(1)、T(1)→T(2)、・・・と所定の時間間隔毎に、コマンド毎に、I/Oアクセスリクエストの受信回数を記録する。所定の時間間隔は、I/Oデバイスのアクセス頻度や、処理負荷等に基づいて、当業者によって適宜、変更することができる。
I/Oアクセス高速化部16は、1次キャッシュメモリの記憶容量に空きがあるかどうかを確認し、記憶容量に空きがある場合には、ステップS11の処理に戻り、記憶容量に空きがない場合には、ステップS13の処理に進む。
I/Oアクセス高速化部16は、キャッシュ管理テーブル17、及びステップS11において、所定の時間毎、かつコマンド毎に記録していた受信回数を使用して増加率を算出する。
I/Oアクセス高速化部16は、最小の増加率を有するコマンドが1つであるかどうかを確認し、当該コマンドが1つである場合には、ステップS15の処理に進み、当該コマンドが2つ以上ある場合には、ステップS16の処理に進む。
I/Oアクセス高速化部16は、最小の増加率を有するコマンドのレスポンスデータを、1次キャッシュメモリ18から、2次キャッシュメモリ19に移動する。
I/Oアクセス高速化部16は、最小の増加率を有する複数のコマンドの中から、ランダムで1つのコマンドを選択し、当該コマンドのレスポンスデータを、1次キャッシュメモリ18から、2次キャッシュメモリ19に移動する。
I/Oアクセス高速化部16は、計測サイクル(T(n)→T(n+1)の受信回数の記録)を再開する。
I/Oアクセス高速化部16は、I/Oアクセスリクエストの種類(コマンド)毎に、時刻T(n)から時刻T(n+1)までの所定の間に受信した回数を記録する。ここで、nは整数であり、例えば、T(0)→T(1)、T(1)→T(2)、・・・と所定の時間毎に、コマンド毎に、I/Oアクセスリクエストの受信回数を記録する。所定の時間間隔は、I/Oデバイスのアクセス頻度や、処理負荷等に基づいて、当業者によって適宜、変更することができる。
I/Oアクセス高速化部16は、2次キャッシュメモリの記憶容量に空きがあるかどうかを確認し、記憶容量に空きがある場合には、ステップS21の処理に戻り、記憶容量に空きがない場合には、ステップS23の処理に進む。
I/Oアクセス高速化部16は、キャッシュ管理テーブル17、及びステップS21において、所定の時間毎、かつコマンド毎に記録していた受信回数を使用して、受信頻度の傾向を表す増加率を算出する。増加率の計算方法の説明は、図6を用いて説明した1次キャッシュメモリの場合と同様であるため省略する。
I/Oアクセス高速化部16は、最小の増加率を有するコマンドが1つであるかどうかを確認し、当該コマンドが1つである場合には、ステップS25の処理に進み、当該コマンドが2つ以上ある場合には、ステップS26の処理に進む。
I/Oアクセス高速化部16は、最小の増加率を有するコマンドのレスポンスデータを、2次キャッシュメモリ19から削除する。
I/Oアクセス高速化部16は、最小の増加率を有する複数のコマンドの中から、ランダムで1つのコマンドを選択し、当該コマンドのレスポンスデータを、1次キャッシュメモリ19から削除する。
I/Oアクセス高速化部16は、計測サイクル(T(n)→T(n+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)
- 複数のサーバ装置と、管理端末とを備え、
前記管理端末は、
前記複数のサーバ装置により共有される少なくとも一つの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デバイス共有システム。 - 前記I/Oアクセス高速化部は、
キャッシュ管理テーブルを更に備え、
前記キャッシュ管理テーブルのレコードは、前記I/Oアクセスリクエストの種類を設定するコマンド番号フィールド、前記I/Oアクセスリクエストに設定されているパラメータを設定するパラメータフィールド、前記1次キャッシュメモリ、又は前記2次キャッシュメモリのどちらかに記憶されているかを示す情報を設定するキャッシュフィールド、及びレスポンスデータが格納されているアドレス情報を設定するレスポンスデータアドレスフィールドを含む
請求項1に記載のI/Oデバイス共有システム。 - 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デバイス共有方法。 - 前記I/Oアクセス高速化部は、
キャッシュ管理テーブルを更に備え、
前記キャッシュ管理テーブルのレコードは、前記I/Oアクセスリクエストの種類を設定するコマンド番号フィールド、前記I/Oアクセスリクエストに設定されているパラメータを設定するパラメータフィールド、前記1次キャッシュメモリ、又は前記2次キャッシュメモリのどちらかに記憶されているかを示す情報を設定するキャッシュフィールド、及びレスポンスデータが格納されているアドレス情報を設定するレスポンスデータアドレスフィールドを含み、
前記(A)のステップでは、前記キャッシュ管理テーブルに基づいて、前記1次キャッシュメモリ、又は前記2次キャッシュメモリに記憶されているかどうかを前記I/Oアクセス高速化部が確認する
請求項4に記載のI/Oデバイス共有方法。 - 請求項4乃至6のいずれか1項に記載のI/Oデバイス共有方法をコンピュータに実行させるためのプログラム。
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)
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 |
-
2011
- 2011-09-07 JP JP2011195466A patent/JP6015887B2/ja active Active
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 |