JPH05314010A - 置換対象データの選択方式 - Google Patents
置換対象データの選択方式Info
- Publication number
- JPH05314010A JPH05314010A JP4113585A JP11358592A JPH05314010A JP H05314010 A JPH05314010 A JP H05314010A JP 4113585 A JP4113585 A JP 4113585A JP 11358592 A JP11358592 A JP 11358592A JP H05314010 A JPH05314010 A JP H05314010A
- Authority
- JP
- Japan
- Prior art keywords
- data
- lru
- storage device
- speed storage
- accessed
- 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
- Memory System Of A Hierarchy Structure (AREA)
Abstract
(57)【要約】
【目的】 LRU(Least Recently U
sed)管理テーブルを複数段に階層化することで、高
速にLRU近似方式を実現し、各LRUテーブル毎に占
有権管理を行なうことで、複数のデータ・アクセス要求
に対する処理を同時行なう。 【構成】 LRUテーブルを複数段に階層化し、各階層
においてLRU近似方式を実行することで、低速記憶装
置との置換処理を行なうデータを決定する手段と、各L
RUテーブル毎に施錠フラグを設け、各LRUテーブル
へのアクセスが終了した時点でそのLRUテーブルの占
有権を放棄する(即ち、LRUテーブルの施錠を解除す
る)手段とを備える。
sed)管理テーブルを複数段に階層化することで、高
速にLRU近似方式を実現し、各LRUテーブル毎に占
有権管理を行なうことで、複数のデータ・アクセス要求
に対する処理を同時行なう。 【構成】 LRUテーブルを複数段に階層化し、各階層
においてLRU近似方式を実行することで、低速記憶装
置との置換処理を行なうデータを決定する手段と、各L
RUテーブル毎に施錠フラグを設け、各LRUテーブル
へのアクセスが終了した時点でそのLRUテーブルの占
有権を放棄する(即ち、LRUテーブルの施錠を解除す
る)手段とを備える。
Description
【0001】
【産業上の利用分野】本発明は、並列計算機システムに
おいて、高速記憶装置と低速記憶装置間のデータの置換
方式に関するものである。
おいて、高速記憶装置と低速記憶装置間のデータの置換
方式に関するものである。
【0002】
【従来の技術】計算機システムなどの情報処理装置で
は、低速記憶装置上のデータの一部を高速記憶装置にコ
ピーして、データの参照をその高速記憶装置に対して行
なうようにして、処理の高速化をはかる方式がある。高
速記憶装置と低速記憶装置には、二次記憶と主記憶、主
記憶とキャッシュ装置などがある。
は、低速記憶装置上のデータの一部を高速記憶装置にコ
ピーして、データの参照をその高速記憶装置に対して行
なうようにして、処理の高速化をはかる方式がある。高
速記憶装置と低速記憶装置には、二次記憶と主記憶、主
記憶とキャッシュ装置などがある。
【0003】この高速記憶装置に対するアクセスは、あ
るデータのアクセス要求に対して高速記憶装置内を検索
し、存在すればそのデータにアクセスが行なわれ、存在
しなければ高速記憶装置内のあるデータを低速記憶装置
に書き込み、その位置に低速記憶装置からアクセス要求
のあったデータを高速記憶装置に読み出す。この高速記
憶装置と低速記憶装置間の置換において、高速記憶装置
内のどのデータを低速記憶装置に書き出すかという方式
に、従来から、最も以前に参照されたデータを置換する
LRU(Least Recently Used)方
式がある。
るデータのアクセス要求に対して高速記憶装置内を検索
し、存在すればそのデータにアクセスが行なわれ、存在
しなければ高速記憶装置内のあるデータを低速記憶装置
に書き込み、その位置に低速記憶装置からアクセス要求
のあったデータを高速記憶装置に読み出す。この高速記
憶装置と低速記憶装置間の置換において、高速記憶装置
内のどのデータを低速記憶装置に書き出すかという方式
に、従来から、最も以前に参照されたデータを置換する
LRU(Least Recently Used)方
式がある。
【0004】LRU方式は正確に実現するのは難しく、
近似方式により代用することが多い。従来、この近似方
式として例えば、前川 守著、岩波講座 ソフトウェア
科学6オペレーティングシステム、岩波書店発行の26
1ページから264ページに示されたものがあった。
近似方式により代用することが多い。従来、この近似方
式として例えば、前川 守著、岩波講座 ソフトウェア
科学6オペレーティングシステム、岩波書店発行の26
1ページから264ページに示されたものがあった。
【0005】図8は、従来のLRU近似方式を示す構成
図であり、1はデータを読み込む要求元プログラム、4
は高速記憶装置、5は低速記憶装置、13はLRUテー
ブルである。なお、LRUテーブル13は、LRU近似
方式を実現するために、データを検索する際に用いるデ
ータ識別子を格納するデータ識別子部22、データが前
回の置換処理から参照されたかを示す1ビットの情報を
格納する参照ビット部19、置換処理時に参照ビット部
19が0であった回数を格納するカウンタ部20から構
成される。また、参照ビット部19及びカウンタ部20
の初期状態は、全て0である。
図であり、1はデータを読み込む要求元プログラム、4
は高速記憶装置、5は低速記憶装置、13はLRUテー
ブルである。なお、LRUテーブル13は、LRU近似
方式を実現するために、データを検索する際に用いるデ
ータ識別子を格納するデータ識別子部22、データが前
回の置換処理から参照されたかを示す1ビットの情報を
格納する参照ビット部19、置換処理時に参照ビット部
19が0であった回数を格納するカウンタ部20から構
成される。また、参照ビット部19及びカウンタ部20
の初期状態は、全て0である。
【0006】このような構成のシステムにおいては、図
9に示すフローチャートに基づいて、LRU近似方式が
行なわれる。まず、要求元プログラム1に必要なデータ
の読み込み要求が発生すると、ステップ1で読み込みた
いデータを特定するためのデータ識別子(以下参照識別
子という)を基に高速記憶装置4を検索し、該当データ
が高速記憶装置4内に存在すれば当該データを取り出す
と共にステップ2へ進みLRUテーブル13の参照デー
タに対応する参照ビット部をセットし、存在しなければ
ステップ3へ進み置換処理を行なう。ステップ2では、
参照識別子をキーとしてLRUテーブル13を検索し、
該当するエントリの参照ビット部19を1にする。これ
により、検索データに対応する参照ビットのセットが終
了する。ステップ3では、LRUテーブル13の全ての
エントリに対して、参照ビット部19が0ならばカウン
タ部20を1増化し、参照ビット部19が1ならば参照
ビット部19を0にすると共にカウンタ部20を0にす
る。次に、LRUテーブル13内でカウンタ部20の値
が最大のエントリを検索し、検索されたエントリのデー
タ識別子部22の値を取り出し、それを置換対象のデー
タ識別子とし、このエントリを削除し、ステップ4へ進
む。ステップ4では、ステップ3により求められた置換
対象のデータ識別子を基に置換データを高速記憶装置4
から取り出し低速記憶装置5へ書き戻す。次に、参照識
別子を基に低速記憶装置5から検索データを読み出すと
共に、高速記憶装置4へそのデータを書き込み、ステッ
プ5に進み参照データの登録を行なう。ステップ5で
は、データ識別子部22の値を検索識別子、参照ビット
部19の値を0、カウンタ部20の値を0とした新たな
エントリをLRUテーブル13に登録する。
9に示すフローチャートに基づいて、LRU近似方式が
行なわれる。まず、要求元プログラム1に必要なデータ
の読み込み要求が発生すると、ステップ1で読み込みた
いデータを特定するためのデータ識別子(以下参照識別
子という)を基に高速記憶装置4を検索し、該当データ
が高速記憶装置4内に存在すれば当該データを取り出す
と共にステップ2へ進みLRUテーブル13の参照デー
タに対応する参照ビット部をセットし、存在しなければ
ステップ3へ進み置換処理を行なう。ステップ2では、
参照識別子をキーとしてLRUテーブル13を検索し、
該当するエントリの参照ビット部19を1にする。これ
により、検索データに対応する参照ビットのセットが終
了する。ステップ3では、LRUテーブル13の全ての
エントリに対して、参照ビット部19が0ならばカウン
タ部20を1増化し、参照ビット部19が1ならば参照
ビット部19を0にすると共にカウンタ部20を0にす
る。次に、LRUテーブル13内でカウンタ部20の値
が最大のエントリを検索し、検索されたエントリのデー
タ識別子部22の値を取り出し、それを置換対象のデー
タ識別子とし、このエントリを削除し、ステップ4へ進
む。ステップ4では、ステップ3により求められた置換
対象のデータ識別子を基に置換データを高速記憶装置4
から取り出し低速記憶装置5へ書き戻す。次に、参照識
別子を基に低速記憶装置5から検索データを読み出すと
共に、高速記憶装置4へそのデータを書き込み、ステッ
プ5に進み参照データの登録を行なう。ステップ5で
は、データ識別子部22の値を検索識別子、参照ビット
部19の値を0、カウンタ部20の値を0とした新たな
エントリをLRUテーブル13に登録する。
【0007】このように従来の方式では、参照ビット部
19により前回置換が行なわれた時からそのデータが参
照されたかを示し、カウンタ部20により置換が起きる
ごとに参照されなかった数をカウントすることで、カウ
ンタ部20の値が最も大きいデータを最も長い間参照さ
れなかったと判断することで、LRU方式を近似してい
る。
19により前回置換が行なわれた時からそのデータが参
照されたかを示し、カウンタ部20により置換が起きる
ごとに参照されなかった数をカウントすることで、カウ
ンタ部20の値が最も大きいデータを最も長い間参照さ
れなかったと判断することで、LRU方式を近似してい
る。
【0008】
【発明が解決しようとする課題】以上のような従来のL
RU近似方式においては、置換時にLRUテーブル内の
全エントリについて参照ビット部を操作し、更にカウン
タ部の最大のエントリを検索しているが、高速記憶装置
のサイズが大きくなるにつれLRUテーブルのサイズも
大きくなり、LRUテーブルの全エントリに対する操作
に非常に時間がかかるため、置換処理が高速に行なえな
いという課題があった。また、並列計算機においては、
要求元プログラムが複数存在し、複数のデータ・アクセ
ス要求が同時に発行される場合があり、従来方式では、
1つの要求のために長時間LRUテーブルを占有するこ
とになり、並列度を減少されるという課題もある。
RU近似方式においては、置換時にLRUテーブル内の
全エントリについて参照ビット部を操作し、更にカウン
タ部の最大のエントリを検索しているが、高速記憶装置
のサイズが大きくなるにつれLRUテーブルのサイズも
大きくなり、LRUテーブルの全エントリに対する操作
に非常に時間がかかるため、置換処理が高速に行なえな
いという課題があった。また、並列計算機においては、
要求元プログラムが複数存在し、複数のデータ・アクセ
ス要求が同時に発行される場合があり、従来方式では、
1つの要求のために長時間LRUテーブルを占有するこ
とになり、並列度を減少されるという課題もある。
【0009】特開昭61−156446号の発明におい
ては、置換処理の管理テーブルを複数に分割すること
で、この課題を解決しようとしているが、この方式で
は、最大でも記憶装置のサイズの平方根倍程度の高速化
しか行なえない。
ては、置換処理の管理テーブルを複数に分割すること
で、この課題を解決しようとしているが、この方式で
は、最大でも記憶装置のサイズの平方根倍程度の高速化
しか行なえない。
【0010】
【課題を解決するための手段】本発明に係る並列計算機
に適した置換対象データの選択方式においては、LRU
テーブルを複数段に階層化し、各階層においてLRU近
似方式を実行することで、低速記憶装置との置換処理を
行なうデータを決定する手段と、各LRUテーブル毎に
施錠フラグを設け、各LRUテーブルへのアクセスが終
了した時点でそのLRUテーブルの占有権を放棄する
(即ち、LRUテーブルの施錠を解除する)手段からな
るものである。
に適した置換対象データの選択方式においては、LRU
テーブルを複数段に階層化し、各階層においてLRU近
似方式を実行することで、低速記憶装置との置換処理を
行なうデータを決定する手段と、各LRUテーブル毎に
施錠フラグを設け、各LRUテーブルへのアクセスが終
了した時点でそのLRUテーブルの占有権を放棄する
(即ち、LRUテーブルの施錠を解除する)手段からな
るものである。
【0011】
【作用】本発明においては、LRUテーブルを複数段に
階層化することで、各LRUテーブルのサイズが階層数
根分の1と非常に小さくなり、高速にLRU近似方式を
実現でき、各LRUテーブル毎に施錠フラグを設け、各
LRUテーブルへのアクセスが終了した時点でそのLR
Uテーブルの施錠を解除することで、他の要求元プログ
ラムがそのLRUテーブルに対してアクセス可能とな
り、複数の要求元プログラムの置換処理を並列に実行す
ることを可能としている。
階層化することで、各LRUテーブルのサイズが階層数
根分の1と非常に小さくなり、高速にLRU近似方式を
実現でき、各LRUテーブル毎に施錠フラグを設け、各
LRUテーブルへのアクセスが終了した時点でそのLR
Uテーブルの施錠を解除することで、他の要求元プログ
ラムがそのLRUテーブルに対してアクセス可能とな
り、複数の要求元プログラムの置換処理を並列に実行す
ることを可能としている。
【0012】
【実施例】図1はこの発明の一実施例を示す構成図であ
り、1〜3は並列に動作するデータを読み込む要求元プ
ログラム、4は高速記憶装置、5は低速記憶装置、6〜
12はLRUセット・テーブル、13〜16はLRUテ
ーブルである。LRUセット・テーブルは、LRU近似
方式を実現するための情報及び下位のLRUセット・テ
ーブルまたはLRUテーブルが格納されている。また、
LRUテーブルは、LRU近似方式を実現するための情
報及びデータ識別子が格納されている。
り、1〜3は並列に動作するデータを読み込む要求元プ
ログラム、4は高速記憶装置、5は低速記憶装置、6〜
12はLRUセット・テーブル、13〜16はLRUテ
ーブルである。LRUセット・テーブルは、LRU近似
方式を実現するための情報及び下位のLRUセット・テ
ーブルまたはLRUテーブルが格納されている。また、
LRUテーブルは、LRU近似方式を実現するための情
報及びデータ識別子が格納されている。
【0013】なお、本実施例では、高速記憶装置4及び
低速記憶装置5は、データをそのデータと一対一で対応
して付されたデータ識別子と共に記憶しており、32ビ
ットのデータ識別子を基に、記憶装置のサイズに依存し
ない時間でデータを取り出すことが可能である。高速記
憶装置4のサイズは1メガワード(即ち、2の20乗ワ
ード)で、LRUテーブルの階層段数が4段としてあ
る。従って、LRUセット・テーブルは、32エントリ
から構成される。
低速記憶装置5は、データをそのデータと一対一で対応
して付されたデータ識別子と共に記憶しており、32ビ
ットのデータ識別子を基に、記憶装置のサイズに依存し
ない時間でデータを取り出すことが可能である。高速記
憶装置4のサイズは1メガワード(即ち、2の20乗ワ
ード)で、LRUテーブルの階層段数が4段としてあ
る。従って、LRUセット・テーブルは、32エントリ
から構成される。
【0014】図2は、1つのLRUセット・テーブルを
示す構成図であり、17は施錠フラグ、18はキー部、
19は参照ビット部、20はカウンタ部、21は下位テ
ーブル部であり、17はLRUセット・テーブルに1
つ、18〜21はエントリ毎に(即ち、32個)存在す
る。なお、施錠フラグ17は、あるプログラムによりL
RUセット・テーブルが使用されているかどうかを示す
1ビットの情報を格納するもので、その値が0であれば
未使用状態(即ち、解錠状態)、1であれば使用状態
(即ち、施錠状態)を表す。キー部18は、0から31
までの数値が格納されており、参照ビット部19は、前
回の置換処理からそのエントリが参照されたかを示す1
ビットの情報を格納するもので、その値が0であれば未
参照、1であれば参照されたことを表す。また、カウン
タ部20は置換処理に参照ビット部19が0であった回
数を格納するものであり、下位テーブル部は1階層下の
LRUセット・テーブルまたはLRUテーブルを格納す
るものである。なお、キー部18の値を基にしたLRU
セット・テーブルの検索は、固定時間で行なえるものと
する。また、施錠フラグ17、参照ビット部19、カウ
ンタ部20は、全て値0で初期化されているものとす
る。
示す構成図であり、17は施錠フラグ、18はキー部、
19は参照ビット部、20はカウンタ部、21は下位テ
ーブル部であり、17はLRUセット・テーブルに1
つ、18〜21はエントリ毎に(即ち、32個)存在す
る。なお、施錠フラグ17は、あるプログラムによりL
RUセット・テーブルが使用されているかどうかを示す
1ビットの情報を格納するもので、その値が0であれば
未使用状態(即ち、解錠状態)、1であれば使用状態
(即ち、施錠状態)を表す。キー部18は、0から31
までの数値が格納されており、参照ビット部19は、前
回の置換処理からそのエントリが参照されたかを示す1
ビットの情報を格納するもので、その値が0であれば未
参照、1であれば参照されたことを表す。また、カウン
タ部20は置換処理に参照ビット部19が0であった回
数を格納するものであり、下位テーブル部は1階層下の
LRUセット・テーブルまたはLRUテーブルを格納す
るものである。なお、キー部18の値を基にしたLRU
セット・テーブルの検索は、固定時間で行なえるものと
する。また、施錠フラグ17、参照ビット部19、カウ
ンタ部20は、全て値0で初期化されているものとす
る。
【0015】図3は、1つのLRUテーブルを示す構成
図であり、17,19,20は、図2におけるLRUセ
ット・テーブルと同様のものであり、22はデータ識別
子部であり、データの識別子を格納するものである。
図であり、17,19,20は、図2におけるLRUセ
ット・テーブルと同様のものであり、22はデータ識別
子部であり、データの識別子を格納するものである。
【0016】このような構成のシステムにおいては、図
4〜図7に示すフローチャートに基づいてLRU近似方
式が行なわれる。まず、要求元プログラム1に必要なデ
ータの読み込み要求が発生すると、ステップ1で読み込
みたいデータを特定するためのデータ識別子(即ち、参
照識別子)を基に高速記憶装置4を検索し、該当データ
が高速記憶装置4内に存在すれば当該データを取り出す
と共に第1層のLRUセット・テーブル6を対象として
ステップ2へ進み、参照ビット部をセットし、存在しな
ければ第1層のLRUセット・テーブル6を対象として
ステップ3へ進み置換処理を行なう。
4〜図7に示すフローチャートに基づいてLRU近似方
式が行なわれる。まず、要求元プログラム1に必要なデ
ータの読み込み要求が発生すると、ステップ1で読み込
みたいデータを特定するためのデータ識別子(即ち、参
照識別子)を基に高速記憶装置4を検索し、該当データ
が高速記憶装置4内に存在すれば当該データを取り出す
と共に第1層のLRUセット・テーブル6を対象として
ステップ2へ進み、参照ビット部をセットし、存在しな
ければ第1層のLRUセット・テーブル6を対象として
ステップ3へ進み置換処理を行なう。
【0017】ステップ2では、対象とするテーブルの施
錠フラグ17が0ならば(即ち、施錠されていなけれ
ば)ステップ2aへ進み、施錠フラグ17が1ならば
(即ち、施錠されていれば)施錠フラグ17が0になる
まで待ち、ステップ2aへ進む。ステップ2aでは、施
錠フラグ17を1にし、参照識別子の第1ビットから第
5ビットまでの5ビットの情報をキーとして対象テーブ
ル(即ち、LRUセット・テーブルまたはLRUテーブ
ル)を検索し、該当するエントリの参照ビット部19を
1にすると共に、対象テーブルがLRUセット・テーブ
ルであればステップ2bへ進み、対象テーブルがLRU
テーブルであれば、ステップ2cへ進む。ステップ2b
では、上記該当するエントリの下位テーブル部21から
下位のテーブルを取り出し施錠フラグ17を0にし、そ
の下位のテーブルを対象としてステップ2へ進むが、キ
ーを基にエントリを検索する際のキー値が階層のレベル
により異なり、その対象テーブルが第2層であれば参照
識別子の第6ビットから第10ビットまでの5ビットの
情報をキーにし、第3層であれば、参照識別子の第11
ビットから第15ビットまでの5ビットの情報をキーに
し、第4層であれば(即ち、次回の対象テーブルがLR
Uテーブルの場合)参照識別子をキーとする。ステップ
2cでは、施錠フラグを0にする。これにより、検索デ
ータに対応する参照ビットのセットが終了する。
錠フラグ17が0ならば(即ち、施錠されていなけれ
ば)ステップ2aへ進み、施錠フラグ17が1ならば
(即ち、施錠されていれば)施錠フラグ17が0になる
まで待ち、ステップ2aへ進む。ステップ2aでは、施
錠フラグ17を1にし、参照識別子の第1ビットから第
5ビットまでの5ビットの情報をキーとして対象テーブ
ル(即ち、LRUセット・テーブルまたはLRUテーブ
ル)を検索し、該当するエントリの参照ビット部19を
1にすると共に、対象テーブルがLRUセット・テーブ
ルであればステップ2bへ進み、対象テーブルがLRU
テーブルであれば、ステップ2cへ進む。ステップ2b
では、上記該当するエントリの下位テーブル部21から
下位のテーブルを取り出し施錠フラグ17を0にし、そ
の下位のテーブルを対象としてステップ2へ進むが、キ
ーを基にエントリを検索する際のキー値が階層のレベル
により異なり、その対象テーブルが第2層であれば参照
識別子の第6ビットから第10ビットまでの5ビットの
情報をキーにし、第3層であれば、参照識別子の第11
ビットから第15ビットまでの5ビットの情報をキーに
し、第4層であれば(即ち、次回の対象テーブルがLR
Uテーブルの場合)参照識別子をキーとする。ステップ
2cでは、施錠フラグを0にする。これにより、検索デ
ータに対応する参照ビットのセットが終了する。
【0018】ステップ3では、対象とするテーブルの施
錠フラグ17が0ならばステップ3aへ進み、施錠フラ
グ17が1ならば施錠フラグ17が0になるまで待ち、
ステップ3aへ進む。ステップ3aでは、施錠フラグ1
7を1にし、対象テーブルの全てのエントリに対して、
参照ビット部19が0ならばカウンタ部20を1増加
し、参照ビット部19が1ならば参照ビット部19を0
にすると共にカウンタ部20を0にする。次に、対象テ
ーブル内でカウンタ部20の値が最大のエントリを検索
し、対象テーブルがLRUセット・テーブルであればス
テップ3bへ進み、LRUテーブルであればステップ3
cへ進む。ステップ3bでは、上記で検索されたエント
リの下位テーブル部21から下位のテーブルを取り出し
施錠フラグ17を0にし、その下位のテーブルを対象と
してステップ3へ進む。ステップ3cでは、上記で検索
されたエントリのデータ識別子部22の値を取り出し、
それを置換対象のデータ識別子とし、そのエントリを削
除すると共に施錠フラグ17を0にし、ステップ4へ進
む。
錠フラグ17が0ならばステップ3aへ進み、施錠フラ
グ17が1ならば施錠フラグ17が0になるまで待ち、
ステップ3aへ進む。ステップ3aでは、施錠フラグ1
7を1にし、対象テーブルの全てのエントリに対して、
参照ビット部19が0ならばカウンタ部20を1増加
し、参照ビット部19が1ならば参照ビット部19を0
にすると共にカウンタ部20を0にする。次に、対象テ
ーブル内でカウンタ部20の値が最大のエントリを検索
し、対象テーブルがLRUセット・テーブルであればス
テップ3bへ進み、LRUテーブルであればステップ3
cへ進む。ステップ3bでは、上記で検索されたエント
リの下位テーブル部21から下位のテーブルを取り出し
施錠フラグ17を0にし、その下位のテーブルを対象と
してステップ3へ進む。ステップ3cでは、上記で検索
されたエントリのデータ識別子部22の値を取り出し、
それを置換対象のデータ識別子とし、そのエントリを削
除すると共に施錠フラグ17を0にし、ステップ4へ進
む。
【0019】ステップ4では、ステップ3により求めら
れた置換対象のデータ識別子を基に置換データを高速記
憶装置4から取り出し低速記憶装置5へ書き戻す。次
に、参照識別子を基に低速記憶装置5から参照データを
読み出すと共に、高速記憶装置4へそのデータを書き込
み、第1層LRUテーブル6を対象としてステップ5に
進み参照データの登録を行なう。
れた置換対象のデータ識別子を基に置換データを高速記
憶装置4から取り出し低速記憶装置5へ書き戻す。次
に、参照識別子を基に低速記憶装置5から参照データを
読み出すと共に、高速記憶装置4へそのデータを書き込
み、第1層LRUテーブル6を対象としてステップ5に
進み参照データの登録を行なう。
【0020】ステップ5では、対象とするテーブルがL
RUセット・テーブルであればステップ5aへ進み、L
RUテーブルであればステップ5bへ進む。ステップ5
aでは、参照識別子の第1ビットから第5ビットまでの
5ビットの情報をキーとして対象テーブルを検索し、該
当するエントリの下位テーブル部21から下位のテーブ
ルを検索し、該当するエントリの下位テーブル部21か
ら下位のテーブルを取り出し、その下位のテーブルを対
象としてステップ5へ進むが、キーを基にエントリを検
索する際のキー値が階層のレベルにより異なり、その対
象テーブルが第2層であれば参照識別子の第6ビットか
ら第10ビットまでの5ビットの情報をキーにし、第3
層であれば、参照識別子の第11ビットから第15ビッ
トまでの5ビットの情報をキーにする。ステップ5bで
は、対象テーブルの施錠フラグ17が0ならばステップ
5cへ進み、施錠フラグ17が1ならば施錠フラグ17
が0になるまで待ち、ステップ5cへ進む。ステップ5
cでは施錠フラグ17を1にし、識別子部22の値を参
照識別子、参照ビット部19の値を0、カウンタ部20
の値を0とした新たなエントリを対象テーブルに登録
し、施錠フラグ17を0にする。これにより、参照デー
タのLRUテーブルへの登録が終了する。
RUセット・テーブルであればステップ5aへ進み、L
RUテーブルであればステップ5bへ進む。ステップ5
aでは、参照識別子の第1ビットから第5ビットまでの
5ビットの情報をキーとして対象テーブルを検索し、該
当するエントリの下位テーブル部21から下位のテーブ
ルを検索し、該当するエントリの下位テーブル部21か
ら下位のテーブルを取り出し、その下位のテーブルを対
象としてステップ5へ進むが、キーを基にエントリを検
索する際のキー値が階層のレベルにより異なり、その対
象テーブルが第2層であれば参照識別子の第6ビットか
ら第10ビットまでの5ビットの情報をキーにし、第3
層であれば、参照識別子の第11ビットから第15ビッ
トまでの5ビットの情報をキーにする。ステップ5bで
は、対象テーブルの施錠フラグ17が0ならばステップ
5cへ進み、施錠フラグ17が1ならば施錠フラグ17
が0になるまで待ち、ステップ5cへ進む。ステップ5
cでは施錠フラグ17を1にし、識別子部22の値を参
照識別子、参照ビット部19の値を0、カウンタ部20
の値を0とした新たなエントリを対象テーブルに登録
し、施錠フラグ17を0にする。これにより、参照デー
タのLRUテーブルへの登録が終了する。
【0021】このように、LRUテーブルを4階層に階
層化することで、1つのテーブルのサイズを32エント
リという小さなサイズにしているために、LRU近似方
式を高速に行なうことができる。更に、並列計算機にお
いて、要求元プログラム1に対する処理を行なっている
途中で他の要求元プログラムも読み込みを行なおうとし
た場合、各テーブル毎に施錠フラグ17により占有権管
理を行なっているので、要求元プログラム1のあるテー
ブル(即ち、LRUセット・テーブルまたはLRUテー
ブル)へのアクセスが終了した時点で、他の要求元プロ
グラム2,3がそのテーブルにアクセスすることがで
き、複数の並列に実行されるプログラムで低速記憶装置
と高速記憶装置間のデータ置換処理を同時に実行でき
る。
層化することで、1つのテーブルのサイズを32エント
リという小さなサイズにしているために、LRU近似方
式を高速に行なうことができる。更に、並列計算機にお
いて、要求元プログラム1に対する処理を行なっている
途中で他の要求元プログラムも読み込みを行なおうとし
た場合、各テーブル毎に施錠フラグ17により占有権管
理を行なっているので、要求元プログラム1のあるテー
ブル(即ち、LRUセット・テーブルまたはLRUテー
ブル)へのアクセスが終了した時点で、他の要求元プロ
グラム2,3がそのテーブルにアクセスすることがで
き、複数の並列に実行されるプログラムで低速記憶装置
と高速記憶装置間のデータ置換処理を同時に実行でき
る。
【0022】なお、本実施例では、LRUテーブルの階
層化の段数を4段、高速記憶装置のサイズを1メガ・ワ
ードにした例を用いて説明を行なっているが、階層化の
段数及び高速記憶装置のサイズはどんな値であっても良
い。
層化の段数を4段、高速記憶装置のサイズを1メガ・ワ
ードにした例を用いて説明を行なっているが、階層化の
段数及び高速記憶装置のサイズはどんな値であっても良
い。
【0023】
【発明の効果】以上のようにこの発明によれば、LRU
テーブルを複数段に階層化し1つのLRUテーブルのサ
イズを小さくすることで、高速にLRU近似方式を実行
でき、各LRUテーブル毎に施錠フラグを設け占有権管
理を行なうことで、複数の要求元プログラムの置換処理
を並列に実行することを可能としている。
テーブルを複数段に階層化し1つのLRUテーブルのサ
イズを小さくすることで、高速にLRU近似方式を実行
でき、各LRUテーブル毎に施錠フラグを設け占有権管
理を行なうことで、複数の要求元プログラムの置換処理
を並列に実行することを可能としている。
【図1】この発明の一実施例を示す全体構成図である。
【図2】LRUセット・テーブルを示す構成図である。
【図3】LRUテーブルを示す構成図である。
【図4】この実施例の動作を示すフローチャートであ
る。
る。
【図5】この実施例の動作を示すフローチャートであ
る。
る。
【図6】この実施例の動作を示すフローチャートであ
る。
る。
【図7】この実施例の動作を示すフローチャートであ
る。
る。
【図8】従来のLRU近似方式を示す構成図である。
【図9】その動作を示すフローチャートである。
1〜3 要求元プログラム 4 高速記憶装置 5 低速記憶装置 6〜12 LRUセット・テーブル 13〜16 LRUテーブル 17 施錠フラグ 18 キー部 19 参照ビット部 20 カウンタ部 21 下位テーブル 22 データ識別部
Claims (2)
- 【請求項1】 複数のエントリから構成される高速記憶
装置及び低速記憶装置を具備し、アクセスするデータが
高速記憶装置内に存在する場合はそのデータをアクセス
し、上記データが存在しない場合は高速記憶装置内の適
当なデータを低速記憶装置内のアクセスすべきデータと
置換する記憶管理システムにおいて、高速記憶装置内の
各データのアクセス順序を管理するテーブルを複数段に
階層化し、高速記憶装置内にアクセスすべきデータが存
在した場合には上記階層化された管理テーブル及び参照
データの参照順序情報を更新する第1の手段と、高速記
憶装置内にアクセスすべきデータが存在しない場合には
上記階層化された管理テーブル及びデータの内最も過去
にアクセスされたと判断されるものを低速記憶装置と置
換を行なう第2の手段を備えたことを特徴とする置換対
象データの選択方式。 - 【請求項2】 上記記憶管理方式において、階層化され
た各管理テーブル毎に施錠フラグを設け、管理テーブル
にアクセスする場合、上記施錠フラグが解錠状態であれ
ば施錠状態にしアクセスを行ないアクセスが終了した時
点で解錠状態にする第1の手段と、施錠フラグが施錠状
態であれば解錠状態になるまで待ってからアクセスを行
なう第2の手段を備えたことを特徴とする置換対象デー
タの選択方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4113585A JPH05314010A (ja) | 1992-05-06 | 1992-05-06 | 置換対象データの選択方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4113585A JPH05314010A (ja) | 1992-05-06 | 1992-05-06 | 置換対象データの選択方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH05314010A true JPH05314010A (ja) | 1993-11-26 |
Family
ID=14615953
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4113585A Pending JPH05314010A (ja) | 1992-05-06 | 1992-05-06 | 置換対象データの選択方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH05314010A (ja) |
-
1992
- 1992-05-06 JP JP4113585A patent/JPH05314010A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0303231B1 (en) | Method and device for enabling concurrent access of indexed sequential data files | |
| EP1540533B1 (en) | Controlling visibility in multi-version database systems | |
| US4864497A (en) | Method of integrating software application programs using an attributive data model database | |
| JP3674117B2 (ja) | 排他制御方法およびそれを利用したデータ管理システム並びに記録媒体 | |
| US7613683B2 (en) | System and method for retrieving information from a database | |
| US6631366B1 (en) | Database system providing methodology for optimizing latching/copying costs in index scans on data-only locked tables | |
| US5430869A (en) | System and method for restructuring a B-Tree | |
| US4914569A (en) | Method for concurrent record access, insertion, deletion and alteration using an index tree | |
| JPH05210637A (ja) | 同時アクセス管理方法 | |
| JPH04337850A (ja) | データベース・トランザクション及び照会処理システム | |
| CA2302303A1 (en) | System for accessing database tables mapped into memory for high performance | |
| JPH05128072A (ja) | システム間排他制御方式 | |
| CN114328500B (zh) | 一种数据访问方法、装置、设备及计算机可读存储介质 | |
| CN108694230B (zh) | 数据库中的唯一标识符的管理 | |
| CN111581123B (zh) | 基于分类的存储器分配的锁定 | |
| JP3621433B2 (ja) | データベース排他制御方法 | |
| US20040243624A1 (en) | Undrop objects and dependent objects in a database system | |
| CN118051502B (zh) | 数据库的索引处理方法、装置、设备及可读存储介质 | |
| JP2009265840A (ja) | データベースのキャッシュシステム | |
| US6327597B1 (en) | Method, memory system, and computer program product for implementing lock based delayed space recycle control | |
| JPH05314010A (ja) | 置換対象データの選択方式 | |
| US7107404B2 (en) | Method and system for data processing for controlling a cache memory | |
| JPH02212949A (ja) | オンライン中データベース再編成処理方式 | |
| CN114791913B (zh) | 数据库的共享内存缓冲池处理方法、存储介质与设备 | |
| US8510269B2 (en) | Uninterrupted database index reorganization/movement |