JP2002099465A - キャッシュ制御方法 - Google Patents

キャッシュ制御方法

Info

Publication number
JP2002099465A
JP2002099465A JP2000295441A JP2000295441A JP2002099465A JP 2002099465 A JP2002099465 A JP 2002099465A JP 2000295441 A JP2000295441 A JP 2000295441A JP 2000295441 A JP2000295441 A JP 2000295441A JP 2002099465 A JP2002099465 A JP 2002099465A
Authority
JP
Japan
Prior art keywords
cache
file
data
management table
monitor management
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
Application number
JP2000295441A
Other languages
English (en)
Inventor
Hirofumi Nagasuga
弘文 長須賀
Akira Otsuji
彰 大辻
Chieko Akiba
千江子 秋葉
Masahiro Kiyoi
雅広 清井
Masaya Ichikawa
正也 市川
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000295441A priority Critical patent/JP2002099465A/ja
Publication of JP2002099465A publication Critical patent/JP2002099465A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】階層化されたキャッシュ領域を効率的に利用す
ることで、データベースシステムの応答時間の向上、な
らびにスループットの向上を図る。 【解決手段】階層化されたキャッシュ領域を有する計算
機システムにおいて、データのアクセス特性に応じて、
ファイル単位に、利用するキャッシュ領域を決定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、大量のデータを保
持する計算機システム上で、頻繁にアクセスするデータ
への高速アクセスを実現するために用意したキャッシュ
領域の制御方法に関する。
【0002】
【従来の技術】基幹計算機システム等で取り扱うデータ
量ならびに処理量が、年々増加の一途を辿っている。
【0003】一般に、データベースシステムでは、応答
性能やスループットの向上を図るために、計算機ノード
上に、ワークエリアを確保し、その領域に頻繁にアクセ
スするデータを配置すること(以降、キャッシングと呼
ぶ)で、データが格納されている外部記憶装置へのアク
セス回数を削減する工夫をしている。
【0004】その一つの例として、特開平11−110
270号公報を挙げることができる。特開平11−11
0270号では、キャッシュメモリを有効に活用して、
多数のファイルを取り扱うことを可能にするファイル管
理システムおよびファイル管理方法を開示している。
【0005】また、外部記憶装置上においても、特開2
000−172449号公報や、特開2000−181
798号公報に開示されているようなディスクキャッシ
ュ装置とよばれる半導体記憶装置を用いて、データのキ
ャッシングを行い、アクセス時間の短縮を図っている。
【0006】こうした入出力時間の削減によって、処理
性能の向上を図る工夫がなされている一方で、複数の計
算機ノードを用いて、パラレルにデータの検索処理を実
施する形態も出現している。
【0007】このような形態では、計算機ノード間で共
用するデータへのアクセスの高速化を図るために、特開
平5−88966号公報に記されているように、計算機
ノード間の共用デバイスとして拡張記憶装置を利用し
て、計算機ノード間で共用するデータをキャッシングす
る方法が開示されている。
【0008】
【発明が解決しようとする課題】しかし、一つの計算機
ノードが複数のキャッシュを使い分けるケースにおいて
は、同一のデータを、重複して複数のキャッシュ領域に
ステージングしてしまい、キャッシュ領域の利用効率を
低下させるという問題点がある。
【0009】例えば、実記憶装置上に配置したキャッシ
ュ(以降、メモリキャッシュと呼ぶ)と、ディスク装置
が用意しているキャッシュ(以降、ディスクキャッシュ
と呼ぶ)とが具備されたシステムにおいて、特に、参照
更新を頻繁に繰り返すようなデータは、メモリキャッシ
ュとディスクキャッシュの各々に配置される可能性が大
きく、キャッシュ領域の利用効率の低下を招く。
【0010】このようなケースでは、再参照性が高く、
かつ参照頻度が更新頻度よりも高いデータをメモリキャ
ッシュに配置し、上述したような参照更新を頻繁に繰り
返すようなデータは、ディスクキャッシュに配置した方
が効率的である。
【0011】さらに、複数の計算機ノードを用いて、パ
ラレルにデータ検索処理を行う場合においては、上記キ
ャッシング領域の利用方法について、以下に記述するよ
うな問題点が生ずる。
【0012】まず、実記憶装置上に配置したキャッシュ
(以降、メモリキャッシュと呼ぶ)は、各計算機ノード
上に配置されることになる。よって、同一のデータが、
複数のメモリキャッシュに配置される可能性がある。そ
のため、ある計算機ノードでデータの更新をした時に、
データの整合性を保証するために、その計算機ノードは
他の計算機ノードに対して、更新した旨、通知する処理
をしなければならない。また、その通知を受けた他の計
算機ノードのメモリキャッシュに、更新されたデータを
保持していた場合は、そのデータを無効化する手続きを
とらなければならない。
【0013】よって、計算機ノードが増加するにつれ、
上述したようなデータ更新が発生した時に必要となる、
データ更新の通知処理ならびに、データの無効化処理の
オーバヘッドが大きくなるという問題点が生ずる。
【0014】一方、ディスクキャッシュの場合は、オリ
ジナルなデータが格納された外部記憶装置に対応して用
意される。そのため、データが複数のキャッシュに配置
されるということはない。よって、データの更新に付随
して実行しなければならないという処理はない。
【0015】しかし、ディスクキャッシュは、メモリキ
ャッシュに比べ処理時間を要するという問題点がある。
例えば、データベースシステムの入力要求に対しては、
オペレーティングシステムが実入力動作を実行させるた
めの手続き処理を行ったあと、実入力動作が開始され、
その処理の中で対象となるデータがディスクキャッシュ
上に存在した場合に、初めてキャッシュヒットとなり、
アクセスできることになる。
【0016】上述したように、メモリキャッシュやディ
スクキャッシュには一長一短がある。その他、メモリキ
ャッシュとディスクキャッシュ、さらには拡張記憶装置
に設けたキャッシュ等、複数のキャッシュを組み合わせ
て、データベース処理を行うようなケースでは、各キャ
ッシュが独自にキャッシュ上に配置するデータの制御を
行っていると、同一のデータが複数のキャッシュに重複
して格納される可能性がある。そのため、キャッシュの
利用効率が大幅に低減するという問題点も生ずる。
【0017】本発明の目的は、上述されたような階層化
されたキャッシュ領域を効率的に利用することで、デー
タベースシステムの応答時間の向上、ならびにスループ
ットの向上を図ることにある。
【0018】
【課題を解決するための手段】上記課題を解決するため
に、一つの計算機ノードが、階層化された2つ以上のキ
ャッシュ領域を有し、当該計算機ノードで動作するプロ
グラムがアクセスするデータを、当該各キャッシュ領域
に配置するキャッシュ制御方法において、当該各キャッ
シュ領域に配置するデータが属するファイル識別子を登
録するステップと、当該各キャッシュ領域を利用するフ
ァイルの参照処理の更新処理との割合を目標値としてあ
らかじめ定めるステップと、当該各キャッシュ領域に配
置された上記ファイルの上記データに対して、当該ファ
イル単位に、参照要求と更新要求の回数をモニタリング
するステップと、当該モニタリングするステップにより
選られた当該参照要求と当該更新要求の回数の割合が、
上記目標値を満足していないファイルに属するデータが
格納された領域を、当該ファイル以外のデータをキャッ
シングする領域として利用するステップとを設ける。
【0019】複数の計算機ノードで構成された計算機シ
ステムにおいても、同様なステップを設けることで解決
する。
【0020】
【発明の実施の形態】図1から図7を用いて、本発明の
実施の形態を説明する。
【0021】図1は、第1の実施の形態を表す構成図で
ある。
【0022】100は計算機を表し、中央処理装置(C
PU)200と、主記憶装置(MS)300で構成され
る。
【0023】MS100上には、ユーザプログラム40
0とMSキャッシュ用モニタ処理500、MSキャッシ
ュ用モニタ管理テーブル600、MSキャッシュ処理1
300、ならびにMSキャッシュから構成される。
【0024】そして、外部記憶装置の駆動を制御するデ
ィスク制御装置1700が、計算機100に接続され、
ディスク制御装置1700は、ディスク1800の動作
を制御している。ディスク制御装置1700には、ディ
スクキャッシュ1750が装備され、データの入出力操
作が行われる度に、データのキャッシングを行い、再参
照時の応答時間の短縮を図っている。このディスクキャ
ッシュ1750に配置されるデータは、FIFO(Fi
rst In First Out)、もしくはLRU
(Least Recently Used)の制御に
従い、データのステージングやデステージングを行って
いる。
【0025】また、ディスク1800には、ユーザプロ
グラム群400が、動作中にアクセスするファイルA1
810やファイルB1820など、多くのファイルが配
置されている。
【0026】ユーザプログラム群400が、動作中に入
出力要求(GET/PUT)を発行すると、MSキャッ
シュ処理1300に制御が渡る。MSキャッシュ処理1
300は、特開平11−110270号公報に開示され
ているように、MS300上に、MSキャッシュを用意
し、データをキャッシングすることで、実入出力動作を
削減するものである。本発明の実施の形態では、ファイ
ル単位に、キャッシュへの常駐化ならびに、常駐化の解
除を行えるものとする。
【0027】そして、ユーザプログラム400から、入
出力要求を受ける度に、MSキャッシュ処理1300
は、MSキャッシュ用モニタ処理500を呼び出す。M
Sキャッシュ用モニタ処理500は、ユーザプログラム
400からのファイルへのアクセス状況をモニタリング
し、予め定められた基準を満足しているか否かを判断
し、MSキャッシュ1400へのファイル単位でのデー
タのステージングやデステージングをMSキャッシュ処
理1300に指示する。指示を受けたMSキャッシュ処
理は、その指示に従い、ファイル単位でのMSキャッシ
ュへのステージングやデステージングを行う。
【0028】図2は、MSキャッシュ用モニタ管理テー
ブル600の構成図である。MSキャッシュ用モニタ管
理テーブル600には、MSキャッシュ1400にデー
タをキャッシングするファイルの名称や、ファイル毎の
アクセス状況、ならびにファイル毎のデータをキャッシ
ングする条件を格納している。
【0029】ここで、データをキャッシングするファイ
ルの名称やデータをキャッシングする条件は、計算機シ
ステムのシステムパラメタに予め定義されている。そし
て、システム立ち上げ時に、MSキャッシュ用モニタ管
理テーブル600用の領域が確保され、システムパラメ
タに定義されているファイル名称ならびにキャッシング
する条件が登録される。
【0030】次に、MSキャッシュ用モニタ管理テーブ
ルの構造600を説明する。
【0031】MSキャッシュ用モニタ管理テーブルの構
造600は、MSキャッシュ1400上にデータをキャ
ッシングするファイル毎に、有効フラグ610とファイ
ル名称620、参照回数630、更新回数640、なら
びにしきい値650が登録されている。
【0032】有効フラグ610がONの場合、対応する
ファイルのデータがMSキャッシュ1400上に配置で
きる状態にあることを示している。そして、有効フラグ
620がOFFの場合、対応するファイルのデータがM
Sキャッシュ1400上に配置できない状態にあること
を示している。なお、この有効フラグ610は、システ
ム立ち上げ時には、すべてONの状態とする。
【0033】620はファイル名を格納するフィールド
である。620には、MSキャッシュ1400を利用す
る候補のファイル名称が格納される。そして、各ファイ
ルのアクセス状況を格納するフィールドが630と64
0である。630には、参照要求のあった延べ回数が格
納され、640には、更新要求のあった延べ回数が格納
される。そして、650には、対応するファイルがMS
キャッシュ1400を利用することができる条件(しき
い値)が格納されている。本発明の実施の形態では、参
照率を格納している。参照率は、参照回数/(参照回数
+更新回数)で求めることができる。キャッシングする
か否かを判別する時に、参照回数630と参照回数64
0から参照率を求め、対応するしきい値よりも大きけれ
ば、キャッシングを行い、小さい値であれば、キャッシ
ングを停止する。
【0034】上記MSキャッシュ用モニタ管理テーブル
600を用いて、MSキャッシュモニタ処理500がど
のように動作するかを図3を用いて説明する。
【0035】MSキャッシュモニタ処理500は、ユー
ザプログラム400から入出力要求を受けたMSキャッ
シュ処理1300が動作する度に、MSキャッシュ処理
1300から呼び出される。
【0036】まず、505で、アクセス要求があったフ
ァイルが、MSキャッシュ用モニタ管理テーブル600
に登録されているかを、ファイル名620をキーに検索
する。登録されている場合は510に進み、登録されて
いない場合は550に進み、処理を終了して呼び出し元
に戻る。
【0037】510では、当該ファイルをキャッシング
するか否かの判断するためのモニタリングをする否かを
判別する。この判別では、参照回数630と更新回数6
40の総和が10000の倍数になっているか否かで判
断する。倍数になっていた場合は515に進み、倍数に
なっていない場合は525へ進む。
【0038】515では、対象ファイルがキャッシング
をするための条件を満足しているか否かを判別する。こ
の判別は、上述したように参照度で行う。参照度がしき
い値650よりも大きい場合、キャッシングをするため
の条件を満足していると判断し、520に進む。一方、
参照度がしきい値650よりも小さい場合、キャッシン
グをするための条件を満足していないと判断し、530
へ進む。
【0039】520では、有効フラグ610がONであ
るか否かを識別する。有効フラグがONである場合は5
25で進み、OFFである場合には535へ進む。
【0040】525では、ファイルのアクセス要求が、
参照であった場合には参照回数630をカウントアップ
し、更新要求であった場合には更新回数650をカウン
トアップして、550へ進み、呼び出し元に戻る。
【0041】一方、515において、キャッシングをす
るための条件を満足していないと判断した場合は、53
0にてデステージングの処理を行う。デステージング処
理では、アクセス要求のあったファイルに対応する有効
フラグ610をOFFにし、MSキャッシュ処理130
0に対して、当該ファイルのデータをキャッシングして
いる領域を、未使用状態にすることを要求する。この要
求により、魅しよう状態になった領域は、他のファイル
のデータをキャッシングするために利用されることにな
る。この手続きを完了した後525へ進む。
【0042】さらに、520で、有効フラグ610がO
FFであると判別された場合について述べる。このケー
スは、ファイルをキャッシングする条件は満足している
が、有効フラグがOFFであるために、データがキャッ
シングされていないことを意味している。そこで、ま
ず。535で参照回数630と更新回数640をゼロク
リアして、次回以降のモニタリングに備える。そして、
540にて、有効フラグをONにして、キャッシングの
開始を指示し、525へ進む。
【0043】次に、第2の実施の形態について、図4か
ら図6を用いて説明する。
【0044】第2の実施の形態では、主記憶装置と拡張
記憶装置、ならびにディスク制御装置の各々にキャッシ
ュを設けたケースである。
【0045】図4を用いて、システムの構成を説明す
る。
【0046】この場合、MS300のMSキャッシュ1
400が第1の階層のキャッシュとなり、ES1600
のESキャッシュ1650が第2の階層のキャッシュ、
ディスク制御装置1800のディスクキャッシュ185
0が第3の階層のキャッシュとなる。
【0047】以下、図1に示した第1の実施の形態との
違いを説明する。
【0048】図1のMSキャッシュ処理1300に代わ
り、MS/ESキャッシュ処理1500を用意する。こ
のMS/ESキャッシュ処理1500は、ユーザプログ
ラム400から、ファイルへの入力要求を受けると、M
Sキャッシュ1400に該当するデータが格納されてい
るか検索し、なければ、ESキャッシュ1650を検索
する。そして、MSキャッシュ1400あるいはESキ
ャッシュ1650に、該当するデータが格納されている
場合は、そのデータをユーザプログラムに渡すことで、
実入力操作を削減する。MSキャッシュ1400とES
キャッシュ1650の両方に、該当するデータが存在し
ない場合には、実入力命令を発行して、ディスク180
0から入力する。
【0049】一方、ユーザプログラム400から、デー
タの出力要求があった場合、まず、MSキャッシュ上に
データを配置する旨、MSキャッシュ用モニタ管理テー
ブル600に記載されている場合は、データをMSキャ
ッシュ1400に配置した後、データをディスク180
0に出力する。MSキャッシュ用モニタ管理テーブル6
00ではなくESキャッシュ用モニタ管理テーブル10
00に記載されていた場合は、ESキャッシュ1650
に書き込んだ後、当該データをディスク1800に出力
する。
【0050】MS/ESキャッシュ処理1500は、M
Sキャッシュ1400に対するデータを操作、もしくは
データ検索をする度に、MSキャッシュ用モニタ処理7
00を呼び出す。そして、ESキャッシュ1650に対
するデータ操作もしくはデータ検索をする度に、ESキ
ャッシュ用モニタ処理900を呼び出す。
【0051】そして、第1の実施の形態同様、MSキャ
ッシュ1400に配置するデータを動的に制御するのが
MSキャッシュ用モニタ処理700であり、ESキャッ
シュ1650に配置するデータを動的に制御するのが、
ESキャッシュ用モニタ処理900である。そして、各
々に対応して、管理テーブルを用意する。MSキャッシ
ュ用モニタ処理700はMSキャッシュ用モニタ管理テ
ーブル800を利用し、ESキャッシュ用モニタ処理9
00は、ESキャッシュ用モニタ管理テーブル1000
を利用する。
【0052】MSキャッシュ用モニタ管理テーブル80
0とESキャッシュ用モニタ管理テーブル1000の構
造は同一である。そして、第1の実施の形態で説明した
MSキャッシュ用モニタ管理テーブル600とも同一で
ある。
【0053】システムの立ち上げ時に、この2つのテー
ブルは生成され、同一のファイル名称が登録される。し
かし、しきい値は、MSキャッシュ1400とESキャ
ッシュ1650とで異なる。さらに、同一ファイルに対
する有効フラグはMSキャッシュ用モニタ管理テーブル
800とESキャッシュ用モニタ管理テーブル1000
のどちらか一方だけが、ONになる。すなわち、MSキ
ャッシュ1400とESキャッシュ1650の両方に、
同じファイルのデータがキャッシングされることはな
い。
【0054】次に、図5を用いてMSキャッシュ用モニ
タ処理700の処理の流れを説明する。
【0055】まず、705で、アクセス要求があったフ
ァイルが、MSキャッシュ用モニタ管理テーブルに登録
されているかを、ファイル名をキーに検索する。登録さ
れている場合は710に進み、登録されていない場合は
750に進み、処理を終了して呼び出し元に戻る。
【0056】710では、当該ファイルをキャッシング
するか否かの判断するためのモニタリングをする否かを
判別する。この判別では、参照回数と更新回数の総和が
10000の倍数になっているか否かで判断する。倍数
になっていた場合は715に進み、倍数になっていない
場合は730へ進む。
【0057】715では、第1の実施の形態同様、対象
ファイルが伽寝具する条件を満足するか否かを判断す
る。満足している場合は720へ進み、満足していない
場合は730へ進む。720では、MSキャッシュ用モ
ニタ管理テーブル800のアクセス対象ファイルの有効
フラグがONとなっているが否かをチェックする。ON
である場合は725へ進み、OFFである場合は740
へ進む。725では、アクセス要求が参照要求であった
場合、MSキャッシュ用モニタ管理テーブル800の該
当するファイル名に対応する参照回数を更新し、更新要
求であった場合、MSキャッシュ用モニタ管理テーブル
800の該当するファイル名に対応する更新回数を更新
する。
【0058】715にて、キャッシング条件を満足しな
いと判断された場合、730でMSキャッシュ1400
からのデステージングをする。具体的には、MSキャッ
シュ用モニタ管理テーブル800内の該当するファイル
名に対応した有効フラグをOFFにする。そして、MS
/ESキャッシュ処理1300に対して、当該ファイル
のデータをキャッシングしているMSキャッシュ140
0内の領域を、未使用状態にすることを要求する。そし
て、735で、ESキャッシュへのステージング操作を
行う。具体的には、ESキャッシュ用モニタ管理テーブ
ル1000内の該当ファイルに対応する有効フラグをO
Nにして、725へ進む。
【0059】また、720において、MSキャッシュ用
モニタ管理テーブル800の該当ファイルに対応する有
効フラグがOFFであると判断された場合は、740
で、MSキャッシュ用モニタ管理テーブル800の該当
ファイルに対応する参照回数のフィールドと更新回数の
フィールドを0クリアする。
【0060】そして、745で、MSキャッシュへのス
テージング操作をする。具体的には、ESキャッシュモ
ニタ管理テーブル1000の該当ファイルに対応する有
効フラグがONであった場合は、それをOFFにし、M
S/ESキャッシュ処理1300に対して、当該ファイ
ルのデータをキャッシングしているESキャッシュ16
50内の領域を、未使用状態にすることを要求する。そ
して、MSキャッシュ用モニタ管理テーブル800の該
当ファイルの有効フラグをONにして、725へ進む。
【0061】次に、図6を用いて、ESキャッシュ用モ
ニタ処理900の処理の流れを説明する。
【0062】まず、705で、アクセス要求があったフ
ァイルが、MSキャッシュ用モニタ管理テーブルに登録
されているかを、ファイル名をキーに検索する。登録さ
れている場合は710に進み、登録されていない場合は
750に進み、処理を終了して呼び出し元に戻る。
【0063】710では、当該ファイルをキャッシング
するか否かの判断するためのモニタリングをする否かを
判別する。この判別では、参照回数と更新回数の総和が
10000の倍数になっているか否かで判断する。倍数
になっていた場合は715に進み、倍数になっていない
場合は730へ進む。
【0064】715では、第1の実施の形態同様、対象
ファイルがキャッシングする条件を満足するか否かを判
断する。満足している場合は720へ進み、満足してい
ない場合は730へ進む。720では、MSキャッシュ
用モニタ管理テーブル800のアクセス対象ファイルの
有効フラグがONとなっているが否かをチェックする。
ONである場合は725へ進み、OFFである場合は7
40へ進む。725では、アクセス要求が参照要求であ
った場合、MSキャッシュ用モニタ管理テーブル800
の該当するファイル名に対応する参照回数を更新し、更
新要求であった場合、MSキャッシュ用モニタ管理テー
ブル800の該当するファイル名に対応する更新回数を
更新する。
【0065】715において、キャッシング条件を満足
しないと判断された場合、730でMSキャッシュ14
00からのデステージングをする。具体的には、MSキ
ャッシュ用モニタ管理テーブル800内の該当するファ
イル名に対応した有効フラグをOFFにする。そして、
MS/ESキャッシュ処理1300に対して、当該ファ
イルのデータをキャッシングしているMSキャッシュ1
400内の領域を、未使用状態にすることを要求する。
そして、735で、ESキャッシュへのステージング操
作を行う。具体的には、ESキャッシュ用モニタ管理テ
ーブル1000内の該当ファイルに対応する有効フラグ
をONにして、725へ進む。
【0066】また、720において、MSキャッシュ用
モニタ管理テーブル800の該当ファイルに対応する有
効フラグがOFFであると判断された場合は、740
で、MSキャッシュ用モニタ管理テーブル800の該当
ファイルに対応する参照回数のフィールドと更新回数の
フィールドを0クリアする。
【0067】そして、745で、MSキャッシュへのス
テージング操作をする。具体的には、ESキャッシュモ
ニタ管理テーブル1000の該当ファイルに対応する有
効フラグがONであった場合は、それをOFFにし、M
S/ESキャッシュ処理1300に対して、当該ファイ
ルのデータをキャッシングしているESキャッシュ16
50内の領域を、未使用状態にすることを要求する。そ
して、MSキャッシュ用モニタ管理テーブル800の該
当ファイルの有効フラグをONにして、725へ進む。
【0068】次に、図6を用いて、ESキャッシュ用モ
ニタ処理900の処理の流れを説明する。
【0069】まず、905で、アクセス要求があったフ
ァイルが、ESキャッシュ用モニタ管理テーブル100
0に登録されているかを、ファイル名をキーに検索す
る。登録されている場合は910に進み、登録されてい
ない場合は950に進み、処理を終了して呼び出し元に
戻る。
【0070】910では、当該ファイルをキャッシング
するか否かの判断するためのモニタリングをする否かを
判別する。この判別では、参照回数と更新回数の総和が
10000の倍数になっているか否かで判断する。倍数
になっていた場合は915に進み、倍数になっていない
場合は930へ進む。
【0071】915では、第1の実施の形態同様、対象
ファイルがキャッシングする条件を満足するか否かを判
断する。満足している場合は920へ進み、満足してい
ない場合は930へ進む。920では、ESキャッシュ
用モニタ管理テーブル1000のアクセス対象ファイル
の有効フラグがONとなっているが否かをチェックす
る。ONである場合は925へ進み、OFFである場合
は935へ進む。925では、アクセス要求が参照要求
であった場合、ESキャッシュ用モニタ管理テーブル1
000の該当するファイル名に対応する参照回数を更新
し、更新要求であった場合、ESキャッシュ用モニタ管
理テーブル1000の該当するファイル名に対応する更
新回数を更新する。
【0072】915において、キャッシング条件を満足
しないと判断された場合、930でESキャッシュ16
50からのデステージングをする。具体的には、ESキ
ャッシュ用モニタ管理テーブル1000内の該当するフ
ァイル名に対応した有効フラグをOFFにする。そし
て、MS/ESキャッシュ処理1300に対して、当該
ファイルのデータをキャッシングしているESキャッシ
ュ1650内の領域を、未使用状態にすることを要求
し、725へ進む。
【0073】また、920において、MSキャッシュ用
モニタ管理テーブル1000の該当ファイルに対応する
有効フラグがOFFであると判断された場合、935
で、MSキャッシュ用管理テーブル800内の当該ファ
イルに対応する有効フラグがONであるか否かをチェッ
クする。有効フラグがONである場合は、すでに、MS
キャッシュ1400で、このファイルがキャッシングさ
れていることを示している。この場合は925に進む。
有効フラグがOFFである場合は、MSキャッシュ14
00にも、キャッシングされていないことを示すので、
ESキャッシュへの配置をするために、940で、ES
キャッシュ用モニタ管理テーブル1400の当該ファイ
ルに対応する参照回数と更新回数のフィールドをゼロク
リアする。そして、945でESキャッシュ1650へ
のステージングをするための手続きをとる。具体的に
は、ESキャッシュ用モニタ管理テーブル1400の当
該ファイルに対応する有効フラグをONにする。これら
の手続きが完了した後、925に進む。
【0074】次に、第3の実施の形態として、本発明を
クラスタ構成の計算機システムで適用した場合につい
て、図7を用いて説明する。
【0075】図7では、100と100―1の2つの計
算機から構成されている。
【0076】この2つの計算機は、ES1600とディ
スク1800を共有している。特に、ディスク1800
は、ディスク制御装置1700を介して共有している。
各計算機上のメモリ(300と300―1)には、各
々、MSキャッシュ(1400と1400―1)が用意
され、データのキャッシングをしている。さらに、共有
されているES1600にはESキャッシュ1650が
用意され、ディスク制御装置1700にはディスクキャ
ッシュ1750が用意されて、100と100―1とで
共有して利用している。
【0077】この計算機システム構成において、MSキ
ャッシュ1400とMSキャッシュ1400−1との間
でのデータの整合性は、MS/ESキャッシュ処理15
00とMS/ESキャッシュモニタ処理1500−1と
の間で、計算機間の通信手段を用いることで、保証され
ている。
【0078】次に、計算機100と計算機100―1と
の関係を説明する。この2つの計算機は、マスタとスレ
ーブの関係にある。計算機100がマスタで、計算機1
00―1がスレーブとなっている。そして、スレーブ側
の計算機100−1には、MSキャッシュ用レポート処
理1100と、ESキャッシュ用レポート処理1200
とが設けられている。
【0079】MSキャッシュ用レポート処理1100
は、MS/ESキャッシュ処理1500−1がデータの
アクセス要求に応じて、MSキャッシュ1400−1へ
のデータ操作、もしくはデータ検索を行う度に、MS/
ESキャッシュ処理1500−1から呼び出される。そ
して、800−1に登録されたファイルについて、参照
回数と更新回数をカウントし、定期的に、マスタである
MSキャッシュモニタ700にレポートする。また、M
Sキャッシュモニタ700から、ファイル単位のMSキ
ャッシュへのステージングもしくはデステージングの指
示に応じて、MS/ESキャッシュ処理1500−1に
MSキャッシュへのステージングもしくはデステージン
グの要求を発行する。
【0080】ESキャッシュ用レポート処理1200
は、MS/ESキャッシュ処理1500−1が、データ
のアクセス要求に応じて、ESキャッシュ1650−1
へのデータ操作、もしくはデータ検索を行う度に、MS
/ESキャッシュ処理1500−1から呼び出される。
そして、1000−1に登録されたファイルについて、
参照回数と更新回数をカウントし、定期的に、マスタで
あるESキャッシュモニタ700にレポートする。
【0081】一方、マスタ側のMSキャッシュ用モニタ
処理700では、スレーブ側のMSキャッシュレポート
処理1100から報告された情報を、MSキャッシュ用
モニタ管理テーブル800に登録する。同様に、ESキ
ャッシュ用モニタ処理900は、ESキャッシュ用レポ
ート処理1200から報告された情報を、ESキャッシ
ュ用モニタ管理テーブル1000に登録する。
【0082】以上、本発明の実施の形態として、MSキ
ャッシュとESキャッシュ、ならびにディスクキャッシ
ュを階層化して、制御する形態を説明した。しかし、階
層化された計算機ノード上に配置するMSキャッシュを
階層化して、同じように制御することも可能である。
【0083】
【発明の効果】本発明によれば、階層化されたキャッシ
ュ領域を有する計算機システムにおいて、データのアク
セス特性に応じて、ファイル単位に、利用するキャッシ
ュ領域を決定することができる。これにより、データ更
新時に、データの整合性をとるために発生するプロセッ
サ間通信の抑止、参照比率の高いデータのアクセス速度
が高いキャッシュ領域への優先配置により、データベー
スシステムのスループット向上、ならびに応答性能向上
を図ることができる。
【図面の簡単な説明】
【図1】第1の実施の形態を表すシステムの構成図。
【図2】MSキャッシュ用モニタ管理テーブルの構造
図。
【図3】第1の実施の形態におけるMSキャッシュ用モ
ニタ処理のフローチャート。
【図4】第2の実施の形態を表すシステムの構成図。
【図5】第2の実施の形態におけるMSキャッシュ用モ
ニタ処理のフローチャート。
【図6】第2の実施の形態におけるESキャッシュ用モ
ニタ処理のフローチャート。
【図7】本発明をクラスタ構成のシステムに適用した場
合の構成図。
【符号の説明】
100…計算機、200…CPU、300…主記憶装
置、400…ユーザプロプログラム、500…第1の実
施の形態におけるMSキャッシュ用モニタ処理、600
…第1の実施の形態におけるMSキャッシュ用モニタ管
理テーブル、700…第2の実施の形態におけるMSキ
ャッシュ用モニタ処理、800…第2の実施の形態にお
けるMSキャッシュ用モニタ管理テーブル、900…E
Sキャッシュ用モニタ管理テーブル、1000…ESキ
ャッシュ用モニタ管理テーブル、1100…MSキャッ
シュ用レポート処理、1200…ESキャッシュ用レポ
ート処理、1300…MSキャッシュ処理、1400…
MSキャッシュ、1500…MS/ESキャッシュ処
理、1600…拡張記憶装置、1650…ESキャッシ
ュ、1700…ディスク制御装置、1750…ディスク
キャッシュ、1800…ディスク。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/08 557 G06F 12/08 557 3/06 302 3/06 302A 12/00 514 12/00 514K 15/16 645 15/16 645 (72)発明者 秋葉 千江子 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 清井 雅広 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 市川 正也 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 Fターム(参考) 5B005 JJ13 KK02 KK13 MM11 PP11 QQ04 UU26 UU32 UU33 UU41 VV03 5B045 DD12 DD18 5B065 BA01 CE12 CH01 5B082 FA12

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 一つの計算機ノードが、階層化された2
    つ以上のキャッシュ領域を有し、 当該計算機ノードで動作するプログラムがアクセスする
    データを、当該キャッシュ領域に配置するキャッシュ制
    御方法において、 当該各キャッシュ領域に配置するデータが属するファイ
    ル識別子を登録するステップと、 当該各キャッシュ領域を利用するファイルの参照処理の
    更新処理との割合を目標値としてあらかじめ定めるステ
    ップと、 当該各キャッシュ領域に配置された上記ファイルの上記
    データに対して、当該ファイル単位に、参照要求と更新
    要求の回数をモニタリングするステップと、 当該モニタリングするステップにより選られた当該参照
    要求と当該更新要求の回数の割合が、上記目標値を満足
    していないファイルに属するデータが格納された領域
    を、当該ファイル以外のデータをキャッシングする領域
    として利用するステップとを有することを特徴とするキ
    ャッシュ制御方法。
