JPS58501296A - Lruペ−シング・バツフア・プ−ルを通してデ−タ・ベ−スのデマンド・アクセスを行なう際のスラツシング減少 - Google Patents
Lruペ−シング・バツフア・プ−ルを通してデ−タ・ベ−スのデマンド・アクセスを行なう際のスラツシング減少Info
- Publication number
- JPS58501296A JPS58501296A JP50285381A JP50285381A JPS58501296A JP S58501296 A JPS58501296 A JP S58501296A JP 50285381 A JP50285381 A JP 50285381A JP 50285381 A JP50285381 A JP 50285381A JP S58501296 A JPS58501296 A JP S58501296A
- Authority
- JP
- Japan
- Prior art keywords
- page
- pages
- lru
- buffer
- size
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。
Description
【発明の詳細な説明】
LRUページング・バッファ・プールを通してデータ・ペースのデマンド・アク
セスを行なう際のスラッシング減少〔技術分野〕
本発明は、LRUページ編成型バッファ・プールを通してデータ・ペースのデマ
ンド・ベージングを行なうような、並行プロセス間のスラノ/ング全最小化する
ための、CPUで実現可能な方法に係る。
仮想記憶は使用可能な物理的記憶よシも大きいアドレス・マツプであり、主記憶
と補助記憶の間の区別を々くする。ルベル記憶の概念は“ベージング技術によっ
て実現可能である。ページング技術では、仮想アドレス空間は大きざの等しい゛
ページ”に分割され、主記憶は同様に同じ大きさのページ・フレームに分割され
る。ページ・フレームic P Uテ現在実行中のプロセス間で共用され、かく
てどの時点でも所与のプロセスは主記憶に駐在する数ページ全有し、それ以外は
補助記憶に1駐在する。ページング機構は2つの機能を有する。第1に、アドレ
ス・マツピング動作を実行し、第2に、要求によってページを補助記憶から主記
憶に転送し、それらがもはや使用されなくなったときは主記憶から補助記憶に戻
す。キャッシュと呼ばれるバッファ空間およびキャッシュ・マネージャは参照機
能全実行する。例えば、ページングのアト7ス・マツピング動作のために小さい
連想記憶を使用する(2)
ことができるが、これはキャッシュ内に保持されているページを見つけるための
テーブル・ルックアップを並行して行なうためである。キャッシュ内でページが
利用できないことは、ページ・フォールトまたはページ不在と呼はれる。ページ
不在を取除くには、補助記憶(バックアップ記憶または記憶サブシステム)をア
クセスして要求されたページヲ取出すことが必要である。
キャッシュすなわちバッファ・プールケ管理するには、情報をキャッシュのどこ
に置くか、キャッシュに未割当区域を作るためにどの情報を追出すか、いつ(例
えば、要求されたとき、または先行して)情報をロードするか、という復々の点
を考慮する必要がある。最近のキャッシュ管理では、最も長い間使用されなかっ
たページ、すなわちLRU (LeastRecently Used )ペー
ジが置換される。これは将来の活動が最近の活動に密接に追出するであろうとい
う仮定を含んでいる。一方、プロセスはその前後関係において動作する、すなわ
ち、短い時間インターバルにおいて、所与のプロセスは特定の論理モジュール内
で動作し、かくて単一の処理手順から命令を引出すとともに、単一のデータ領域
からデータを取出す傾向がある。従って、記憶参照はアドレス空間の小さい局所
域へ集中する傾向がある。かかる参照の局所性はルーピングが頻繁に発生するこ
とによって増進される。このループが稠密であればあるほど参照の拡がシは小さ
くなる。このような局所性の原理は、プログラム参照がアドレス空間の小さい局
所域へ集中する傾向があり、かつこれらの局所域が間欠的にのみ変わる傾向があ
るということを一般化したものである。Denning の論文” The W
orking Set Model forProgrammed Behav
ior”、Communicattons of ACM。
Vat、I L、 May 1968、pp−525〜533、ではいわゆる“
ワーキングセット″のモデル全形成するのにページ式メモリの環境で局所性の原
理が適用されている。更に、Denningは、プロセス間における記憶空間の
競合によって、主記憶および補助記憶間のベージング・トラフィックが著しく増
加し、その結果、プロセス利用効率の急激な低下を伴なうことがあることを観察
した。また、Denning は、高度のマルチプログラミング全採用すると、
多数のページ不在の発生を避けるために各プロセスがメモリ中に十分なページを
保持することが不可能になる場合があることを観察した。これはバンクアップ記
憶をキャッシュへ結合する経路が飽和し、従って大部分のプロセスがページ転送
を待機して停止される場合があることを意味する。これがスラッシングの1つの
側面である。DeHning によれば、このような状況下では、各プロセスが
CPU’e有効に使用しうる前に“ワーキングセット”と呼ばれる成る最小数の
ページを主記憶に保持することが必要とされる。もし主記憶中に存在するページ
の数がこの数よりも小さければ、そのプロセスはページ不在によって引続き中断
されることになろう。
考慮しなければならない他の点としては、参照の順序があ(4)
シ、また反復的参照の有無がL R’ U編成型キャッシュにどのような影響を
持つかということがある。例えは、1つのプロセスによって高速で要求される個
別的参照のス) IJソング該ノロセスのページをスタックの最上部に移し、他
のプロセスによって使用されるページをキャッシュから追出す傾向がある。LR
U編成型キャッシュがひどい動作をするもう1つのケースは、キャッシュに保持
されつるページ・セットよシも大きいページ・セントを升してフロセスがサイク
ルする場合、すなわち反復的参照相互間の距離がキャッシュの容量よりも大きい
場合である。この場合、所与のページに対する新しい参照は悉くページ不在を生
ぜしめる。
スラッシングが特に激しくなるのは、実質的に異なる速度でベージング全行なう
ようなネストされたルーズの形式で、並行プロセス間のアクセス活動が現われる
場合である。前に説明したように、よシ速い要求速度で実行されるプロセスはよ
り遅いルーズのページをすべて追出す傾向がある。
前に説明したDe n n i rl gのワーキングセット・モデルは、局所
性が存在している限り、LRUスタック管理に不可欠なものとされた。Shaw
の単行本”The Logical Designof Operating
Systems ”、 pp−138〜144.1974およびDennin
g 自身がCoffman と共同で執筆した単行本”Operating S
ystem Theory ”、Prentice−Hall 、pp−298
〜299.1971では、スラツシングハテマンド・ベージング方式をダウンさ
せることが指摘されているが、スラ(5)
ッシングを回避するための方のは全く提案されていない。また、Langほかの
論文1IData Ba5e Buf fer Paging 1nVirtu
al Storage Systems”XA CM Transaction
son Data Ba5e SystemaXpp、659〜551、Dec
、1977およびSelingerほかの論文”Access Path 5e
lectionin a Re1ational Data Ba5e”、Pr
oceedings 1979、S I GMOD Conference o
、f the ACM% p p、22〜′54では、ワーキングセント・モデ
ルの不適当性が繰シ返し指摘されており、またIBM社の情報管理システム(I
MS)およびSQL/DS(構造化照会言語/データ・システム)によって例証
された関係データ・ベース・データ管理(DBDM)システムの如き1階層デー
タ・ベースで見出される、無限にネストされたループに富むアクセス環境におけ
るスラッシング問題の複合性が強調されている。S Q L/D Sは1981
年1月31日にIBM社から発行されたQeneralInformat、io
n and Concepts and In5tallation Manu
al 、。
Form AGH24−5012およびGH24−5013に説明されている。
同時係属中の米国特許出願第235806号(1981年2月19日出願)では
、省略された参照トレースのみ全使用することによシ、割当の問題が率の関数と
して扱われている。
ページ・フレームの割当は動的に行なうことができるが、そのようなシステムは
修正されたワーキングセットのモデルに作用し、DBDMオプテイマイザの意味
では予測性がない。
(6)
〔発明の説明〕
本発明では、高レベルのデータベース・データ!埋(D BDM)システムがオ
ノティマイザ全使用しておシ、そしてこのオノテイマイザがプロセスの形式でア
クセス計画全生成する、という事実が活用されている。ここで、このプロセスは
、ベージング・タスクに対するバッファ・ブールの割当ておよびベージング活動
の局所性に関する仮定(予測)を含んでいる。オフティマイザは、将来実行する
並行タスクについてルーピング・アクセス活動が存在するようなページ・セット
ヲ探%(Iする。このパラメータは、タスク毎に決定され、記憶アクセス要素に
渡される。記憶アクセス要素はバッファを複数のLRUスタッタに分割し、そし
てこの予測されたパラメータ・サイズに対しスタッタ全動的に調整する。
もつと具体的に溶えば、本発明は、LRUページの編成型バッファ・プール全弁
してデータ・ベースのテマンド・ページングを行なうような、並行ノロセス間の
スラッシングに!小化するための、CPU″c実現可能な方法に向けられる。こ
の方法では
(a)新シい各70セスに対しページ・フV−ム(キャッシュ要素)の独立した
L RUスタックを割当て、(b) ルーピング°アクセス活動のあるページ・
セット(ホント1.セント)を探知し、
(c)対応するホット・セ、ノド全保持するのに十分大きいページ・フV−ムの
セットが存在するような70セス全スケジユールし、
(d) ページ不在が生じたとき、どのページも固定されていなければ対応する
スタックでLRUページ置換を実行するか、または固定されていないページのみ
を含む最初のスタッタ(この実際の占有フレームは当該プロセスによって要求さ
れたページの数よりも少ない)から1ページ・フンームkllJ当てる
ステツノが含まれる。
図面の簡単な説明
i1図U、r、RUページ編成型バッファ・7′−ル葡通して関係データ・ベー
スをアクセスするためにオフテイマイザが使用される状況で、2ウエイの結合照
会に対するバッファ・サイズと測定されたページ不在の数との関係を示す図、第
2図は、第1図と同様の状況で、ろワエイの結合照会に対するバッファ・サイズ
と常用対数で表わした測定されたページ不在の数との関係を示す図、第6図は、
第1図と同様の状況で49エイの結合照会に対するバッファ・サイズと測定され
たページ不在の数との関係を示す図、第4図は、本発明を利用した場合と利用し
ない場合の、2ワエイの結合要求を処理するに要する相対的コスB、示す図であ
る。
〔実施態様および産業上の利用性の説明〕〔ワーキングセットのモデルを用いた
先行技術のバッファ管理の概念的側面〕
前掲のDenningの論文は、一方のプロセスが他方のプロセスからページす
なわちフレーム全スチールする如き、距離(8)
が互いに異なるループのネスティングによって生じたスラッシング全処理するた
めのe構を記述している。このようにして創出される混乱は°°外部スラッシン
グと呼ばれる。゛ワーキングセット”のモデルを使用するバッファ・マネージャ
は窓Ti定義ル、そしてTに等しい期間に所与の7°ロセスによって要求される
異なるページの午均数を観察する。この数は当d亥7’oナスの゛′クワ−ング
セット・サイズ゛″St:’ある。
オペレーティング・システム内のスケジュールは、この7“ロセスの実行中に少
なくともSページがそれ(で割当てられること全保証する。代替的に、バッファ
・マネージャは種々の10セスからのペー ジ要求に対し、それらのワーキング
セット・サイズにりじて異なる優先順位を与えることができる。大きなワーキン
グセット・サイズ全有するプロセスは、小さいシーキングセット・サイズを有す
るプロセスよりも太きbページ・フレーム・セット金得る。しかしながら、高性
口しのデータ・ベース管理/ステムにおいては、そのような機構はいくつかの欠
点を有する。すなわち、もしあるプロセスが浄めて迅速にべ一;孕要求しつつ、
データ上で長い順次走査を遂行するか、または反復的参照の距離が互いに異なる
複数のルーフ′全ネストするならば、ワーキングセットのモデルばいずれかのプ
ロセスに多くのバッファ・フレームを与えようトシ、カ<で能のノロセスの外部
スラッシングを生ぜしめることになる。また、ルーフ−の反復距離がバッファ・
サイズよシも大きい場合に、あるプロセスが窓のサイズTよりも大、薔いページ
数にわたってルーフするならば、ワーキングセット機構はそのプロセスのために
バッファ中にTフレームを保持しようと試みるが、関連するフレームが1)V−
ムだけの場合には同じノベルのページ不在が生じることになろう。従って、バッ
ファのページ・フレームは十分に利用されないのである。
更に、6るプロセスが1つのページ・ルーズから次のページ・ルーフ“に移動す
る場合、ワーキングセント・サイズが一時的に増加する結果、そのプロセスはそ
れに割当てられたものより多いフレームを得る。かくて、前と同様に、外部スラ
ッシングが生じる。また、複数の10セスがそのワーキングセット・サイズの要
件を考慮してスケジュールされた場合には、スケジューリングの問題ケ生じる。
最後に、ワーキングセットを計算する際のオーバヘッドは予測方法を望ましいも
のにする。スケジユーリング及びオペレーティング・システムの一般的説明につ
いては、LorinおよびDeitelによる弔行本” Operating
Systems”、Addison−Vesley、 1981の第14章及び
第15章を参照するとよい。
[8Mシステム370のノロセス実行環境〕本発明の方法は、1つ以上のCPU
全含み、各々のCPUが主記憶、I10チャネル、I10制御装置、直接アクセ
ス記憶装置およびそれらに結合されたその他のI10装置t有fる計算システム
で、実行可能である3、このようfz ’/ ステムは米国特許第340 ’0
371号で説明されている。前記システムは、プロセスの実行に必要な計算シス
テムまたは・オペV(10)
−テイング・システムの機能のすべて金、資源として含んでいる。代表的々資源
は、主記憶、I10装置、CPU、データ・セットおよび制御ま・たけ処理10
グラムを含む。更に、前記システムはマルチ7°ログラミング能力を有する。こ
れは計算システムによる2以上のプロセスの並行処理に適し、IBM社の刊行物
GC28−6646(1973年7月)で説明されているIBMシステム/36
0オペレーティング・システムの下でランする計算機で管理可能である。
本発明は、SQL/Dsの如き従来のデータ管理機能を含み、補助記憶を管理し
、かつ在来のプログラム・コンパイラおよびアセンブリ能力を備えるオペレーテ
ィング・システム環境テ利用される。アセンブリ・レベルの言語は前記米国特許
第3400371号およびIBM社の刊行物で説明されているが、他の刊行物″
A Programmers Introduction t。
I B M System / 360 Assembler Languag
e ″、FormASC20−1846−6(1979年11月)には更に詳細
な紹介がなされている。
本発明はDBDMシステム、特に関係DBDMシステムがオノテイマイザ勿使用
しておシ、そしてこのオグテイマイザがベージング・タスクに対するバッファ・
プールの割当およびベージング活動の局所性に関する仮定(予測)を含む70セ
スの形式でアクセス計画を生成するという事実を活用している。先行技術のオフ
テイマイザについては前に説明した。
(11)特表昭58−50129G(4)これ以上の説明はBlasgenほか
の論文”System R:AnArchitectured View n、
I BM System Journal %Vo1. 20. A I、19
81、pP、41〜62に示されている。
アクセス計画がシステムによって生成されるので、参照され易いデータ、ページ
のパターンもアクセス計画の生成ト同時に予測しうることが思いがけなく観察さ
れた。更に、すべての計画について汀、アクセス活動のパターンはページ・セッ
トを通したルーピング?含む。付言すれは、関係定食のケースでは、ループは制
御ページおよびデータ・ページの間で定義することができる。ルーピング活動が
存在するようなページ・セントは゛ホット・セット″′と呼ばれる。もし実行す
べきアクセス計画がホット・セットのサイズよりも大きいサイズのキャッシュ・
バッファ全利用する々らば、あるループで再び参照されるページがバッファ内に
留まっているので、処理は迅速に行なわれる。しかしながら、もしバッファ・サ
イズがホット・セラトラ含むのに必要斤埴よりも小さければ、必要なページ不在
の数は急激に増加する。この状況は第1図乃至第3図に示されておシ、これらの
図面には、異なる照会(query )を肌理している間に行なわれるページ参
照の数がバッファ・サイズの関数として示されている。これらの図面で明らかな
ように、2つ以上のルーピング・パターンがあづてもよい。2つ以上のルーピン
グ・パターンはいくつかの不連続を生ぜしめる。これらの不連続の各々はパホッ
゛ト・ボイ(12)
ント″と呼ばれる。また、それ以下では照会の実行が不可能であるような、最小
限のバッファ・サイズがある。これは関係データ・ベースの特徴である。ある要
求を肌理する場合、LRUページ置換ステップとは無関係に、関係データ・ベー
スはいくつかのページがバッファ・プールに留まるように強制する。バッファ・
ツールに留まるように強制されたページは固定されたページと呼ばれる。このよ
うに、いくつかのページが固定されると、非割当バッファ・スペースのLRUW
埋はそれに応じて修正されねばならない。ページの固定は性能を高めるために行
なわれる。これは、前掲のLorinによる文献のうち第129頁及び第602
頁に記述されている。
利用可能なバッファ・サイズよシも小さい最大のホット・ポイントは、照会に対
する”ホット・セット・サイズ”と呼ばれる。特に、ホット・セット・サイズは
、あるプロセスが同時に固定しつるページの数に灯芯する。第1図乃至第6図に
は、20ページのバッファ・サイズを使用した場合の種々の照会に対するホット
・セット・サイズの例が示されている。
ホット・セント・サイズはそれぞれ5.7および12である。
これらの図面は、バッファ内にホット・セット・サイズに等しいページ数がない
と、照会の実行は非効率的であることを示している。従って、アクセス計画につ
いて決定されたホラl゛・セット・サイズよりも小さいバッファ・サイズ’44
用することになる場合には、予測要素を使用するという前提が正しくない。確か
に、より小さいホット・セット・サイズを有(13)
する他のアクセス計画が最適となシうる場合がある。これは第4図に示されてお
り、そこでは同じ結果を計算する2つの計画の相対的コストはバッファ・サイズ
の関数として異なっている。
並行プロセスがLRUページ編成型バッファ・プール全通してデータ・ベースの
テマンド・ベージング?行なう場合、LRU管理されたページ・フレームのチェ
インが各プロセスごとに1つずつ別々に維持きれる。各々のページ・7ンーム・
チェインは、そのプロセスによってサービスされている要求のホット・セット・
サイズに等しい最大のサイズ含有する。
どのプロセスにも関連しないバッファ・ページ・フレームは、”フリー・リスト
″と呼ばれる別のLRUリストに集められる。与えられた各々のLRUページ・
フレーム・チェインは2つのパラメータによって管理されるのが望ましい。これ
らの″ラメータG丁、”numref”および”numall” と呼ばれる。
”numref”はあるプロセスによって要求さり、るフレーム数を定義し、”
numall”はLRUリスト中の実際のバラノア・フレーム数全指定する。本
発明では、“Humref″はそのプロセスのホット・セット・サイズに等しい
。あるプロセスがサイズσのLRUスタック全要求するときに、フリー・リスト
のサイズがσよりも小さければ、
”numall ”’::”numref″(14)
である。この場合、このフリー・リストの内容は要求中プロセスのLRUスタッ
クに割当てられる。この状態は“フリー・リスト不足”と呼ばれる。
あるプロセスがページを要求する場合、バッファ・プールの現内容を定義するマ
ツプを検量してその存在の有無が調べられる。これは連想メモリまたはハツシン
グ技法のようないくつかの方居によって行なうことができる。パッハア/メモリ
探索の詳細については、Li5terの単行本”Fundamentalof
Operating System”XSpringer−verlag、Ne
w York。
Inc、 、5econd Edition、1979、pp、40〜60に説
明されている。
もし参照ページが見っかシ、そして、そのページが当該プロセスニ対するローカ
ル・バッファ・プールのLRUスタック中にも存在すれば、ローカル・スタック
が更新される。このページがアクセスされる時間に、要求中プロセスはそのペー
ジを固定することによシ、該プロセスがそのページについて作業を行っている間
に池のプロセスがそのページをバッファ・プールから追出さないようにすること
ができる。通常、各々のページはそのページが固定された回数を追跡するだめの
参照カウンタを有する。あるプロセスが所与のページを固定する場合、その参照
カウンタは1だけ増分される。ページがバッファ内で見つからなかった場合には
、ローカル・バ、ソファ・スタック中の最も長い間使用されなかったページ(使
用カウント0)がバッファ・プールから追出され、そして要(15)特表昭58
−501296(5)求されたページと置換される。注意すべきは、あるプロセ
スが所与のページの固定状態全解除した場合には、そのページの参照カウントが
1だけ減分されるということである。
あるプロセスが終了する場合、前に説明したように、そのスタックのページはL
RUスタックが不足しているプロセスに割当てられる。割当全行なうに当っては
、不足状態にあるLRUスタックを識別し、それに必要なフリー・フレーム数を
割当てて、そのホット・セット・サイズσのページ数kmだす。もし未割当のペ
ージ・ファームが残っているならば、これらのフレームは不足状態にある池のプ
ロセスに割当てることができる。不足状態にあるプロセスに割当てられていなめ
フリー、フレームば、フリー・リストに再び割当てられる。
〔スラッシングを最小化する方法の概要〕スラッシングヲ蹴小化する方法は次の
ステップを含む。
A・ バッファ・フV−ムのすべてをフリー・リストに割当てることによって初
期設定する。
B・ 新しい各プロセスの呼出しによって条件付けられた空のLRUリストを割
当てる。この場合、”numref”−a )”numail ”=0で、フリ
ー・リストからσと同数のページ・フレームが得られる。”numall ”を
、実際に得られたページ・フレーム数にセントする。フリー・リストのサイズが
σよシも小さいトに含まれるフレーム数は0になる。
C,プロセスの要求に心してバッファ・プール内でページを(16)
探索する。もしそのページがローカル・バッファ・プールのLRUスタックで見
つかったならば、そのスタックを更新する。
もしそのページが見つからなければ、ページ不在が生じる。
この場合、バッファ・プールから別のページを追出すべきか否か全決定する必要
がある。これには2つのケースが考えられる。
(a) もしローカル・スタックが固定されていないページを含むならば、その
中で最も長い間使用されなかったページヶ追出す。
(b)モジローカル・スタッタが固定されたページのみを含むならば、フリー・
リストから(利用可能ならば)フレームを得て対応するページを追出す。もしフ
リー・リストが空であれば、固定されていないページ・フン−ムラ含む池のLR
UスタッタからフV−ム全得る。この場合、不足状態にあるスタックを選択する
のが望ましい。そして、”numail″ を1だけ増分する。この場合、”n
uma l l” は“n umre f”よりも大きくなることがある。
D・もし要求中プロセスがあるページを固定しているならば、その参照カウント
を1だけ増分する。
E・ もし要求中プロセスがあるページの固定状態を解除するならば、その参照
カウントを1だけ減分する。
F・ プロセスがページを解放する場合は、バッファ活動はもはや必要としない
。
(17)
G・ あるプロセスが終了する場合は、不足状態にあるプロセスの間でLRUス
タックの再割当て全行なう。もし不足状態にあるプロセスが存在しなければ、フ
レーム全フリー・リストに戻す。
〔ホット・セント・サイズ変更の影響〕プロセスのページ・フレーム要求全評価
する間に定食される種々のホット・セットは、異なるサイズを有してもよい。
データ・ベース・マネージャに関連するオプテイマイザは、包含される関係のサ
イズ、異なるカラムの中心、属性のフィルタ係数等の如き利用可能な統計直に基
づいて、ホット・セット・サイズの平均1直全計算するだけである。実行の間、
あるプロセスはホット・セント・サイズよりも大きいページ・セントにループす
ることがある。もし、このプロセスが同時に固定しているページの最大数よりも
” numref ”が大きければ、このプロセスのLRUスタックは決して増
加されない。
このプロセスは、それ自身からページ全スチールするという意味で、内部スラッ
シングを受ける。しかしなから、他のプロセスからページケスチールする外部ス
ラッシングは生じない。この状況を予期して、オプテイマイザは計算された平均
直よりも大きいホット・セット・サイズをなるべく要求しなければならない。こ
うすると、都合の悪いことに、バッファ・プールの利用が低下することがある。
曲の代案は、もしフリー・リストが空でなければ、あるプロセスに対する之ンー
(18)
ム割当全増加することである。こn、らのフレームは、他のプロセスがフリー・
リストからのフレーム全要求し、それが空であることケ見つけた場合に、解放さ
れることがある。
もしあるプロセスのホット・セント・サイズが固定されたページ数の平均に等し
ければ、そのLRUスタック内の割当てられたページ・フレーム数よりも大きい
(同時的な固定を必要とする)ページ数を有することが可能である。この場合、
固定されたざ−ジ全含まない灯心するスタックでLRUベージのj6換金実行す
るか、または固定されていないページのみ全沈み且つ不足状態にあるスタックか
らページ・フレームを割当てると、肖該プロセスは確実に他のページ金得ること
ができる。本発明は、バッファ中のすべてのページ/ページ。
フレームが固定され、そして他のページ・フレームの要求がなされる場合の動作
を可能にしようとするものではない。そのような場合には、システムのリセツト
が要求されるか、または恐らくバッファの動的拡張が要求される。
不足プロセスの数は最小化することか望ましい。このため、ザービスされている
要求中プロセスのホット・セット・サイズの合計数がバッファ・プールのサイズ
に等しいかまたはそれよりも小さくなるように、複数の要求がスケジュールされ
る。並行プロセスのセント、すなわちマルチプログラミング(19)特表昭58
−501296(6)・レベルの制限に注意を払う必要がある。不足しているス
タッタによって動作中のプロセスの期待直ば0には減少されないが、これは内部
スラッシング全減少させるとともに、バッファ要求から生じるデッドロソタの期
待度を最小限にする。
〔ホット・セット・サイズが最小ホット・ポイントに等しい場合〕
もしページ全迅速に参照するプロセスのホット・セット・サイズが最小ホット・
ポイント(実行するのに必安なページ数)に等しいといわれるならば、この方法
は外部スラッシング全減少させる。反復的参照を行なう短いループを有するプロ
セスの指定されたレベルを同時に実行しつることを確実なものにするために、バ
ッファを2つの領域に分割することができる。第1の領域は短いループに割当て
られ、第2の領域はより長いループケ実行するプロセスに割当てられる。これに
関して、初期設定ステップは2つのフリー・リスト’(r生成し、該リストの各
々はそれぞれの領域のサイズを有するようにされる。知いループの要求には最小
数の)V−ムが与えられる。また、バッファ・プールの利用度全維持するために
、短いループに対するフリー・リストはよシ長いループに対するフリー・リスト
からフレームt TOることかできる。ml記方法のステップBおよびCに関し
てこれらのフリー・リストで実行されるスタック操作は、直列化されねばならな
い一実行される動作はLRUチェインでのページの除去および挿入を含むから、
クリテカルな領域を升する経路リンクは、1つの(20)
LRUスタックを有する標鵡バッファ・マネージャのコード・セタションを介す
るものと同じである。
いくつかの関係データ・ベース・システムは、1つのデータ・ベースに対して2
つの異なるタイプの処理を支援する。
第1のものは通常1回だけ実行されるよっな特別の照会および更新であり、第2
のものはプログラム・ライブラリに収めらワ2、復数回にわたって実行されるよ
うな既製プログラムである。これに関して、端末を升してホス!・・システム全
アクセスする特別のユーザーは関係照会全開始し、その結果を端末で1に接使用
することができる。代替的に、同じ関係照会全PL/IまたはCOB OLのよ
うな高級言語ストリームに埋め込むこともできる。関係“ノ′クセス・ステップ
が高級1語スト“j−ムに埋め込まれている場合には、事前コンパイラを呼出し
てこのような命令文を解析し、最適化し、そして機械語コート全生成することが
できる(前記Blasgen ほかの文献のpp、49〜56参照)。このオプ
テイマイザは要求中プ「1セスの各々ごとに任意のサイズのページ・フレーム全
割当てられるにすぎない。しかしながら、本発明では、空間の割当てはコンパイ
ル中に効率よく行なわれねばならない。とい9のは、特別の関係照会に見られる
ように、実行時間とコンパイル時間とが接近することがあるからである。
下記の2つの例は関係データ・ベース・システムにおけるホット・セント・サイ
ズの推定を表わす。後の例は前記(21)
Selingetほかの文献に関連して説明されている(この文献では、S Q
L/D Sが簡単な照会および皆雑な照会の両方のアクセス経路を選択する方
法が説明されている)。
関係システムで利用OT能な動作(/Ctd、複数の関係テーブルを組合わせる
能力がある。これは”結合”(join)動作と呼ばれる。この動作でに、2つ
のテーブルが各テーブルの1つのカラムからの直に基づいて組合わさr7.る。
例えば、関係R1お」:びR2の間の2ウ工イ結合の各々について、R1は外部
関係であシ、R2は内部胸係であるものと仮定する。
p (R1)およびp(R2)’tそれぞれ、関係R1およびR2のページ数と
する。dindex (R2) k、R2のインデックスの深さとする。更に、
l5(R2)を、R2の内部ループにおけるペー、;数とする。これ1dp(R
2)を結合が遂行される属性の異なる数11′iで削ることによって得られる。
この推定は一様な分布の仮定に基づいている。また、1(R2)k 、R2全ア
クセスするのに使用されるインテックスのページ数とする。更に、1sleaf
(R2)がR2の内部ループで定食されたインテックス・リーフ・ページ数金
表わスモのとする。ここで、制御ページは異なる関係の間では共用されないこと
に注意すべきである。
第1表に例1を示す。
(22)
ネストされたループの結合計算:
R1およびR2の両方で順次走査
ホット、ポイント−1+p(R2)
R1でインデックス走’IE、R2で順次定食ホット・ポイント−2+p(R2
)
R1で順次走査、R2でインデックス走査(滑らかな不連続)
mhp’=1+dindex (R2)+l s (R2)および
mhp=1+i (R2)+p(R2)の間で補間する
第2表に例2を示す。
(23)特表昭58−501296(7)第 2 表
組合せ走査の結合計算:
R1およびR2の両方で順次走査
ホット・ポイント−1+13(R2)
R1で順次走[、R2でインデックス走査ホット・ポイント=1+1sleaf
(R2)+1s(R2)ただし、1sleaf’(R2)は内部ループでのリー
フ・ページ数
R1でインデックス走i、R2で順次走査ホット・ポイント=1+dtndex
(R1)+1s(R2)例1において、R1およびR2の両方の順次走査から得
られた最初のホット・ポイントの推定は、R1のデータ・ページを含むように1
フレームと完全なR2関係を加えたものを含むに十分なフレームを予約するのに
等しい。もしR1のデータ・ページに対する17ノームが予約されなかったなら
ば、R1に対するアクセスはR2ルーズにおける最初のページの置換音生せしめ
ることになろう。従って、R2ループにおけるページ・セット全体が失われるこ
とになる。R1でのインデックス走査およびR2での順次走査に基づくホット・
ポイントの推定については、インデックスのリーフ・ページに対し追加フレーム
全予約し々ければならない。リーフ・ページはR1データ・ページのアクセスの
前に常にアクセスされる。
(24)
3番目の推定は、R1での順次走査およびR2でのインデックス走査が実行され
た後の補間である。ページ不在の最小数は、R2のアクセス・エンティティ(イ
ンデックスおよびデータ・ページ)のすべてが完全にバッファに収まるときに得
られる。ページ不在の数は、第2の関係の平均ループを保持するのに十分なフレ
ーム数だけが利用可能になるまで、はぼ直線的に増加する。これは連続する内部
ループの間の実質的な再参照全ボす。もし参照された関係におけるデータ・ペー
ジ数が大きく、かつ、結合フィルタ作用が高けれは、データ・ページの再参照は
低い。後者の場合、p(R2)がl5(R2)の代シに用いられる。同様の推論
のチェインが例2におけるホット・ポイント推定の例に当てはまる。
ホット・ポイント・セットの推がはnワエイの結合に一般化可能である。これら
はホット・ポイントの控え目の推定を表わす。推定されるホット・ポイント数は
滑らかな不連続の場合においてn−1から3(n−1)まで変化する(ただしn
は照会f/lCおいて参照された関係の数である)。
JぐラフT・勺イズ
FIG、 4
FIG、 2
Jずラフアサイス”
FIG、 3
FIG、 4
国際調査報告
Claims (1)
- 【特許請求の範囲】 LRUベージ編成型バッファ・プールを通してデータ・ペースのデマンド・ベー ジングを行う並行プロセス間のスラッシングを最小化するための、CPUで実現 可能な方法であって、 新しい各プロセスに対しバッファ要素の独立したLRUフレーム・スタック全割 当て、 各プロセスによるルーピング・アクセス活動が存在するようなページのセノトヲ 探知し、 対応するページのセット全保持するのに十分大きいフレーム・スタックが存在す るプロセスのみの実行をスケジュールし、 ページ不在の発生に際して対らするスタックでLRUページの置換を行なわしめ る こと全特徴とするスラッング減少方法。 (1)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US1981/001109 WO1983000758A1 (en) | 1981-08-18 | 1981-08-18 | Thrashing reduction in demand accessing of a data base through an lru paging buffer pool |
Publications (2)
Publication Number | Publication Date |
---|---|
JPS58501296A true JPS58501296A (ja) | 1983-08-04 |
JPS6212548B2 JPS6212548B2 (ja) | 1987-03-19 |
Family
ID=22161375
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP50285381A Granted JPS58501296A (ja) | 1981-08-18 | 1981-08-18 | Lruペ−シング・バツフア・プ−ルを通してデ−タ・ベ−スのデマンド・アクセスを行なう際のスラツシング減少 |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP0085672B1 (ja) |
JP (1) | JPS58501296A (ja) |
DE (1) | DE3176984D1 (ja) |
WO (1) | WO1983000758A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408368B1 (en) * | 1999-06-15 | 2002-06-18 | Sun Microsystems, Inc. | Operating system page placement to maximize cache data reuse |
CA2408481C (en) | 2002-10-17 | 2009-10-06 | Ibm Canada Limited-Ibm Canada Limitee | Autonomic reallocation of memory among buffer pools |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS549534A (en) * | 1977-06-24 | 1979-01-24 | Fujitsu Ltd | Replace control system |
JPS5458318A (en) * | 1977-10-19 | 1979-05-11 | Fujitsu Ltd | Job control system in artificial memory system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3737881A (en) * | 1972-04-13 | 1973-06-05 | Ibm | Implementation of the least recently used (lru) algorithm using magnetic bubble domains |
NL7510904A (nl) * | 1975-09-17 | 1977-03-21 | Philips Nv | Woordgroepsprioriteitsinrichting. |
US4035778A (en) * | 1975-11-17 | 1977-07-12 | International Business Machines Corporation | Apparatus for assigning space in a working memory as a function of the history of usage |
US4095283A (en) * | 1976-07-02 | 1978-06-13 | International Business Machines Corporation | First in-first out memory array containing special bits for replacement addressing |
US4092713A (en) * | 1977-06-13 | 1978-05-30 | Sperry Rand Corporation | Post-write address word correction in cache memory system |
US4168541A (en) * | 1978-09-25 | 1979-09-18 | Sperry Rand Corporation | Paired least recently used block replacement system |
-
1981
- 1981-08-18 WO PCT/US1981/001109 patent/WO1983000758A1/en active IP Right Grant
- 1981-08-18 EP EP81902361A patent/EP0085672B1/en not_active Expired
- 1981-08-18 DE DE8181902361T patent/DE3176984D1/de not_active Expired
- 1981-08-18 JP JP50285381A patent/JPS58501296A/ja active Granted
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS549534A (en) * | 1977-06-24 | 1979-01-24 | Fujitsu Ltd | Replace control system |
JPS5458318A (en) * | 1977-10-19 | 1979-05-11 | Fujitsu Ltd | Job control system in artificial memory system |
Also Published As
Publication number | Publication date |
---|---|
EP0085672B1 (en) | 1989-02-01 |
WO1983000758A1 (en) | 1983-03-03 |
JPS6212548B2 (ja) | 1987-03-19 |
DE3176984D1 (en) | 1989-03-09 |
EP0085672A4 (en) | 1986-06-05 |
EP0085672A1 (en) | 1983-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4422145A (en) | Thrashing reduction in demand accessing of a data base through an LRU paging buffer pool | |
US4463424A (en) | Method for dynamically allocating LRU/MRU managed memory among concurrent sequential processes | |
Sacco et al. | A Mechanism for Managing the Buffer Pool in a Relational Database System Using the Hot Set Model. | |
O'neil et al. | The LRU-K page replacement algorithm for database disk buffering | |
Kao et al. | An overview of real-time database systems | |
US5537635A (en) | Method and system for assignment of reclaim vectors in a partitioned cache with a virtual minimum partition size | |
US5675797A (en) | Goal-oriented resource allocation manager and performance index technique for servers | |
US8904154B2 (en) | Execution migration | |
JP3816586B2 (ja) | 先取り命令を生成する方法とシステム | |
AU2002362400B2 (en) | Dynamic and automatic memory management | |
JPH05225066A (ja) | 優先順位付けキャッシュ管理方法 | |
WO2004038583A2 (en) | Methods and apparatus to manage cache bypassing | |
JPH04303248A (ja) | マルチバッファデータキャッシュを具えているコンピュータシステム | |
Jones et al. | High-performance parallel graph reduction | |
US6370618B1 (en) | Method and system for allocating lower level cache entries for data castout from an upper level cache | |
JP3428618B2 (ja) | プログラムのキャッシュ局所性改善方法 | |
Stanley et al. | A performance analysis of automatically managed top of stack buffers | |
US7502901B2 (en) | Memory replacement mechanism in semiconductor device | |
JPS58501296A (ja) | Lruペ−シング・バツフア・プ−ルを通してデ−タ・ベ−スのデマンド・アクセスを行なう際のスラツシング減少 | |
McNiven et al. | Analysis of memory referencing behavior for design of local memories | |
Datta et al. | Buffer management in real-time active database systems | |
US7120776B2 (en) | Method and apparatus for efficient runtime memory access in a database | |
Herter et al. | CAMA: Cache-aware memory allocation for WCET analysis | |
Herter et al. | Making dynamic memory allocation static to support WCET analysis | |
JPS6136668B2 (ja) |