JPS6150350B2 - - Google Patents

Info

Publication number
JPS6150350B2
JPS6150350B2 JP58085180A JP8518083A JPS6150350B2 JP S6150350 B2 JPS6150350 B2 JP S6150350B2 JP 58085180 A JP58085180 A JP 58085180A JP 8518083 A JP8518083 A JP 8518083A JP S6150350 B2 JPS6150350 B2 JP S6150350B2
Authority
JP
Japan
Prior art keywords
buffer
chain
sequential
lru
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.)
Expired
Application number
JP58085180A
Other languages
English (en)
Other versions
JPS595483A (ja
Inventor
Aasaa Gamaea Robaato
Arubaato Mootensun Jon
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS595483A publication Critical patent/JPS595483A/ja
Publication of JPS6150350B2 publication Critical patent/JPS6150350B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/463Program control block organisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-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)

Description

【発明の詳細な説明】
〔発明の分野〕 本発明はバツフア・プールを含む計算装置を動
作させる方法、特にバツチ・プロセス(順次プロ
セス)および対話式プロセス(ランダム・プロセ
ス)の両者によつて参照されるバツフア・プール
を管理するためのデータベース・システムに係
る。 〔先行技術の説明〕 一般に、トランザクシヨン処理用に設計されて
いるデータベース・システムは、バツフアをラン
ダム・アクセスするのに適したバツフア・マネー
ジヤを有する。普通、バツフア・プールはLRU
(Least Recently Used)アルゴリズムに基づい
て管理されているので、アプリケーシヨンによる
後続アクセスのために最後に使用されたバツフア
内のデータ・ブロツクが使用可能の状態に維持さ
れる。というのは、かかるデータ・ブロツクは最
も長い間使用されなかつたバツフア内のデータ・
ブロツクよりも、次にアクセスされる見込みが大
きいとされているからである。 これは、順次式にデータをアクセスする多くの
ユーテイリテイおよびいくつかのアプリケーシヨ
ンについて、性能上の問題を提起する。前記の使
用例として、データベースのバツクアツプ・コピ
ーをとるユーテイリテイがあり、このユーテイリ
テイでは大部分のブロツクが順次に検索される。
これらの順次プロセスのためにバツフア・プール
を管理するときは、新しいブロツクの必要性を予
測して外部記憶装置からデータ・ブロツクの事前
取出しを行ない、これらのデータ・ブロツクを空
いているバツフアに読込むことが望ましい。 このような動作は刊行物であるIBM OS/
VS2SAM Logic、Release3.8、“Form No.SY26
−3832−1、2nd EditionのPP.15−53、178−181
に記述されているQSAM(待機順次アクセス方
式)バツフアリング技法によつて実行される。 しかしながら、LRUアルゴリズムに基づいて
管理されたバツフア・プールに割当てられたデー
タ・セツトのページがランダム・アクセスおよび
順次アクセス・パターンを同時に受ける場合に
は、前記事前取出しは重大な問題を生じる。一般
に、新しいページに対する順次アクセスの要求は
ランダム・アクセスの要求よりもずつと高いレー
トで生じ、特に前者が事前取出しを伴なう場合に
はそうである。 従つて、ランダム・アクセスを遂行するトラン
ザクシヨンを支援することが不適当となる場合に
は、所与のバツフア内でランダム・ページを再ア
クセスすることができなくなり、かくてこのよう
なランダム・ページを外部記憶装置から再び読取
らねばならないことがある。 これは、LRUバツフア・チエインを通してバ
ツフアを移動するレートが、バツフア再割当要求
レートの関数であることによつて生じる。 要求レートが高ければ高いほど、LRU待行列
の先頭への移動が速くなり、従つてバツフアの古
い内容を再アクセスしうる時間が短かくなる。 順次プロセスによるバツフアの独占を阻止する
ために、IBM IMS/VS バージヨン1.2
ISAM/OSAMバツフア・ハンドラでは、所与の
ユーザ(すなわち、ランダム・プロセスまたは順
次プロセスによつて最後に使用されたバツフアを
該ユーザに割当てるようにしている(ソース・コ
ード・モジユールDFSDBH10、DFSDBH20、
DFSDBH30およびDFSDBH40、特にDFSDBH20
における特性テーブル内のPSTLR列参照)。しか
しながら、ISAM/OSAMバツフア・ハンドラで
は、順次プロセスの性能を強化するために事前取
出し能力は与えられていない。 このように、先行技術では、バツフア・プール
を順次プロセスまたはランダム・プロセスのいず
れかに専用化することが普通に行われているが、
もしバツフア・プールがこれらのプロセスによつ
て共用されたならば、バツチ・プロセスによつて
かかるバツフア・プールが独占される傾向があ
り、かくて所与のランダム・プロセスがデータ・
セツトのページを再アクセスするとき不要な入出
力動作を必要とする。 従つて、バツフア・プールに割当てられたデー
タ・セツトのページに対するランダム・アクセス
および順次アクセスが同時に行なわれているよう
なデータベース・システムでは、バツフア・ハン
ドラに、(1)順次プロセス及びランダム・プロセス
の両方についてLRUバツフア・プールを管理
し、(2)しかも順次プロセスによるバツフア・プー
ルの独占に起因するランダム・プロセスの不要な
入出力動作が生じないようにし、(3)同時にランダ
ム・プロセスの性能に対する影響を最小限にして
順次プロセスに非同期式の事前取出し能力を与え
る必要がある。 〔発明の概要〕 本発明によれば、メイン・プロセツサ、主記憶
装置に設けられた複数のバツフアおよび少なくと
も1つの外部記憶装置を有する計算装置を動作さ
せる新しい方法が与えられる。 メイン・プロセツサはデータベース・システム
の制御下で動作し、該データベース・システムは
外部記憶装置からバツフアへ読取られたデータ・
セツトのページを、順次プロセスおよびランダ
ム・プロセスの両者による同時的アクセスのため
に割当てるようなバツフア・マネージヤを含んで
いる。この新しい方法は次のステツプによつて特
徴づけられる。 (a) 待行列の値を確立する。 (b) 通常のLRUバツフア・チエインと、前記チ
エイン上にコピーされたSLRU(順次LRU)バ
ツフア・チエインとを維持する。 (c) 事前取出しプロセスではない順次プロセスか
ら解放されたバツフアを両方のLRUバツフ
ア・チエインに置き、そしてランダム・プロセ
スまたは順次式の事前取出しプロセスから解放
されたバツフアを通常のLRUバツフア・チエ
インのみに置く。 (d) SLRUバツフア・チエイン中のバツフアの数
が待行列の値を越えている場合には、順次プロ
セスのためのバツフア要求に応答して、SLRU
バツフア・チエインから先頭バツフアをスチー
ルし、そうでない場合は通常のLRUバツフ
ア・チエインから先頭バツフアをスチールする
ことにより、ネストされた順次プロセスで使用
されるバツフアの反復スチールを阻止する。 この新しい方法は、次のステツプによつても特
徴づけられている。 (e) データ・セツト・ページの要求に応答して、
外部記憶装置からプロセスが定義した事前取出
し量の整数倍のデータ・セツト・ページを条件
付きで非同期式に事前取出しする。 更に、本発明によれば、メイン・プロセツサ、
主記憶装置に設けられた複数のバツフアおよび少
なくとも1つの外部記憶装置を有する計算装置が
与えられる。メイン・プロセツサはデータベー
ス・システムの制御下で動作し、該データベー
ス・システムは外部記憶装置からバツフアへ読取
られたデータ・セツトのページを、順次プロセス
およびランダム・プロセスによる同時的アクセス
のために割当てるようなバツフア・マネージヤを
含んでいる。この計算装置は、その特徴として、
前記プロセツサが (a) 待行列の値を確立し、 (b) 通常のLRUバツフア・チエインと、前記チ
エイン上にコピーされたSLRUバツフア・チエ
インとを維持し、 (c) 事前取出しプロセスではない順次プロセスか
ら解放されたバツフアを両LRUバツフア・チ
エインに置き、そしてランダム・プロセスまた
は順次式の事前取出しプロセスから解放された
バツフアを通常のLRUバツフア・チエインの
みに置き、 (d) SLRUバツフア・チエイン中のバツフア数が
待行列の値を越える場合には、順次プロセスの
ためバツフア要求に応答して、SLRUバツフ
ア・チエインから先頭バツフアをスチールし、
そうでない場合は通常のLRUバツフア・チエ
インから先頭バツフアをスチールする手段をそ
れぞれ備ており、かくてネストされた順次プロ
セスで使用されるバツフアの反復スチールを阻
止するようにしている。 この新しい計算装置は更に次の手段によつても
特徴づけられる。 (e) データ・セツト・ページの要求に応答して、
外部記憶装置からプロセスが定義した事前取出
量の整数倍のデータ・セツト・ページを条件付
きで非同期式に事前取出しする。 〔実施例の説明〕 第1図は本発明に従つた計算装置を示す。プロ
セツサ10は、例えばIBMシステム/370であ
り、そのアーキテクチヤ(刊行物である
“IBMSystem/370PrinciPles of Operation”
FormNo.、GA22−7000−6に説明されている)は
IBM OS/MVSオペレーテイング・システムのよ
うなOSの制御下で動作する。前記OSの制御下で
動作するのは、バツフア・マネージヤ20を含む
データベース制御システムである。バツフア・プ
ール14はプロセツサ10の仮想記憶装置内に設
けられており、バツフア・マネージヤ20によつ
て制御されるとともに、順次プロセス16および
ランダム・プロセス18でアクセスされる。バツ
フア・マネージヤ20の制御下で、プロセス16
および18によつて要求されたデータ・セツト・
ページは外記記憶装置のデータベース・プール1
4に読取られる。 本発明によつて、バツフア・マネージヤ20は
ランダム・プロセス18の性能に対する影響を最
小限にして順次プロセス16の性能を高める。か
くて、バツフア・マネージヤ20に含まれる制御
ロジツクは、バツフア・プール14に割当てられ
たデータ・セツト・ページへのアクセスが順次プ
ロセス16およびランダム・プロセス18によつ
て同時に行なわれる環境で、順次プロセス16に
よるバツフア・プール14の独占を最小限にする
とともに、非同期式の事前取出しを与えることに
より、外部記憶装置のデータベース30に常駐す
るデータ・セツト・ページが、例えば順次プロセ
ス16によるそれらのアクセスを予測してバツフ
ア・プール14に送り込まれることを可能にす
る。データ・セツト・ページは、バツフア・プー
ル14および/または外部データベース30に存
在することができる。バツフア・マネージヤ20
の制御ロジツクは、ランダム・プロセス18によ
つてアクセスされるページの再アクセスの確率
が、順次アクセス16によつてアクセスされるペ
ージの再アクセスの確率よりもずつと大きい、と
いう仮定に基づいている。 第2図において、バツフア・マネージヤ20は
バツフア・プール14内に2つのLRUバツフ
ア・チエイン、すなわち通常のLRUバツフア・
チエイン34および順次式のSLRUバツフア・チ
エイン36を維持する。バツフア・プール14に
おけるLRUバツフア・チエイン34およびSLRU
バツフア・チエイン36内のバツフアの構成につ
いては以下で説明する。バツフア・マネージヤ2
0によつて初期設定されたバツフア・プール14
の各々ごとに生成されるバツフア制御ブロツク・
セツトは、1つのWPH(ウインドウ・プール・
ヘツダ)ブロツク40および複数のW(ウインド
ウ)ブロツク50、60、70等(図面上は5
0、60および70のみを表示)を含み、バツフ
ア・プール14内の各バツフアごとに1つのWブ
ロツクが対応する。 第2図のバツフア制御ブロツクは、プロセツサ
10の仮想アドレス空間内に存在する。WPHブ
ロツク40には、EQB(過剰ウインドウ・ブロ
ツク待行列)アンカ・フイールド41(これは
EQB48内の最初のWブロツクに対するポイン
タを含む)カウント・フイールド42(これは
SLRUバツフア・チエイン36上のバツフア数の
カウントを記憶する)、SLRU順方向アンカ・フ
イールド43(これはSLRUバツフア・チエイン
36で先頭のWブロツク60を指す)、SLRU逆
方向アンカ・フイールド44(これはSLRUバツ
フア・チエイン36で末尾のWブロツク70を指
す)、LRU順方向アンカ・フイールド45(これ
はLRUバツフア・チエイン34での先頭のWブ
ロツク50を指す)、およびLRU逆方向アンカ・
フイールド46(これはLRUバツフア・チエイ
ン34での末尾のWブロツク70を指す)が含ま
れる。 Wブロツク50,60および70の各々は、そ
れぞれが3つのフラグ・ビツトを含むWB(Wブ
ロツク)フラグ・フイールド51,61および7
1を有する。これらのフラグ・ビツトは次の意味
を有する(左から右へ)。ビツト1はWBがLRU
バツフア・チエイン34上にある場合にオンにセ
ツトされ、ビツト2は、WBがSLRUバツフア・
チエイン36上にある場合にオンにセツトされ、
ビツト3はWBが順次プロセスで最後に使用され
た場合にオンにセツトされる。従つて、値100
を有するWBフラグ・フイールド51は、Wブロ
ツク50がLRUバツフア・チエイン34上にあ
つて、SLRUバツフア・チエイン36上になく、
かつ順次プロセスで(ランダム・プロセスとは反
対に)最後に使用されなかつたことを示す。第2
図の例では、Wブロツク50,60および70が
LRUバツフア・チエイン34上にあり、Wブロ
ツク60および70がSLRUバツフア・チエイン
36上にある。バツフア・プール14でバツフア
の使用状態が安定した後は、EBQ48は通常は
空である。 また、Wブロツク50、60および70の各々
は、4つのチエイン・ポインタ・フイールド
(SLRU次ポインタ、SLRU前ポインタ、LRU次
ポインタおよびLRU前ポインタ)を含み、それ
ぞれのフイールドはバツフア・チエーン34およ
びSLRUバツフア・チエイン36内のWBを順方
向および逆方向にチエインするのに使用される。
第2図で、ポインタ・フイールド52、53、5
5、63、72および74は空白にセツトされて
おり、その他のポインタ・フイールドは第2図の
矢印に対応する値を有する。 次に第3図を参照して、Wブロツク70の追加
フイールドおよびその用途について説明する。W
ブロツク70に対応するバツフア・ブロツクを占
有するページの相対ページ番号が、RPN(相対
ページ番号)フイールド80に含まれる。 ラツチ・ポインタ・フイールド81は、次に説
明するようにハツシユ・チエイン探索(ルツク・
アサイド探索とも呼ばれる)を直列化するのに用
いられる。 ハツシユ・チエイン順方向/逆方向ポインタ・
フイールド82は、WPHブロツク40における
フイールド(図示せず)にアンカされた各々のハ
ツシユ・チエインと、同じ値にハツシユするWブ
ロツク70等とを連結するのに使用される。占有
者データ・セツト・トークン・フイールド83
は、このWブロツク70に関連するバツフアを現
在占有しているページのデータ・セツトを、キー
などによつて識別するフイールドである。スチー
ル・フラグ・フイールド84は、複数のユーザが
同じバツフアをスチールするのを阻止するのに用
いられ、W(ウインドウ)従属カウント・フイー
ルド84は、後に詳細に説明するように、ユーザ
が然記Wブロツクに関連したバツフア内のページ
をゲツトおよび解放するときに増加され減少され
る。 ユーザ(プロセス)16、18がバツフア・マ
ネージヤ20からページを要求するとき、この要
求されたページのデータ・セツト・トークンおよ
びRPNが含まれる。 この値はハツシユ値にハツシユされ、そしてハ
ツシユ・チエイン順方向/逆方向ポインタ・フイ
ールド82によつて連結されたすべてのWブロツ
ク70等が同じハツシユ値を有するものとして探
索される。この動作はルツク・アサイド探索と呼
ばれる。この探索は、当該要求を一致する占有者
データ・セツト・トークン・フイールド83およ
びRPNフイールド80を有するWブロツクが見
つかる場合に成功する。 再び第2図を参照するに、順次プロセス16か
ら解放されたバツフアはSLRUバツフア・チエイ
ン36の末尾およびLRUバツフア・チエイン3
4の末尾に置かれ、ランダム・プロセス18から
解放されたバツフアは通常のLRUバツフア・チ
エイン34の末尾にのみ置かれる。順次アクセス
要求を満足するのに必要とされるバツフアは、バ
ツフア・チエーン36上に存在するバツフア数が
順次スチール限界値Qよりも大きい場合には、
SLRUバツフア・チエイン36の先頭から得られ
る。さもなければ、すなわちもしバツフア・チエ
イン36上のバツフア数がQよりも大きくなく、
また当該要求がランダムプロセス18によるアク
セスのためであれば、バツフアは通常のLRUバ
ツフア・チエイン34の先頭から得られる。 この論理によると、新しい順次式要求につい
て、順次アクセスのために最近に使用されたバツ
フアの方がランダム・アクセスのために最後に使
用されたバツフアよりも高いスチール優先順位が
与えられることになり、しかもその場合に新しい
ランダム要求に対するバツフア・スチール優先順
位が変更されないので、これにより順次プロセス
16の独占作用を最小化することができる。 順次スチール限界値Qは、順次プロセス16が
時たまライン外のページ・シーケンスに対するネ
ストされた順次アクセスを実行しなければならな
い場合に、再取出し動作を最小限にするのに使用
される。この例として、基本的には集合するのが
時たまライン外の(集合されない)挿入を有する
論理的レコード・シーケンスに続く再構成ユーテ
イリテイ(順次プロセス16)がある。 メイン・ライン・シーケンスで最後に参照され
たバツフアはライン外のシーケンス要求を満たす
のにスチールされない傾向がある。というのは、
SLRUバツフア・チエイン36が解放されたばか
りのメイン・ラインLRUシーケンス・バツフア
よりも最近に使用されなかつた十分なバツフアを
有しない限り、SLRUが使用されないからであ
る。Qの合理的な値は、順次プロセスの時点に最
も頻繁に予測されたライン外のネステイングのレ
ベル数と、最も頻繁に予測された同時的な順次プ
ロセスの最大数との積として確立されうる。Qの
値が、例えば4であれば、合理的な値といえる。 順次プロセス16がデータベースのデータに対
して遂行されている場合、もしこのデータがその
実際の使用前にDASDのような外部記憶装置であ
るデータベース30から仮想記憶装置内にあるバ
ツフア・プール14に、非同期式に事前取出しさ
れるならば、一定の性能上の利点を実現可能であ
る。これらの利点として、入出力バツチ処理によ
る入出力経路長オーバヘツドの減少およびオーバ
ラツプされた入出力による全経過時間の減少があ
る。事前取出しは、バツフア・マネージヤ20の
ページ・アクセス機能の副次機能として、非同期
式に行われる。 この事前取出しを達成するため、バツフア・プ
ール14から必要なバツフアを獲得し、それらに
必要なデータベースのページをロードし、そして
それらをLRUステータスに解放する非同期式実
行ユニツトをスケジユーリングすることが行われ
る。必要なバツフアはSLRUバツフア・チエイン
36からの事前取出しによつてできるだけ多く取
出されるが、バツフアが事前取出しによつて解放
される場合には、これらのバツフアは、LRUバ
ツフア・チエイン34上にのみ置かれ、SLRUバ
ツフア・チエイン36上には置かれない。これ
は、ライン外のページ・シーケンスに対するネス
トされた順次アクセスが必要な場合に、まだアク
セスされていない事前取出しされたバツフアの再
取出しを最小限にするために行なわれる。しかし
ながら、事前取出しされたバツフアは、たとえば
順次プロセス16による個々のアクセス後の解放
時に、SLRUバツフア・チエイン36上に置かれ
る。事前取出しされたデータを含むバツフアへの
アクセスは、通常のページ・アクセス手順によつ
て行なわれる。本実施例では、事前取出しされた
連続ページ数は64よりも少ない2の累乗である。
この値は事前取出し動作を要求するユーザ(プロ
セス16、18)によつて与えられる。 事前取出しは、次に示す条件のすべてが満たさ
れた場合にのみ、バツフア・マネージヤ20のペ
ージ・アクセス機能によつてスケジユールされ
る。 (a) ユーザは現在要求されているページの順次プ
ロセスを指示する。 (b) 事前取出しページ数の値が指定される。 (c) 現在要求されているページ数(データ・セツ
トの最初のページに対する)は事前取出しペー
ジ数の値によつて平等に分割しうる。これは、
同じ順次プロセスによつて同じページに対する
複数の事前取出しが初期設定されるのを阻止す
るのに必要なトラツキングを避けるために行な
われる。 (d) バツフア・プール14は再割当可能な十分な
バツフアを有しているので、いくつかのバツフ
アを事前取出しのために使用しても再割当可能
なバツフアの供給が完全に枯渇することはな
い。 (e) 事前取出しが現在のデータ・セツトの物理的
な境界の外側で生じることはない。 事前取出しは現在のページ数+1で開始する。
事前取出しされる最後のページは次の順次デー
タ・セツト・ページであり、そのページ数は事前
取出しページ数の値によつて平等に分割可能であ
る。従つて、事前取出しシーケンスが初期設定さ
れた後は、後続するすべてのページは、このシー
ケンスが中断されないままでいる限り、アクセス
前に事前取出しされる。 第4図を参照して、バツフア・ステータスおよ
びステータス変更について説明する。ここでは、
(a)ON EBQ、(b)ACTIVE、(c)INACTIVEおよび
(d)STOLENの4つのステータスが示されてい
る。ON EBQ ステータスにあるバツフアは過
剰ウインドウ・ブロツク待行列上のEBQ48に
よつて表わされ、このバツフアは現在どのデー
タ・ページにも割当てられないので即時に使用す
ることができる。ACTIVEステータスにあるバ
ツフアは、1つまたは2つ以上のデータベース・
プロセツサ(プロセス16,18)によつて使用
中であり、ハツシユ・チエイン順方向/逆方向ポ
インタ・フイールド82およびそれらのWPHブ
ロツク40中のアンカによつて確立されたルツ
ク・アサイド待行列構造によつて位置指定可能で
ある。INACTIVEステータスにあるバツフア
は、データベースプロセツサ(プロセス16,1
8)によつて使用中ではないが、ルツク・アサイ
ド・待行列構造によつて指定可能である。 STOLENステータスにあるバツフアは、到来
する要求を異なるデータベース・ページへ再割当
する準備のために、ルツク・アサイド待行列構造
から取除かれる。 ステータス変更A1、A2、S、A3およびI
の5ステータス変更が第4図に示されている。ス
テータス変更A1は、バツフアのステータスが
INACTIVEからACTIVEに移ることを表わし、
これは要求されたページを含むINACTIVEバツ
フアがルツク・アサイド待行列構造を介して見つ
かつたときに生じる。 ステータス変更A2は、バツフアのステータス
がEBQ48からACTIVEに移行することを表わ
し、これはルツク・アサイド待行列構造で見つか
らなかつたページに対する到来する要求を満たす
のにバツフアが必要とされ、少なくとも1つのバ
ツフアがEBQ48に存在するときに生じる。前
記バツフアはルツク・アサイド待行列構造に挿入
される。ステータス変更Sは、バツフアのステー
タスがINACTIVEからSTOLENに移行すること
を表わす。この状態では、INACTIVEバツフア
はステータス変更A1が生じる前にLRUバツフ
ア・チエイン34またはSLRUバツフア・チエイ
ン36の先頭に移動し、ルツク・アサイド待行列
構造によつて見つからなかつたページに対する到
来する要求を満たすためにLRU/SLRUバツフ
ア・チエインおよびルツク・アサイド待行列構造
から現在取除かれつつある。また、到来するペー
ジ要求は、EBQ48にバツフアがなかつたの
で、ステータス変更A2によつて満足され得なか
つた。ステータス変更A3はバツフアのステータ
スがSTOLENからACTIVEに移行することを表
わす。スチールされたばかりのバツフア(ステー
タス変更S)はアクテイブ状態になり、ルツク・
アサイド待行列構造に入れられる。ステータス変
更IはバツフアのステータスがACTIVEから
INACTIVEに移行することを表わす。バツフ
ア・ユーザのカウントは0に減少されたばかり
で、従つて、バツフアはLRU/SLRUバツフア・
チエイン内で(もしあれば)現在の位置から削除
され、LRUバツフア・チエイン34の末尾に置
かれ、そして恐らくは、SLRUバツフア・チエイ
ン36の末尾に置かれる。 以下に示すいくつかの表に、本発明の方法を実
行し本発明の計算装置の特徴を表わす処理手順が
擬似コードで表わされている。当業者には明らか
なように、これらの処理手順を表わすコードは実
行可能なコードに容易に変換可能である。
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】
【表】 【図面の簡単な説明】
第1図は本発明の環境を表わす計算装置を示す
図、第2図は本発明の通常のLRUチエインおよ
びSLRUチエインを示す図、第3図はW(ウイン
ドウ)ブロツクを示す図、第4図は第1図のバツ
フア・プールを特徴づけるバツフア状態および状
態変化を示す状態図である。 10……プロセツサ、14……バツフア・プー
ル、16……順次プロセス、18……ランダム・
プロセス、20……バツフア・マネージヤ、30
……データベース、34……LRUバツフア・チ
エイン、36……SLRUバツフア・チエイン、4
0……WPHブロツク、41……EQBアンカ・フ
イールド、42……カウンタ・フイールド、43
……SLRU順方向アンカ・フイールド、44……
SLRU逆方向アンカ・フイールド、45……LRU
順方向アンカ・フイールド、46……LRU逆方
向アンカ・フイールド、48……EBQ、50…
…Wブロツク、51……WBフラグ・フイール
ド、52……SLRU次ポインタ・フイールド、5
3……SLRU前ポインタ・フイールド、54……
LRU次ポインタ・フイールド、55……LRU前
ポインタ・フイールド、60……Wブロツク、6
1……WBフラグ・フイールド、62……SLRU
次ポインタ・フイールド、63……SLRU前ポイ
ンタ・フイールド、64……LRU次ポインタ・
フイールド、65……LRU前ポインタ・フイー
ルド、70……Wブロツク、71……WBフラ
グ・フイールド、72……SLRU次ポインタ・フ
イールド、73……SLRU前ポインタ・フイール
ド、74……LRU次ポインタ・フイールド、7
5……LRU前ポインタ・フイールド、80……
RPNフイールド、81……ラツチ・ポインタ・
フイールド、82……ハツシユ・チエイン順方
向/逆方向ポインタ・フイールド、83……占有
者データ・セツト・トークン・フイールド、84
……スチール・フラグ・フイールド、85……W
従属カウント・フイールド。

Claims (1)

  1. 【特許請求の範囲】 1 メイン・プロセツサ、主記憶装置に設けられ
    た複数のバツフアおよび少なくとも1つの外部記
    憶装置を含み、前記メイン・プロセツサはデータ
    ベース・システムの制御下で動作し、該データベ
    ース・システムは前記外部記憶装置から前記バツ
    フアに読込まれたデータ・セツト・ページを順次
    プロセス及びランダム・プロセスの両者による同
    時アクセスのために割当てるバツフア・マネージ
    ヤを含んでいる計算装置の動作方法であつて、 (a) 待行列の値を確立し (b) 通常のLRUバツフア・チエインおよびそれ
    に複写された順次式LRUバツフア・チエイン
    を維持し、 (c) 事前取出しプロセスではない順次プロセスか
    ら解放されたバツフアを前記通常のLRUバツ
    フア・チエイン及び前記順次式LRUバツフ
    ア・チエインの両方に置き、且つランダムプロ
    セスまたは事前取出しプロセスから解放された
    バツフアを前記通常のLRUバツフア・チエイ
    ンのみに置き、 (d) 前記順次式LRUバツフア・チエイン中のバ
    ツフア数が前記待行列の値を越える場合には、
    順次プロセスからのバツフア要求に応答して該
    バツフア・チエイン中の先頭バツフアをスチー
    ルし、そうでない場合には前記通常のLRUバ
    ツフア・チエインから先頭バツフアをスチール
    し、それによつてネストされた順次プロセスで
    利用されるバツフアの反復スチールを阻止する
    ようにした。 ことを特徴とする計算装置の動作方法。
JP58085180A 1982-06-24 1983-05-17 計算装置の動作方法 Granted JPS595483A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/391,629 US4509119A (en) 1982-06-24 1982-06-24 Method for managing a buffer pool referenced by batch and interactive processes
US391629 1982-06-24

Publications (2)

Publication Number Publication Date
JPS595483A JPS595483A (ja) 1984-01-12
JPS6150350B2 true 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)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6331918A (ja) * 1986-07-16 1988-02-10 フエコ・エンジニア−ド・システムズ・インコ−ポレ−テツド 回転および引込可能な容器保持装置およびそのコンベア
JP2527188B2 (ja) * 1987-06-19 1996-08-21 本田技研工業株式会社 自動二輪車の風防装置
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
JPH0833862B2 (ja) * 1989-10-23 1996-03-29 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン オブジエクト指向コンピユータ・システム
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
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
US6643765B1 (en) * 1995-08-16 2003-11-04 Microunity Systems Engineering, Inc. Programmable processor with group floating point operations
US7301541B2 (en) * 1995-08-16 2007-11-27 Microunity Systems Engineering, Inc. Programmable processor and method with wide 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
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
US5784649A (en) * 1996-03-13 1998-07-21 Diamond Multimedia Systems, Inc. Multi-threaded FIFO pool buffer and bus transfer control system
US5978893A (en) * 1996-06-19 1999-11-02 Apple Computer, Inc. Method and system for memory management
WO1998036354A1 (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
US6161153A (en) * 1998-07-30 2000-12-12 Micron Technology, Inc. Method for sharing data buffers from a buffer pool
US6282589B1 (en) 1998-07-30 2001-08-28 Micron Technology, Inc. System for sharing data buffers from a buffer pool
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
US6470359B1 (en) 1998-09-24 2002-10-22 International Business Machines Corporation Fast technique for recovering an index on an auxiliary table
US6606617B1 (en) 1998-09-24 2003-08-12 International Business Machines Corporation Optimized technique for prefetching LOB table space pages
US6363389B1 (en) 1998-09-24 2002-03-26 International Business Machines Corporation Technique for creating a unique quasi-random row identifier
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
US6144970A (en) * 1998-09-24 2000-11-07 International Business Machines Corporation Technique for inplace reorganization of a LOB table space
US6343286B1 (en) 1998-09-24 2002-01-29 International Business Machines Corporation Efficient technique to defer large object access with intermediate results
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
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB979632A (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

Also Published As

Publication number Publication date
US4509119A (en) 1985-04-02
CA1189979A (en) 1985-07-02
JPS595483A (ja) 1984-01-12

Similar Documents

Publication Publication Date Title
JPS6150350B2 (ja)
CN108027804B (zh) 片上原子事务引擎
US6317811B1 (en) Method and system for reissuing load requests in a multi-stream prefetch design
US5537635A (en) Method and system for assignment of reclaim vectors in a partitioned cache with a virtual minimum partition size
US7024512B1 (en) Compression store free-space management
US6021470A (en) Method and apparatus for selective data caching implemented with noncacheable and cacheable data for improved cache performance in a computer networking system
US5388237A (en) Method of and apparatus for interleaving multiple-channel DMA operations
US5727150A (en) Apparatus and method for page migration in a non-uniform memory access (NUMA) system
US5386532A (en) Method and apparatus for transferring data between a memory and a plurality of peripheral units through a plurality of data channels
US5574868A (en) Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
US5826079A (en) Method for improving the execution efficiency of frequently communicating processes utilizing affinity process scheduling by identifying and assigning the frequently communicating processes to the same processor
US5265236A (en) Method and apparatus for increasing the speed of memory access in a virtual memory system having fast page mode
US20020144027A1 (en) Multi-use data access descriptor
US6189007B1 (en) Method and apparatus for conducting a high performance locking facility in a loosely coupled environment
JPH0743665B2 (ja) コンピユータ・システム資源管理方法
EP1115060A2 (en) Device and method for performing high-speed low overhead context switch
JPH0219945A (ja) 主記憶制御装置
JPH10326262A (ja) コンピュータ使用可能媒体を含む製造品
EP1094392A1 (en) Method and apparatus for interfacing with a secondary storage system
US5671405A (en) Apparatus and method for adaptive logical partitioning of workfile disks for multiple concurrent mergesorts
US6658537B2 (en) DMA driven processor cache
EP0097256B1 (en) Method and apparatus for managing a buffer pool referenced by batch and interactive process
JP2001290706A (ja) Tlbキャッシュのためのプリフェッチ
US6088757A (en) Computer program means and device for conducting high performance locking facility in a loosely coupled environment
JPH08115289A (ja) 強制順序で行う要求毎ライト・スルー・キャッシュを有するデータ処理システム