JP2001051892A - キャッシュサーバ性能値算出方法及び装置及びキャッシュサーバ性能値算出プログラムを格納した記憶媒体 - Google Patents
キャッシュサーバ性能値算出方法及び装置及びキャッシュサーバ性能値算出プログラムを格納した記憶媒体Info
- Publication number
- JP2001051892A JP2001051892A JP11223996A JP22399699A JP2001051892A JP 2001051892 A JP2001051892 A JP 2001051892A JP 11223996 A JP11223996 A JP 11223996A JP 22399699 A JP22399699 A JP 22399699A JP 2001051892 A JP2001051892 A JP 2001051892A
- Authority
- JP
- Japan
- Prior art keywords
- cache
- level
- virtual
- virtual cache
- performance value
- 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.)
- Granted
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
ために、実際のリクエスト列に基づいて、複数の異なる
容量における性能値を同時に算出すること。 【解決手段】 リクエストされたオブジェクトAが、キ
ャッシュテーブルに存在しなければ、オブジェクト名、
サイズ、下限ラベル、キャッシュ置換アルゴリズムで決
定される順位の組をキャッシュテーブルに書き込み、存
在すれば、オブジェクトの新たな順位を決定し、キャッ
シュテーブルのオブジェクトの順位を更新し、下限ラベ
ル以上のレベルの仮想キャッシュにおいては、オブジェ
クトAがヒットしたものとし、下限ラベル未満のレベル
の仮想キャッシュにおいてはヒットしなかったものとし
て性能値を計算し、エンドオブジェクトの中でオブジェ
クトAの順位以下の最大の順位のものに、対応する仮想
キャッシュのレベルを設定し、オブジェクト追い出し処
理を行い、オブジェクトAの下限ラベルを設定する。
Description
性能値算出方法及び装置及びキャッシュサーバ性能値算
出プログラムを格納した記憶媒体に係り、特に、実際の
リクエスト列に基づいて、様々なキャッシュ容量におけ
る性能値を仮想的に求めることによって、適切なキャッ
シュ容量を設計するためのキャッシュサーバ性能値算出
方法及び装置及びキャッシュサーバ性能値算出プログラ
ムを格納した記憶媒体に関する。
オブジェクトがキャッシュ内に蓄積されている場合は、
当該オブジェクトをクライアントへ転送し、キャッシュ
置換アルゴリズムによって、当該オブジェクトの順位を
変更する。また、リクエストされたオブジェクトがキャ
ッシュ内に蓄積されていない場合は、当該オブジェクト
をオリジンサーバから取得してキャッシュ内に蓄積し、
キャッシュ置換アルゴリズムによって当該オブジェクト
の順位を決定する。その際、リクエストされたオブジェ
クトを蓄積しようとしたとき、キャッシュ容量を越える
場合は、キャッシュされたオブジェクトの中で順位の低
いものから削除することによって空き容量を作り、リク
エストされたオブジェクトをキャッシュ内に蓄積する。
キャッシュ容量の設計として、従来は、リクエストの発
生間隔に何らかの確率分布を仮定した上で、規定された
性能値の閾値を満たす容量を解析的に求める方法があ
る。
従来の方法は、仮定する確率分布の妥当性が不明であ
り、確率分布のパラメータをどのように設定すべきか不
明であるため、この方法によって設計された容量が実際
のリクエストに対して適切か否かを判断することができ
ない。従って、実際には少なく見積り過ぎることにより
性能の劣化、もしくは、多く見積り過ぎることによるコ
ストアップが生じうるという問題がある。
で、要求性能を満たすキャッシュ容量を決定するため
に、実際のリクエスト列に基づいて、複数の異なる容量
における性能値を同時に算出することが可能なキャッシ
ュサーバ性能値算出方法及び装置及びキャッシュサーバ
性能値算出プログラムを格納した記憶媒体を提供するこ
とを目的とする。
説明するための図である。本発明(請求項1)は、キャ
ッシュサーバにおいて、リクエストの列に基づいて、仮
想キャッシュ容量を持つ仮想キャッシュに対する性能値
を算出するキャッシュサーバ性能値算出方法において、
リクエストされたオブジェクトAが、オブジェクト名、
オブジェクトサイズ、オブジェクトをキャッシュする仮
想キャッシュの中で最小のレベルである下限ラベル、及
び順位を記録するキャッシュテーブルに存在するかを判
定し(ステップ1)、存在しなければ、オブジェクト
名、サイズ、下限ラベル、キャッシュ置換アルゴリズム
で決定される順位の組をキャッシュテーブルに書き込み
(ステップ2)、存在すれば、キャッシュ置換アルゴリ
ズムでオブジェクトの新たな順位を決定し、キャッシュ
テーブルのオブジェクトの順位を更新し(ステップ
3)、オブジェクトAの下限ラベルを読み取り(ステッ
プ4)、下限ラベル以上のレベルの仮想キャッシュにお
いては、オブジェクトAがヒットしたものとして性能値
を計算し(ステップ5)、下限ラベル未満のレベルの仮
想キャッシュにおいては、オブジェクトAがヒットしな
かったものとして性能値を計算し(ステップ6)、仮想
キャッシュに蓄積されているオブジェクトの中で最も順
位の低いオブジェクトであるエンドオブジェクトの中で
オブジェクトAの順位以下の最大の順位のものを、仮想
キャッシュのレベル、エンドオブジェクト、及びその順
位を並べたエンドポインターテーブル上で探し、該エン
ドオブジェクトに対応する仮想キャッシュのレベルを設
定し(ステップ7)、所定のレベルのすべての仮想キャ
ッシュの各々に対して、オブジェクト追い出し処理を行
い(ステップ8)、オブジェクトAの下限ラベルを設定
する(ステップ9)。
出し処理として、リクエストされたオブジェクトAを、
あるレベルKの仮想キャッシュに蓄積しようとした時、
該仮想キャッシュの容量を越える場合には、該レベルK
の仮想キャッシュのエンドオブジェクトをエンドポイン
タテーブルで探し、順位の小さいものから順に、該オブ
ジェクトAを蓄積できる空き容量ができるまで、オブジ
ェクトを該レベルKの仮想キャッシュから追い出し、追
い出された残りのオブジェクトの中で順位が最も小さい
ものをエンドポインタテーブルのあるレベルKの仮想キ
ャッシュのエンドオブジェクトとする。
明(請求項3)は、キャッシュサーバにおいて、リクエ
ストの列に基づいて、仮想キャッシュ容量を持つ仮想キ
ャッシュに対する性能値を算出するキャッシュサーバ性
能値算出装置であって、オブジェクト名、オブジェクト
サイズ、オブジェクトをキャッシュする仮想キャッシュ
の中で最小のレベルである下限ラベル、及び順位の組と
を記録するキャッシュテーブル130と、仮想キャッシ
ュに蓄積されているオブジェクトの中で最も低い順位の
オブジェクトであるエンドオブジェクト、仮想キャッシ
ュのレベル、及びその順位を並べたエンドポインタテー
ブル140と、リクエストされたオブジェクトAが、キ
ャッシュテーブル130に存在するかを判定し、存在し
なければ、オブジェクト名、サイズ、下限ラベル、キャ
ッシュ置換アルゴリズムで決定される順位の組をキャッ
シュテーブル130に書き込み、存在すれば、キャッシ
ュ置換アルゴリズムでオブジェクトの新たな順位を決定
し、キャッシュテーブルのオブジェクトの順位を更新す
るオブジェクト判定手段110と、オブジェクトAの下
限ラベルを読み取り、下限ラベル以上のレベルの仮想キ
ャッシュにおいては、オブジェクトAがヒットしたもの
として性能値を計算し、下限ラベル未満のレベルの仮想
キャッシュにおいては、オブジェクトAがヒットしなか
ったものとして性能値を計算し、仮想キャッシュに蓄積
されているオブジェクトの中で最も順位の低いオブジェ
クトであるエンドオブジェクトの中でオブジェクトAの
順位以下の最大の順位のものを、エンドポインターテー
ブル140上で探し、該エンドオブジェクトに対応する
仮想キャッシュのレベルを設定する性能値計算手段12
0と、所定のレベルのすべての仮想キャッシュの各々に
対して、オブジェクト追い出し処理を行う追い出し手段
150と、オブジェクトAの下限ラベルを設定するラベ
ル設定手段160とを有する。
0において、リクエストされたオブジェクトAを、ある
レベルKの仮想キャッシュに蓄積しようとした時、該仮
想キャッシュの容量を越える場合には、該レベルKの仮
想キャッシュのエンドオブジェクトをエンドポインタテ
ーブルで探し、順位の小さいものから順に、該オブジェ
クトAを蓄積できる空き容量ができるまで、オブジェク
トを該レベルKの仮想キャッシュから追い出し、追い出
された残りのオブジェクトの中で順位が最も小さいもの
を該記エンドポインタテーブルのあるレベルKの仮想キ
ャッシュのエンドオブジェクトとする手段を有する。
において、リクエストの列に基づいて、仮想キャッシュ
容量を持つ仮想キャッシュに対する性能値を算出するキ
ャッシュサーバ性能値算出プログラムを格納した記憶媒
体であって、リクエストされたオブジェクトAが、オブ
ジェクト名、オブジェクトサイズ、オブジェクトをキャ
ッシュする仮想キャッシュの中で最小のレベルである下
限ラベル、及び順位を記録するキャッシュテーブルに存
在するかを判定するプロセスと、存在しなければ、オブ
ジェクト名、サイズ、下限ラベル、キャッシュ置換アル
ゴリズムで決定される順位の組をキャッシュテーブルに
書き込むプロセスと、存在すれば、キャッシュ置換アル
ゴリズムでオブジェクトの新たな順位を決定し、キャッ
シュテーブルのオブジェクトの順位を更新するプロセス
と、オブジェクトAの下限ラベルを読み取るプロセス
と、下限ラベル以上のレベルの仮想キャッシュにおいて
は、オブジェクトAがヒットしたものとして性能値を計
算するプロセスと、下限ラベル未満のレベルの仮想キャ
ッシュにおいては、オブジェクトAがヒットしなかった
ものとして性能値を計算するプロセスと、仮想キャッシ
ュに蓄積されているオブジェクトの中で最も順位の低い
オブジェクトであるエンドオブジェクトの中でオブジェ
クトAの順位以下の最大の順位のものを、仮想キャッシ
ュのレベル、エンドオブジェクト、及びその順位を並べ
たエンドポインターテーブル上で探し、該エンドオブジ
ェクトに対応する仮想キャッシュのレベルを設定するプ
ロセスと、所定のレベルのすべての仮想キャッシュの各
々に対して、オブジェクト追い出し処理を行うプロセス
と、オブジェクトAの下限ラベルを設定するプロセスと
を有する。
出しプロセスにおいて、リクエストされたオブジェクト
Aを、あるレベルKの仮想キャッシュに蓄積しようとし
た時、該仮想キャッシュの容量を越える場合には、該レ
ベルKの仮想キャッシュのエンドオブジェクトをエンド
ポインタテーブルで探し、順位の小さいものから順に、
該オブジェクトAを蓄積できる空き容量ができるまで、
オブジェクトを該レベルKの仮想キャッシュから追い出
すプロセスと、追い出された残りのオブジェクトの中で
順位が最も小さいものをエンドポインタテーブルのある
レベルKの仮想キャッシュのエンドオブジェクトとする
プロセスとを有する。
ャッシュを用いることにより、複数の異なるキャッシュ
容量における性能値を同時に計算することが可能とな
る。次に、オブジェクトに対して下限ラベルを定義する
ことにより、そのオブジェクトをキャッシュしていない
仮想キャッシュの集合(当該オブジェクトの下限ラベル
より小さいレベルを持つすべての仮想キャッシュ)が把
握できる。従って、リクエストされたオブジェクトがヒ
ットし仮想キャッシュの集合と、ヒットしなかった仮想
キャッシュの集合が、下限ラベルを参照することによ
り、容易に分離できるため、各仮想キャッシュ毎にヒッ
トしたかしなかったかの判定を行う必要がなく、より少
ない計算で複数の異なるキャッシュ容量における性能値
を計算することが可能となる。
位以下の順位を持つエンドオブジェクトの中で、最大の
順位のものに対応する仮想キャッシュのレベルをLB 、
リクエストされたオブジェクトの下限ラベルをLとし
て、LB からL−1のレベルの全ての仮想キャッシュの
各々に対してのみ、オブジェクト追い出し処理を行うこ
とによって、オブジェクト追い出し処理を必要最低限に
抑えることができる。
とにより、各仮想キャッシュにおいて最小の順位のオブ
ジェクトをすぐに参照することができるため、新たなオ
ブジェクトをキャッシュする際に空き容量を作るために
順位の小さいものを新たに探索する必要がなく、オブジ
ェクトの追い出し処理を高速に行うことが可能となる。
づいて、複数の異なる容量における性能値を、少ない手
間で同時に算出することが可能となる。
バ性能値算出装置の接続構成を示し、図4は、本発明の
キャッシュサー性能値算出装置の構成を示す。キャッシ
ュサーバ性能値算出装置100は、サーバ200に接続
され、当該サーバ200からリクエスト列が入力される
と、キャッシュサーバ性能値を算出し、入力されたリク
エスト列に対応する性能値を出力する。
は、オブジェクト判定部110、性能値計算部120、
キャッシュテーブル130、エンドポインタテーブル1
40から構成される。キャッシュテーブル130は、オ
ブジェクト名、当該オブジェクトサイズ、当該オブジェ
クトをキャッシュする仮想キャッシュの中で最小のレベ
ル(以下、下限ラベルと記す)、及び順位の組を記録し
たテーブルである。
ャッシュのレベル、当該仮想キャッシュに蓄積されてい
るオブジェクトの中で最も順位の低いもの(以下、エン
ドオブジェクトと記す)、及びその順位を並べたテーブ
ルである。オブジェクト判定部110は、リクエストさ
れたオブジェクトAがキャッシュテーブル130にある
か否かを判定し、存在しなければ当該オブジェクト名、
サイズ、下限ラベル、キャッシュ置換アルゴリズムで決
定される順位の組を、キャッシュテーブル130に書き
込む。但し、下限ラベルは∞とする。一方、リクエスト
されたオブジェクトAがキャッシュテーブル130に存
在すれば、キャッシュ置換アルゴリズムでその新たな順
位を決定し、キャッシュテーブル130のすべてのオブ
ジェクトの順位を更新する。
計算部121と、仮想キャッシュに対してオブジェクト
の追い出しを行う追い出し処理部122から構成され
る。計算部121は、当該オブジェクトAの下限ラベル
(Lとする)を読み取る。この下限ラベルL以上のレベ
ルの仮想キャッシュにおいては、オブジェクトAがヒッ
トしたものとして性能値を計算する。一方、この下限ラ
ベル未満のレベルの仮想キャッシュにおいては、オブジ
ェクトAがヒットしなかったものとして性能値を計算す
る。そして、オブジェクトAの順位以下の順位を持つオ
ブジェクトの中で最大の順位のものをエンドポインタテ
ーブル140上で探し、そのエンドオブジェクトに対応
する仮想キャッシュのレベルをLB とする。
のレベルのすべての仮想キャッシュの各々に対して、オ
ブジェクト追い出し処理を行い、オブジェクトAの下限
ラベルをLB とする。図5は、本発明のキャッシュサー
バ性能値算出方法の処理手順のフローチャートである。
10において、リクエストされたオブジェクトAがキャ
ッシュテーブル130に存在するかを判定する。存在す
る場合にはステップ102に移行し、存在しない場合に
はステップ103に移行する。 ステップ102) キャッシュ置換アルゴリズムでその
新たな順位を決定し、キャッテーブル130のすべての
オブジェクトの順位を更新し、ステップ104に移行す
る。
ッシュテーブル130に存在しない場合には、以下の内
容をキャッシュテーブル130に書き込む。 当該オブジェクト名 サイズ 下限ラベル:∞ キャッシュ置換アルゴリズムで決定される順位 ステップ104) 性能値計算部120の計算部121
において、当該オブジェクトAの下限ラベルLを読み取
る。
ャッシュにおいては、オブジェクトAがヒットしたもの
として性能値を計算する。 ・一方、この下限ラベル未満のレベルの仮想キャッシュ
においては、オブジェクトAがヒットしなったものとし
て、性能値を計算する。 ステップ105) オブジェクトAの順位以下の順位を
持つエンドオブジェクトの中で最大の順位のものをエン
ドポインタテーブル140上で探し、そのエンドオブジ
ェクトに対応する仮想キャッシュのレベルLB とする。
位のものに対応する仮想キャッシュのレベルLB とす
る。 ステップ107) 追い出し処理部122において、レ
ベルLB の仮想キャッシュに対して、オブジェクト追い
出し処理(Discard )を行う。詳細は図6で説明する。
ェクトの下限ラベルKを1増加させる。 ステップ109) レベルKが下限ラベルLとなった場
合にはステップ110に移行し、そうでない場合にはス
テップ107に移行する。 ステップ110) オブジェクトAの下限ラベルをLB
にする。
理に移行する。 次に、上記のステップ107におけるオブジェクト追い
出し処理について説明する。図6は、本発明のオブジェ
クト追い出し処理(Discard )の手順のフローチャート
である。
追い出し処理部122は、オブジェクトAをレベルKの
仮想キャッシュに蓄積しようとしたとき、当該仮想キャ
ッシュ容量を越えるかを判定し、越える場合には当該処
理を終了する。 ステップ202) レベルKの仮想キャッシュのエンド
オブジェクトをエンドポインタテーブル140で探し、
順位の小さいものから順に、以下の処理を行う。 ステ
ップ203) オブジェクトをレベルK仮想キャッシュ
から追い出す。つまり、各オブジェクトの下限ラベルを
1だけ増加させる。
きる空き容量があるかを判定し、ある場合には、ステッ
プ205に移行し、ない場合にはステップ203に移行
する。 ステップ205) 追い出された残りのオブジェクトの
中で順位が最も小さいものをエンドポインタテーブル1
40のレベルK仮想キャッシュのエンドオブジェクトと
する。
して、動的ハッシュなどのデータ構造を用いることによ
り、オブジェクトがキャッシュテーブル130にあるか
否かを高速に判定することができる。また、オブジェク
トの順位を線形リスト構造やヒープ構造で管理すること
により、順位に関する操作を高速化することができる。
る。図7は、本発明の一実施例のリクエスト列の例を示
し、図8は、本発明の一実施例のキャッシュテーブルの
遷移を示し、図9は、本発明の一実施例のエンドポイン
タテーブルの遷移を示す。
いて、キャッシュサーバ性能算出の手順を説明する。こ
こで、仮想キャッシュ容量5,10(それぞれレベル
0,1)とし、性能値としてヒット率(キャッシュでヒ
ットしたオブジェクト数÷リクエストさたオブジェクト
総数)を用いるものとする。
て、LRU(Least Recently Used)を用いることにす
る。これは、オブジェクトがリクエストされた際、当該
オブジェクトの順位を、キャッシュされているオブジェ
クトの中で最大の順位+1とするものである。まず、時
刻T1 にオブジェクトAがリクエストされたとき、キャ
ッシュテーブル130には何も載っていないので(ステ
ップ101)、オブジェクト判定部110は、「オブジ
ェクトA、サイズ2、下限ラベル∞、順位1」の組を書
き込む(ステップ103)(図8(A))。エンドポイ
ンタテーブル140には「レベル0、オブジェクトA、
順位1」及び「レベル1、オブジェクトA、順位1」と
書き込む(図9(A))。
て、下限ラベル未満のレベルの仮想キャッシュ、つま
り、レベル0およびレベル1仮想キャッシュにおいて、
オブジェクトAがヒットしなかったものとして、性能値
であるヒット率を計算すると、容量5の場合(レベル
0)及び容量10の場合(レベル1)ともに0である
(ステップ104)。
ンドオブジェクトの中で、最大の順位のものはオブジェ
クトA自身しかなく、その仮想キャッシュのレベルは0
である。従って、追い出し処理部122は、LB =0,
L−1=∞なので、レベル0及びレベル1仮想キャッシ
ュに対して、オブジェクト追い出し処理を行う(ステッ
プ107)。しかし、いずれも、オブジェクトAを蓄積
することで、容量を越えないので、オブジェクトをレベ
ル0及びレベル1仮想キャッシュから追い出さない。オ
ブジェクトAの処理の最後にオブジェクトAの下限ラベ
ルを0に更新する。
ストされた時、キャッシュテーブル130にオブジェク
トBは載っていないので(ステップ101)、オブジェ
クト判定部110は、「オブジェクトB、サイズ2、下
限ラベル∞、順位2」の組をキャッシュテーブル130
に書き込む(ステップ103)(図8(B))。性能計
算部120の計算部121において、下限ラベル未満の
レベルの仮想キャッシュ、つまり、レベル0及びレベル
1の仮想キャッシュにおいて、オブジェクトBがヒット
しなかったものとして、性能値であるヒット率を計算す
ると、容量5の場合(レベル0)及び容量10の場合
(レベル1)と共に0である(ステップ104)。
ンドオブジェクトの中で、最大の順位のものはオブジェ
クトAである。また、その仮想キャッシュのレベルは0
である。従って、追い出し処理部122は、LB =0,
L−1=∞なので、レベル0及びレベル1仮想キャッシ
ュに対して、オブジェクト追い出し処理を行う(ステッ
プ107)。しかし、いずれもオブジェクトBを蓄積す
ることで容量を越えないので、オブジェクトをレベル0
及びレベル1仮想キャッシュから追い出さない。オブジ
ェクトBの処理に最後にオブジェクトBの下限ラベルを
0に更新する(図8(B))。
れた時、キャッシュテーブル130にオブジェクトCは
載っていないので(ステップ101)、オブジェクト判
定部110は、「オブジェクトC,サイズ4、下限ラベ
ル∞、順位3」の組を書き込む(ステップ103)(図
8(C))。下限ラベル未満のレベルの仮想キャッシ
ュ、つまり、レベル0及びレベル1仮想キャッシュにお
いて、オブジェクトCがヒットしなかったものとして、
性能値計算部120の計算部121において、性能値で
あるヒット率を計算すると、容量5の場合(レベル0)
及び容量10の場合(レベル1)共に0である(ステッ
プ104)。
ンドオブジェクトの中で、最大の順位のものはオブジェ
クトAである。その仮想キャッシュのレベルは0であ
る。従って、LB =0,L−1=∞なので、追い出し処
理部122は、レベル0及びレベル1仮想キャッシュに
対して、オブジェクト追い出し処理を行う(ステップ1
07)。
ジェクトCを蓄積すると、オブジェクトA,B,Cのサ
イズの合計が2+2+4=8>5となるため、追い出し
処理部122において、レベル0からオブジェクトを追
い出す処理が必要となる。まず、レベル0仮想キャッシ
ュのエンドオブジェクトをエンドポインタテーブル14
0で探すとオブジェクトAである(図9(B))。追い
出し処理部122は、オブジェクトAを追い出し(ステ
ップ107)、オブジェクトAの下限ラベルを0から1
に更新し、レベル0仮想キャッシュの残されたオブジェ
クトの中で最も順位が小さいオブジェクトBを、レベル
0仮想キャッシュのエンドオブジェクトとしてエンドポ
インタテーブル140を更新する(図9(C))。オブ
ジェクトB,Cのサイズの合計が2+4=6>5となる
が、まだ十分な空き容量がないため、追い出し処理部1
22は、オブジェクトBを追い出し(ステップ10
7)、オブジェクトBの下限ラベルを0から1に更新し
(ステップ108)、レベル0仮想キャッシュの残され
たオブジェクトの中で最も順位が小さいオブジェクトC
を、レベル0仮想キャッシュのエンドオブジェクトとし
てエンドポインタテーブル140を更新する(図9
(C))。オブジェクトCのサイズは4<5なので、レ
ベル0仮想キャッシュに蓄積可能であり、追い出し処理
部122は、オブジェクトをレベル0仮想キャッシュか
ら追い出す処理を停止する。
ジェクトA,B,Cのサイズの合計が2+2+4=8<
10であり、レベル1仮想キャッシュの容量を越えない
ので、追い出し処理部122は、仮想キャッシュから追
い出さない。オブジェクトCの処理の最後に、オブジェ
クトCの下限ラベルを0にする。
れたとき、キャッシュテーブル130には、オブジェク
トAが載っているので、オブジェクト判定部110は、
キャッシュ置換アルゴリムLRUで新たな順位4に更新
する(図8(D))。オブジェクトAの下限ラベルは1
なので、性能値計算部120の計算部121は、レベル
0仮想キャッシュにおいて、オブジェクトAがヒットし
なかったものとして、ヒット率を計算すると0である。
一方、レベル1仮想キャッシュにおいては、オブジェク
トAがヒットしたとしてヒット率を計算すると、1÷4
(ヒット数÷リクエスト総数)=25%である。
エンドポインタテーブル140のエンドオブジェクトの
中で、最大の順位のものは、順位3のオブジェクトCで
あり、そのレベルは0である。従って、追い出し処理部
122は、LB =0、L−1=0(オブジェクトAの下
限ラベルLは1)なので、レベル0仮想キャッシュに対
してのみ、オブジェクト追い出し処理を行う。
ジェクトAを蓄積すると、オブジェクトA,Cのサイズ
の合計が2+4=6>5となるため、レベル0からオブ
ジェクトを追い出す処理が必要となる。まず、オブジェ
クト判定部110において、レベル0仮想キャッシュの
エンドオブジェクトをエンドポインタテーブル140で
探すと、オブジェクトCである(図9(C))。追い出
し処理部122において、オブジェクトCを追い出し
(ステップ107)、オブジェクトCの下限ラベルを0
から1に更新し(ステップ108)、レベル0仮想キャ
ッシュの残されたオブジェクトの中で最も順位が小さい
オブジェクトAを、レベル0仮想キャッシュのエンドオ
ブジェクトとしてエンドポインタテーブル140を更新
する(図9(D))。
レベル0仮想キャッシュの容量を越えないので、追い出
し処理部122は、レベル0仮想キャッシュに蓄積可能
であるため、オブジェクトの追い出し処理を停止する。
オブジェクトAの処理の最後にオブジェクトAの下限ラ
ベルを0にする(ステップ110)。
場合は、0%、容量10の場合は25%であることが分
かる。このようにして、複数のことある容量におけるキ
ャッシュサーバの性能値を同時に算出することができ
る。また、上記の実施例では、図4の構成及び図5、図
6のフローチャートに基づいて説明したが、図4の構成
及び図5、図6のステップをプログラムとして構築し、
キャッシュサーバ性能値算出装置として利用されるコン
ピュータに接続されるディスク装置や、フロッピーディ
スク、CD−ROM等の可搬記憶媒体に格納しておき、
本発明を実施する際にインストールすることにより、容
易に本発明を実現できる。
ることなく、特許請求の範囲内において種々変更・応用
が可能である。
リクエスト列に基づいて、少ない処理で、複数の異なる
容量におけるキャッシュサーバの性能値を同時に算出す
ることができる。
続構成図である。
成図である。
理手順のフローチャートである。
)の手順のフローチャートである。
を示す図である。
遷移を示す図である。
Claims (6)
- 【請求項1】 キャッシュサーバにおいて、リクエスト
の列に基づいて、仮想的なキャッシュ容量(以下、仮想
キャッシュ容量と記す)を持つ仮想的なキャッシュ(以
下、仮想キャッシュ)に対する性能値を算出するキャッ
シュサーバ性能値算出方法において、 リクエストされたオブジェクトAが、オブジェクト名、
オブジェクトサイズ、オブジェクトをキャッシュする仮
想キャッシュの中で最小のレベルである下限ラベル、及
び順位を記録するキャッシュテーブルに存在するかを判
定し、 存在しなければ、オブジェクト名、サイズ、下限ラベ
ル、キャッシュ置換アルゴリズムで決定される順位の組
を前記キャッシュテーブルに書き込み、 存在すれば、キャッシュ置換アルゴリズムでオブジェク
トの新たな順位を決定し、前記キャッシュテーブルのオ
ブジェクトの順位を更新し、 前記オブジェクトAの下限ラベルを読み取り、 前記下限ラベル以上のレベルの仮想キャッシュにおいて
は、前記オブジェクトAがヒットしたものとして性能値
を計算し、 前記下限ラベル未満のレベルの仮想キャッシュにおいて
は、前記オブジェクトAがヒットしなかったものとして
性能値を計算し、 前記仮想キャッシュに蓄積されているオブジェクトプロ
グラムの中で最も順位の低いオブジェクトであるエンド
オブジェクトの中で、オブジェクトAの順位以下の最大
の順位のものを、該仮想キャッシュのレベル、エンドオ
ブジェクト、及びその順位を並べたエンドポインターテ
ーブル上で探し、該エンドオブジェクトに対応する仮想
キャッシュのレベルを設定し、 所定のレベルのすべての仮想キャッシュの各々に対し
て、オブジェクト追い出し処理を行い、 前記オブジェクトAの下限ラベルを設定することを特徴
とするキャッシュサーバ性能値算出方法。 - 【請求項2】 前記オブジェクト追い出し処理として、 リクエストされた前記オブジェクトAを、あるレベルK
の仮想キャッシュに蓄積しようとした時、該仮想キャッ
シュの容量を越える場合には、該レベルKの仮想キャッ
シュのエンドオブジェクトを前記エンドポインタテーブ
ルで探し、順位の小さいものから順に、該オブジェクト
Aを蓄積できる空き容量ができるまで、オブジェクトを
該レベルKの仮想キャッシュから追い出し、 追い出された残りのオブジェクトの中で順位が最も小さ
いものを前記エンドポインタテーブルのあるレベルKの
仮想キャッシュのエンドオブジェクトとする請求項1記
載のキャッシュサーバ性能値算出方法。 - 【請求項3】キャッシュサーバにおいて、リクエストの
列に基づいて、仮想キャッシュ容量を持つ仮想キャッシ
ュに対する性能値を算出するキャッシュサーバ性能値算
出装置であって、 オブジェクト名、オブジェクトサイズ、オブジェクトを
キャッシュする仮想キャッシュの中で最小のレベルであ
る下限ラベル、及び順位の組とを記録するキャッシュテ
ーブルと、 各仮想キャッシュに蓄積されているオブジェクトの中で
最も順位の低いオブジェクトであるエンドオブジェク
ト、仮想キャッシュのレベル、及びその順位を並べたエ
ンドポインタテーブルと、 リクエストされたオブジェクトAが、前記キャッシュテ
ーブルに存在するかを判定し、存在しなければ、オブジ
ェクト名、サイズ、下限ラベル、キャッシュ置換アルゴ
リズムで決定される順位の組を該キャッシュテーブルに
書き込み、存在すれば、キャッシュ置換アルゴリズムで
オブジェクトの新たな順位を決定し、該キャッシュテー
ブルのオブジェクトの順位を更新するオブジェクト判定
手段と、 前記オブジェクトAの下限ラベルを読み取り、前記下限
ラベル以上のレベルの仮想キャッシュにおいては、前記
オブジェクトAがヒットしたものとして性能値を計算
し、前記下限ラベル未満のレベルの仮想キャッシュにお
いては、前記オブジェクトAがヒットしなかったものと
して性能値を計算し、仮想キャッシュに蓄積されている
オブジェクトプログラムの中で最も順位の低いオブジェ
クトであるエンドオブジェクトの中で、オブジェクトA
の順位以下の最大の順位のものを、該仮想キャッシュの
レベル、エンドオブジェクト、及びその順位を並べたエ
ンドポインターテーブル上で探し、該エンドオブジェク
トに対応する仮想キャッシュのレベルを設定する性能値
計算手段と、 所定のレベルのすべての仮想キャッシュの各々に対し
て、オブジェクト追い出し処理を行う追い出し手段と、 前記オブジェクトAの下限ラベルを設定するラベル設定
手段とを有することを特徴とするキャッシュサーバ性能
値算出装置。 - 【請求項4】 前記追い出し手段は、リクエストされた
前記オブジェクトAを、あるレベルKの仮想キャッシュ
に蓄積しようとした時、該仮想キャッシュの容量を越え
る場合には、該レベルKの仮想キャッシュのエンドオブ
ジェクトを前記エンドポインタテーブルで探し、順位の
小さいものから順に、該オブジェクトAを蓄積できる空
き容量ができるまで、オブジェクトを該レベルKの仮想
キャッシュから追い出し、追い出された残りのオブジェ
クトの中で順位が最も小さいものを該記エンドポインタ
テーブルのあるレベルKの仮想キャッシュのエンドオブ
ジェクトとする手段を有する請求項3記載のキャッシュ
サーバ性能値算出装置。 - 【請求項5】 キャッシュサーバにおいて、リクエスト
の列に基づいて、仮想キャッシュ容量を持つ仮想キャッ
シュに対する性能値を算出するキャッシュサーバ性能値
算出プログラムを格納した記憶媒体であって、 リクエストされたオブジェクトAが、オブジェクト名、
オブジェクトサイズ、オブジェクトをキャッシュする仮
想キャッシュの中で最小のレベルである下限ラベル、及
び順位を記録するキャッシュテーブルに存在するかを判
定するプロセスと、 存在しなければ、オブジェクト名、サイズ、下限ラベ
ル、キャッシュ置換アルゴリズムで決定される順位の組
を前記キャッシュテーブルに書き込むプロセスと、 存在すれば、キャッシュ置換アルゴリズムでオブジェク
トの新たな順位を決定し、前記キャッシュテーブルのオ
ブジェクトの順位を更新するプロセスと、 前記オブジェクトAの下限ラベルを読み取るプロセス
と、 前記下限ラベル以上のレベルの仮想キャッシュにおいて
は、前記オブジェクトAがヒットしたものとして性能値
を計算するプロセスと、 前記下限ラベル未満のレベルの仮想キャッシュにおいて
は、前記オブジェクトAがヒットしなかったものとして
性能値を計算するプロセスと、 前記仮想キャッシュに蓄積されているオブジェクトの中
で最も順位の低いオブジェクトであるエンドオブジェク
トの中でオブジェクトAの順位以下の最大の順位のもの
を、仮想キャッシュのレベル、エンドオブジェクト、及
びその順位を並べたエンドポインターテーブル上で探
し、該エンドオブジェクトに対応する仮想キャッシュの
レベルを設定するプロセスと、 所定のレベルのすべての仮想キャッシュの各々に対し
て、オブジェクト追い出し処理を行うプロセスと、 前記オブジェクトAの下限ラベルを設定するプロセスと
を有することを特徴とするキャッシュサーバ性能値算出
プログラムを格納した記憶媒体。 - 【請求項6】 前記オブジェクト追い出しプロセスは、 リクエストされた前記オブジェクトAを、あるレベルK
の仮想キャッシュに蓄積しようとした時、該仮想キャッ
シュの容量を越える場合には、該レベルKの仮想キャッ
シュのエンドオブジェクトを前記エンドポインタテーブ
ルで探し、順位の小さいものから順に、該オブジェクト
Aを蓄積できる空き容量ができるまで、オブジェクトを
該レベルKの仮想キャッシュから追い出すプロセスと、 追い出された残りのオブジェクトの中で順位が最も小さ
いものを前記エンドポインタテーブルのあるレベルKの
仮想キャッシュのエンドオブジェクトとするプロセスと
を有する請求項5記載のキャッシュサーバ性能値算出プ
ログラムを格納した記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22399699A JP3788121B2 (ja) | 1999-08-06 | 1999-08-06 | キャッシュサーバ性能値算出方法及び装置及びキャッシュサーバ性能値算出プログラムを格納した記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22399699A JP3788121B2 (ja) | 1999-08-06 | 1999-08-06 | キャッシュサーバ性能値算出方法及び装置及びキャッシュサーバ性能値算出プログラムを格納した記憶媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001051892A true JP2001051892A (ja) | 2001-02-23 |
JP3788121B2 JP3788121B2 (ja) | 2006-06-21 |
Family
ID=16806963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22399699A Expired - Fee Related JP3788121B2 (ja) | 1999-08-06 | 1999-08-06 | キャッシュサーバ性能値算出方法及び装置及びキャッシュサーバ性能値算出プログラムを格納した記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3788121B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005285058A (ja) * | 2004-03-31 | 2005-10-13 | Hitachi Ltd | 記憶装置のキャッシュ管理方法 |
CN102063462A (zh) * | 2010-10-29 | 2011-05-18 | 蓝汛网络科技(北京)有限公司 | 一种回收缓存服务器中存储资源的方法及装置 |
JP2013540322A (ja) * | 2010-10-04 | 2013-10-31 | クアルコム,インコーポレイテッド | ワイヤレスハンドヘルドコンピューティングデバイスのメモリリソースを管理するためのシステムおよび方法 |
-
1999
- 1999-08-06 JP JP22399699A patent/JP3788121B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005285058A (ja) * | 2004-03-31 | 2005-10-13 | Hitachi Ltd | 記憶装置のキャッシュ管理方法 |
JP4631301B2 (ja) * | 2004-03-31 | 2011-02-16 | 株式会社日立製作所 | 記憶装置のキャッシュ管理方法 |
JP2013540322A (ja) * | 2010-10-04 | 2013-10-31 | クアルコム,インコーポレイテッド | ワイヤレスハンドヘルドコンピューティングデバイスのメモリリソースを管理するためのシステムおよび方法 |
JP2015135690A (ja) * | 2010-10-04 | 2015-07-27 | クアルコム,インコーポレイテッド | ワイヤレスハンドヘルドコンピューティングデバイスのメモリリソースを管理するためのシステムおよび方法 |
CN102063462A (zh) * | 2010-10-29 | 2011-05-18 | 蓝汛网络科技(北京)有限公司 | 一种回收缓存服务器中存储资源的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3788121B2 (ja) | 2006-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11301394B2 (en) | Using a machine learning module to select one of multiple cache eviction algorithms to use to evict a track from the cache | |
JP4246922B2 (ja) | 保護機能付き最近最低使用頻度置換方法 | |
US7424577B2 (en) | Dynamic optimization of cache memory | |
US8255630B1 (en) | Optimization of cascaded virtual cache memory | |
US7360015B2 (en) | Preventing storage of streaming accesses in a cache | |
US5778430A (en) | Method and apparatus for computer disk cache management | |
US6385699B1 (en) | Managing an object store based on object replacement penalties and reference probabilities | |
Liu et al. | Hybrid storage management for database systems | |
US20160019000A1 (en) | Promotion of partial data segments in flash cache | |
JP2008502965A (ja) | ルックアップ・キャッシュにオブジェクトを維持するためのシステム及び方法 | |
US7469320B2 (en) | Adaptive replacement cache | |
US9471253B2 (en) | Use of flash cache to improve tiered migration performance | |
CN108228088B (zh) | 用于管理存储系统的方法和设备 | |
CN109002400B (zh) | 一种内容感知型计算机缓存管理系统及方法 | |
JP6394231B2 (ja) | データ配置制御プログラム、データ配置制御装置およびデータ配置制御方法 | |
JP2001051892A (ja) | キャッシュサーバ性能値算出方法及び装置及びキャッシュサーバ性能値算出プログラムを格納した記憶媒体 | |
US7529891B2 (en) | Balanced prefetching exploiting structured data | |
JP2019020965A (ja) | 情報処理装置、プログラム及び情報処理方法 | |
KR101976320B1 (ko) | 라스트 레벨 캐시 메모리 및 이의 데이터 관리 방법 | |
US11977483B2 (en) | Maintaining data in a first level memory and buckets representing regions of memory devices to extend data cache | |
US20210263648A1 (en) | Method for managing performance of logical disk and storage array | |
CN117992366A (zh) | 一种缓存处理方法、装置、计算机设备及存储介质 | |
CN118715511A (zh) | 将l3高速缓存数据逐出的数据重新找取到末级高速缓存中 | |
CN116795878A (zh) | 数据处理方法及装置、电子设备及介质 | |
KR19980047901A (ko) | 객체지향 데이터베이스 시스템을 위한 비용기반 객체 버퍼 교체 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060120 |
|
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: 20060307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060320 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090407 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100407 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110407 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120407 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |