JPS595483A - 計算装置の動作方法 - Google Patents
計算装置の動作方法Info
- Publication number
- JPS595483A JPS595483A JP58085180A JP8518083A JPS595483A JP S595483 A JPS595483 A JP S595483A JP 58085180 A JP58085180 A JP 58085180A JP 8518083 A JP8518083 A JP 8518083A JP S595483 A JPS595483 A JP S595483A
- Authority
- JP
- Japan
- Prior art keywords
- buffer
- chain
- lru
- sequential
- buffers
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/463—Program control block organisation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operations
- G06F11/1446—Point-in-time backing up or restoration of persistent data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔発明の分野〕
本発明はバッファ・プールを含む計算装置を動作させる
方法、特にバッチ・プロセス(順次プロセス)の両者に
よって参照されるバッファ・プールを管理するだめのデ
ータベース・システムに係る。
方法、特にバッチ・プロセス(順次プロセス)の両者に
よって参照されるバッファ・プールを管理するだめのデ
ータベース・システムに係る。
一般に、トランザクション処理用に設計されているデー
タベース・システムは、バッファをランダム・アクセス
するのに適したバッファ・マネージャを有する。普通、
バッファ・プールはLRU(Least ReceT
Ltly Used)アルゴリズムに基づいて管理さね
、ているので、アプリケーションによる後続アクセスの
ために最後に使用されたバッファ内のデータ・ブロック
が使用可能の状態に維持さtl、る。というのは、かか
るデータ・ブロックは最も長い間使用されなかったバッ
ファ内のデータ・ブロックよりも、次にアクセスされる
見込みが大きいとされ、でいるからである。
タベース・システムは、バッファをランダム・アクセス
するのに適したバッファ・マネージャを有する。普通、
バッファ・プールはLRU(Least ReceT
Ltly Used)アルゴリズムに基づいて管理さね
、ているので、アプリケーションによる後続アクセスの
ために最後に使用されたバッファ内のデータ・ブロック
が使用可能の状態に維持さtl、る。というのは、かか
るデータ・ブロックは最も長い間使用されなかったバッ
ファ内のデータ・ブロックよりも、次にアクセスされる
見込みが大きいとされ、でいるからである。
これは、順次式にデータをアクセスする多くのニーティ
、すケ・イ・およびいくつかのアプリケーションについ
て、性能上の問題を提起する。前記の使用例として、デ
ータベースのバックアップ・コピーをとるユーティリテ
ィがあり、このユーティリティでは大部分のブロックが
順次に検索される。
、すケ・イ・およびいくつかのアプリケーションについ
て、性能上の問題を提起する。前記の使用例として、デ
ータベースのバックアップ・コピーをとるユーティリテ
ィがあり、このユーティリティでは大部分のブロックが
順次に検索される。
これらの11]自次プロセスのためにバッファ・プール
を管理するときけ、新しいブロックの必要性を予測して
外部記憶装置からデータ・ブロックの事前取出しを行な
い、これらのデータ・ブロックを空いているバッファに
読込むことが望ましい。
を管理するときけ、新しいブロックの必要性を予測して
外部記憶装置からデータ・ブロックの事前取出しを行な
い、これらのデータ・ブロックを空いているバッファに
読込むことが望ましい。
このような動作は刊行物であるI B M OS/VS
2SAM Logic,Release3.8、”Fo
rm No SV40−3832−1、2nd Ed
itionのPP.15−56、178−181 に
記述さ力ているQSAM(待機順次アクセス方式)バッ
ファリング技法によって実行される。
2SAM Logic,Release3.8、”Fo
rm No SV40−3832−1、2nd Ed
itionのPP.15−56、178−181 に
記述さ力ているQSAM(待機順次アクセス方式)バッ
ファリング技法によって実行される。
しかしながら、LRUアルゴリズムに基づいて管理され
たバッファ・プールに割当てられたデータ・セットのペ
ージがランダム・アクセスおよび順次アクセス・パター
ンを同時に受ける場合には、前記事前取出しは重大な問
題を生じる。一般に、新しいページに対する順次アクセ
スの要求はランダム・アクセスの要求よりもずっと高い
レートで生じ、特に前者が事前取出しを伴なう場合には
そうである。
たバッファ・プールに割当てられたデータ・セットのペ
ージがランダム・アクセスおよび順次アクセス・パター
ンを同時に受ける場合には、前記事前取出しは重大な問
題を生じる。一般に、新しいページに対する順次アクセ
スの要求はランダム・アクセスの要求よりもずっと高い
レートで生じ、特に前者が事前取出しを伴なう場合には
そうである。
従って、ランダム・アクセスを遂行するトランザクショ
ンを支援することが不適当となる場合には、所尚のバッ
ファ内でランダム・ページを再アクセスすることができ
なくなり、かくてこのようなランダム・ページを外部記
憶装置から再び読増らねば々ら々いことがある。
ンを支援することが不適当となる場合には、所尚のバッ
ファ内でランダム・ページを再アクセスすることができ
なくなり、かくてこのようなランダム・ページを外部記
憶装置から再び読増らねば々ら々いことがある。
これu、LRUバッファ・チェインを通してバッファを
移動するレートが、バッファ再割当要求レートの関数で
あることによって生じる。
移動するレートが、バッファ再割当要求レートの関数で
あることによって生じる。
要求レートが高ければ高いほど、LRU侍行列の先頭へ
の移動が速くなり、従ってバッファの古い内容を再アク
セスしうる時間か短かく々る。
の移動が速くなり、従ってバッファの古い内容を再アク
セスしうる時間か短かく々る。
111次プロセスによるバッファの独占を阻止するため
に、IBM rMs/VS バーショア1.2
1SAM10SAMバッファ・ハンドラでは、所与のユ
ーザ(すなわち、ランダム・プロセス捷たは順次プロセ
スによって最後に使用されたバッファを該ユーザに割当
てるようにしている(ソース・コード・モジュールDF
SDBH10、DF’SDBH20、r)F’SDBH
3DおよびDFSDBH40、特にDFSDBH20に
おける特性テーブル内のPSTLR列参照)。しかしな
がら、ISAM10SAMバッファ・ハンドラでは、順
次プロセスの性能を強化するために事前取出し能力は与
えら力ていない。
に、IBM rMs/VS バーショア1.2
1SAM10SAMバッファ・ハンドラでは、所与のユ
ーザ(すなわち、ランダム・プロセス捷たは順次プロセ
スによって最後に使用されたバッファを該ユーザに割当
てるようにしている(ソース・コード・モジュールDF
SDBH10、DF’SDBH20、r)F’SDBH
3DおよびDFSDBH40、特にDFSDBH20に
おける特性テーブル内のPSTLR列参照)。しかしな
がら、ISAM10SAMバッファ・ハンドラでは、順
次プロセスの性能を強化するために事前取出し能力は与
えら力ていない。
このように、先行技術では、バッファ・プールをIll
J’1次プロセス捷たはランダム・プロセスのいずれか
に専用化することが普通に行われているが、もしバッフ
ァ・プールがこれらのプロセスによって共用されまたな
らば、バッチ・プロセスによってかかるバッファ・プー
ルが独占される傾向があり、かくて断力のランダム・プ
ロセスがデータ・セットのページを再アクセスするとき
不要々入出力動作を必要とする。
J’1次プロセス捷たはランダム・プロセスのいずれか
に専用化することが普通に行われているが、もしバッフ
ァ・プールがこれらのプロセスによって共用されまたな
らば、バッチ・プロセスによってかかるバッファ・プー
ルが独占される傾向があり、かくて断力のランダム・プ
ロセスがデータ・セットのページを再アクセスするとき
不要々入出力動作を必要とする。
従って、バッファ・プールに割当てられたデータ・セッ
トのページに対するランダム・アクセスおよび順次アク
セスが同時に行なわれているようなデータベース・シス
テムでニ、バッファ・ハンドラに、(1)J@次プロセ
ス及びランダム・プロセスの両方についてL RUバッ
ファ・プールを管理し、(2)シかも1齢次プロセスに
よるバッファ・プールの独占に起因するランダム・プロ
セスの不要な入出力動作が生じないようにし、(3)同
時にランダム・プロセスの性能r(対する影響を最小限
にして順次プロセスに非同期式の事前取出し卵力を与え
る必要がある。
トのページに対するランダム・アクセスおよび順次アク
セスが同時に行なわれているようなデータベース・シス
テムでニ、バッファ・ハンドラに、(1)J@次プロセ
ス及びランダム・プロセスの両方についてL RUバッ
ファ・プールを管理し、(2)シかも1齢次プロセスに
よるバッファ・プールの独占に起因するランダム・プロ
セスの不要な入出力動作が生じないようにし、(3)同
時にランダム・プロセスの性能r(対する影響を最小限
にして順次プロセスに非同期式の事前取出し卵力を与え
る必要がある。
本発明にJ: J’l、げ、メイン・プロセッサ、主記
憶装置に設けら力、だ複数のバッファおよび少々くとも
1つの外部m4憶装置を有する計算装置を動作させる新
しい方法がりえられる。
憶装置に設けら力、だ複数のバッファおよび少々くとも
1つの外部m4憶装置を有する計算装置を動作させる新
しい方法がりえられる。
メイン・プロセッサはデータベース・システムの制御下
で動作し、該データベース・システムは外部記憶装置か
らバッファへ読取られたデータ・セットのページを、順
次プロセスおよヒランタム・プロセスの両者による同時
的アクセスのために割当てるようなバッファ・マネージ
ャを含んでいる。
で動作し、該データベース・システムは外部記憶装置か
らバッファへ読取られたデータ・セットのページを、順
次プロセスおよヒランタム・プロセスの両者による同時
的アクセスのために割当てるようなバッファ・マネージ
ャを含んでいる。
この新しい方法は次のステップによって特徴づけられる
。
。
(a)待行列の値を確立する。
(b)通常のLRUバッファ・チェイン上、前記チェイ
ン上にコピーさカ、たS L R,U (順次LRU)
バッファ・チェインとを維持する。
ン上にコピーさカ、たS L R,U (順次LRU)
バッファ・チェインとを維持する。
(c) 事前取出しプロセスではないj順次プロセス
から解放さ、fl、たバッファを両方のLRUバッファ
・チェインに置き、そしてランダム・プロセスまたは順
次式の事前取出しプロセスから解放さカ涜バッファを通
常のLRUバッファ・チェインのみに置く。
から解放さ、fl、たバッファを両方のLRUバッファ
・チェインに置き、そしてランダム・プロセスまたは順
次式の事前取出しプロセスから解放さカ涜バッファを通
常のLRUバッファ・チェインのみに置く。
(d) 5LRUバツフア壽チエイン中のバッファの数
が待行列の値を越えている場合には、J1泊次プロセス
のだめのバッファ要求に応答して、SL’RUバッファ
・チェインカラ先頭ハッファヲスf −/l/し、そう
でない場合は通常のLRUバッファ・チェインから先頭
バッファをスチールすることにより、ネストされた順次
プロセスで使用されるバッファの反復スチールを明止す
る。
が待行列の値を越えている場合には、J1泊次プロセス
のだめのバッファ要求に応答して、SL’RUバッファ
・チェインカラ先頭ハッファヲスf −/l/し、そう
でない場合は通常のLRUバッファ・チェインから先頭
バッファをスチールすることにより、ネストされた順次
プロセスで使用されるバッファの反復スチールを明止す
る。
この新しい方法は、次のステップによっても特徴づけら
ねる、。
ねる、。
(e) データ・セット・ページの要求に応答して、
外部記憶装置からプロセスが定義した事前取出し一帛の
整数倍のデータ・セット・ページを条件付きで非同jυ
1式に巾前IIY出しする。
外部記憶装置からプロセスが定義した事前取出し一帛の
整数倍のデータ・セット・ページを条件付きで非同jυ
1式に巾前IIY出しする。
更に、本発明によれば、メイン・プロセッサ、主記憶装
置に設けら力た複数のバッファおよび少なくとも1つの
外部記憶装置を有する計算装置が与えられる。メイン・
プロセッサはデータベース・システムの制御下で動作し
、該データベース・システムは外部記憶装置からバッフ
ァへ読取られたデータ・セットのページを1.順次プロ
セスおよびランダム・プロセスによる同時的アクセスの
ために割当てるようなバッファ・マネージャを含んでい
る。この針脚装置は、その特徴として、前記プロセッサ
が (a) 待行列の値を確立し、 (b) 通常のL RUバッファ・チェインと、前記
チェイン上にコピーされた5LRUバツフア・チェイン
とを維持し、 (c)事前取出しプロセスではない順次プロセスかう解
放されたバッファを両L RUバッフ7・fxインに置
き、そしてランダム・プロセスまたは順次式の事前取出
しプロセスから解放されたバッファを通常のLRUバッ
ファ・チェインのみに置き、(dlsLRUバッファ・
チェイン中のバッファ数が待行列の値を越える場合には
、順次ブーbセスのためバッファ要求に応答して、5L
RUバツフア・チェインから先頭バッファをスチールし
、そうでない場合は通常のLRUバッファ・チェインか
ら先頭バッファをスチールする手段をそれぞれ備−Cお
り、かくてイ・ストされた順次プロセスで使用されるバ
ッファの反復スチールを阻IFする1ようにしている。
置に設けら力た複数のバッファおよび少なくとも1つの
外部記憶装置を有する計算装置が与えられる。メイン・
プロセッサはデータベース・システムの制御下で動作し
、該データベース・システムは外部記憶装置からバッフ
ァへ読取られたデータ・セットのページを1.順次プロ
セスおよびランダム・プロセスによる同時的アクセスの
ために割当てるようなバッファ・マネージャを含んでい
る。この針脚装置は、その特徴として、前記プロセッサ
が (a) 待行列の値を確立し、 (b) 通常のL RUバッファ・チェインと、前記
チェイン上にコピーされた5LRUバツフア・チェイン
とを維持し、 (c)事前取出しプロセスではない順次プロセスかう解
放されたバッファを両L RUバッフ7・fxインに置
き、そしてランダム・プロセスまたは順次式の事前取出
しプロセスから解放されたバッファを通常のLRUバッ
ファ・チェインのみに置き、(dlsLRUバッファ・
チェイン中のバッファ数が待行列の値を越える場合には
、順次ブーbセスのためバッファ要求に応答して、5L
RUバツフア・チェインから先頭バッファをスチールし
、そうでない場合は通常のLRUバッファ・チェインか
ら先頭バッファをスチールする手段をそれぞれ備−Cお
り、かくてイ・ストされた順次プロセスで使用されるバ
ッファの反復スチールを阻IFする1ようにしている。
この新しい計や装置は更に次の手段によっても特徴づけ
られる。
られる。
(e)データ・セット・ページの要求に応答して、外部
記憶装置からプロセスが定義した事前取出量の整数倍の
データ・セット・ページを条件付きで非同期式に事前取
出しする。
記憶装置からプロセスが定義した事前取出量の整数倍の
データ・セット・ページを条件付きで非同期式に事前取
出しする。
第1図は本発明に従った計算装置を示す。プロセッサ1
0は、例えば18Mシステム/370であり、そのアー
キテクチャ(刊行物である’IBMSystem/37
0 principles of 0perat
ion“Form No、GA 22−7000−6に
説明されている) id I BM O8/MVS
オペレーティング・システムのようなO8の制御下で動
作する。前記O8の制御下で動作するの1は、バッファ
・マネージャ20を含むデータベース制御システムであ
る。バッファ・ブール14uグロセソサ10の仮想記憶
装置内に設けられており、バッファ・マネージャ20に
よって制御されるとともに、順次プロセス16およびラ
ンダム・プロセス18でアクセスされる。バッファ・マ
ネージャ20の制御下で、プロセス16および18によ
って要求されたデータ・セット・ページは外記記憶装置
のデータベース・プール14に読取られる。
0は、例えば18Mシステム/370であり、そのアー
キテクチャ(刊行物である’IBMSystem/37
0 principles of 0perat
ion“Form No、GA 22−7000−6に
説明されている) id I BM O8/MVS
オペレーティング・システムのようなO8の制御下で動
作する。前記O8の制御下で動作するの1は、バッファ
・マネージャ20を含むデータベース制御システムであ
る。バッファ・ブール14uグロセソサ10の仮想記憶
装置内に設けられており、バッファ・マネージャ20に
よって制御されるとともに、順次プロセス16およびラ
ンダム・プロセス18でアクセスされる。バッファ・マ
ネージャ20の制御下で、プロセス16および18によ
って要求されたデータ・セット・ページは外記記憶装置
のデータベース・プール14に読取られる。
本発明によって、バッファ・マネージャ20はランダム
・プロセス18の性能に対する影響を最小限にして順次
プロセス16の性能を高める。かくて、バッファ・マネ
ージャ20に含1れる制御ロジックは、バッファ・プー
ル14に割当てられたデータ・セット・ページへのアク
セスが1順次プロセス16およびランダム・プロセス1
8によって同時に行なわれる環境で、順次プロセス16
によるバッファ・プール14の独占を最小限にするとと
もに、非同期式の事前取出しを与えることにより、外部
記憶装置のデータベース60に常駐するデータ・セット
・ページが、例えば順次プロセス16によるそれらのア
クセスを予測してバッファ・プール14に送り込まれる
ことを可能にする。
・プロセス18の性能に対する影響を最小限にして順次
プロセス16の性能を高める。かくて、バッファ・マネ
ージャ20に含1れる制御ロジックは、バッファ・プー
ル14に割当てられたデータ・セット・ページへのアク
セスが1順次プロセス16およびランダム・プロセス1
8によって同時に行なわれる環境で、順次プロセス16
によるバッファ・プール14の独占を最小限にするとと
もに、非同期式の事前取出しを与えることにより、外部
記憶装置のデータベース60に常駐するデータ・セット
・ページが、例えば順次プロセス16によるそれらのア
クセスを予測してバッファ・プール14に送り込まれる
ことを可能にする。
データ・セット・ページは、バッファ・プール14およ
び/または外部データベース30に存在することができ
る。バッファ・マネージャ20の制御ロジックは、ラン
ダム・プロセス18によってアクセスされるページの再
アクセスの確率が、順次アクセス16によってアクセス
されるページの再アクセスの確率i:りもずっと大きい
、という仮定に基づいている。
び/または外部データベース30に存在することができ
る。バッファ・マネージャ20の制御ロジックは、ラン
ダム・プロセス18によってアクセスされるページの再
アクセスの確率が、順次アクセス16によってアクセス
されるページの再アクセスの確率i:りもずっと大きい
、という仮定に基づいている。
第2図において、バッファ・マネージャ20はバッファ
・プール14内に2つのLRUバッファ・チェイン、す
なわち通常のLRUバッファ・チェイン34および順次
式の5LRUノ(ソファ・チェイン66を維持する。バ
ッファ・プール14におけるLRUバッファ・チェイン
64および5LRUバツフア・チェイン36内のバッフ
ァの構成については以下で説明する。バッファ・マネー
ジャ20によって初期設定された)(ソファ・プール1
4の各々ごとに生成されるバッファ制御ブロック・セッ
トは、1つのWPH(ウィンドウ・プール・ヘッダ)ブ
ロック40および複数のW(ウィンドウ)ブロック50
,60.70等(図面上は50.60および70のみを
表示)を含み、・(ソファ・プール14内の各バッファ
ごとに1つのWブロックか対応する。
・プール14内に2つのLRUバッファ・チェイン、す
なわち通常のLRUバッファ・チェイン34および順次
式の5LRUノ(ソファ・チェイン66を維持する。バ
ッファ・プール14におけるLRUバッファ・チェイン
64および5LRUバツフア・チェイン36内のバッフ
ァの構成については以下で説明する。バッファ・マネー
ジャ20によって初期設定された)(ソファ・プール1
4の各々ごとに生成されるバッファ制御ブロック・セッ
トは、1つのWPH(ウィンドウ・プール・ヘッダ)ブ
ロック40および複数のW(ウィンドウ)ブロック50
,60.70等(図面上は50.60および70のみを
表示)を含み、・(ソファ・プール14内の各バッファ
ごとに1つのWブロックか対応する。
第2図のバッファ制御ブロックは、プロセッサ1Dの仮
想アドレス空間内に存在する。WPHブロック40には
、EQB(過剰ウィンドウ・ブロック待行列)ア/力・
フィールド41(こり、はEQB48内の最初のWブロ
ックに対するポインタを含む)カウント・フィールド4
2(これ1sLRUバツフア・チェイン36上のバッフ
ァ数のカウントを記憶する)、5LRTJ順方向アンカ
・フィールド43(これは5LRUバツフア・チェイン
66で先頭のWブロック60を指す)、S LRU逆方
向アンカ・フィールド44(これはS LRUバッファ
・チェイン36で末尾のWブロック70を指す)、LR
U順方向アンカ・フィールド45(これ[LRUバッフ
ソフチェイン64での先頭のWブロック50を指す)、
およびLRU逆方向アンカ・フィールド46(これはL
RU)くソファ・チェイン34での末尾のWブロック7
0を指す)が含捷れる。
想アドレス空間内に存在する。WPHブロック40には
、EQB(過剰ウィンドウ・ブロック待行列)ア/力・
フィールド41(こり、はEQB48内の最初のWブロ
ックに対するポインタを含む)カウント・フィールド4
2(これ1sLRUバツフア・チェイン36上のバッフ
ァ数のカウントを記憶する)、5LRTJ順方向アンカ
・フィールド43(これは5LRUバツフア・チェイン
66で先頭のWブロック60を指す)、S LRU逆方
向アンカ・フィールド44(これはS LRUバッファ
・チェイン36で末尾のWブロック70を指す)、LR
U順方向アンカ・フィールド45(これ[LRUバッフ
ソフチェイン64での先頭のWブロック50を指す)、
およびLRU逆方向アンカ・フィールド46(これはL
RU)くソファ・チェイン34での末尾のWブロック7
0を指す)が含捷れる。
Wブロック50.60および70の各々は、それぞれが
6つのフラグ・ビットを含むWB (Wブロック)フラ
グ・フィールド51.61および71を有する。これら
のフラグ・ビットは次の意味を有する(左から右へ)。
6つのフラグ・ビットを含むWB (Wブロック)フラ
グ・フィールド51.61および71を有する。これら
のフラグ・ビットは次の意味を有する(左から右へ)。
ビット1はWBがLR・Uバッファ・チェイン64上に
ある場合にオンにセントされ、ビット2け、WBが5L
RUバツフア・チェイン36上にある場合にオンにナツ
トさね、ピッ)lj:Wllが1順次プロセスで最後に
使用された場合にオンにセットされる。従って、値10
0を有するWBフラグ・フィールドsiu、wブロック
50がLRUバッファ・チェイン34上にアッテ、S
L RUバッファ・チェイン36上にすく、カつ順次プ
ロセスで(ランダム・プロセスとは反対に)−C後に使
用されなかったことを示す。
ある場合にオンにセントされ、ビット2け、WBが5L
RUバツフア・チェイン36上にある場合にオンにナツ
トさね、ピッ)lj:Wllが1順次プロセスで最後に
使用された場合にオンにセットされる。従って、値10
0を有するWBフラグ・フィールドsiu、wブロック
50がLRUバッファ・チェイン34上にアッテ、S
L RUバッファ・チェイン36上にすく、カつ順次プ
ロセスで(ランダム・プロセスとは反対に)−C後に使
用されなかったことを示す。
第2図の例でdl、Wブロック50.60および70か
L RUバッファ・チェイン34上にあり、Wブロック
60および70が5LRUバツフア・チェイン36J=
にある。バッファ・プール14でバッファの使用状態が
安定した後は、EBQ48は通常は空である。
L RUバッファ・チェイン34上にあり、Wブロック
60および70が5LRUバツフア・チェイン36J=
にある。バッファ・プール14でバッファの使用状態が
安定した後は、EBQ48は通常は空である。
壕だ、Wブロック50.60および70の各々は、4つ
のチェイン・ポインタ・フィールド(SLRU次ポイン
タ、5LRU前ポインタ、LRU次ポインクおよびLR
U前ポインタ)を含み、そね、それのフィールドはバッ
ファ・チェーン34およびS L RUバッファ・チェ
イン66内のWBを順方向および逆方向にチェインする
のに使用され、る。
のチェイン・ポインタ・フィールド(SLRU次ポイン
タ、5LRU前ポインタ、LRU次ポインクおよびLR
U前ポインタ)を含み、そね、それのフィールドはバッ
ファ・チェーン34およびS L RUバッファ・チェ
イン66内のWBを順方向および逆方向にチェインする
のに使用され、る。
第2図で、ポインタ・フィールド52.53.55.6
3.72および74は空白((セットされており、その
仙のポインタ・フィールドは第2図の矢印に対応する値
を有する。
3.72および74は空白((セットされており、その
仙のポインタ・フィールドは第2図の矢印に対応する値
を有する。
次に第6図を参照して、Wブロック70の追加フィール
ドおよびその用途について設明する。Wブロック70に
対応するバッファ・ブロックを占有するページの相対ペ
ージ番号が、RPN(相対ページ番号)フィールド80
に含“まれる。
ドおよびその用途について設明する。Wブロック70に
対応するバッファ・ブロックを占有するページの相対ペ
ージ番号が、RPN(相対ページ番号)フィールド80
に含“まれる。
ラッチ・ポインタ・フィールド81ば、次に説明するよ
うにハツシュ・チェイン探索(ルック・アサイド探索と
も呼ばれる)を直列化するのに用いられる。
うにハツシュ・チェイン探索(ルック・アサイド探索と
も呼ばれる)を直列化するのに用いられる。
ハツシュ・チェイン順方向/逆方向ポインタ・フィール
ド82は、WPHブロック40におけるフィールド(図
示せず)にアシ力さ′i′1だ各々のノ・ソシュ・チェ
インと、同じ値にノhツシュするWブロック70等とを
連結するのに使用される。占有者データ・セット・トー
クン・フィールド83は、このWブロック70に関連す
るバッファを覗在占有しているページのデータ・セット
を、キー々どによって識別するフィールドである。スチ
ール・フラグ・フィールド84は、複数のユーザが同じ
バッファをスチールするのを阻止するのに用いられ、W
(ウィンドウ)従属カウント・フィールド84は、後に
詳A…1に説明するように、ユーザが前記Wブロックに
関連したバッファ内のページをゲットおよび解放すると
きに増加され減少される。
ド82は、WPHブロック40におけるフィールド(図
示せず)にアシ力さ′i′1だ各々のノ・ソシュ・チェ
インと、同じ値にノhツシュするWブロック70等とを
連結するのに使用される。占有者データ・セット・トー
クン・フィールド83は、このWブロック70に関連す
るバッファを覗在占有しているページのデータ・セット
を、キー々どによって識別するフィールドである。スチ
ール・フラグ・フィールド84は、複数のユーザが同じ
バッファをスチールするのを阻止するのに用いられ、W
(ウィンドウ)従属カウント・フィールド84は、後に
詳A…1に説明するように、ユーザが前記Wブロックに
関連したバッファ内のページをゲットおよび解放すると
きに増加され減少される。
ユーザ(プロセス)16.18がバッファ・マネージャ
20からページを要求するとき、この要求されたページ
のデータ・セット・トークンおよびRPNが含まれる。
20からページを要求するとき、この要求されたページ
のデータ・セット・トークンおよびRPNが含まれる。
この値はハツシュ値に・・ツシュされ、そして・・ラン
ス・チェイン順方向/逆方向ポインタ・フィールド82
によって連結されたすべてのWブロック70等が同じ・
・ツシュ値を有するものとして探索される。この動作は
ルック・アサイド探索と呼ばれる。この探索は、当該要
求を一致する占有者データ・セット・トークン・フィー
ルド86およびRPNフィールド80を有するWブロッ
クが見つかる場合に成功する。
ス・チェイン順方向/逆方向ポインタ・フィールド82
によって連結されたすべてのWブロック70等が同じ・
・ツシュ値を有するものとして探索される。この動作は
ルック・アサイド探索と呼ばれる。この探索は、当該要
求を一致する占有者データ・セット・トークン・フィー
ルド86およびRPNフィールド80を有するWブロッ
クが見つかる場合に成功する。
再び第2図を参照するに、順次プロセス16かう解放さ
れたバッファはS LRUバッファ・チェイン66の末
尾およびLRUバッファ・チェイ/64の末尾に置かれ
、ランダム・プロセス18から解放されたバッファは通
常のLRUバッフソフチェイン34の末尾にのみ置かれ
る。順次アクセス要求を満足するのに必要とされるバッ
ファは、バッファ・チェイン36上に存在するバッファ
数が順次スチール限界値Qよりも大きい場合には、S
LRUバッファ・チェイン66の先頭から得られる。さ
もなければ、すなわちもしバッファ・チェイン36上の
バッファ数がQよりも大きくなく、また当該要求がラン
ダムプロセス1Bによるアクセスのためであれば、バッ
ファは通常のLRUバッファ・チェイン64の先頭から
得られる。
れたバッファはS LRUバッファ・チェイン66の末
尾およびLRUバッファ・チェイ/64の末尾に置かれ
、ランダム・プロセス18から解放されたバッファは通
常のLRUバッフソフチェイン34の末尾にのみ置かれ
る。順次アクセス要求を満足するのに必要とされるバッ
ファは、バッファ・チェイン36上に存在するバッファ
数が順次スチール限界値Qよりも大きい場合には、S
LRUバッファ・チェイン66の先頭から得られる。さ
もなければ、すなわちもしバッファ・チェイン36上の
バッファ数がQよりも大きくなく、また当該要求がラン
ダムプロセス1Bによるアクセスのためであれば、バッ
ファは通常のLRUバッファ・チェイン64の先頭から
得られる。
この論理によると、新しい順次式要求について、順次ア
クセスのために最近に使用されたバッファの力がランダ
ム・アクセスのために最後に使用さ力たバッファよりも
高いスチール優先順位が与えられることになり、しかも
その場合に新しいランダム要求に対するバッファ・スチ
ール優先順位が変更さね、ないので、これにより順次ア
クセス16の独占作用を削土化することができる。
クセスのために最近に使用されたバッファの力がランダ
ム・アクセスのために最後に使用さ力たバッファよりも
高いスチール優先順位が与えられることになり、しかも
その場合に新しいランダム要求に対するバッファ・スチ
ール優先順位が変更さね、ないので、これにより順次ア
クセス16の独占作用を削土化することができる。
11[1’1次スチール限界値Qは、順次プロセス16
が時たまライン外のページ・シーケンスに対t−るネス
トされた順次アクセスを実行しなければならない場合に
、再取出し動作を最小限にするのに使用される。この例
として、基本的には集合するのが時た擾ライン外の(集
合されない)挿入を有する論理的レコード・シーケンス
に続く再構成ニー・テイリテイ(順次プロセス16)が
ある。
が時たまライン外のページ・シーケンスに対t−るネス
トされた順次アクセスを実行しなければならない場合に
、再取出し動作を最小限にするのに使用される。この例
として、基本的には集合するのが時た擾ライン外の(集
合されない)挿入を有する論理的レコード・シーケンス
に続く再構成ニー・テイリテイ(順次プロセス16)が
ある。
メイン・ライン・7−ケンスで最後に参照されたバッフ
ァはライン外のシーケンス要求を満たすのにスチールさ
れない順向がある。というの幻、sL RUバッファ・
チェイン36が解放されたばかりのメイン・ラインLR
Uシーケンス・バッファよりも最近に使用されなかった
十分なバッファを有しない限り、5LRUが使用されな
いからである。Qの合理的な値は、順次プロセスの時点
に最も頻繁に予測されたライン外のネスティングのレベ
ル数と、最も頻繁に予測された同時的な順次プロセスの
最大数との釉として確立されうる。Qの値が、例えば4
であれは、合理的な値といえる。
ァはライン外のシーケンス要求を満たすのにスチールさ
れない順向がある。というの幻、sL RUバッファ・
チェイン36が解放されたばかりのメイン・ラインLR
Uシーケンス・バッファよりも最近に使用されなかった
十分なバッファを有しない限り、5LRUが使用されな
いからである。Qの合理的な値は、順次プロセスの時点
に最も頻繁に予測されたライン外のネスティングのレベ
ル数と、最も頻繁に予測された同時的な順次プロセスの
最大数との釉として確立されうる。Qの値が、例えば4
であれは、合理的な値といえる。
順次プロセス16がデータベースのデータに対して遂行
されている場合、もL−このデータがその実際の使用前
にDASDのような外部記憶装置であるデータベース3
0から仮想記憶装置内にあるバッファ・プール14に、
非同期式に事前取出しされるならば、一定の性能上の利
点を実現回部である。これらの利点として、入出力バッ
チ処理による入出力経路長オーバヘッドの減少およびオ
ーバラップされた入出力による全経過時間の減少かある
。事前取出しは、バッファ・マネージャ20のページ・
アクセス機能の副次機能として、非同期式に行わ力、る
。
されている場合、もL−このデータがその実際の使用前
にDASDのような外部記憶装置であるデータベース3
0から仮想記憶装置内にあるバッファ・プール14に、
非同期式に事前取出しされるならば、一定の性能上の利
点を実現回部である。これらの利点として、入出力バッ
チ処理による入出力経路長オーバヘッドの減少およびオ
ーバラップされた入出力による全経過時間の減少かある
。事前取出しは、バッファ・マネージャ20のページ・
アクセス機能の副次機能として、非同期式に行わ力、る
。
この事前取出しを達成するため、バッファ・プール14
から必j汐なバッファを獲得し、それらに必要なデータ
ベースのページをロードし、そしてそれらをLRUステ
ータスに解放する非同期式実行ユニットをスケジューリ
ングすることが行わねる。
から必j汐なバッファを獲得し、それらに必要なデータ
ベースのページをロードし、そしてそれらをLRUステ
ータスに解放する非同期式実行ユニットをスケジューリ
ングすることが行わねる。
必tなバッファけS L RUバッファ・チェイン36
からの事前取出しによってできるだけ多く取出されるが
、バッファが事前取出しによって解放され、る場合には
、こ力、らのバッファは、LRUバッファ・チェイン6
4上にのみ置かれ、5LRUバツフア・チェイン36上
には置かれない。これは、ライン外のページ・/−ケン
スに対するネストされた111次アクセスが必要な場合
に、才だアクセスされていない生前i1y出しされたバ
ッファの再取出しを最小限にするために行なわハ、る。
からの事前取出しによってできるだけ多く取出されるが
、バッファが事前取出しによって解放され、る場合には
、こ力、らのバッファは、LRUバッファ・チェイン6
4上にのみ置かれ、5LRUバツフア・チェイン36上
には置かれない。これは、ライン外のページ・/−ケン
スに対するネストされた111次アクセスが必要な場合
に、才だアクセスされていない生前i1y出しされたバ
ッファの再取出しを最小限にするために行なわハ、る。
しかしながら、事前取出しされたバッファは、たとえば
順次プロセス16による個々のアクセス後の解放時に、
5LRUバツフア・チェイン36上に置かれる。
順次プロセス16による個々のアクセス後の解放時に、
5LRUバツフア・チェイン36上に置かれる。
事前取出しされたデータを含むバッファへのアクセスは
、通常のページ・アクセス手順によって行なわハる。本
実施例では、事前取出しされた連続ページ数Vゴロ4よ
りも少ない2の累乗である。この値は事前取出し動作を
要求するユーザ(プロセス16.18)によって力えら
れる。
、通常のページ・アクセス手順によって行なわハる。本
実施例では、事前取出しされた連続ページ数Vゴロ4よ
りも少ない2の累乗である。この値は事前取出し動作を
要求するユーザ(プロセス16.18)によって力えら
れる。
事前取出しは、次に示す条件のすべてが満たされた場合
にのみ、バッファ・マネージャ2oのページ・アクセス
機能によってスケジュールされる。
にのみ、バッファ・マネージャ2oのページ・アクセス
機能によってスケジュールされる。
(al ユーザは現在要求されているページの111
A次プロセスを指示する。
A次プロセスを指示する。
(b) 事前取出しページ数の値が指定される。
(c)現在要求されているページ数(データ・セットの
最初のページに対する)は事前取出しページ数の値によ
って平等に分割しうる。これは、同じ順次プロセスによ
って同じページに対する複数の事前取出しが初期設定さ
れるのを阻止するのに必要なトラッキングを避けるため
に行なわれる。
最初のページに対する)は事前取出しページ数の値によ
って平等に分割しうる。これは、同じ順次プロセスによ
って同じページに対する複数の事前取出しが初期設定さ
れるのを阻止するのに必要なトラッキングを避けるため
に行なわれる。
(d) バッファ・プール14は再割当可能な十分な
バッファを有しているので、いくつかのバッファを事前
取出しのために使用しても再割当可能なバッファの供給
が完全に枯渇することはない。
バッファを有しているので、いくつかのバッファを事前
取出しのために使用しても再割当可能なバッファの供給
が完全に枯渇することはない。
(e) 事前取出しが覗在のデータ・セットの物理的
な境界の外側で牛しることはない。
な境界の外側で牛しることはない。
事前取出しハ親在のページ数+1で開始する。
事前取出しされる最後のページは次の順次データ・セッ
ト・ページであり、そのページ数は事前取出しページ数
の個によって平等に公害1(回部である。
ト・ページであり、そのページ数は事前取出しページ数
の個によって平等に公害1(回部である。
従ってく・、事前r+v出しシーケンスが初期設定され
た後は、接続するすべてのページは、このシーケンスが
中断されない1丑でいる限り、アクセス前に事前取出し
される。
た後は、接続するすべてのページは、このシーケンスが
中断されない1丑でいる限り、アクセス前に事前取出し
される。
第4図を参照して、バッファ・ステータスおよびステー
タス変更について説、明する。ここでは、(a)ON
EBQ、(b)ACTIVE、 (c) I N A
CT I V Eおよび(d)STOLENの4つの
ステータスが示されている。ON EBQ ステータ
スにあるバッファは過剰ウィン1つ・ブロック待行列上
のEBQ48によって表わされ、このバッファはり在ど
のデータ・ページにも割尚てられないので即時に使用す
ることができる。ACTIVEステータスにあるバッフ
ァは、1つまたは2つ以上のデータベース・プロセッサ
(プロセス16.18)によって使用中であり、・・ツ
シュ・チェイン順方向/逆方向ポインタ・フィールド8
2およびそわらのWPHブロック40中のアンカによっ
て確立されたルック・アサイド待行列構造によって位置
指定可能でアル。INACTIVEステータスにあるバ
ッフアバ、データベースプロセッサ(プロセス16.1
8)によって使用中ではないが、ルック・アザイド・待
行列構造によって指定可能である。
タス変更について説、明する。ここでは、(a)ON
EBQ、(b)ACTIVE、 (c) I N A
CT I V Eおよび(d)STOLENの4つの
ステータスが示されている。ON EBQ ステータ
スにあるバッファは過剰ウィン1つ・ブロック待行列上
のEBQ48によって表わされ、このバッファはり在ど
のデータ・ページにも割尚てられないので即時に使用す
ることができる。ACTIVEステータスにあるバッフ
ァは、1つまたは2つ以上のデータベース・プロセッサ
(プロセス16.18)によって使用中であり、・・ツ
シュ・チェイン順方向/逆方向ポインタ・フィールド8
2およびそわらのWPHブロック40中のアンカによっ
て確立されたルック・アサイド待行列構造によって位置
指定可能でアル。INACTIVEステータスにあるバ
ッフアバ、データベースプロセッサ(プロセス16.1
8)によって使用中ではないが、ルック・アザイド・待
行列構造によって指定可能である。
5TOLENステータスにあるバッファは、到来する要
求を異なるデータベース・ページへ再割当する準備のた
めに、ルック・アサイド待行列構造から取除かれる。
求を異なるデータベース・ページへ再割当する準備のた
めに、ルック・アサイド待行列構造から取除かれる。
ステータス変更A1、A2、S、A3および■の5ステ
ータス変更が第4図に示されている。ステータス1NA
1は、バッファのステータスがINACTIVEからA
CTIVEに移ることを表わし、これは要求されたペー
ジを含むINACTIVEバッファがルック・アサイド
待行列構造を介して見つかったときに生じる。
ータス変更が第4図に示されている。ステータス1NA
1は、バッファのステータスがINACTIVEからA
CTIVEに移ることを表わし、これは要求されたペー
ジを含むINACTIVEバッファがルック・アサイド
待行列構造を介して見つかったときに生じる。
ステータス変更A2に、バッファのステしタスがEBQ
48からACTIVEに移行することを表わし、これ附
ルック・アサイド待行列構造で見つからなかったページ
に対する到来する要求を満たすのにバッファが必要とさ
ね5、少なくとも1つのバッファかlTh Is Q
4 Bに存在するときに生じる。
48からACTIVEに移行することを表わし、これ附
ルック・アサイド待行列構造で見つからなかったページ
に対する到来する要求を満たすのにバッファが必要とさ
ね5、少なくとも1つのバッファかlTh Is Q
4 Bに存在するときに生じる。
前記バッファに1、ルック・アサイド待行列構造に挿入
される。ステータス変更Sは、バッファG〉データスが
INACTIVEから5TOLENに移行することを表
わす。この状態では、INACTIVEバッファはステ
ータス変更A1が生シル前にL RUバッファ・チェイ
ン34捷たは5LRUバツフア・チェイン36の先頭に
移動し、ルック・アサイド待行列イク4造によって見つ
からなかったページに対する到来する要求を満たすため
にLRU/5LRUバッファ・チェインおよびルック・
アサイド待行列Jflf造から現在取除かわ、つつある
。
される。ステータス変更Sは、バッファG〉データスが
INACTIVEから5TOLENに移行することを表
わす。この状態では、INACTIVEバッファはステ
ータス変更A1が生シル前にL RUバッファ・チェイ
ン34捷たは5LRUバツフア・チェイン36の先頭に
移動し、ルック・アサイド待行列イク4造によって見つ
からなかったページに対する到来する要求を満たすため
にLRU/5LRUバッファ・チェインおよびルック・
アサイド待行列Jflf造から現在取除かわ、つつある
。
また、到来するページ要求は、EBQ48にバッファが
なかったので、ステータス変更A2によって満足され1
)なかった。ステータス変更A6はバッファのステータ
スが5TOLENからACTIVEに移行することを表
わす。スチールさ力たばかりのバッファ(ステータス変
更S)はアクティブ状態になり、ルック・アサイド待行
列構造に入れられる。ステータス変更■はバッファのス
テータスがACT I VEからINACTIVEに移
行することを表わす。バッファ・ユーザのカウントはO
に減少されたばかりで、従って、バッファ1LRU/5
LRUバツフア・チェイン内で(もしあれば)覗1在の
位置から削除され、LRUバッファ・チェイン64の末
尾に置かれ、そして恐らくは、5LRUバツフアΦチエ
イン36の末尾に置かれる。
なかったので、ステータス変更A2によって満足され1
)なかった。ステータス変更A6はバッファのステータ
スが5TOLENからACTIVEに移行することを表
わす。スチールさ力たばかりのバッファ(ステータス変
更S)はアクティブ状態になり、ルック・アサイド待行
列構造に入れられる。ステータス変更■はバッファのス
テータスがACT I VEからINACTIVEに移
行することを表わす。バッファ・ユーザのカウントはO
に減少されたばかりで、従って、バッファ1LRU/5
LRUバツフア・チェイン内で(もしあれば)覗1在の
位置から削除され、LRUバッファ・チェイン64の末
尾に置かれ、そして恐らくは、5LRUバツフアΦチエ
イン36の末尾に置かれる。
以下に示すいくつかの表に、本発明の方法を実行し本発
明の計算装置の特徴を表わす処理手順が擬似コードで表
わされている。当業者には明らかなように、これらの処
理手順を表わすコードは実行回部なコードに容易に変換
可能である。
明の計算装置の特徴を表わす処理手順が擬似コードで表
わされている。当業者には明らかなように、これらの処
理手順を表わすコードは実行回部なコードに容易に変換
可能である。
\’J
ρ壱 ト(胃
佃 さ謳 劇
1−ヘ ト 0 0 0 0 0 0
明 0へO+0+ へ(イ)寸 寸岨 へ 0 、 、 、− F
−・ ・ ・ ウ −・ 。
ρ壱 ト(胃
佃 さ謳 劇
1−ヘ ト 0 0 0 0 0 0
明 0へO+0+ へ(イ)寸 寸岨 へ 0 、 、 、− F
−・ ・ ・ ウ −・ 。
l(Oo O00o O。
ρ
ρ + ρ
l−1te 1.prt に
) rt に)
i 国−匡 −〇
−匡0 0
C1000+Or−+ のO+〇− e 口 「 ・ ・ @ −
セ ・ ・ ・ ヘヘ ・0
0 0 0
0 0ト く 山 0 0 () 0
C100oo
1j C100m+ 0 0 0 0
C) 0 CI C10C) 0
0へ(イ)マ旧Cnωさ。6〜 (イ)寸n(イ)
(イ) (イ) (イ) 嬶 哨 嬶 (
イ) 寸 寸 マ マ マ寸0 0
0 C100CI 0 0 0 C) 0
0 0 。
l−1te 1.prt に
) rt に)
i 国−匡 −〇
−匡0 0
C1000+Or−+ のO+〇− e 口 「 ・ ・ @ −
セ ・ ・ ・ ヘヘ ・0
0 0 0
0 0ト く 山 0 0 () 0
C100oo
1j C100m+ 0 0 0 0
C) 0 CI C10C) 0
0へ(イ)マ旧Cnωさ。6〜 (イ)寸n(イ)
(イ) (イ) (イ) 嬶 哨 嬶 (
イ) 寸 寸 マ マ マ寸0 0
0 C100CI 0 0 0 C) 0
0 0 。
0 し ・\
4
蛸ノ
OO000000000000
ω o−0−へ (イ) 寸 叩 ℃ N
ω α O(イ)寸 寸
い 旧 い の 叩 い い 旧
の 困 っ で0C1000000
C1)Q0000 観 ト へ 1へ 小 p
菌 (イ) ・・ 匡′
@ 0 匡
−與 < 1
.lQψ 六 E
p °へ’T’fJ コ ・−国
国 。
ω α O(イ)寸 寸
い 旧 い の 叩 い い 旧
の 困 っ で0C1000000
C1)Q0000 観 ト へ 1へ 小 p
菌 (イ) ・・ 匡′
@ 0 匡
−與 < 1
.lQψ 六 E
p °へ’T’fJ コ ・−国
国 。
トO匡 ト
率 −四゛(
e
0 C100< 0 0
寸叩つN に)〇−
N’O℃ ′O1+ト \
0 0 0 0
(θ 0 0ハ
マ Hへ る ト
如 塑)も ′
八 ヘ ム
へ0 C1000000000CI
0 0 0 01/l 寸 の
”Or% の (ト) 0 − へ
(イ) 寸 旧 ’ON ω盆 ヘ
ハ 藝 マ ト 揶ト 藝 観ρ ヤ φ で へ
ギJ 肩
1トh−b 区 率 藝 顯 FL イj ワ ト 率 0 0 0 0 0 C)
0 0 0 0C’0 −へ(イ
)寸岨℃Nの ゛(コ 捲
ロ 卯に) 2 く ■ 0 () 0 1−(0
(:l 0 0 0 o OOω C1=
Q 0 − へ (イ) 寸
い ℃ へω C1’ CI
Z −?−−一?−’ ”−−「0
2 − − − − 豐
?−−6「 −国 0 0 0 C) 0 C1l、、 0 0
Qω O+C1亡 へ 噂
凶 〇 −へ、−へへヘヘ l:
l181/1哨のF !−口 F −−山 。
(θ 0 0ハ
マ Hへ る ト
如 塑)も ′
八 ヘ ム
へ0 C1000000000CI
0 0 0 01/l 寸 の
”Or% の (ト) 0 − へ
(イ) 寸 旧 ’ON ω盆 ヘ
ハ 藝 マ ト 揶ト 藝 観ρ ヤ φ で へ
ギJ 肩
1トh−b 区 率 藝 顯 FL イj ワ ト 率 0 0 0 0 0 C)
0 0 0 0C’0 −へ(イ
)寸岨℃Nの ゛(コ 捲
ロ 卯に) 2 く ■ 0 () 0 1−(0
(:l 0 0 0 o OOω C1=
Q 0 − へ (イ) 寸
い ℃ へω C1’ CI
Z −?−−一?−’ ”−−「0
2 − − − − 豐
?−−6「 −国 0 0 0 C) 0 C1l、、 0 0
Qω O+C1亡 へ 噂
凶 〇 −へ、−へへヘヘ l:
l181/1哨のF !−口 F −−山 。
7 ウド
ぜヨ
(国
ヰ ′0
養 舅 国
、°(研 ・−CI
L、、J 絽 4 1′−に) 率 印 匡 く 0 0 0
A 0 0 CI 0 0 CI
0 0寸 的 CIJc+ −へ (
イ) 寸 の く べ(イ)I/)l/l
に)寸寸寸寸寸マ寸寸豐 口 「
氏 豐 セ で −−口
「 1酬 率 0 0 0 0 C10000000CI
CIのO+OFへ(イ)寸(ト)−o、■さO「へ
寸寸のLf’)叩0唖000(ト)C’OC1630
さもなげれば; 1640 終了;
ぜヨ
(国
ヰ ′0
養 舅 国
、°(研 ・−CI
L、、J 絽 4 1′−に) 率 印 匡 く 0 0 0
A 0 0 CI 0 0 CI
0 0寸 的 CIJc+ −へ (
イ) 寸 の く べ(イ)I/)l/l
に)寸寸寸寸寸マ寸寸豐 口 「
氏 豐 セ で −−口
「 1酬 率 0 0 0 0 C10000000CI
CIのO+OFへ(イ)寸(ト)−o、■さO「へ
寸寸のLf’)叩0唖000(ト)C’OC1630
さもなげれば; 1640 終了;
第1図は本発明の環境を表わす計算装置を示す図、
第2図は本発明の通常のLRUチェインおよび5LRU
チエインを示す図、 第6図はW(ウィンドウ)ブロックを示す図、第4図は
第1図のバッファ・プールを特徴づけるバッファ状態お
よび状態変化を示す状態図である。 10・・・・ブロセツザ、14・・・・バッファ・プー
ル、16・・・・順次フロセス、18・・・・ランダム
・プロセス、20・・・・バッファ・マネージャ、60
・・・・データベース、34・・・・LRUバッファ・
チェイン、36・・・・5LRUバツフア・チェイン、
40・・・・WPHブロック、41・・・・EQBアン
カ・フィールド、42・・・・カウント・フィールド、
43・・・・S’ L RU順方向アンカ・フィールド
、44・・・・S LRU逆方向アンカ・フィールド、
45・・・・LRU順方向アンカ・フィールド、46・
・・・LRU逆方向アンカ・フィールド、48・・・・
EBQl 50・・・・Wブロック、51・・・・WB
フラグ−フィールド、52・・・・5LRU次ポインタ
・フィールド、53・・・・S LRU前ポインタ・フ
ィールド、54・・・・L R0次ポインタ・フィール
ド、55・・・・L RU前ポインタ・フィールド、6
0・・・・Wブロック、61・・・・WBフラグ・フィ
ールド、62・・・・S L R0次ポインタ・フィー
ルド、66゛ ・・・・S 、L RU前ポインタ・フ
ィールド、64・・・・LRU次ポインタ・フィールド
、65・・・・LRU前ポインタ・フィールド、70・
・・・Wブロック、71・・・・WBフラグ・フィール
ド、72・・・・5LRU次ボイ/り・フィールド、7
6・・・・5LRU前ポインタ・フィールド、74・・
・・LRU次ポインタφフィールド、75・・・・LR
U前ポインタ・フィールド、80・・・・RPNフィー
ルド、81・・・・ラッチ・ポインタ・フィールド、8
2・・・・ノ・ツシュ・チェイン順方向/逆方向ポイン
タ・フィールド、83・・・・占有者データ・セット・
トークン・フィールド、84・・・・スチール・フラグ
・フィールド、85・・・・W従属カウント・フィール
ド。
チエインを示す図、 第6図はW(ウィンドウ)ブロックを示す図、第4図は
第1図のバッファ・プールを特徴づけるバッファ状態お
よび状態変化を示す状態図である。 10・・・・ブロセツザ、14・・・・バッファ・プー
ル、16・・・・順次フロセス、18・・・・ランダム
・プロセス、20・・・・バッファ・マネージャ、60
・・・・データベース、34・・・・LRUバッファ・
チェイン、36・・・・5LRUバツフア・チェイン、
40・・・・WPHブロック、41・・・・EQBアン
カ・フィールド、42・・・・カウント・フィールド、
43・・・・S’ L RU順方向アンカ・フィールド
、44・・・・S LRU逆方向アンカ・フィールド、
45・・・・LRU順方向アンカ・フィールド、46・
・・・LRU逆方向アンカ・フィールド、48・・・・
EBQl 50・・・・Wブロック、51・・・・WB
フラグ−フィールド、52・・・・5LRU次ポインタ
・フィールド、53・・・・S LRU前ポインタ・フ
ィールド、54・・・・L R0次ポインタ・フィール
ド、55・・・・L RU前ポインタ・フィールド、6
0・・・・Wブロック、61・・・・WBフラグ・フィ
ールド、62・・・・S L R0次ポインタ・フィー
ルド、66゛ ・・・・S 、L RU前ポインタ・フ
ィールド、64・・・・LRU次ポインタ・フィールド
、65・・・・LRU前ポインタ・フィールド、70・
・・・Wブロック、71・・・・WBフラグ・フィール
ド、72・・・・5LRU次ボイ/り・フィールド、7
6・・・・5LRU前ポインタ・フィールド、74・・
・・LRU次ポインタφフィールド、75・・・・LR
U前ポインタ・フィールド、80・・・・RPNフィー
ルド、81・・・・ラッチ・ポインタ・フィールド、8
2・・・・ノ・ツシュ・チェイン順方向/逆方向ポイン
タ・フィールド、83・・・・占有者データ・セット・
トークン・フィールド、84・・・・スチール・フラグ
・フィールド、85・・・・W従属カウント・フィール
ド。
Claims (1)
- 【特許請求の範囲】 メイン・プロセッサ、主記憶装置に設けられた複数のバ
ッファおよび少なくとも1つの外部記憶装置を含み、前
記メイン・プロセッサはデータベース・システムの制御
下で動作し、該データベース・システムは前記外部記憶
装置から前記バッファに読込まれたデータ・セット・ペ
ージを順次プロセス及びランダム・プロセスの両者によ
る同時アクセスのために割当てるバッファ・マネージャ
を含んでいる計算装置の動作方法であって、 (al 待行列の値を確立し
6(b+ 通常のLRUバッファ・チェインおよ
びそれに複写された順次式L RUバッファ・チェイン
を維持し、 tel 事前取出しプロセスではない順次プロセスが
′ア・チェイン及び前記順次式LRUバッファ・
チェインの両方に置き、且つランダムプロセスまたは事
前取出しプロセスから解放されたバッファを前記通常の
LRUバッファ・チェインのみに置き、(dl 前記
順次式LRUバッファ・チェイン中のバッファ数が前記
待行列の値を越える場合には、順次プロセスからのバッ
ファ要求に応答して該バッファ・チェイン中の先頭バッ
ファをスチールし、そうでない場合には前記通常のLR
Uバッファ・チェインから先頭バッファをスチールし、
それによってネストされた順次プロセスで利用されるバ
ッファの反復スチールを明止するようにした ことを特徴とする計算装置の動作方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US391629 | 1982-06-24 | ||
| US06/391,629 US4509119A (en) | 1982-06-24 | 1982-06-24 | Method for managing a buffer pool referenced by batch and interactive processes |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS595483A true JPS595483A (ja) | 1984-01-12 |
| JPS6150350B2 JPS6150350B2 (ja) | 1986-11-04 |
Family
ID=23547346
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58085180A Granted JPS595483A (ja) | 1982-06-24 | 1983-05-17 | 計算装置の動作方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US4509119A (ja) |
| JP (1) | JPS595483A (ja) |
| CA (1) | CA1189979A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6331918A (ja) * | 1986-07-16 | 1988-02-10 | フエコ・エンジニア−ド・システムズ・インコ−ポレ−テツド | 回転および引込可能な容器保持装置およびそのコンベア |
| US4911494A (en) * | 1987-06-19 | 1990-03-27 | Honda Giken Kogyo Kabushiki Kaisha | Cowling assembly for motorcycles |
Families Citing this family (50)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2755390B2 (ja) * | 1988-05-19 | 1998-05-20 | 株式会社日立製作所 | データベース処理装置及びデータベース処理方法 |
| EP0365731B1 (en) * | 1988-10-28 | 1994-07-27 | International Business Machines Corporation | Method and apparatus for transferring messages between source and destination users through a shared memory |
| JPH02236668A (ja) * | 1989-03-10 | 1990-09-19 | Hitachi Ltd | 入出力処理方法 |
| US5179662A (en) * | 1989-08-31 | 1993-01-12 | International Business Machines Corporation | Optimized i/o buffers having the ability to increase or decrease in size to meet system requirements |
| US5170480A (en) * | 1989-09-25 | 1992-12-08 | International Business Machines Corporation | Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time |
| US5247616A (en) * | 1989-10-23 | 1993-09-21 | International Business Machines Corporation | Computer system having different communications facilities and data transfer processes between different computers |
| US5161223A (en) * | 1989-10-23 | 1992-11-03 | International Business Machines Corporation | Resumeable batch query for processing time consuming queries in an object oriented database management system |
| US5161225A (en) * | 1989-10-23 | 1992-11-03 | International Business Machines Corporation | Persistent stream for processing time consuming and reusable queries in an object oriented database management system |
| JPH0833862B2 (ja) * | 1989-10-23 | 1996-03-29 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | オブジエクト指向コンピユータ・システム |
| US5327559A (en) * | 1990-10-23 | 1994-07-05 | International Business Machines Corporation | Remote and batch processing in an object oriented programming system |
| JPH04242842A (ja) * | 1990-12-29 | 1992-08-31 | Nec Corp | データベースバッファ制御装置 |
| US5526507A (en) * | 1992-01-06 | 1996-06-11 | Hill; Andrew J. W. | Computer memory array control for accessing different memory banks simullaneously |
| US6088767A (en) * | 1993-04-30 | 2000-07-11 | International Business Machines Corporation | Fileserver buffer manager based on file access operation statistics |
| US5522054A (en) * | 1993-09-13 | 1996-05-28 | Compaq Computer Corporation | Dynamic control of outstanding hard disk read requests for sequential and random operations |
| JPH0784807A (ja) * | 1993-09-14 | 1995-03-31 | Fujitsu Ltd | バッファ管理装置および方法 |
| EP0664509A1 (en) * | 1994-01-20 | 1995-07-26 | International Business Machines Corporation | Method and apparatus for passing control from a first process to a second process |
| US20010002851A1 (en) * | 1995-04-14 | 2001-06-07 | Takao Shimada | Multimedia data processing system in network |
| US7301541B2 (en) * | 1995-08-16 | 2007-11-27 | Microunity Systems Engineering, Inc. | Programmable processor and method with wide operations |
| US6643765B1 (en) * | 1995-08-16 | 2003-11-04 | Microunity Systems Engineering, Inc. | Programmable processor with group floating point operations |
| US5742840A (en) * | 1995-08-16 | 1998-04-21 | Microunity Systems Engineering, Inc. | General purpose, multiple precision parallel operation, programmable media processor |
| US6295599B1 (en) * | 1995-08-16 | 2001-09-25 | Microunity Systems Engineering | System and method for providing a wide operand architecture |
| KR0157900B1 (ko) * | 1995-10-02 | 1999-03-20 | 문정환 | 집적 회로내의 입출력 장치 |
| US5907717A (en) * | 1996-02-23 | 1999-05-25 | Lsi Logic Corporation | Cross-connected memory system for allocating pool buffers in each frame buffer and providing addresses thereof |
| US5784649A (en) * | 1996-03-13 | 1998-07-21 | Diamond Multimedia Systems, Inc. | Multi-threaded FIFO pool buffer and bus transfer control system |
| US5797043A (en) * | 1996-03-13 | 1998-08-18 | Diamond Multimedia Systems, Inc. | System for managing the transfer of data between FIFOs within pool memory and peripherals being programmable with identifications of the FIFOs |
| US5978893A (en) * | 1996-06-19 | 1999-11-02 | Apple Computer, Inc. | Method and system for memory management |
| CA2280948A1 (en) * | 1997-02-14 | 1998-08-20 | British Telecommunications Public Limited Company | Information processing |
| US6092149A (en) * | 1997-05-28 | 2000-07-18 | Western Digital Corporation | Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses |
| US6064805A (en) * | 1997-07-02 | 2000-05-16 | Unisys Corporation | Method, system, and computer program product for intraconnect data communication using buffer pools and buffer pool management |
| US6345296B1 (en) | 1997-07-02 | 2002-02-05 | Unisys Corporation | Method system and computer program product for providing pull model data communication |
| US5940466A (en) * | 1997-10-29 | 1999-08-17 | Micron Electronics, Inc. | Apparatus for counting parts in a tray |
| US6282589B1 (en) | 1998-07-30 | 2001-08-28 | Micron Technology, Inc. | System for sharing data buffers from a buffer pool |
| US6161153A (en) * | 1998-07-30 | 2000-12-12 | Micron Technology, Inc. | Method for sharing data buffers from a buffer pool |
| US6144970A (en) * | 1998-09-24 | 2000-11-07 | International Business Machines Corporation | Technique for inplace reorganization of a LOB table space |
| US6366902B1 (en) | 1998-09-24 | 2002-04-02 | International Business Machines Corp. | Using an epoch number to optimize access with rowid columns and direct row access |
| US6470359B1 (en) | 1998-09-24 | 2002-10-22 | International Business Machines Corporation | Fast technique for recovering an index on an auxiliary table |
| US6694340B1 (en) | 1998-09-24 | 2004-02-17 | International Business Machines Corporation | Technique for determining the age of the oldest reading transaction with a database object |
| US6363389B1 (en) | 1998-09-24 | 2002-03-26 | International Business Machines Corporation | Technique for creating a unique quasi-random row identifier |
| US6343286B1 (en) | 1998-09-24 | 2002-01-29 | International Business Machines Corporation | Efficient technique to defer large object access with intermediate results |
| US6343293B1 (en) | 1998-09-24 | 2002-01-29 | International Business Machines Corporation | Storing the uncompressed data length in a LOB map to speed substring access within a LOB value |
| US6606617B1 (en) | 1998-09-24 | 2003-08-12 | International Business Machines Corporation | Optimized technique for prefetching LOB table space pages |
| CA2322613A1 (en) | 2000-10-06 | 2002-04-06 | Ibm Canada Limited-Ibm Canada Limitee | Latch mechanism for concurrent computing environments |
| US7039766B1 (en) | 2000-10-12 | 2006-05-02 | International Business Machines Corporation | Prescheduling sequential data prefetches in a preexisting LRU cache |
| US6772411B2 (en) | 2000-12-01 | 2004-08-03 | Bmc Software, Inc. | Software performance and management system |
| US6820091B2 (en) * | 2001-05-11 | 2004-11-16 | International Business Machines Corporation | Dynamic buffer allocation |
| US8473634B2 (en) * | 2003-10-23 | 2013-06-25 | Microsoft Corporation | System and method for name resolution |
| US9928285B1 (en) * | 2013-06-25 | 2018-03-27 | EMC IP Holding Company LLC | Optimized cloning for backup to disk |
| US9477679B2 (en) * | 2013-09-20 | 2016-10-25 | Google Inc. | Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems |
| US9996476B2 (en) | 2015-09-03 | 2018-06-12 | International Business Machines Corporation | Management of cache lists via dynamic sizing of the cache lists |
| US10235248B1 (en) | 2017-04-27 | 2019-03-19 | EMC IP Holding Company LLC | Processing I/O operations in parallel while maintaining read/write consistency using range and priority queues in a data protection system |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB979633A (en) * | 1960-04-20 | 1965-01-06 | Nat Res Dev | Improvements in or relating to electronic digital computing machines |
| US3618045A (en) * | 1969-05-05 | 1971-11-02 | Honeywell Inf Systems | Management control subsystem for multiprogrammed data processing system |
| US4320451A (en) * | 1974-04-19 | 1982-03-16 | Honeywell Information Systems Inc. | Extended semaphore architecture |
| GB1548401A (en) * | 1975-10-08 | 1979-07-11 | Plessey Co Ltd | Data processing memory space allocation and deallocation arrangements |
-
1982
- 1982-06-24 US US06/391,629 patent/US4509119A/en not_active Expired - Lifetime
-
1983
- 1983-04-27 CA CA000426779A patent/CA1189979A/en not_active Expired
- 1983-05-17 JP JP58085180A patent/JPS595483A/ja active Granted
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6331918A (ja) * | 1986-07-16 | 1988-02-10 | フエコ・エンジニア−ド・システムズ・インコ−ポレ−テツド | 回転および引込可能な容器保持装置およびそのコンベア |
| US4911494A (en) * | 1987-06-19 | 1990-03-27 | Honda Giken Kogyo Kabushiki Kaisha | Cowling assembly for motorcycles |
Also Published As
| Publication number | Publication date |
|---|---|
| CA1189979A (en) | 1985-07-02 |
| US4509119A (en) | 1985-04-02 |
| JPS6150350B2 (ja) | 1986-11-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPS595483A (ja) | 計算装置の動作方法 | |
| US6134619A (en) | Method and apparatus for transporting messages between processors in a multiple processor system | |
| EP3353673B1 (en) | On-chip atomic transaction engine | |
| JP5137971B2 (ja) | スピン・ロックによりロッキング公平性及びロッキング性能の両方を達成する方法及びシステム | |
| US6728836B1 (en) | Segmenting cache to provide varying service levels | |
| JP3309425B2 (ja) | キャッシュ制御装置 | |
| TWI359376B (en) | Memory device and method having on-board address p | |
| JP3391315B2 (ja) | バス制御装置 | |
| US6931497B2 (en) | Shared memory management utilizing a free list of buffer indices | |
| US8108617B2 (en) | Method to bypass cache levels in a cache coherent system | |
| US6189007B1 (en) | Method and apparatus for conducting a high performance locking facility in a loosely coupled environment | |
| JPH05127995A (ja) | ローカルキヤツシユに共通のページ間の一貫性を確保する方法 | |
| US20050253858A1 (en) | Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams | |
| US7246203B2 (en) | Queuing cache for vectors with elements in predictable order | |
| US6185650B1 (en) | High performance locking facility | |
| JP2001290706A (ja) | Tlbキャッシュのためのプリフェッチ | |
| US6088757A (en) | Computer program means and device for conducting high performance locking facility in a loosely coupled environment | |
| EP0097256B1 (en) | Method and apparatus for managing a buffer pool referenced by batch and interactive process | |
| US20040215884A1 (en) | Segmenting cache to provide varying service levels | |
| US8244985B2 (en) | Store performance in strongly ordered microprocessor architecture | |
| WO1998026352A1 (en) | Method of file pre-read control in computer system | |
| US6704833B2 (en) | Atomic transfer of a block of data | |
| US20100058024A1 (en) | Data Transfer Apparatus, Data Transfer Method And Processor | |
| JPS59218692A (ja) | ロジカルバツフア記憶制御方式 | |
| JPS61220047A (ja) | メモリ制御方式 |