[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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
Application number
JP11223996A
Other languages
English (en)
Other versions
JP3788121B2 (ja
Inventor
Hiroyoshi Minami
弘佳 巳波
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP22399699A priority Critical patent/JP3788121B2/ja
Publication of JP2001051892A publication Critical patent/JP2001051892A/ja
Application granted granted Critical
Publication of JP3788121B2 publication Critical patent/JP3788121B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 (修正有) 【課題】 要求性能を満たすキャッシュ容量を決定する
ために、実際のリクエスト列に基づいて、複数の異なる
容量における性能値を同時に算出すること。 【解決手段】 リクエストされたオブジェクトAが、キ
ャッシュテーブルに存在しなければ、オブジェクト名、
サイズ、下限ラベル、キャッシュ置換アルゴリズムで決
定される順位の組をキャッシュテーブルに書き込み、存
在すれば、オブジェクトの新たな順位を決定し、キャッ
シュテーブルのオブジェクトの順位を更新し、下限ラベ
ル以上のレベルの仮想キャッシュにおいては、オブジェ
クトAがヒットしたものとし、下限ラベル未満のレベル
の仮想キャッシュにおいてはヒットしなかったものとし
て性能値を計算し、エンドオブジェクトの中でオブジェ
クトAの順位以下の最大の順位のものに、対応する仮想
キャッシュのレベルを設定し、オブジェクト追い出し処
理を行い、オブジェクトAの下限ラベルを設定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、キャッシュサーバ
性能値算出方法及び装置及びキャッシュサーバ性能値算
出プログラムを格納した記憶媒体に係り、特に、実際の
リクエスト列に基づいて、様々なキャッシュ容量におけ
る性能値を仮想的に求めることによって、適切なキャッ
シュ容量を設計するためのキャッシュサーバ性能値算出
方法及び装置及びキャッシュサーバ性能値算出プログラ
ムを格納した記憶媒体に関する。
【0002】
【従来の技術】キャッシュサーバは、リクエストされた
オブジェクトがキャッシュ内に蓄積されている場合は、
当該オブジェクトをクライアントへ転送し、キャッシュ
置換アルゴリズムによって、当該オブジェクトの順位を
変更する。また、リクエストされたオブジェクトがキャ
ッシュ内に蓄積されていない場合は、当該オブジェクト
をオリジンサーバから取得してキャッシュ内に蓄積し、
キャッシュ置換アルゴリズムによって当該オブジェクト
の順位を決定する。その際、リクエストされたオブジェ
クトを蓄積しようとしたとき、キャッシュ容量を越える
場合は、キャッシュされたオブジェクトの中で順位の低
いものから削除することによって空き容量を作り、リク
エストされたオブジェクトをキャッシュ内に蓄積する。
【0003】このような動作を行うキャッシュサーバの
キャッシュ容量の設計として、従来は、リクエストの発
生間隔に何らかの確率分布を仮定した上で、規定された
性能値の閾値を満たす容量を解析的に求める方法があ
る。
【0004】
【発明が解決しようとする課題】しかしながら、上記の
従来の方法は、仮定する確率分布の妥当性が不明であ
り、確率分布のパラメータをどのように設定すべきか不
明であるため、この方法によって設計された容量が実際
のリクエストに対して適切か否かを判断することができ
ない。従って、実際には少なく見積り過ぎることにより
性能の劣化、もしくは、多く見積り過ぎることによるコ
ストアップが生じうるという問題がある。
【0005】本発明は、上記の点に鑑みなされたもの
で、要求性能を満たすキャッシュ容量を決定するため
に、実際のリクエスト列に基づいて、複数の異なる容量
における性能値を同時に算出することが可能なキャッシ
ュサーバ性能値算出方法及び装置及びキャッシュサーバ
性能値算出プログラムを格納した記憶媒体を提供するこ
とを目的とする。
【0006】
【課題を解決するための手段】図1は、本発明の原理を
説明するための図である。本発明(請求項1)は、キャ
ッシュサーバにおいて、リクエストの列に基づいて、仮
想キャッシュ容量を持つ仮想キャッシュに対する性能値
を算出するキャッシュサーバ性能値算出方法において、
リクエストされたオブジェクトAが、オブジェクト名、
オブジェクトサイズ、オブジェクトをキャッシュする仮
想キャッシュの中で最小のレベルである下限ラベル、及
び順位を記録するキャッシュテーブルに存在するかを判
定し(ステップ1)、存在しなければ、オブジェクト
名、サイズ、下限ラベル、キャッシュ置換アルゴリズム
で決定される順位の組をキャッシュテーブルに書き込み
(ステップ2)、存在すれば、キャッシュ置換アルゴリ
ズムでオブジェクトの新たな順位を決定し、キャッシュ
テーブルのオブジェクトの順位を更新し(ステップ
3)、オブジェクトAの下限ラベルを読み取り(ステッ
プ4)、下限ラベル以上のレベルの仮想キャッシュにお
いては、オブジェクトAがヒットしたものとして性能値
を計算し(ステップ5)、下限ラベル未満のレベルの仮
想キャッシュにおいては、オブジェクトAがヒットしな
かったものとして性能値を計算し(ステップ6)、仮想
キャッシュに蓄積されているオブジェクトの中で最も順
位の低いオブジェクトであるエンドオブジェクトの中で
オブジェクトAの順位以下の最大の順位のものを、仮想
キャッシュのレベル、エンドオブジェクト、及びその順
位を並べたエンドポインターテーブル上で探し、該エン
ドオブジェクトに対応する仮想キャッシュのレベルを設
定し(ステップ7)、所定のレベルのすべての仮想キャ
ッシュの各々に対して、オブジェクト追い出し処理を行
い(ステップ8)、オブジェクトAの下限ラベルを設定
する(ステップ9)。
【0007】本発明(請求項2)は、オブジェクト追い
出し処理として、リクエストされたオブジェクトAを、
あるレベルKの仮想キャッシュに蓄積しようとした時、
該仮想キャッシュの容量を越える場合には、該レベルK
の仮想キャッシュのエンドオブジェクトをエンドポイン
タテーブルで探し、順位の小さいものから順に、該オブ
ジェクトAを蓄積できる空き容量ができるまで、オブジ
ェクトを該レベルKの仮想キャッシュから追い出し、追
い出された残りのオブジェクトの中で順位が最も小さい
ものをエンドポインタテーブルのあるレベルKの仮想キ
ャッシュのエンドオブジェクトとする。
【0008】図2は、本発明の原理構成図である。本発
明(請求項3)は、キャッシュサーバにおいて、リクエ
ストの列に基づいて、仮想キャッシュ容量を持つ仮想キ
ャッシュに対する性能値を算出するキャッシュサーバ性
能値算出装置であって、オブジェクト名、オブジェクト
サイズ、オブジェクトをキャッシュする仮想キャッシュ
の中で最小のレベルである下限ラベル、及び順位の組と
を記録するキャッシュテーブル130と、仮想キャッシ
ュに蓄積されているオブジェクトの中で最も低い順位の
オブジェクトであるエンドオブジェクト、仮想キャッシ
ュのレベル、及びその順位を並べたエンドポインタテー
ブル140と、リクエストされたオブジェクトAが、キ
ャッシュテーブル130に存在するかを判定し、存在し
なければ、オブジェクト名、サイズ、下限ラベル、キャ
ッシュ置換アルゴリズムで決定される順位の組をキャッ
シュテーブル130に書き込み、存在すれば、キャッシ
ュ置換アルゴリズムでオブジェクトの新たな順位を決定
し、キャッシュテーブルのオブジェクトの順位を更新す
るオブジェクト判定手段110と、オブジェクトAの下
限ラベルを読み取り、下限ラベル以上のレベルの仮想キ
ャッシュにおいては、オブジェクトAがヒットしたもの
として性能値を計算し、下限ラベル未満のレベルの仮想
キャッシュにおいては、オブジェクトAがヒットしなか
ったものとして性能値を計算し、仮想キャッシュに蓄積
されているオブジェクトの中で最も順位の低いオブジェ
クトであるエンドオブジェクトの中でオブジェクトAの
順位以下の最大の順位のものを、エンドポインターテー
ブル140上で探し、該エンドオブジェクトに対応する
仮想キャッシュのレベルを設定する性能値計算手段12
0と、所定のレベルのすべての仮想キャッシュの各々に
対して、オブジェクト追い出し処理を行う追い出し手段
150と、オブジェクトAの下限ラベルを設定するラベ
ル設定手段160とを有する。
【0009】本発明(請求項4)は、追い出し手段15
0において、リクエストされたオブジェクトAを、ある
レベルKの仮想キャッシュに蓄積しようとした時、該仮
想キャッシュの容量を越える場合には、該レベルKの仮
想キャッシュのエンドオブジェクトをエンドポインタテ
ーブルで探し、順位の小さいものから順に、該オブジェ
クトAを蓄積できる空き容量ができるまで、オブジェク
トを該レベルKの仮想キャッシュから追い出し、追い出
された残りのオブジェクトの中で順位が最も小さいもの
を該記エンドポインタテーブルのあるレベルKの仮想キ
ャッシュのエンドオブジェクトとする手段を有する。
【0010】本発明(請求項5)は、キャッシュサーバ
において、リクエストの列に基づいて、仮想キャッシュ
容量を持つ仮想キャッシュに対する性能値を算出するキ
ャッシュサーバ性能値算出プログラムを格納した記憶媒
体であって、リクエストされたオブジェクトAが、オブ
ジェクト名、オブジェクトサイズ、オブジェクトをキャ
ッシュする仮想キャッシュの中で最小のレベルである下
限ラベル、及び順位を記録するキャッシュテーブルに存
在するかを判定するプロセスと、存在しなければ、オブ
ジェクト名、サイズ、下限ラベル、キャッシュ置換アル
ゴリズムで決定される順位の組をキャッシュテーブルに
書き込むプロセスと、存在すれば、キャッシュ置換アル
ゴリズムでオブジェクトの新たな順位を決定し、キャッ
シュテーブルのオブジェクトの順位を更新するプロセス
と、オブジェクトAの下限ラベルを読み取るプロセス
と、下限ラベル以上のレベルの仮想キャッシュにおいて
は、オブジェクトAがヒットしたものとして性能値を計
算するプロセスと、下限ラベル未満のレベルの仮想キャ
ッシュにおいては、オブジェクトAがヒットしなかった
ものとして性能値を計算するプロセスと、仮想キャッシ
ュに蓄積されているオブジェクトの中で最も順位の低い
オブジェクトであるエンドオブジェクトの中でオブジェ
クトAの順位以下の最大の順位のものを、仮想キャッシ
ュのレベル、エンドオブジェクト、及びその順位を並べ
たエンドポインターテーブル上で探し、該エンドオブジ
ェクトに対応する仮想キャッシュのレベルを設定するプ
ロセスと、所定のレベルのすべての仮想キャッシュの各
々に対して、オブジェクト追い出し処理を行うプロセス
と、オブジェクトAの下限ラベルを設定するプロセスと
を有する。
【0011】本発明(請求項6)は、オブジェクト追い
出しプロセスにおいて、リクエストされたオブジェクト
Aを、あるレベルKの仮想キャッシュに蓄積しようとし
た時、該仮想キャッシュの容量を越える場合には、該レ
ベルKの仮想キャッシュのエンドオブジェクトをエンド
ポインタテーブルで探し、順位の小さいものから順に、
該オブジェクトAを蓄積できる空き容量ができるまで、
オブジェクトを該レベルKの仮想キャッシュから追い出
すプロセスと、追い出された残りのオブジェクトの中で
順位が最も小さいものをエンドポインタテーブルのある
レベルKの仮想キャッシュのエンドオブジェクトとする
プロセスとを有する。
【0012】上記のように、本発明では、複数の仮想キ
ャッシュを用いることにより、複数の異なるキャッシュ
容量における性能値を同時に計算することが可能とな
る。次に、オブジェクトに対して下限ラベルを定義する
ことにより、そのオブジェクトをキャッシュしていない
仮想キャッシュの集合(当該オブジェクトの下限ラベル
より小さいレベルを持つすべての仮想キャッシュ)が把
握できる。従って、リクエストされたオブジェクトがヒ
ットし仮想キャッシュの集合と、ヒットしなかった仮想
キャッシュの集合が、下限ラベルを参照することによ
り、容易に分離できるため、各仮想キャッシュ毎にヒッ
トしたかしなかったかの判定を行う必要がなく、より少
ない計算で複数の異なるキャッシュ容量における性能値
を計算することが可能となる。
【0013】また、リクエストされたオブジェクトの順
位以下の順位を持つエンドオブジェクトの中で、最大の
順位のものに対応する仮想キャッシュのレベルをLB
リクエストされたオブジェクトの下限ラベルをLとし
て、LB からL−1のレベルの全ての仮想キャッシュの
各々に対してのみ、オブジェクト追い出し処理を行うこ
とによって、オブジェクト追い出し処理を必要最低限に
抑えることができる。
【0014】更に、エンドポインタテーブルを用いるこ
とにより、各仮想キャッシュにおいて最小の順位のオブ
ジェクトをすぐに参照することができるため、新たなオ
ブジェクトをキャッシュする際に空き容量を作るために
順位の小さいものを新たに探索する必要がなく、オブジ
ェクトの追い出し処理を高速に行うことが可能となる。
【0015】このようにして、実際のリクエスト列に基
づいて、複数の異なる容量における性能値を、少ない手
間で同時に算出することが可能となる。
【0016】
【発明の実施の形態】図3は、本発明のキャッシュサー
バ性能値算出装置の接続構成を示し、図4は、本発明の
キャッシュサー性能値算出装置の構成を示す。キャッシ
ュサーバ性能値算出装置100は、サーバ200に接続
され、当該サーバ200からリクエスト列が入力される
と、キャッシュサーバ性能値を算出し、入力されたリク
エスト列に対応する性能値を出力する。
【0017】キャッシュサーバ性能値算出装置100
は、オブジェクト判定部110、性能値計算部120、
キャッシュテーブル130、エンドポインタテーブル1
40から構成される。キャッシュテーブル130は、オ
ブジェクト名、当該オブジェクトサイズ、当該オブジェ
クトをキャッシュする仮想キャッシュの中で最小のレベ
ル(以下、下限ラベルと記す)、及び順位の組を記録し
たテーブルである。
【0018】エンドポインタテーブル140は、仮想キ
ャッシュのレベル、当該仮想キャッシュに蓄積されてい
るオブジェクトの中で最も順位の低いもの(以下、エン
ドオブジェクトと記す)、及びその順位を並べたテーブ
ルである。オブジェクト判定部110は、リクエストさ
れたオブジェクトAがキャッシュテーブル130にある
か否かを判定し、存在しなければ当該オブジェクト名、
サイズ、下限ラベル、キャッシュ置換アルゴリズムで決
定される順位の組を、キャッシュテーブル130に書き
込む。但し、下限ラベルは∞とする。一方、リクエスト
されたオブジェクトAがキャッシュテーブル130に存
在すれば、キャッシュ置換アルゴリズムでその新たな順
位を決定し、キャッシュテーブル130のすべてのオブ
ジェクトの順位を更新する。
【0019】性能値計算部120は、性能値を計算する
計算部121と、仮想キャッシュに対してオブジェクト
の追い出しを行う追い出し処理部122から構成され
る。計算部121は、当該オブジェクトAの下限ラベル
(Lとする)を読み取る。この下限ラベルL以上のレベ
ルの仮想キャッシュにおいては、オブジェクトAがヒッ
トしたものとして性能値を計算する。一方、この下限ラ
ベル未満のレベルの仮想キャッシュにおいては、オブジ
ェクトAがヒットしなかったものとして性能値を計算す
る。そして、オブジェクトAの順位以下の順位を持つオ
ブジェクトの中で最大の順位のものをエンドポインタテ
ーブル140上で探し、そのエンドオブジェクトに対応
する仮想キャッシュのレベルをLB とする。
【0020】追い出し処理部122は、LB からL−1
のレベルのすべての仮想キャッシュの各々に対して、オ
ブジェクト追い出し処理を行い、オブジェクトAの下限
ラベルをLB とする。図5は、本発明のキャッシュサー
バ性能値算出方法の処理手順のフローチャートである。
【0021】ステップ101) オブジェクト判定部1
10において、リクエストされたオブジェクトAがキャ
ッシュテーブル130に存在するかを判定する。存在す
る場合にはステップ102に移行し、存在しない場合に
はステップ103に移行する。 ステップ102) キャッシュ置換アルゴリズムでその
新たな順位を決定し、キャッテーブル130のすべての
オブジェクトの順位を更新し、ステップ104に移行す
る。
【0022】ステップ103) オブジェクトAがキャ
ッシュテーブル130に存在しない場合には、以下の内
容をキャッシュテーブル130に書き込む。 当該オブジェクト名 サイズ 下限ラベル:∞ キャッシュ置換アルゴリズムで決定される順位 ステップ104) 性能値計算部120の計算部121
において、当該オブジェクトAの下限ラベルLを読み取
る。
【0023】・この下限ラベルL以上のレベルの仮想キ
ャッシュにおいては、オブジェクトAがヒットしたもの
として性能値を計算する。 ・一方、この下限ラベル未満のレベルの仮想キャッシュ
においては、オブジェクトAがヒットしなったものとし
て、性能値を計算する。 ステップ105) オブジェクトAの順位以下の順位を
持つエンドオブジェクトの中で最大の順位のものをエン
ドポインタテーブル140上で探し、そのエンドオブジ
ェクトに対応する仮想キャッシュのレベルLB とする。
【0024】ステップ106) レベルKを、最大の順
位のものに対応する仮想キャッシュのレベルLB とす
る。 ステップ107) 追い出し処理部122において、レ
ベルLB の仮想キャッシュに対して、オブジェクト追い
出し処理(Discard )を行う。詳細は図6で説明する。
【0025】ステップ108) 追い出された各オブジ
ェクトの下限ラベルKを1増加させる。 ステップ109) レベルKが下限ラベルLとなった場
合にはステップ110に移行し、そうでない場合にはス
テップ107に移行する。 ステップ110) オブジェクトAの下限ラベルをLB
にする。
【0026】ステップ111) 次のオブジェクトの処
理に移行する。 次に、上記のステップ107におけるオブジェクト追い
出し処理について説明する。図6は、本発明のオブジェ
クト追い出し処理(Discard )の手順のフローチャート
である。
【0027】ステップ201) 性能値計算部120の
追い出し処理部122は、オブジェクトAをレベルKの
仮想キャッシュに蓄積しようとしたとき、当該仮想キャ
ッシュ容量を越えるかを判定し、越える場合には当該処
理を終了する。 ステップ202) レベルKの仮想キャッシュのエンド
オブジェクトをエンドポインタテーブル140で探し、
順位の小さいものから順に、以下の処理を行う。 ステ
ップ203) オブジェクトをレベルK仮想キャッシュ
から追い出す。つまり、各オブジェクトの下限ラベルを
1だけ増加させる。
【0028】ステップ204) オブジェクトを蓄積で
きる空き容量があるかを判定し、ある場合には、ステッ
プ205に移行し、ない場合にはステップ203に移行
する。 ステップ205) 追い出された残りのオブジェクトの
中で順位が最も小さいものをエンドポインタテーブル1
40のレベルK仮想キャッシュのエンドオブジェクトと
する。
【0029】このように、キャッシュテーブル130と
して、動的ハッシュなどのデータ構造を用いることによ
り、オブジェクトがキャッシュテーブル130にあるか
否かを高速に判定することができる。また、オブジェク
トの順位を線形リスト構造やヒープ構造で管理すること
により、順位に関する操作を高速化することができる。
【0030】
【実施例】以下、図面と共に本発明の実施例を説明す
る。図7は、本発明の一実施例のリクエスト列の例を示
し、図8は、本発明の一実施例のキャッシュテーブルの
遷移を示し、図9は、本発明の一実施例のエンドポイン
タテーブルの遷移を示す。
【0031】以下、図7に示すリクエスト列の例に基づ
いて、キャッシュサーバ性能算出の手順を説明する。こ
こで、仮想キャッシュ容量5,10(それぞれレベル
0,1)とし、性能値としてヒット率(キャッシュでヒ
ットしたオブジェクト数÷リクエストさたオブジェクト
総数)を用いるものとする。
【0032】また、キャッシュ置換アルゴリズムとし
て、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))。
【0033】性能値計算部120の計算部121におい
て、下限ラベル未満のレベルの仮想キャッシュ、つま
り、レベル0およびレベル1仮想キャッシュにおいて、
オブジェクトAがヒットしなかったものとして、性能値
であるヒット率を計算すると、容量5の場合(レベル
0)及び容量10の場合(レベル1)ともに0である
(ステップ104)。
【0034】オブジェクトAの順位以下の順位を持つエ
ンドオブジェクトの中で、最大の順位のものはオブジェ
クトA自身しかなく、その仮想キャッシュのレベルは0
である。従って、追い出し処理部122は、LB =0,
L−1=∞なので、レベル0及びレベル1仮想キャッシ
ュに対して、オブジェクト追い出し処理を行う(ステッ
プ107)。しかし、いずれも、オブジェクトAを蓄積
することで、容量を越えないので、オブジェクトをレベ
ル0及びレベル1仮想キャッシュから追い出さない。オ
ブジェクトAの処理の最後にオブジェクトAの下限ラベ
ルを0に更新する。
【0035】次に、時刻T2 にオブジェクトBがリクエ
ストされた時、キャッシュテーブル130にオブジェク
トBは載っていないので(ステップ101)、オブジェ
クト判定部110は、「オブジェクトB、サイズ2、下
限ラベル∞、順位2」の組をキャッシュテーブル130
に書き込む(ステップ103)(図8(B))。性能計
算部120の計算部121において、下限ラベル未満の
レベルの仮想キャッシュ、つまり、レベル0及びレベル
1の仮想キャッシュにおいて、オブジェクトBがヒット
しなかったものとして、性能値であるヒット率を計算す
ると、容量5の場合(レベル0)及び容量10の場合
(レベル1)と共に0である(ステップ104)。
【0036】オブジェクトBの順位以下の順位を持つエ
ンドオブジェクトの中で、最大の順位のものはオブジェ
クトAである。また、その仮想キャッシュのレベルは0
である。従って、追い出し処理部122は、LB =0,
L−1=∞なので、レベル0及びレベル1仮想キャッシ
ュに対して、オブジェクト追い出し処理を行う(ステッ
プ107)。しかし、いずれもオブジェクトBを蓄積す
ることで容量を越えないので、オブジェクトをレベル0
及びレベル1仮想キャッシュから追い出さない。オブジ
ェクトBの処理に最後にオブジェクトBの下限ラベルを
0に更新する(図8(B))。
【0037】時刻T3 にオブジェクトCがリクエストさ
れた時、キャッシュテーブル130にオブジェクトCは
載っていないので(ステップ101)、オブジェクト判
定部110は、「オブジェクトC,サイズ4、下限ラベ
ル∞、順位3」の組を書き込む(ステップ103)(図
8(C))。下限ラベル未満のレベルの仮想キャッシ
ュ、つまり、レベル0及びレベル1仮想キャッシュにお
いて、オブジェクトCがヒットしなかったものとして、
性能値計算部120の計算部121において、性能値で
あるヒット率を計算すると、容量5の場合(レベル0)
及び容量10の場合(レベル1)共に0である(ステッ
プ104)。
【0038】オブジェクトCの順位以下の順位を持つエ
ンドオブジェクトの中で、最大の順位のものはオブジェ
クトAである。その仮想キャッシュのレベルは0であ
る。従って、LB =0,L−1=∞なので、追い出し処
理部122は、レベル0及びレベル1仮想キャッシュに
対して、オブジェクト追い出し処理を行う(ステップ1
07)。
【0039】・レベル0仮想キャッシュにおいて:オブ
ジェクト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仮想キャッシュか
ら追い出す処理を停止する。
【0040】・レベル1仮想キャッシュにおいて:オブ
ジェクトA,B,Cのサイズの合計が2+2+4=8<
10であり、レベル1仮想キャッシュの容量を越えない
ので、追い出し処理部122は、仮想キャッシュから追
い出さない。オブジェクトCの処理の最後に、オブジェ
クトCの下限ラベルを0にする。
【0041】時刻T4 にオブジェクトAがリクエストさ
れたとき、キャッシュテーブル130には、オブジェク
トAが載っているので、オブジェクト判定部110は、
キャッシュ置換アルゴリムLRUで新たな順位4に更新
する(図8(D))。オブジェクトAの下限ラベルは1
なので、性能値計算部120の計算部121は、レベル
0仮想キャッシュにおいて、オブジェクトAがヒットし
なかったものとして、ヒット率を計算すると0である。
一方、レベル1仮想キャッシュにおいては、オブジェク
トAがヒットしたとしてヒット率を計算すると、1÷4
(ヒット数÷リクエスト総数)=25%である。
【0042】オブジェクトAの順位4以下の順位を持つ
エンドポインタテーブル140のエンドオブジェクトの
中で、最大の順位のものは、順位3のオブジェクトCで
あり、そのレベルは0である。従って、追い出し処理部
122は、LB =0、L−1=0(オブジェクトAの下
限ラベルLは1)なので、レベル0仮想キャッシュに対
してのみ、オブジェクト追い出し処理を行う。
【0043】・レベル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))。
【0044】オブジェクトAのサイズは2<5であり、
レベル0仮想キャッシュの容量を越えないので、追い出
し処理部122は、レベル0仮想キャッシュに蓄積可能
であるため、オブジェクトの追い出し処理を停止する。
オブジェクトAの処理の最後にオブジェクトAの下限ラ
ベルを0にする(ステップ110)。
【0045】最終的に得られたヒット率は、、容量5の
場合は、0%、容量10の場合は25%であることが分
かる。このようにして、複数のことある容量におけるキ
ャッシュサーバの性能値を同時に算出することができ
る。また、上記の実施例では、図4の構成及び図5、図
6のフローチャートに基づいて説明したが、図4の構成
及び図5、図6のステップをプログラムとして構築し、
キャッシュサーバ性能値算出装置として利用されるコン
ピュータに接続されるディスク装置や、フロッピーディ
スク、CD−ROM等の可搬記憶媒体に格納しておき、
本発明を実施する際にインストールすることにより、容
易に本発明を実現できる。
【0046】なお、本発明は、上記の実施例に限定され
ることなく、特許請求の範囲内において種々変更・応用
が可能である。
【0047】
【発明の効果】上述のように、本発明によれば、実際の
リクエスト列に基づいて、少ない処理で、複数の異なる
容量におけるキャッシュサーバの性能値を同時に算出す
ることができる。
【図面の簡単な説明】
【図1】本発明の原理を説明するための図である。
【図2】本発明の原理構成図である。
【図3】本発明のキャッシュサーバ性能値算出装置の接
続構成図である。
【図4】本発明のキャッシュサーバ性能値算出装置の構
成図である。
【図5】本発明のキャッシュサーバ性能値算出方法の処
理手順のフローチャートである。
【図6】本発明のオブジェクト追い出し処理(Discard
)の手順のフローチャートである。
【図7】本発明の一実施例のリクエスト列の例である。
【図8】本発明の一実施例のキャッシュテーブルの遷移
を示す図である。
【図9】本発明の一実施例のエンドポインタテーブルの
遷移を示す図である。
【符号の説明】
100 キャッシュサーバ性能値算出装置 110 オブジェクト判定手段、オブジェクト判定部 120 性能値計算手段、性能値計算部 121 計算部 122 追い出し処理部 130 キャッシュテーブル 140 エンドポインタテーブル 150 追い出し手段 160 ラベル設定手段

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 キャッシュサーバにおいて、リクエスト
    の列に基づいて、仮想的なキャッシュ容量(以下、仮想
    キャッシュ容量と記す)を持つ仮想的なキャッシュ(以
    下、仮想キャッシュ)に対する性能値を算出するキャッ
    シュサーバ性能値算出方法において、 リクエストされたオブジェクトAが、オブジェクト名、
    オブジェクトサイズ、オブジェクトをキャッシュする仮
    想キャッシュの中で最小のレベルである下限ラベル、及
    び順位を記録するキャッシュテーブルに存在するかを判
    定し、 存在しなければ、オブジェクト名、サイズ、下限ラベ
    ル、キャッシュ置換アルゴリズムで決定される順位の組
    を前記キャッシュテーブルに書き込み、 存在すれば、キャッシュ置換アルゴリズムでオブジェク
    トの新たな順位を決定し、前記キャッシュテーブルのオ
    ブジェクトの順位を更新し、 前記オブジェクトAの下限ラベルを読み取り、 前記下限ラベル以上のレベルの仮想キャッシュにおいて
    は、前記オブジェクトAがヒットしたものとして性能値
    を計算し、 前記下限ラベル未満のレベルの仮想キャッシュにおいて
    は、前記オブジェクトAがヒットしなかったものとして
    性能値を計算し、 前記仮想キャッシュに蓄積されているオブジェクトプロ
    グラムの中で最も順位の低いオブジェクトであるエンド
    オブジェクトの中で、オブジェクトAの順位以下の最大
    の順位のものを、該仮想キャッシュのレベル、エンドオ
    ブジェクト、及びその順位を並べたエンドポインターテ
    ーブル上で探し、該エンドオブジェクトに対応する仮想
    キャッシュのレベルを設定し、 所定のレベルのすべての仮想キャッシュの各々に対し
    て、オブジェクト追い出し処理を行い、 前記オブジェクトAの下限ラベルを設定することを特徴
    とするキャッシュサーバ性能値算出方法。
  2. 【請求項2】 前記オブジェクト追い出し処理として、 リクエストされた前記オブジェクトAを、あるレベルK
    の仮想キャッシュに蓄積しようとした時、該仮想キャッ
    シュの容量を越える場合には、該レベルKの仮想キャッ
    シュのエンドオブジェクトを前記エンドポインタテーブ
    ルで探し、順位の小さいものから順に、該オブジェクト
    Aを蓄積できる空き容量ができるまで、オブジェクトを
    該レベルKの仮想キャッシュから追い出し、 追い出された残りのオブジェクトの中で順位が最も小さ
    いものを前記エンドポインタテーブルのあるレベルKの
    仮想キャッシュのエンドオブジェクトとする請求項1記
    載のキャッシュサーバ性能値算出方法。
  3. 【請求項3】キャッシュサーバにおいて、リクエストの
    列に基づいて、仮想キャッシュ容量を持つ仮想キャッシ
    ュに対する性能値を算出するキャッシュサーバ性能値算
    出装置であって、 オブジェクト名、オブジェクトサイズ、オブジェクトを
    キャッシュする仮想キャッシュの中で最小のレベルであ
    る下限ラベル、及び順位の組とを記録するキャッシュテ
    ーブルと、 各仮想キャッシュに蓄積されているオブジェクトの中で
    最も順位の低いオブジェクトであるエンドオブジェク
    ト、仮想キャッシュのレベル、及びその順位を並べたエ
    ンドポインタテーブルと、 リクエストされたオブジェクトAが、前記キャッシュテ
    ーブルに存在するかを判定し、存在しなければ、オブジ
    ェクト名、サイズ、下限ラベル、キャッシュ置換アルゴ
    リズムで決定される順位の組を該キャッシュテーブルに
    書き込み、存在すれば、キャッシュ置換アルゴリズムで
    オブジェクトの新たな順位を決定し、該キャッシュテー
    ブルのオブジェクトの順位を更新するオブジェクト判定
    手段と、 前記オブジェクトAの下限ラベルを読み取り、前記下限
    ラベル以上のレベルの仮想キャッシュにおいては、前記
    オブジェクトAがヒットしたものとして性能値を計算
    し、前記下限ラベル未満のレベルの仮想キャッシュにお
    いては、前記オブジェクトAがヒットしなかったものと
    して性能値を計算し、仮想キャッシュに蓄積されている
    オブジェクトプログラムの中で最も順位の低いオブジェ
    クトであるエンドオブジェクトの中で、オブジェクトA
    の順位以下の最大の順位のものを、該仮想キャッシュの
    レベル、エンドオブジェクト、及びその順位を並べたエ
    ンドポインターテーブル上で探し、該エンドオブジェク
    トに対応する仮想キャッシュのレベルを設定する性能値
    計算手段と、 所定のレベルのすべての仮想キャッシュの各々に対し
    て、オブジェクト追い出し処理を行う追い出し手段と、 前記オブジェクトAの下限ラベルを設定するラベル設定
    手段とを有することを特徴とするキャッシュサーバ性能
    値算出装置。
  4. 【請求項4】 前記追い出し手段は、リクエストされた
    前記オブジェクトAを、あるレベルKの仮想キャッシュ
    に蓄積しようとした時、該仮想キャッシュの容量を越え
    る場合には、該レベルKの仮想キャッシュのエンドオブ
    ジェクトを前記エンドポインタテーブルで探し、順位の
    小さいものから順に、該オブジェクトAを蓄積できる空
    き容量ができるまで、オブジェクトを該レベルKの仮想
    キャッシュから追い出し、追い出された残りのオブジェ
    クトの中で順位が最も小さいものを該記エンドポインタ
    テーブルのあるレベルKの仮想キャッシュのエンドオブ
    ジェクトとする手段を有する請求項3記載のキャッシュ
    サーバ性能値算出装置。
  5. 【請求項5】 キャッシュサーバにおいて、リクエスト
    の列に基づいて、仮想キャッシュ容量を持つ仮想キャッ
    シュに対する性能値を算出するキャッシュサーバ性能値
    算出プログラムを格納した記憶媒体であって、 リクエストされたオブジェクトAが、オブジェクト名、
    オブジェクトサイズ、オブジェクトをキャッシュする仮
    想キャッシュの中で最小のレベルである下限ラベル、及
    び順位を記録するキャッシュテーブルに存在するかを判
    定するプロセスと、 存在しなければ、オブジェクト名、サイズ、下限ラベ
    ル、キャッシュ置換アルゴリズムで決定される順位の組
    を前記キャッシュテーブルに書き込むプロセスと、 存在すれば、キャッシュ置換アルゴリズムでオブジェク
    トの新たな順位を決定し、前記キャッシュテーブルのオ
    ブジェクトの順位を更新するプロセスと、 前記オブジェクトAの下限ラベルを読み取るプロセス
    と、 前記下限ラベル以上のレベルの仮想キャッシュにおいて
    は、前記オブジェクトAがヒットしたものとして性能値
    を計算するプロセスと、 前記下限ラベル未満のレベルの仮想キャッシュにおいて
    は、前記オブジェクトAがヒットしなかったものとして
    性能値を計算するプロセスと、 前記仮想キャッシュに蓄積されているオブジェクトの中
    で最も順位の低いオブジェクトであるエンドオブジェク
    トの中でオブジェクトAの順位以下の最大の順位のもの
    を、仮想キャッシュのレベル、エンドオブジェクト、及
    びその順位を並べたエンドポインターテーブル上で探
    し、該エンドオブジェクトに対応する仮想キャッシュの
    レベルを設定するプロセスと、 所定のレベルのすべての仮想キャッシュの各々に対し
    て、オブジェクト追い出し処理を行うプロセスと、 前記オブジェクトAの下限ラベルを設定するプロセスと
    を有することを特徴とするキャッシュサーバ性能値算出
    プログラムを格納した記憶媒体。
  6. 【請求項6】 前記オブジェクト追い出しプロセスは、 リクエストされた前記オブジェクトAを、あるレベルK
    の仮想キャッシュに蓄積しようとした時、該仮想キャッ
    シュの容量を越える場合には、該レベルKの仮想キャッ
    シュのエンドオブジェクトを前記エンドポインタテーブ
    ルで探し、順位の小さいものから順に、該オブジェクト
    Aを蓄積できる空き容量ができるまで、オブジェクトを
    該レベルKの仮想キャッシュから追い出すプロセスと、 追い出された残りのオブジェクトの中で順位が最も小さ
    いものを前記エンドポインタテーブルのあるレベルKの
    仮想キャッシュのエンドオブジェクトとするプロセスと
    を有する請求項5記載のキャッシュサーバ性能値算出プ
    ログラムを格納した記憶媒体。
JP22399699A 1999-08-06 1999-08-06 キャッシュサーバ性能値算出方法及び装置及びキャッシュサーバ性能値算出プログラムを格納した記憶媒体 Expired - Fee Related JP3788121B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 クアルコム,インコーポレイテッド ワイヤレスハンドヘルドコンピューティングデバイスのメモリリソースを管理するためのシステムおよび方法

Cited By (5)

* Cited by examiner, † Cited by third party
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