JP2000295441A 2000-09-25 2000-09-25 キャッシュ制御方法 Pending JP2002099465A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000295441A JP2002099465A (ja) 2000-09-25 2000-09-25 キャッシュ制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000295441A JP2002099465A (ja) 2000-09-25 2000-09-25 キャッシュ制御方法

Publications (1)

Publication Number Publication Date
JP2002099465A true JP2002099465A (ja) 2002-04-05

Family

ID=18777865

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000295441A Pending JP2002099465A (ja) 2000-09-25 2000-09-25 キャッシュ制御方法

Country Status (1)

Country Link
JP (1) JP2002099465A (ja)

Cited By (8)

* 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 記憶装置のキャッシュ管理方法
JP2008140184A (ja) * 2006-12-01 2008-06-19 Fujitsu Ltd データセンタ、キャッシュサーバ及び方法
WO2014007249A1 (ja) * 2012-07-05 2014-01-09 株式会社日立製作所 I/oノード及び複数の計算ノードに備えられたキャッシュメモリの制御方法
JP2014232350A (ja) * 2013-05-28 2014-12-11 株式会社日立製作所 計算機システム、キャッシュ制御方法、及びサーバ
JP2015075818A (ja) * 2013-10-07 2015-04-20 株式会社日立製作所 計算機システム、キャッシュ管理方法及び計算機
JP2015087837A (ja) * 2013-10-29 2015-05-07 株式会社日立製作所 計算機システム、及びデータ配置制御方法
US9811410B2 (en) 2014-03-18 2017-11-07 Toshiba Memory Corporation Data transfer device, data transfer method, and non-transitory computer readable medium
WO2019123519A1 (ja) * 2017-12-18 2019-06-27 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4631301B2 (ja) * 2004-03-31 2011-02-16 株式会社日立製作所 記憶装置のキャッシュ管理方法
JP2005285058A (ja) * 2004-03-31 2005-10-13 Hitachi Ltd 記憶装置のキャッシュ管理方法
JP2008140184A (ja) * 2006-12-01 2008-06-19 Fujitsu Ltd データセンタ、キャッシュサーバ及び方法
US8068512B2 (en) 2006-12-01 2011-11-29 Fujitsu Limited Efficient utilization of cache servers in mobile communication system
JPWO2014007249A1 (ja) * 2012-07-05 2016-06-02 株式会社日立製作所 I/oノード及び複数の計算ノードに備えられたキャッシュメモリの制御方法
WO2014007249A1 (ja) * 2012-07-05 2014-01-09 株式会社日立製作所 I/oノード及び複数の計算ノードに備えられたキャッシュメモリの制御方法
US9811465B2 (en) 2012-07-05 2017-11-07 Hitachi, Ltd. Computer system and cache control method
US9591096B2 (en) 2013-05-28 2017-03-07 Hitachi, Ltd. Computer system, cache control method, and server
JP2014232350A (ja) * 2013-05-28 2014-12-11 株式会社日立製作所 計算機システム、キャッシュ制御方法、及びサーバ
JP2015075818A (ja) * 2013-10-07 2015-04-20 株式会社日立製作所 計算機システム、キャッシュ管理方法及び計算機
JP2015087837A (ja) * 2013-10-29 2015-05-07 株式会社日立製作所 計算機システム、及びデータ配置制御方法
US9811410B2 (en) 2014-03-18 2017-11-07 Toshiba Memory Corporation Data transfer device, data transfer method, and non-transitory computer readable medium
US10698758B2 (en) 2014-03-18 2020-06-30 Toshiba Memory Corporation Data transfer device, data transfer method, and non-transitory computer readable medium
WO2019123519A1 (ja) * 2017-12-18 2019-06-27 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JPWO2019123519A1 (ja) * 2017-12-18 2020-04-02 三菱電機株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Similar Documents

