JP2839530B2 - メモリ割当て優先度の動的変更処理方式 - Google Patents

メモリ割当て優先度の動的変更処理方式

Info

Publication number
JP2839530B2
JP2839530B2 JP1041447A JP4144789A JP2839530B2 JP 2839530 B2 JP2839530 B2 JP 2839530B2 JP 1041447 A JP1041447 A JP 1041447A JP 4144789 A JP4144789 A JP 4144789A JP 2839530 B2 JP2839530 B2 JP 2839530B2
Authority
JP
Japan
Prior art keywords
buffer
level
priority
memory allocation
file
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.)
Expired - Lifetime
Application number
JP1041447A
Other languages
English (en)
Other versions
JPH02220152A (ja
Inventor
敏裕 岸本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP1041447A priority Critical patent/JP2839530B2/ja
Publication of JPH02220152A publication Critical patent/JPH02220152A/ja
Application granted granted Critical
Publication of JP2839530B2 publication Critical patent/JP2839530B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】 〔概要〕 メモリ割当て優先度をもとにバッファの獲得処理を行
う計算機システムにおいて,メモリ割当て優先度をデー
タ種別対応のアクセス頻度に応じて動的に変更するよう
にしたメモリ割当て優先度の動的変更処理方式に関し, バッファ用のメモリの有効利用を可能とし,システム
の処理性能を向上させることを目的とし, データ種別対応に,アクセス頻度情報とメモリ割当て
優先度情報とを記憶する優先度管理テーブルと,入出力
要求のデータ種別を判定し,データ種別に対応するメモ
リ割当て優先度をもとにバッファを獲得して入出力処理
を行うとともに,該当する優先度管理テーブルにおける
アクセス頻度情報を更新する入出力処理部と,所定の周
期で上記優先度管理テーブルを参照し,アクセス頻度情
報に基づいて,データ種別対応のメモリ割当て優先度を
変更する優先度保守処理部とを備えるように構成する。
〔産業上の利用分野〕
本発明は,メモリ割当て優先度をもとにバッファの獲
得処理を行う計算機システムにおいて,メモリ割当て優
先度をデータ種別対応のアクセス頻度に応じて動的に変
更するようにしたメモリ割当て優先度の動的変更処理方
式に関する。
〔従来の技術〕
第5図はバッファ制御テーブルの例,第6図は従来の
バッファ管理の例,第7図は従来のバッファ管理方式の
処理フローを示す。
データベース管理システム等では,物理ファイルやイ
ンデックスファイルなどの外部記憶装置に格納されてい
る各種のデータについて入出力を行うが、その入出力対
象となるデータが読み込まれメモリ領域について,バッ
ファ管理を行っている。
第5図は,そのバッファ管理に用いるバッファ制御テ
ーブルの例を示している。
バッファ制御テーブル22は,各バッファ15に対して,1
個ずつ設けられ,第5図に示すように,レベルキューポ
インタと,ファイルキューポインタと,バッファアドレ
スの領域を持つ。
レベルキューポインタは,同レベルのメモリ割当て優
先度を持つバッファ15用のバッファ制御テーブル22をリ
ンクするためのポインタである。ファイルキューポイン
タは,そのバッファ15がどのファイルに関する情報を持
つかを示すリンク用のポインタである。
このようなバッファ制御テーブル22を用いて,従来,
第6図に示すようなバッファ管理が行われている。
バッファレベル管理テーブル20は,各メモリ割当て優
先度のレベルに応じたキューノード情報すなわち,各レ
ベルのキューの先頭にあるバッファ制御テーブル22のア
ドレスを持つ。
一方,データベースを構成するインデックスファイル
や物理ファイルなどの各ファイルF1〜Fn対応に,ファイ
ル制御テーブル50−1〜50−nが設けられ,各ファイル
制御テーブル50−1〜50−nから,ファイルキューによ
って,各ファイルF1〜Fnで使用されているバッファ15を
管理するバッファ制御テーブル22が連鎖的にポイントさ
れるようになっている。
優先度のレベルは,バッファ15に格納されたデータの
種類によって決定される。このレベルは,例えば次のよ
うに,インデックスファイルであるか物理ファイルであ
るか,また,そのデータの内容は何であるかによって,
あらかじめ固定的に決められている。
メモリ割当て優先度は,レベル値が大きいほど大き
く,レベル0が最も小さい。レベル0のキューは,未使
用のバッファを管理するキューである。
新しい入出力要求によって,バッファ15が必要になっ
た場合,バッファレベル管理テーブル20から,最初にレ
ベル0キューをたどって,そこにつながれているバッフ
ァ制御テーブル22からポイントされるバッファ15を優先
的に割り当てる。レベル0キューにバッファ15がない場
合,次にレベル1キューをサーチし,そのキューにつな
がれているバッファ15のうち,LRU方式によって最も古く
使用されたものを取り上げ,そのバッファ15の割り当て
を行う。レベル1キューにつながれるバッファ15がない
場合,または所定の個性数以下になった場合には,次に
レベル2キューのサーチを行う。メモリ割当て優先度が
最も高いレベル3キューは,最後にサーチされる。
第7図は,従来のバッファ管理方式の処理フローを示
している。入出力要求があった場合,従来のバッファ管
理では,必要なバッファを獲得して,第7図に示す処理
〜のような処理を行っている。
バッファ制御テーブル22を目的のファイルnキュー
にキューイングする。
ファイル種別を調べる。物理ファイルであれば処理
,インデックスファイルであれば処理へ分岐する。
データ種別を調べる。有効データであれば処理,E
OFデータであれば処理へ分岐する。
バッファ制御テーブル22をレベル1キューにキュー
イングする。
バッファ制御テーブル22をレベル2キューにキュー
イングする。
データ種別を調べる。中継データであれば処理,
リーフデータであれば処理,ルートデータであれば処
理へ分岐する。
バッファ制御テーブル22をレベル1キューにキュー
イングする。
バッファ制御テーブル22をレベル2キューにキュー
イングする。
バッファ制御テーブル22をレベル3キューにキュー
イングする。
〔発明が解決しようとする課題〕
以上のような例に限られるわけではないが,メモリ割
当て優先度をもとに,バッファの獲得処理を行う従来の
方式では,メモリ割当て優先度が固定的に定められてお
り,メモリ割当て優先度の低いものから,LRU方式によ
り,使用中バッファの取り上げ処理が行われるようにな
っていた。
したがって,例えばインデックスファイルのルートデ
ータのように,そのバッファがメモリ優先度の高いキュ
ーにキューイングされてしまうと,それが実際に使用さ
れる頻度が小さい場合でも,長期間,実メモリを占有す
ることになり,もっと使用頻度が大きいデータであって
も,そのメモリ割当て優先度が低い場合には,そのバッ
ファが取り上げられてしまうことがあった。
そのため,一度,他のデータの入出力用にバッファが
使用されると,再度,以前のデータに対するアクセス要
求があった場合,バッファの獲得処理,入出力処理を繰
り返さなければならず,システムの処理性能が劣化する
という問題があった。
本発明は上記問題点の解決を図り,メモリ割当て優先
度をアクセス頻度に応じて動的に変更することにより,
バッファ用のメモリの有効利用を可能とし,システムの
処理性能を向上させることを目的としている。
〔課題を解決するための手段〕
第1図は本発明の原理説明図である。
第1図において,10はCPUおよびメモリなどからなる処
理装置,11は入出力要求を行う入出力要求部,12はバッフ
ァを獲得して入出力処理を実行する入出力処理部,13は
メモリ割当て優先度を動的に変更する優先度保守処理
部,14は優先度管理テーブル,15は実メモリ上にプール管
理されているバッファ,16は磁気ディスク装置などの外
部記憶装置を表す。
本発明では,システムで取り扱うデータを,データ種
別ごとに分類し,各データ種別対応に,アクセス頻度情
報とメモリ割当て優先度情報とを記憶する優先度管理テ
ーブル14を作成する。
入出力要求部11からの要求により,入出力用のバッフ
ァ15が必要になると,メモリ割当て優先度の低いものを
優先的に獲得対象として,バッファの獲得を行う。
そのため,入出力処理部12は,入出力要求部11からの
要求があると,入出力要求パラメタに基づきデータ種別
を判定する。次に,優先度管理テーブル14を参照して,
データ種別に対応するメモリ割当て優先度を決定し,バ
ッファ15を獲得する。そして,外部記憶装置16に対する
要求された入出力処理を実行する。その後,優先度管理
テーブル14において,そのデータ種別のアクセス頻度情
報を更新する。
優先度保守処理部13は,タイマ機構等により,周期的
に起動されるようになっている。起動により,優先度保
守処理部13は,優先度管理テーブル14のアクセス頻度を
参照し,データ種別対応のメモリ割当て優先度を変更す
る処理を行う。すなわち,アクセス頻度が高いデータ種
別のメモリ割当て優先度のレベルを上げ,アクセス頻度
が低いデータ種別のメモリ割当て優先度のレベルを下げ
る。そして,アクセス頻度の初期化を行い,次の起動を
待つ。
〔作用〕
従来,メモリ割当て優先度は,データ種別に応じて,
あらかじめ固定的に決められているため,アクセス頻度
が少ないデータでも,そのメモリ割当て優先度が高い
と,バッファ用のメモリを占有することになった。本発
明によれば,入出力処理部12によって,データ種別対応
にアクセス頻度情報が収集され,そのアクセス頻度情報
をもとに,データ種別対応のメモリ割当て優先度が,優
先度保守処理部13により,動的に変更されるので,バッ
ファの有効利用が可能になる。
〔実施例〕
第2図は本発明の実施例,第3図は本発明の実施例に
おける入出力処理部の要部処理フロー,第4図は本発明
の実施例における優先度保守処理部の処理フローを示
す。
第2図に示す実施例は,データベース管理システムに
おけるバッファ管理に,本発明を適用した例を示してい
る。第2図において,20はバッファのメモリ割当て優先
度の各レベルに応じたキューを管理するバッファレベル
管理テーブル,21はバッファ制御テーブル群,22はバッフ
ァを管理するバッファ制御テーブル,23−1〜23−nは
各ファイル対応に設けられるファイル制御テーブル,F1
〜Fnはインデックスファイルや物理ファイルなどのファ
イルを表している。
バッファ制御デーブル22は,第5図に示した従来例と
同様に,レベルキューポインタと,ファイルキューポイ
ンタと,バッファアドレスとを持つ制御表である。この
バッファ制御テーブル22は,例えばファイルの1ブロッ
ク分の大きさを持つ各バッファ15に1対1対応に設けら
れる。
ファイル制御テーブル23−1〜23−nは,各ファイル
F1〜Fn対応に設けられ,各ファイルF1〜Fnから読み出さ
れたデータを保持するバッファのバッファ制御テーブル
22をキュー管理する情報を持つ。また,各ファイルごと
に,第1図に示す優先度管理テーブル14に相当する情報
を持つ。
バッファ制御テーブル22は,バッファレベル管理テー
ブル20からレベルごとにキュー管理されるとともに,フ
ァイル制御テーブル23−1〜23−nから,ファイルごと
にキュー管理されるようになっている。レベルは,バッ
ファに格納されたデータの種別によって決定される。
第2図では,データの種別をD1,D2,D3のIDによって示
している。それぞれ,インデックスファイルであるか物
理ファイルであるかにより,次のような内容に対応づけ
られている。
ファイル制御テーブル23−1〜23−nは,ファイルオ
ープン時に作成される。このテーブルにおけるD1アクセ
ス回数,D2アクセス回数,D3アクセス回数は,第1図に示
す優先度管理テーブル14におけるアクセス頻度情報であ
る。これらは,テーブル作成時に0に初期設定される。
D1レベル,D2レベル,D3レベルは,第1図に示す優先度管
理テーブル14におけるメモリ割当て優先度に相当する。
これらは,テーブル作成時に,値が,それぞれ1,2,3に
初期設定され,必要に応じて動的に更新される。
例えば,D1レベルの値が1であるということは,イン
デックスファイルの中継データまたは物理ファイルの有
効データが格納されるバッファのバッファ制御テーブル
22が,バッファレベル管理テーブル20におけるレベル1
キューノードからポイントされることを意味する。この
レベルの値が2である場合には,レベル2キューノード
からポイントされ,3である場合には,レベル3キューノ
ードからポイントされる。
レベル0キューノードは,無効データの未使用バッフ
ァを管理するためのキューノードであり,これは,常に
メモリ割当て優先度が最も低い。
第2図に示すような環境で,第1図に示す入出力処理
部12は,例えば第3図に示すような処理を実行する。以
下の説明における〜は,第3図に示す処理〜に
対応する。
アクセスの対象となったバッファを管理するバッフ
ァ制御テーブル22を,目的のファイル制御テーブルから
のファイルxキューにキューイングする。
バッファに格納されたデータのデータ種別を判定
し,D1であれば処理,D2であれば処理,D3であれば処
理へ分岐する。
目的のファイル制御テーブルにおけるD1レベルの値
nに応じて,バッファ制御テーブル22を,バッファレベ
ル管理テーブル20からのレベルnキュー(0<n<4)
にキューイングする。
目的のファイル制御テーブルにおけるD1アクセス回
数に1を加算し,処理を終了する。
目的のファイル制御テーブルにおけるD2レベルの値
nに応じて,バッファ制御テーブル22を,バッファレベ
ル管理テーブル20からのレベルnキューにキューイング
する。
目的のファイル制御テーブルにおけるD2アクセス回
数に1を加算し,処理を終了する。
目的のファイル制御テーブルにおけるD3レベルの値
nに応じて,バッファ制御テーブル22を,バッファレベ
ル管理テーブル20からのレベルnキューにキューイング
する。
目的のファイル制御テーブルにおけるD3アクセス回
数に1を加算し,処理を終了する。
第1図に示す優先度保守処理部13は,第2図に示すよ
うな環境で,所定の時間ごとに起動されて,例えば第4
図に示すような処理を実行する。以下の説明における
〜は,第4図に示す処理〜に対応する。
計算用の変数として使用するD1アクセス総数,D2ア
クセス総数,D3アクセス総数,ファイル総数を,0に初期
設定する。
各ファイル制御テーブルを,先頭から順番に検索す
る。最後のファイル制御テーブルに対する処理が終了し
たならば,処理へ移る。
現在着目しているファイル制御テーブルのD1アクセ
ス回数を,D1アクセス総数に加算する。
D2アクセス回数を,D2アクセス総数に加算する。
D3アクセス回数を,D3アクセス総数に加算する。
ファイル総数に1を加算し,処理へ戻って,次の
ファイル制御テーブルについて同様に処理を繰り返す。
以上の処理が終わったならば,D1アクセス総数,D2ア
クセス総数,D3アクセス総数を,ファイル総数で割った
ものを,それぞれ新たにD1アクセス総数,D2アクセス総
数,D3アクセス総数とする。
メモリ割当て優先度の変更のため,先頭のファイル
制御テーブルから最後のファイル制御テーブルまで,順
に次のような処理を行う。最後のファイル制御テーブル
についての処理が終了したならば,処理を終了する。
D1アクセス回数をD1アクセス総数で割った値を,Xと
する。Xの値により,以下の処理を行う。
(a) X≦0.1のとき,0<D1レベル<4の範囲内で,
D1レベルから1を減算する。
(b) 0.1<X<0.9のとき,D1レベルを変更しな
い。
(c) X≧0.9のとき,0<D1レベル<4の範囲内で,
D1レベルに1を加算する。
D2アクセス回数をD2アクセス総数で割った値を,Xと
する。Xの値により,以下の処理を行う。
(a) X≦0.1のとき,0<D2レベル<4の範囲内で,
D2レベルから1を減算する。
(b) 0.1<X<0.9のとき,D2レベルを変更しな
い。
(c) X≧0.9のとき,0<D2レベル<4の範囲内で,
D2レベルに1を加算する。
D3アクセス回数をD3アクセス総数で割った値を,Xと
する。Xの値により,以下の処理を行う。
(a) X≦0.1のとき,0<D3レベル<4の範囲内で,
D3レベルから1を減算する。
(b) 0.1<X<0.9のとき,D3レベルを変更しな
い。
(c) X≧0.9のとき,0<D3レベル<4の範囲内で,
D3レベルに1を加算する。
そのファイル制御テーブル中のD1アクセス回数,D2
アクセス回数,D3アクセス回数を,すべて0に初期化す
る。その後,処理へ制御を戻し,次のファイル制御テ
ーブルについて,同様に処理を繰り返す。
本実施例では,各ファイルごとに,データ種別対応の
メモリ割当て優先度の管理を行っているので,メモリ割
当て優先度の動的変更によるバッファの効率的利用の効
果が大きい。すなわち,アクセス要求があったデータに
ついて,それがバッファに存在する確率を大きくするこ
とができ,限られたバッファで効率よく入出力を行うこ
とができるようになる。
〔発明の効果〕
以上説明したように,本発明によれば,アクセス要求
があったデータが,バッファに存在するヒット率を向上
させ,システムの処理性能を向上させることができる。
また,アクセス頻度の小さいデータが,バッファを占有
することがなくなるので,性能劣化を招くことなく,バ
ッファ用のメモリ量を削減できる。これに伴い,バッフ
ァ有効利用のための種々のユーザチューニングが不要と
なる。
【図面の簡単な説明】
第1図は本発明の原理説明図, 第2図は本発明の実施例, 第3図は本発明の実施例における入出力処理部の要部処
理フロー, 第4図は本発明の実施例における優先度保守処理部の処
理フロー, 第5図はバッファ制御テーブルの例, 第6図は従来のバッファ管理の例, 第7図は従来のバッファ管理方式の処理フローを示す。 図中,10は処理装置,11は入出力要求部,12は入出力処理
部,13は優先度保守処理部,14は優先度管理テーブル,15
はバッファ,16は外部記憶装置を表す。

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】バッファに格納するデータの種別に対応し
    て定められたメモリ割当て優先度をもとにバッファの獲
    得処理を行う計算機システムにおいて, データ種別対応に,アクセス頻度情報とメモリ割当て優
    先度情報とを記憶する優先度管理テーブル(14)と, 入出力要求のデータ種別を判定し,データ種別に対応す
    るメモリ割当て優先度をもとにバッファを獲得して入出
    力処理を行うとともに,該当する上記優先度管理テーブ
    ル(14)におけるアクセス頻度情報を更新する入出力処
    理部(12)と, 所定の周期で上記優先度管理テーブル(14)を参照し,
    アクセス頻度情報に基づいて,データ種別対応のメモリ
    割当て優先度を変更する優先度保守処理部(13)とを備
    えた ことを特徴とするメモリ割当て優先度の動的変更処理方
    式。
JP1041447A 1989-02-21 1989-02-21 メモリ割当て優先度の動的変更処理方式 Expired - Lifetime JP2839530B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP1041447A JP2839530B2 (ja) 1989-02-21 1989-02-21 メモリ割当て優先度の動的変更処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1041447A JP2839530B2 (ja) 1989-02-21 1989-02-21 メモリ割当て優先度の動的変更処理方式

Publications (2)

Publication Number Publication Date
JPH02220152A JPH02220152A (ja) 1990-09-03
JP2839530B2 true JP2839530B2 (ja) 1998-12-16

Family

ID=12608630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1041447A Expired - Lifetime JP2839530B2 (ja) 1989-02-21 1989-02-21 メモリ割当て優先度の動的変更処理方式

Country Status (1)

Country Link
JP (1) JP2839530B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04271396A (ja) * 1991-02-27 1992-09-28 Hitachi Ltd ディジタル音声信号受け渡し方法及びそれに用いられるプレーヤ
JP2842738B2 (ja) * 1992-08-25 1999-01-06 富士通株式会社 オンライン処理システム
JPH0728751A (ja) * 1993-06-24 1995-01-31 Nec Corp 転送制御装置
JP3908482B2 (ja) 2001-06-22 2007-04-25 富士通株式会社 入出力制御装置及び入出力制御方法並びに情報記憶システム
JP4175185B2 (ja) * 2003-06-06 2008-11-05 日本電気株式会社 ネットワーク情報記録装置
JP2006065592A (ja) * 2004-08-26 2006-03-09 Olympus Corp アルバム管理装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5423335A (en) * 1977-07-22 1979-02-21 Nec Corp Page detection mechanism

Also Published As

Publication number Publication date
JPH02220152A (ja) 1990-09-03

Similar Documents

Publication Publication Date Title
US7096321B2 (en) Method and system for a cache replacement technique with adaptive skipping
US6047356A (en) Method of dynamically allocating network node memory's partitions for caching distributed files
US6961835B2 (en) System and method for autonomically reallocating memory among buffer pools
US20120173774A1 (en) Storage-side storage request management
US5426752A (en) Method for allocating real pages to virtual pages having different page sizes therefrom
JP2004302751A (ja) 計算機システムの性能管理方法、および、記憶装置の性能を管理する計算機システム
NO332645B1 (no) Database
TW200406672A (en) Free list and ring data structure management
CN107103068A (zh) 业务缓存的更新方法及装置
US6654855B1 (en) Method and apparatus for improving the efficiency of cache memories using chained metrics
US7032093B1 (en) On-demand allocation of physical storage for virtual volumes using a zero logical disk
JPH10269131A (ja) 配列の変更を最適化するために配列要素をソートするコンピュータ・システムと方法
JPH04213129A (ja) メモリ管理システム及びメモリ管理方法
CA2281856A1 (en) Information processing system and recording medium to facilitate reading data from a large-capacity storage unit through a data buffer
JPH05274152A (ja) オブジェクト管理方式
JP2839530B2 (ja) メモリ割当て優先度の動的変更処理方式
JP2005339299A (ja) ストレージ装置のキャッシュ制御方法
JP4176933B2 (ja) 外部記憶装置ドライバプログラムを記録した記録媒体、及び外部記憶装置アクセス機能を有する計算機
CN111905378B (zh) 一种数据更新系统、数据更新方法和服务器
JP3301359B2 (ja) リスト管理システム、方法及び記憶媒体
EP0058846B1 (en) Multiprocessing system with variably shared paging storage
JP3020512B2 (ja) フアイルデータ管理方法
JPH07248949A (ja) 入出力実行方法
JPS6336538B2 (ja)
JPS6029135B2 (ja) バツフアメモリシステム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071016

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081016

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081016

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091016

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091016

Year of fee payment: 11