JP2002007178A - バッファサイズ設定装置及びバッファサイズ設定方法 - Google Patents
バッファサイズ設定装置及びバッファサイズ設定方法Info
- Publication number
- JP2002007178A JP2002007178A JP2000187852A JP2000187852A JP2002007178A JP 2002007178 A JP2002007178 A JP 2002007178A JP 2000187852 A JP2000187852 A JP 2000187852A JP 2000187852 A JP2000187852 A JP 2000187852A JP 2002007178 A JP2002007178 A JP 2002007178A
- Authority
- JP
- Japan
- Prior art keywords
- buffer size
- buffer
- storage device
- data
- overhead time
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【課題】 バッファサイズを設定するとき、対象となる
データをバッファサイズ単位で書込み読出すときに発生
する合計のオーバヘッドタイムと、各階層の記憶装置の
間でのデータの授受のときに発生するオーバヘットタイ
ムとを考慮する必要があるが、従来はその双方を考慮し
た設定がなされていなかったため、データ処理性能が向
上しなかった。また従来は、システムでバッファサイズ
が固定されていたため、プログラムの処理単位でバッフ
ァサイズの設定を行うことができなかった。 【解決手段】 対象となるデータをバッファサイズ単位
で書込み読出すときに発生する合計のオーバヘッドタイ
ムと各階層の記憶装置間でのデータの授受のときに発生
するオーバヘットタイムとの変化の経緯により、複数の
変化点を見出し、その複数の変化点での合算したオーバ
ヘッドタイムを算出し、合算したオーバヘッドタイムが
最小になる変化点でのバッファサイズにバッファを設定
することで、記憶装置を使用するプログラムの処理単位
で最適なバッファサイズを設定し、データ処理性能向上
を行うことができる
データをバッファサイズ単位で書込み読出すときに発生
する合計のオーバヘッドタイムと、各階層の記憶装置の
間でのデータの授受のときに発生するオーバヘットタイ
ムとを考慮する必要があるが、従来はその双方を考慮し
た設定がなされていなかったため、データ処理性能が向
上しなかった。また従来は、システムでバッファサイズ
が固定されていたため、プログラムの処理単位でバッフ
ァサイズの設定を行うことができなかった。 【解決手段】 対象となるデータをバッファサイズ単位
で書込み読出すときに発生する合計のオーバヘッドタイ
ムと各階層の記憶装置間でのデータの授受のときに発生
するオーバヘットタイムとの変化の経緯により、複数の
変化点を見出し、その複数の変化点での合算したオーバ
ヘッドタイムを算出し、合算したオーバヘッドタイムが
最小になる変化点でのバッファサイズにバッファを設定
することで、記憶装置を使用するプログラムの処理単位
で最適なバッファサイズを設定し、データ処理性能向上
を行うことができる
Description
【0001】
【発明の属する技術分野】本発明は、アクセス時間が異
なる多階層からなる記憶装置を有するシステムにおい
て、記憶装置を使用する処理単位で最適なバッファサイ
ズにバッファを設定するバッファサイズ設定装置に関す
るものである。
なる多階層からなる記憶装置を有するシステムにおい
て、記憶装置を使用する処理単位で最適なバッファサイ
ズにバッファを設定するバッファサイズ設定装置に関す
るものである。
【0002】
【従来の技術】特開平7−175723には、従来のソ
フトウェアキャッシュ制御方式が示されている。図10
は、従来のソフトウェアキャッシュ制御方式を示すブロ
ック図であるが、履歴情報採取手段66は、ソフトウェ
アキャッシュ61〜61nの各々のキャッシュサイズを
変化させ、ファイル62〜62nにアクセスがある際の
キャッシュサイズとアクセス速度の対応を履歴情報格納
部64に格納する。キャッシュサイズ決定手段67は、
履歴情報格納部64の情報により各キャッシュサイズに
対応する平均アクセス速度を算出し、最速の平均アクセ
ス速度となるキャッシュサイズをキャッシュサイズ格納
部63に格納し、それを運用時のキャッシュサイズとし
ている。
フトウェアキャッシュ制御方式が示されている。図10
は、従来のソフトウェアキャッシュ制御方式を示すブロ
ック図であるが、履歴情報採取手段66は、ソフトウェ
アキャッシュ61〜61nの各々のキャッシュサイズを
変化させ、ファイル62〜62nにアクセスがある際の
キャッシュサイズとアクセス速度の対応を履歴情報格納
部64に格納する。キャッシュサイズ決定手段67は、
履歴情報格納部64の情報により各キャッシュサイズに
対応する平均アクセス速度を算出し、最速の平均アクセ
ス速度となるキャッシュサイズをキャッシュサイズ格納
部63に格納し、それを運用時のキャッシュサイズとし
ている。
【0003】また、従来の記憶装置を使用するプログラ
ムの処理単位でのバッファサイズ調整方法を図9にて説
明する。図9は、従来の記憶装置を使用するデータ処理
のブロック図を示している。図9において、書込手段5
2はデータをバッファ53に書き、読出し手段54はバ
ッファ53からデータを読む。書込手段52と読出し手
段54はバッファ53を介してデータを受け渡し、この
バッファ53のサイズによって、1回に処理できるデー
タ量が決まる。処理切り換え手段51はバッファサイズ
単位での処理の切り換えを制御する。
ムの処理単位でのバッファサイズ調整方法を図9にて説
明する。図9は、従来の記憶装置を使用するデータ処理
のブロック図を示している。図9において、書込手段5
2はデータをバッファ53に書き、読出し手段54はバ
ッファ53からデータを読む。書込手段52と読出し手
段54はバッファ53を介してデータを受け渡し、この
バッファ53のサイズによって、1回に処理できるデー
タ量が決まる。処理切り換え手段51はバッファサイズ
単位での処理の切り換えを制御する。
【0004】バッファ53のバッファサイズをSとし、
対象データ量がKだとすると、対象データを処理するの
に処理切り換え手段51は、データ処理をK/S回切り
換えることになる。バッファサイズSが大きいほどK/
Sは小さくなるため、バッファ53に格納して処理する
データを切り換えるときに発生するオーバヘッドタイム
は少なくなる。
対象データ量がKだとすると、対象データを処理するの
に処理切り換え手段51は、データ処理をK/S回切り
換えることになる。バッファサイズSが大きいほどK/
Sは小さくなるため、バッファ53に格納して処理する
データを切り換えるときに発生するオーバヘッドタイム
は少なくなる。
【0005】また、バッファ53内のデータに対するア
クセス性能は、キャッシュメモリ55の構成、記憶装置
への論理アドレスから物理アドレスへのアドレス変換の
高速化を図る装置であるTLB(Translation Look-as
ide Buffer)の構成、バッファサイズおよびそのアク
セス性能によって、段階的に変化する。
クセス性能は、キャッシュメモリ55の構成、記憶装置
への論理アドレスから物理アドレスへのアドレス変換の
高速化を図る装置であるTLB(Translation Look-as
ide Buffer)の構成、バッファサイズおよびそのアク
セス性能によって、段階的に変化する。
【0006】バッファ53は主記憶上に領域が確保され
るが、主記憶に格納されているデータの中で、アクセス
頻度が高いデータをキャッシュメモリ55に格納するこ
とでデータアクセスの性能を向上させることができる。
これは、データに対する「アクセスの局所性」という特
性を前提にし、あるデータがアクセスされたら、そのデ
ータが再びアクセスされる可能性が高いとき、あるいは
あるデータがアクセスされたら、その近辺にあるデータ
がアクセスされる可能性が高いときに効果が得られる。
るが、主記憶に格納されているデータの中で、アクセス
頻度が高いデータをキャッシュメモリ55に格納するこ
とでデータアクセスの性能を向上させることができる。
これは、データに対する「アクセスの局所性」という特
性を前提にし、あるデータがアクセスされたら、そのデ
ータが再びアクセスされる可能性が高いとき、あるいは
あるデータがアクセスされたら、その近辺にあるデータ
がアクセスされる可能性が高いときに効果が得られる。
【0007】キャッシュメモリ55の構成や方式にも依
存するが、一般に、バッファサイズがキャッシュメモリ
55のサイズと同じかそれより小さければ、読出し手段
54での処理が始まったとき、書込手段52がバッファ
53に書込んだデータと同じものがキャッシュメモリ5
5に残っているため、バッファ53をアクセスする代り
にキャッシュメモリ55をアクセスすることができ短い
アクセス時間でデータアクセスすることができる。しか
し、バッファサイズがキャッシュメモリ55のサイズに
比べて大きければ、読出し手段54での処理が始まった
とき、書込手段52がバッファ53に書込んだデータは
キャッシュメモリ55に残っていないため、バッファ5
3をアクセスするかバッファ53とキャッシュメモリ5
5の両方をアクセスすることになり、そのデータアクセ
スに長い時間が必要になる。つまり、バッファ53のサ
イズが小さいほど、キャッシュメモリ55の効果による
データアクセスのオーバーヘッドタイムが減り、バッフ
ァ53のサイズが大きいほど、記憶装置の階層間でデー
タをやりとりしたり、階層が異なる記憶装置を同時にア
クセスしたりするため、データアクセスのオーバヘッド
タイムが増える。図11はある構成でのバッファサイズ
とデータアクセスのオーバヘッドの関係を示している
が、この段階的に変化している直線が示すように、デー
タアクセス時に記憶装置の階層間でデータをやりとりす
るために発生するオーバヘッドタイムは、バッファサイ
ズとキャッシュメモリのサイズとの関係に依存してい
て、バッファサイズがキャッシュメモリのサイズを超え
る地点が変化点となる。つまり、バッファサイズが小さ
い場合は、バッファ切り換え時に発生するオーバヘッド
が大きくなるがデータアクセス時に発生するオーバヘッ
ドタイムは小さくなる。逆に、バッファサイズが大きい
場合は、バッファ切り換え時に発生するオーバヘッドは
小さくなるがデータアクセス時に発生するオーバヘッド
は大きくなる。
存するが、一般に、バッファサイズがキャッシュメモリ
55のサイズと同じかそれより小さければ、読出し手段
54での処理が始まったとき、書込手段52がバッファ
53に書込んだデータと同じものがキャッシュメモリ5
5に残っているため、バッファ53をアクセスする代り
にキャッシュメモリ55をアクセスすることができ短い
アクセス時間でデータアクセスすることができる。しか
し、バッファサイズがキャッシュメモリ55のサイズに
比べて大きければ、読出し手段54での処理が始まった
とき、書込手段52がバッファ53に書込んだデータは
キャッシュメモリ55に残っていないため、バッファ5
3をアクセスするかバッファ53とキャッシュメモリ5
5の両方をアクセスすることになり、そのデータアクセ
スに長い時間が必要になる。つまり、バッファ53のサ
イズが小さいほど、キャッシュメモリ55の効果による
データアクセスのオーバーヘッドタイムが減り、バッフ
ァ53のサイズが大きいほど、記憶装置の階層間でデー
タをやりとりしたり、階層が異なる記憶装置を同時にア
クセスしたりするため、データアクセスのオーバヘッド
タイムが増える。図11はある構成でのバッファサイズ
とデータアクセスのオーバヘッドの関係を示している
が、この段階的に変化している直線が示すように、デー
タアクセス時に記憶装置の階層間でデータをやりとりす
るために発生するオーバヘッドタイムは、バッファサイ
ズとキャッシュメモリのサイズとの関係に依存してい
て、バッファサイズがキャッシュメモリのサイズを超え
る地点が変化点となる。つまり、バッファサイズが小さ
い場合は、バッファ切り換え時に発生するオーバヘッド
が大きくなるがデータアクセス時に発生するオーバヘッ
ドタイムは小さくなる。逆に、バッファサイズが大きい
場合は、バッファ切り換え時に発生するオーバヘッドは
小さくなるがデータアクセス時に発生するオーバヘッド
は大きくなる。
【0008】
【発明が解決しようとする課題】上述したように、一概
にバッファサイズを大きくする、もしくは逆に小さくす
るという方法では、データ処理性能に関して最適なバッ
ファサイズを設定することができないという問題点があ
った。
にバッファサイズを大きくする、もしくは逆に小さくす
るという方法では、データ処理性能に関して最適なバッ
ファサイズを設定することができないという問題点があ
った。
【0009】本発明の目的は、データ処理で発生するオ
ーバヘッドタイムを考慮し、データ処理ごとにキャッシ
ュサイズに応じたバッファサイズを調整することによっ
て、処理性能を向上することにある。
ーバヘッドタイムを考慮し、データ処理ごとにキャッシ
ュサイズに応じたバッファサイズを調整することによっ
て、処理性能を向上することにある。
【0010】
【課題を解決するための手段】この発明に係るバッファ
サイズ設定装置は、多階層からなる記憶装置、これらの
記憶装置に保存されたデータを格納するバッファ、上記
記憶装置の上位に位置する第1の階層の記憶装置と同一
サイズのバッファサイズと上記第1の階層の記憶装置の
下位に位置する第2の階層の記憶装置と同一サイズのバ
ッファサイズとにより対象となる同一データをそれぞれ
のバッファサイズ単位で書込み読出すときに発生する合
計のオーバーヘッドタイムと、上記各階層の記憶装置間
でのデータの授受のときに発生するオーバーヘッドタイ
ムとを算出し合算するオーバーヘッド算出手段、このオ
ーバーヘッド算出手段により合算された上記オーバーヘ
ツドタイムの中でオーバーヘツドタイムが最小になるバ
ッファサイズに上記バッファを設定する設定手段を備え
ているものである。
サイズ設定装置は、多階層からなる記憶装置、これらの
記憶装置に保存されたデータを格納するバッファ、上記
記憶装置の上位に位置する第1の階層の記憶装置と同一
サイズのバッファサイズと上記第1の階層の記憶装置の
下位に位置する第2の階層の記憶装置と同一サイズのバ
ッファサイズとにより対象となる同一データをそれぞれ
のバッファサイズ単位で書込み読出すときに発生する合
計のオーバーヘッドタイムと、上記各階層の記憶装置間
でのデータの授受のときに発生するオーバーヘッドタイ
ムとを算出し合算するオーバーヘッド算出手段、このオ
ーバーヘッド算出手段により合算された上記オーバーヘ
ツドタイムの中でオーバーヘツドタイムが最小になるバ
ッファサイズに上記バッファを設定する設定手段を備え
ているものである。
【0011】また、上記第1の階層の記憶装置及び第2
の階層の記憶装置のいずれよりも大きなサイズのバッフ
ァサイズに基き得られたオーバーヘッドタイムを上記第
1の階層の記憶装置及び第2の階層の記憶装置と同一サ
イズのバッファサイズに基き得られたオーバーヘッドタ
イムに含めてオーバーヘツドタイムが最小になるバッフ
ァサイズに上記バッファを設定するものである。
の階層の記憶装置のいずれよりも大きなサイズのバッフ
ァサイズに基き得られたオーバーヘッドタイムを上記第
1の階層の記憶装置及び第2の階層の記憶装置と同一サ
イズのバッファサイズに基き得られたオーバーヘッドタ
イムに含めてオーバーヘツドタイムが最小になるバッフ
ァサイズに上記バッファを設定するものである。
【0012】この発明に係るバッファサイズ設定方法
は、記憶装置の上位に位置する第1の階層の記憶装置の
サイズがバッファサイズと同一になるとき対象となるデ
ータをバッファサイズ単位で書込み読出すときに発生す
る合計のオーバヘッドタイムと各階層の記憶装置間でデ
ータの授受のときに発生するオーバヘッドタイムとを合
算して算出するステップ、上記第1の階層の記憶装置の
下位に位置する第2の階層の記憶装置のサイズが上記バ
ッファサイズと同一になるとき対象となるデータをバッ
ファサイズ単位で書込み読出すときに発生する合計のオ
ーバヘッドタイムと各階層の記憶装置間でデータの授受
のときに発生するオーバヘッドタイムとを合算して算出
するステップ、上記第1の階層及び第2の階層のいずれ
よりもバッファサイズが大きくなるとき対象となるデー
タをバッファサイズ単位で書込み読出すときに発生する
合計のオーバヘッドタイムと各階層の記憶装置間でデー
タの授受のときに発生するオーバヘッドタイムとを合算
して算出するステップ、これらのステップで算出した複
数の合算された上記オーバヘットタイムの中でオーバヘ
ッドタイムが最小になるバッファサイズに上記バッファ
を設定するステップからなるものである。
は、記憶装置の上位に位置する第1の階層の記憶装置の
サイズがバッファサイズと同一になるとき対象となるデ
ータをバッファサイズ単位で書込み読出すときに発生す
る合計のオーバヘッドタイムと各階層の記憶装置間でデ
ータの授受のときに発生するオーバヘッドタイムとを合
算して算出するステップ、上記第1の階層の記憶装置の
下位に位置する第2の階層の記憶装置のサイズが上記バ
ッファサイズと同一になるとき対象となるデータをバッ
ファサイズ単位で書込み読出すときに発生する合計のオ
ーバヘッドタイムと各階層の記憶装置間でデータの授受
のときに発生するオーバヘッドタイムとを合算して算出
するステップ、上記第1の階層及び第2の階層のいずれ
よりもバッファサイズが大きくなるとき対象となるデー
タをバッファサイズ単位で書込み読出すときに発生する
合計のオーバヘッドタイムと各階層の記憶装置間でデー
タの授受のときに発生するオーバヘッドタイムとを合算
して算出するステップ、これらのステップで算出した複
数の合算された上記オーバヘットタイムの中でオーバヘ
ッドタイムが最小になるバッファサイズに上記バッファ
を設定するステップからなるものである。
【0013】
【発明の実施の形態】実施の形態1.本発明の実施の形
態1について図を参照して説明する。
態1について図を参照して説明する。
【0014】図1は、本発明のバッファサイズ設定装置
の構成図である。同図において、1は記憶装置に保存さ
れたデータを格納するバッファ、2はバッファ1にデー
タを書き込む書込手段、3はバッファ1からデータを読
み出す読出し手段、4は処理を切り換える処理切り換え
手段、5はオーバヘッドタイムを算出するオーバヘッド
算出手段、6はオーバヘッド算出手段5が算出したオー
バヘッドタイムに基づきバッファサイズを設定する設定
手段、7は記憶装置の上位に位置するキャッシュメモリ
である。書込手段2は多階層からなる記憶装置に保存さ
れているデータから必要となるデータをバッファ1に書
く処理であり、読出し手段3はバッファ1からデータを
読出す処理である。書込手段2と読出し手段3は、バッ
ファ1を介してデータを授受しているが、バッファ1と
キャッシュメモリ7の関係は前述したとおりであり、バ
ッファ1のデータでアクセス頻度が高いデータがキャッ
シュメモリ7に格納される。処理切り換え手段4は、バ
ッファサイズ単位での処理の切り換えを制御し、バッフ
ァ1のサイズによって、1回に処理できるデータ量が決
まる。オーバヘッド算出手段5は、いくつかの想定され
る事例でのオーバヘッドタイムを算出し、設定手段6
は、オーバヘット算出手段5が算出したオーバヘッドタ
イムの中で最小になる事例でのバッファサイズにバッフ
ァを設定する。図2は、実施の形態1に係わるアクセス
時間が異なる多階層からなる記憶装置のブロック図であ
る。記憶装置15は、第1の階層の1次キャッシュメモ
リ12、第2の階層の2次キャッシュメモリ13、第3
の階層の主記憶14からなっていて上位の方が処理装置
11に近い。また、図1におけるキャッシュメモリ7
が、記憶装置の階層で見ると図2における1次キャッシ
ュメモリ12、2次キャッシュメモリ13に該当する。
の構成図である。同図において、1は記憶装置に保存さ
れたデータを格納するバッファ、2はバッファ1にデー
タを書き込む書込手段、3はバッファ1からデータを読
み出す読出し手段、4は処理を切り換える処理切り換え
手段、5はオーバヘッドタイムを算出するオーバヘッド
算出手段、6はオーバヘッド算出手段5が算出したオー
バヘッドタイムに基づきバッファサイズを設定する設定
手段、7は記憶装置の上位に位置するキャッシュメモリ
である。書込手段2は多階層からなる記憶装置に保存さ
れているデータから必要となるデータをバッファ1に書
く処理であり、読出し手段3はバッファ1からデータを
読出す処理である。書込手段2と読出し手段3は、バッ
ファ1を介してデータを授受しているが、バッファ1と
キャッシュメモリ7の関係は前述したとおりであり、バ
ッファ1のデータでアクセス頻度が高いデータがキャッ
シュメモリ7に格納される。処理切り換え手段4は、バ
ッファサイズ単位での処理の切り換えを制御し、バッフ
ァ1のサイズによって、1回に処理できるデータ量が決
まる。オーバヘッド算出手段5は、いくつかの想定され
る事例でのオーバヘッドタイムを算出し、設定手段6
は、オーバヘット算出手段5が算出したオーバヘッドタ
イムの中で最小になる事例でのバッファサイズにバッフ
ァを設定する。図2は、実施の形態1に係わるアクセス
時間が異なる多階層からなる記憶装置のブロック図であ
る。記憶装置15は、第1の階層の1次キャッシュメモ
リ12、第2の階層の2次キャッシュメモリ13、第3
の階層の主記憶14からなっていて上位の方が処理装置
11に近い。また、図1におけるキャッシュメモリ7
が、記憶装置の階層で見ると図2における1次キャッシ
ュメモリ12、2次キャッシュメモリ13に該当する。
【0015】通常、多階層からなる記憶装置は、データ
アクセス速度が速い順に上位から積み重ねられ、上位に
あるデータアクセス速度が速い記憶装置ほど処理装置の
近くで用いられ、下位にあるデータアクセス速度が遅い
記憶装置ほどバックアップ的な用途で用いられる。ま
た、上位にある記憶装置ほどサイズ(記憶容量)当たり
の価格が高く、下位にある記憶装置ほどサイズ(記憶容
量)当たりの価格が安くなるため、下位の記憶装置にな
るほどサイズ(記憶容量)が大きくなるのが一般的であ
る。
アクセス速度が速い順に上位から積み重ねられ、上位に
あるデータアクセス速度が速い記憶装置ほど処理装置の
近くで用いられ、下位にあるデータアクセス速度が遅い
記憶装置ほどバックアップ的な用途で用いられる。ま
た、上位にある記憶装置ほどサイズ(記憶容量)当たり
の価格が高く、下位にある記憶装置ほどサイズ(記憶容
量)当たりの価格が安くなるため、下位の記憶装置にな
るほどサイズ(記憶容量)が大きくなるのが一般的であ
る。
【0016】図3は、記憶装置を使用するデータ処理の
フローチャートであるが、これを用いて、データをバッ
ファサイズ単位で書込み読出すときに発生する合計のオ
ーバヘッドタイムであるバッファ切り換えオーバヘッド
タイムについて説明する。バッファ1のバッファサイズ
をSとしSに格納できるN個ずつのデータを処理すると
したとき、対象データ量がKだとすると、対象データを
処理するのにK/S回のバッファに格納するデータの切
り換えが行われ、図3に示すデータ処理をK/S回繰り
返すことになる。処理を切り換えるには、図3のステッ
プS1における書込処理の準備、ステップS3における
読出し処理の準備、ステップS5における終了判定に相
当する処理が必要となり、その処理時間の合算が1回の
データ処理で発生するオーバヘッドタイムとなる。その
1回当たりのオーバヘッドタイムがUであるとすると、
全体として、U×K/Sがバッファ切り換えオーバヘッ
ドタイムとなる。つまり、バッファ1のサイズが大きい
ほどSの値が大きくなるので、U×K/Sの値は小さく
なり、このバッファ切り換えオーバヘッドタイムは減
る。ここで対象データ量Kは十分に大きな値であるの
で、U×Kは、Uの値によらずともSに対して十分に大
きな値となる。C=U×Kとすると、バッファ切り換え
オーバヘッドタイムはバッファサイズに反比例するC/
Sで示せる。
フローチャートであるが、これを用いて、データをバッ
ファサイズ単位で書込み読出すときに発生する合計のオ
ーバヘッドタイムであるバッファ切り換えオーバヘッド
タイムについて説明する。バッファ1のバッファサイズ
をSとしSに格納できるN個ずつのデータを処理すると
したとき、対象データ量がKだとすると、対象データを
処理するのにK/S回のバッファに格納するデータの切
り換えが行われ、図3に示すデータ処理をK/S回繰り
返すことになる。処理を切り換えるには、図3のステッ
プS1における書込処理の準備、ステップS3における
読出し処理の準備、ステップS5における終了判定に相
当する処理が必要となり、その処理時間の合算が1回の
データ処理で発生するオーバヘッドタイムとなる。その
1回当たりのオーバヘッドタイムがUであるとすると、
全体として、U×K/Sがバッファ切り換えオーバヘッ
ドタイムとなる。つまり、バッファ1のサイズが大きい
ほどSの値が大きくなるので、U×K/Sの値は小さく
なり、このバッファ切り換えオーバヘッドタイムは減
る。ここで対象データ量Kは十分に大きな値であるの
で、U×Kは、Uの値によらずともSに対して十分に大
きな値となる。C=U×Kとすると、バッファ切り換え
オーバヘッドタイムはバッファサイズに反比例するC/
Sで示せる。
【0017】一例として、1回当たりのオーバヘッドタ
イムUを2μsec、対象データ量Kを512MB、バッ
ファサイズSを64KBとすると、U×K/Sは、2×
10 -6 ×512×106 /(64×103 )=0.0
16secとなり、データ処理全体でのバッファ切り換え
オーバヘッドタイムを算出することができる。
イムUを2μsec、対象データ量Kを512MB、バッ
ファサイズSを64KBとすると、U×K/Sは、2×
10 -6 ×512×106 /(64×103 )=0.0
16secとなり、データ処理全体でのバッファ切り換え
オーバヘッドタイムを算出することができる。
【0018】次に、各階層の記憶装置間でのデータ授受
のときに発生するオーバヘッドタイムであるデータアク
セスオーバヘッドタイムについて説明する。データアク
セス時に記憶装置の階層間でデータをやりとりするとき
に発生するデータアクセスオーバヘッドタイムは、この
多階層キャッシュメモリの設計値がわかっていればその
値を使用する。不明の場合は、実測により、バッファサ
イズに対応するデータアクセス時に発生するオーバヘッ
ドタイムを求めてもよい。
のときに発生するオーバヘッドタイムであるデータアク
セスオーバヘッドタイムについて説明する。データアク
セス時に記憶装置の階層間でデータをやりとりするとき
に発生するデータアクセスオーバヘッドタイムは、この
多階層キャッシュメモリの設計値がわかっていればその
値を使用する。不明の場合は、実測により、バッファサ
イズに対応するデータアクセス時に発生するオーバヘッ
ドタイムを求めてもよい。
【0019】図4は、バッファ切り換えオーバヘッドタ
イム16、データアクセスオーバヘッドタイム17、上
記を合算したオーバヘッドタイム18とバッファサイズ
との関係を示すグラフであり、グラフ上からオーバヘッ
ド算出手段5が算出するときに用いる複数の変化点を見
出すことができる。
イム16、データアクセスオーバヘッドタイム17、上
記を合算したオーバヘッドタイム18とバッファサイズ
との関係を示すグラフであり、グラフ上からオーバヘッ
ド算出手段5が算出するときに用いる複数の変化点を見
出すことができる。
【0020】データアクセスオーバヘッドタイムが変化
するときのバッファサイズをSi、そのときのデータア
クセスオーバヘッドタイムをTiとする。また、Cを十
分に大きな値とする。このある変化点を(Si、Ti)と
すると、バッファ切り換えオーバヘッドタイムとデータ
アクセスオーバヘッドタイムの合計は、Ti +C/Si
となる。また、バッファサイズは主記憶14のサイズの
上限などの制限から最大値が制限されるため、この最大
値以下の範囲内でバッファ切り換えオーバヘッドタイム
とデータアクセスオーバヘッドタイムの合計が最小とな
る値を求め、最適なバッファサイズを決める。このバッ
ファサイズが最大値をとるときの地点も変化点として考
えると、変化点でのバッファ切り換えオーバヘッドタイ
ムとデータアクセスオーバヘッドタイムの合計が最小、
つまり、min(Ti +C/Si)となる地点のSiがバッフ
ァサイズの最適値である。ここで、min(x)は、xの取り
うる値の最小値を意味する。
するときのバッファサイズをSi、そのときのデータア
クセスオーバヘッドタイムをTiとする。また、Cを十
分に大きな値とする。このある変化点を(Si、Ti)と
すると、バッファ切り換えオーバヘッドタイムとデータ
アクセスオーバヘッドタイムの合計は、Ti +C/Si
となる。また、バッファサイズは主記憶14のサイズの
上限などの制限から最大値が制限されるため、この最大
値以下の範囲内でバッファ切り換えオーバヘッドタイム
とデータアクセスオーバヘッドタイムの合計が最小とな
る値を求め、最適なバッファサイズを決める。このバッ
ファサイズが最大値をとるときの地点も変化点として考
えると、変化点でのバッファ切り換えオーバヘッドタイ
ムとデータアクセスオーバヘッドタイムの合計が最小、
つまり、min(Ti +C/Si)となる地点のSiがバッフ
ァサイズの最適値である。ここで、min(x)は、xの取り
うる値の最小値を意味する。
【0021】次に、この変化点の決め方について説明す
る。図4の合計オーバヘッドタイム18の曲線が示すよ
うに、min(Ti +C/Si)となる地点は、バッファサイ
ズが1次キャッシュサイズと同一のとき(変化点1)、
バッファサイズが2次キャッシュと同一のとき(変化点
2)、もしくはバッファサイズが最大値となるとき(変
化点3)のうちのどれかである。図4の(1)が変化点
1、図4の(2)が変化点2、図4の(3)が変化点3とな
る。つまり、変化点1ではデータアクセスオーバヘッド
タイムが少ないことにより合計のオーバヘッドタイムが
最小になる可能性があり、変化点2では2つのオーバヘ
ッドタイムが3つの変化点の中では中庸になるため合計
したときに最小になる可能性がある。また、変化点3で
はバッファ切り換えオーバヘッドタイムが少ないことに
より合計のオーバヘッドタイムが最小になる可能性があ
る。このことにより、変化点を変化点1〜変化点3の3
つとし、3つの変化点でのオーバヘッドタイムを算出す
る。
る。図4の合計オーバヘッドタイム18の曲線が示すよ
うに、min(Ti +C/Si)となる地点は、バッファサイ
ズが1次キャッシュサイズと同一のとき(変化点1)、
バッファサイズが2次キャッシュと同一のとき(変化点
2)、もしくはバッファサイズが最大値となるとき(変
化点3)のうちのどれかである。図4の(1)が変化点
1、図4の(2)が変化点2、図4の(3)が変化点3とな
る。つまり、変化点1ではデータアクセスオーバヘッド
タイムが少ないことにより合計のオーバヘッドタイムが
最小になる可能性があり、変化点2では2つのオーバヘ
ッドタイムが3つの変化点の中では中庸になるため合計
したときに最小になる可能性がある。また、変化点3で
はバッファ切り換えオーバヘッドタイムが少ないことに
より合計のオーバヘッドタイムが最小になる可能性があ
る。このことにより、変化点を変化点1〜変化点3の3
つとし、3つの変化点でのオーバヘッドタイムを算出す
る。
【0022】図5は、バッファサイズ設定方法の処理を
示すフローチャートである。ステップS11において、
図4の(1)に示した変化点1での合計オーバヘッドタイ
ムを算出し、ステップS12において、図4の(2)に示
した変化点2の合計オーバヘッドタイムを算出し、また
ステップS13において図4の(3)に示したバッファサ
イズが上限値となる変化点3の合計オーバヘッドタイム
を算出する。ステップS14において、ステップS11
〜ステップS13で算出したオーバヘッドタイムの中で
オーバヘッドタイムが最小となるバッファサイズに決定
し、バッファを設定する。
示すフローチャートである。ステップS11において、
図4の(1)に示した変化点1での合計オーバヘッドタイ
ムを算出し、ステップS12において、図4の(2)に示
した変化点2の合計オーバヘッドタイムを算出し、また
ステップS13において図4の(3)に示したバッファサ
イズが上限値となる変化点3の合計オーバヘッドタイム
を算出する。ステップS14において、ステップS11
〜ステップS13で算出したオーバヘッドタイムの中で
オーバヘッドタイムが最小となるバッファサイズに決定
し、バッファを設定する。
【0023】ステップS11〜ステップS13でmin(T
i +C/Si)を算出するとき、図1に示すオーバヘッド
算出手段5に、それに必要となるデータを設計者が与え
る。つまり、設計値あるいは実測値より求められたデー
タアクセスオーバヘッドタイムTi、バッファ切り換え
時に発生する1回当たりのオーバヘッドタイムU、バッ
ファサイズSi、対象データ量Kが必要となるデータと
なる。
i +C/Si)を算出するとき、図1に示すオーバヘッド
算出手段5に、それに必要となるデータを設計者が与え
る。つまり、設計値あるいは実測値より求められたデー
タアクセスオーバヘッドタイムTi、バッファ切り換え
時に発生する1回当たりのオーバヘッドタイムU、バッ
ファサイズSi、対象データ量Kが必要となるデータと
なる。
【0024】上記では、バッファサイズが最大値のとき
以外の変化点はバッファサイズが1次キャッシュ、2次
キャッシュと同一の地点で説明したが、キャッシュはシ
ステム内の他処理からも使用されていることを考慮にい
れ、変化点は、キャッシュのサイズと全く同一にしない
ことも可能である。このときは、多階層キャッシュメモ
リの設計値や実測などから変化点を定める。
以外の変化点はバッファサイズが1次キャッシュ、2次
キャッシュと同一の地点で説明したが、キャッシュはシ
ステム内の他処理からも使用されていることを考慮にい
れ、変化点は、キャッシュのサイズと全く同一にしない
ことも可能である。このときは、多階層キャッシュメモ
リの設計値や実測などから変化点を定める。
【0025】また、実施の形態1では1次キャッシュ、
2次キャッシュ、主メモリの3階層からなる記憶装置に
て説明したが、それより階層が少ないときは変化点が少
なくなり、それより階層が多いときは変化点が多くな
る。階層がいくつでも対応することができる。
2次キャッシュ、主メモリの3階層からなる記憶装置に
て説明したが、それより階層が少ないときは変化点が少
なくなり、それより階層が多いときは変化点が多くな
る。階層がいくつでも対応することができる。
【0026】記憶装置の階層の1例としては、図6に示
すように記憶装置21が1次キャッシュ、2次キャッシ
ュ、主記憶、ディスクの4階層からなるもの、また図7
に示すように記憶装置31が1次キャッシュ、2次キャ
ッシュ、主記憶、ディスク、2次媒体となるテープの5
階層からなるもの、また図8に示すように記憶装置41
が1次キャッシュ、2次キャッシュ、主記憶、ネットワ
ーク経由で接続されたディスクの4層からなるものが考
えられる。
すように記憶装置21が1次キャッシュ、2次キャッシ
ュ、主記憶、ディスクの4階層からなるもの、また図7
に示すように記憶装置31が1次キャッシュ、2次キャ
ッシュ、主記憶、ディスク、2次媒体となるテープの5
階層からなるもの、また図8に示すように記憶装置41
が1次キャッシュ、2次キャッシュ、主記憶、ネットワ
ーク経由で接続されたディスクの4層からなるものが考
えられる。
【0027】
【発明の効果】上記オーバヘッドタイムの変化の経緯に
より複数の変化点を見出し、その複数の変化点でのオー
バヘッドタイムを算出しそのオーバヘッドタイムが最小
になる変化点でのバッファサイズにバッファを設定する
ことで、記憶装置を使用するプログラムの処理単位で最
適なバッファサイズを設定し、データ処理性能向上を行
うことができる。
より複数の変化点を見出し、その複数の変化点でのオー
バヘッドタイムを算出しそのオーバヘッドタイムが最小
になる変化点でのバッファサイズにバッファを設定する
ことで、記憶装置を使用するプログラムの処理単位で最
適なバッファサイズを設定し、データ処理性能向上を行
うことができる。
【図1】この発明の実施の形態1の全体構成を示すブロ
ック図である。
ック図である。
【図2】この発明の実施の形態1に係わる多階層からな
る記憶装置のブロック図である。
る記憶装置のブロック図である。
【図3】この発明の実施の形態1の中で記憶装置を使用
するデータ処理のフローチャートである。
するデータ処理のフローチャートである。
【図4】この発明の実施の形態1の中でバッファ切り換
えオーバヘッドタイム、データアクセスオーバヘッドタ
イム、上記を合算したオーバヘッドタイムとバッファサ
イズとの関係を示すグラフである。
えオーバヘッドタイム、データアクセスオーバヘッドタ
イム、上記を合算したオーバヘッドタイムとバッファサ
イズとの関係を示すグラフである。
【図5】この発明の実施の形態1の中でバッファサイズ
設定方法の処理を示すフローチャートである。
設定方法の処理を示すフローチャートである。
【図6】この発明の実施の形態1の中で多階層からなる
記憶装置の一例を示すブロック図である。
記憶装置の一例を示すブロック図である。
【図7】この発明の実施の形態1の中で多階層からなる
記憶装置の一例を示すブロック図である。
記憶装置の一例を示すブロック図である。
【図8】この発明の実施の形態1の中で多階層からなる
記憶装置の一例を示すブロック図である。
記憶装置の一例を示すブロック図である。
【図9】従来技術の記憶装置を使用するデータ処理を示
すブロック図である。
すブロック図である。
【図10】従来技術のソフトウェアキャッシュ制御方式
を示すブロック図である。
を示すブロック図である。
【図11】ある構成においてデータアクセス時に発生す
るオーバヘッドタイムとバッファサイズとの関係を示す
グラフである。
るオーバヘッドタイムとバッファサイズとの関係を示す
グラフである。
15 記憶装置 1 バッファ 5 オーバヘッド算出手段 6 設定手段
Claims (3)
- 【請求項1】多階層からなる記憶装置、これらの記憶装
置に保存されたデータを格納するバッファ、上記記憶装
置の上位に位置する第1の階層の記憶装置と同一サイズ
のバッファサイズと上記第1の階層の記憶装置の下位に
位置する第2の階層の記憶装置と同一サイズのバッファ
サイズとにより対象となる同一データをそれぞれのバッ
ファサイズ単位で書込み読出すときに発生する合計のオ
ーバーヘッドタイムと、上記各階層の記憶装置間でのデ
ータの授受のときに発生するオーバーヘッドタイムとを
算出し合算するオーバーヘッド算出手段、このオーバー
ヘッド算出手段により合算された上記オーバーヘツドタ
イムの中でオーバーヘツドタイムが最小になるバッファ
サイズに上記バッファを設定する設定手段を備えたこと
を特徴とするバッファサイズ設定装置。 - 【請求項2】上記第1の階層の記憶装置及び第2の階層
の記憶装置のいずれよりも大きなサイズのバッファサイ
ズに基き得られたオーバーヘッドタイムを上記第1の階
層の記憶装置及び第2の階層の記憶装置と同一サイズの
バッファサイズに基き得られたオーバーヘッドタイムに
含めてオーバーヘツドタイムが最小になるバッファサイ
ズに上記バッファを設定することを特徴とする請求項1
記載のバッファサイズ設定装置。 - 【請求項3】記憶装置の上位に位置する第1の階層の記
憶装置のサイズがバッファサイズと同一になるとき対象
となるデータをバッファサイズ単位で書込み読出すとき
に発生する合計のオーバヘッドタイムと各階層の記憶装
置間でデータの授受のときに発生するオーバヘッドタイ
ムとを合算して算出するステップ、上記第1の階層の記
憶装置の下位に位置する第2の階層の記憶装置のサイズ
が上記バッファサイズと同一になるとき対象となるデー
タをバッファサイズ単位で書込み読出すときに発生する
合計のオーバヘッドタイムと各階層の記憶装置間でデー
タの授受のときに発生するオーバヘッドタイムとを合算
して算出するステップ、上記第1の階層及び第2の階層
のいずれよりもバッファサイズが大きくなるとき対象と
なるデータをバッファサイズ単位で書込み読出すときに
発生する合計のオーバヘッドタイムと各階層の記憶装置
間でデータの授受のときに発生するオーバヘッドタイム
とを合算して算出するステップ、これらのステップで算
出した複数の合算された上記オーバヘットタイムの中で
オーバヘッドタイムが最小になるバッファサイズに上記
バッファを設定するステップを備えたことを特徴とする
バッファサイズ設定方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000187852A JP2002007178A (ja) | 2000-06-22 | 2000-06-22 | バッファサイズ設定装置及びバッファサイズ設定方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000187852A JP2002007178A (ja) | 2000-06-22 | 2000-06-22 | バッファサイズ設定装置及びバッファサイズ設定方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2002007178A true JP2002007178A (ja) | 2002-01-11 |
Family
ID=18687747
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000187852A Pending JP2002007178A (ja) | 2000-06-22 | 2000-06-22 | バッファサイズ設定装置及びバッファサイズ設定方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2002007178A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015210707A (ja) * | 2014-04-28 | 2015-11-24 | 大日本印刷株式会社 | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム |
-
2000
- 2000-06-22 JP JP2000187852A patent/JP2002007178A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015210707A (ja) * | 2014-04-28 | 2015-11-24 | 大日本印刷株式会社 | 電子情報記憶媒体、情報処理方法、及び情報処理プログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6915382B2 (en) | Apparatus and method for reallocating logical to physical disk devices using a storage controller, with access frequency and sequential access ratio calculations and display | |
| US6675176B1 (en) | File management system | |
| CN110532200B (zh) | 一种基于混合内存架构的内存系统 | |
| CN113297099B (zh) | 在计算设备中执行的映射表管理方法及系统 | |
| CN114610232A (zh) | 一种存储系统、内存管理方法和管理节点 | |
| JP4429780B2 (ja) | 記憶制御装置、制御方法、および制御プログラム。 | |
| US20020091902A1 (en) | File system and data caching method thereof | |
| CN110795363B (zh) | 一种存储介质的热页预测方法和页面调度方法 | |
| CN108762664A (zh) | 一种固态硬盘页级缓存区管理方法 | |
| CN110888600B (zh) | 一种面向nand闪存的缓冲区管理方法 | |
| US20160321013A1 (en) | Memory system including a nonvolatile memory and a volatile memory, and processing method using the memory system | |
| CN112379841A (zh) | 数据处理方法、装置和电子设备 | |
| JPH08137754A (ja) | ディスクキャッシュ装置 | |
| JPH08263380A (ja) | ディスクキャッシュ制御方式 | |
| JPH1185411A (ja) | ディスクアレイ装置、ディスクアレイ装置のデータ再配置方法、及びディスクアレイ装置のデータ再配置方法のプログラム情報を格納した記憶媒体 | |
| JP3166827B2 (ja) | 外部記憶装置とキャッシュメモリの制御方法 | |
| JP3303011B2 (ja) | 半導体メモリ装置 | |
| JP2882382B2 (ja) | バッファメモリの制御方法 | |
| CN118535092B (zh) | 数据块管理方法、装置、设备及介质 | |
| Zhang et al. | MCB: a multidevice cooperative buffer management strategy for boosting the write performance of the SSD-SMR hybrid storage: C. Zhang et al. | |
| JPH10161932A (ja) | ディスクキャッシュ制御方式 | |
| CN121597136B (zh) | 一种数据缓存方法及设备 | |
| CN117251101B (zh) | 应用于存储器的映射关系的写入方法以及存储器 | |
| CN119902717B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
| HK40057992A (en) | Mapping table management method and system executed in computing device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040629 |
|
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20040629 |