Publication Publication Date Title
US8108629B2 (en) Method and computer for reducing power consumption of a memory
JP4631301B2 (ja) 記憶装置のキャッシュ管理方法
US7024512B1 (en) Compression store free-space management
JP4162184B2 (ja) データベース管理システムの実行情報を取得する手段を有する記憶装置
US6216199B1 (en) Hardware mechanism for managing cache structures in a data storage system
EP2478442B1 (en) Caching data between a database server and a storage system
JP4116413B2 (ja) プリフェッチアプライアンスサーバ
US8112587B2 (en) Shared data prefetching with memory region cache line monitoring
CN103577158B (zh) 数据处理方法与装置
US8825959B1 (en) Method and apparatus for using data access time prediction for improving data buffering policies
US20130232310A1 (en) Energy efficiency in a distributed storage system
US8656119B2 (en) Storage system, control program and storage system control method
JP2005056077A (ja) データベース制御方法
JP3485598B2 (ja) ファイルの配置方法、データ多重化方法及びデータ処理システム
JP2002099465A (ja) キャッシュ制御方法
JP2002132582A (ja) 圧縮メモリ・システムの再利用スペース予約
US11775527B2 (en) Storing derived summaries on persistent memory of a storage device
JP2006119786A (ja) ストレージ装置のリソース割り当て方法及びストレージ装置
US10642745B2 (en) Key invalidation in cache systems
JP2007065978A (ja) 計算機システム及びデータベース管理システムプログラム
JP5098120B2 (ja) 計算機システム及びデータベース管理システムプログラム
JPH11224164A (ja) 磁気ディスクサブシステム
CN114911822A (zh) 一种数据读取方法、装置、计算机存储介质及***
JP2008299672A (ja) 計算機システム及びこれを用いたデータベース管理方法
JPS63211041A (ja) データのブロツクの転送方法