JPH0594315A - システムの生産cpu時間を改善する方法 - Google Patents

システムの生産cpu時間を改善する方法

Info

Publication number
JPH0594315A
JPH0594315A JP3193699A JP19369991A JPH0594315A JP H0594315 A JPH0594315 A JP H0594315A JP 3193699 A JP3193699 A JP 3193699A JP 19369991 A JP19369991 A JP 19369991A JP H0594315 A JPH0594315 A JP H0594315A
Authority
JP
Japan
Prior art keywords
address space
paging
program
cpu
rate
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
Application number
JP3193699A
Other languages
English (en)
Inventor
Catherine K Eilert
キヤサリン・クルーガー・エイラート
Bernard R Pierce
バーナード・ロイ・パース
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 JPH0594315A publication Critical patent/JPH0594315A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms

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)

Abstract

(57)【要約】 【目的】ジョブの組合せ及びプログラム実効ページ・セ
ットのサイズを効率的に管理するための装置及び方法を
提供する。 【構成】ページング・データを使用して、アドレス空間
実効ページ・セットの大きさ、システムの多重プログラ
ミング・レベル及びジョブの組合せを管理し、システム
の生産CPUの利用度を改善する。システム・ページン
グ特性を監視して、管理機能を実施する時期を決定す
る。必要となった場合に、アドレス空間のページング・
データを監視されているアドレス空間に関して収集し、
目標実効ページ・セットの大きさを管理されているアド
レス空間に関して設定する。必要に応じ、アドレス空間
を「強制して」、特性上のページング・パターンを示さ
せる。活動アドレス空間の間の実効ページ・セットのペ
ージの再割振り、ならびにスワップアウト及びスワップ
イン活動を評価し、生産CPUの利用度に関する影響を
推定する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータ及びコンピ
ュータ複合体のためのオペレーティング・システムに関
する。詳細にいえば、本発明はオペレーティング・シス
テムによって管理される仮想記憶コンピュータ複合体内
部で実行されるプログラムの実効ページ・セットを管理
するための機構及びプロセスを説明する。
【0002】
【従来の技術】典型的な仮想記憶指向コンピュータ複合
体においては、多くのプログラムが並行に実行され、主
記憶装置を含めたシステム資源を競合する。IBMのM
VS/ESAなどのオペレーティング・システムは、主
記憶装置(中央記憶機構及び拡張記憶を含んでいる)を
含む資源をプログラムに割り振る。これを行うことによ
って、オペレーティング・システムはプログラムを中央
記憶機構に対してスワップイン、スワップアウトするの
で、並行して実行されないプログラム(たとえば、延期
された待機端末ユーザの対話)が活動プログラムの限定
された中央記憶機構資源を不必要に略奪することがなく
なる。さらに、オペレーティング・システムが中央記憶
機構ページをスワップインされたプログラムから「流
用」し、これらのページを後で再割振りするために開放
する。ページの流用はこのページが直ちに再参照される
場合には、有用なものであるが、流用の行われるプログ
ラムがこれを直ちに再参照する場合には、有害なものと
なる。後者の場合には、ページを拡張記憶または補助記
憶装置から「要求時ページイン」しなければならず、流
用は無効となる。このようなページ・スティールに広く
使用されているアルゴリズムは、「大域LRU」であ
る。このページ・スティール・アルゴリズムを使用する
と、すべての中央記憶機構のページの使用特性が維持さ
れる。ページが「最近」(他のシステム・ページのペー
ジ参照特性に比較して)参照されていない場合には、ペ
ージが拡張または活動(スワップインされた)プログラ
ムから「流用」される。このような大域LRU方式の背
後にある理論は、プログラムによって最も最近参照され
たページが近い将来に参照される可能性があり、したが
って一般に「古い」ページが最初に流用されるはずであ
るということである。このような方式が「異常な」参照
パターンを有しているプログラムには役に立たないとい
うことが認識されている。たとえば、記憶装置内データ
を順次参照するプログラムは、LRUスティールの助け
を受けることがない。
【0003】このようなシステムにおける中央記憶機構
管理を処理するに際して有用であると実証されている概
念は、プログラムの「実効ページ・セット」の概念であ
る。一般に使用する場合、プログラムの実効ページ・セ
ットとはプログラムがある時間間隔Tにおいて参照する
別々なページのセットである。選択した時間間隔によっ
ては、いったんプログラムの実効ページ・セットとなっ
たページが、後でこのセット外のものとなることがあ
り、この場合には、このページは実効ページ・セットの
ページとは別に扱われる。たとえば、このページを流用
したり、関連するプログラムがスワップインされたとき
に、これをスワップインしないようにすることができ
る。
【0004】
【発明が解決しようとする課題】上述のMVS/ESA
などの複雑な大型システム環境で実効ページ・セット・
ベースの記憶装置管理を実施する際には、実用上の問題
が生じる。たとえば、大域LRUなどのシステム全体に
わたる方式を使用したページ・スティールは、個々のプ
ログラムの特異性に対して充分な感度を持っていないこ
とがある。個々のプログラムに合わせて調整したスティ
ール手法は、中央記憶装置に対する要求が多くない場合
(すなわち、多数の「任意」のページ・フレームがあ
り、このような「任意」のフレームを容易に識別できる
ものとして、これらの流用がプログラムのパフォーマン
スに悪影響を及ぼさない場合)には、処理資源を無駄に
することがある。スライド・ウィンドウ(すなわち、時
間間隔T)の観点から実効ページ・セットを見ること
は、「古い習慣」に定期的に反転する、すなわち「古
い」パフォーマンス特性が失われ、新しいスワップ/流
用の判断を下す際に利用できなくなるプログラムを適切
に扱うことができない。LRUベースの流用は、きわめ
て大量の中央記憶機構を利用する傾向のあるプログラム
には適切でない。また、共通実効ページ・セット管理手
法は生産システムに対して有益でないことがあるが、こ
れはプログラムがシステムをどのように使用するかに関
して区別を付けられないことがあるからである(すなわ
ち、有用な作業ないし「スラッシング」を行い、過剰な
デマンド・ページングを引き起こす)。
【0005】それ故、本発明の目的は、ジョブの組合せ
及びプログラム実効ページ・セットのサイズを効率的に
管理するための装置及び方法を提供することである。
【0006】また、本発明の目的は、個々の実効ページ
・セットのサイズの管理が望ましいと、システム負荷が
判断した場合に、このような管理を行うことである。
【0007】本発明の他の目的は、システム生産CPU
の利用度を改善することを目的として、ジョブの組合せ
及び実効ページ・セットのサイズを管理することであ
る。
【0008】本発明の他の目的は、実効ページ・セット
及びジョブの組合せを管理する際に個々のプログラムの
特性についての活動記録の視点を維持利用し、以前の参
照特性への反転を認識し、利用できるようにすることで
ある。
【0009】本発明のさらにまた他の目的は、プログラ
ムにページ参照特性を発揮させ、事項ページ・セットの
サイズ及びジョブの組合せを管理する際にこの情報を使
用できるようにする手法を提供することである。
【0010】
【課題を解決するための手段】本発明はプログラムの特
性を分析し、中央記憶機構の効率的な使用の観点から、
プログラムの中央記憶機構の実効ページ・セットが最適
なものに近いか否か判断する機構を提供する。この分析
を遂行するに当たり、プログラムのページング特性曲線
をプロットし、曲線上のその現在位置を判断し、その活
動記録性能を「記憶」する。他の既存の資源管理の制約
事項の枠内で、かつこのような分析が必要とされるとき
に、プログラムの特性を分析し、目標マルチプログラミ
ング・レベルを設定し、「キーとなる」プログラムに対
する目標実効ページ・セットのサイズを設定する。これ
らのデータによって、活動プログラムの組合せを選択
し、システムの生産CPU時間を最適化する。
【0011】
【実施例】
【0012】本発明はアルゴリズムを使用して、マルチ
プログラミング・セット(MPS)における作業の最善
の組合せ、所定の時点(すなわち、スワップインの)に
おいて処理装置を使用することのできるアドレス空間、
ならびに各アドレス空間に割り当てるための中央記憶機
構の最も生産的な量を動的に決定する。主たる目的は生
産CPU時間を最大とすることである。生産時間とは適
用業務(またはプログラム、またはアドレス空間)が獲
得するものである。システムが拡張記憶または補助記憶
装置との間でページを移動するためにしようしているC
PU時間は、本発明では非生産的であるとみなす。生産
CPU時間を最大とすることが、本発明の重要な考慮事
項である。
【0013】これらの目的を達成する方法は、個々のア
ドレス空間及びシステムに対するこれらの影響に関する
情報を展開し、多重処理システム(本実施例においては
MVS)における作業の組合せを管理することである。
これを達成するには、割り振られた中央記憶機構のさま
ざまな量に対して、ジョブがどのように挙動するか、ま
た取り去られる中央記憶機構のさまざまな量に対して、
システムがどのように挙動するかを知る必要がある。こ
のタスクはアドレス空間に割り振るための記憶域の量を
決定し、システム全体によって達成される生産作業を最
大とすることである。これには、システムのスワップを
行うことのある大きなジョブに割り振られる実効ページ
・セットと、論理スワッピング(MVSでは周知の概念
であって、利用可能な余分の中央記憶機構がある場合
に、非活動ジョブが中央記憶機構に保持される)に使用
される記憶域との間のバランスが必要である。
【0014】この実施例においては、LRUページ置換
方針を使用して、ページが本発明によって管理されてい
るか、大域LRU方針への入力であるかにかかわらず、
どのページをアドレス空間から除去するかを選択すると
想定する。他の実施例はたとえば順次ページ参照特性を
利用する。
【0015】アドレス空間データ
【0016】アドレス空間にさまざまな量の中央記憶機
構を割り振る効果を判定するために、各アドレス空間の
ページング特性のグラフを、動的に展開する。
【0017】参照の局所性を有するアドレス空間に対す
るページング特性曲線を、図15に示す。X軸はアドレ
ス空間に割り振られた中央記憶機構のフレームの数であ
る。Y軸は収集された時間の秒当たりのアドレス空間の
ページイン率である。収集された時間とは、アドレス空
間によって蓄積されたTCB及びSRB時間の量であ
る。これを生産時間という。図15の曲線は「OK1」
(1401)という点を有している。点OK1はアドレ
ス空間が最も生産的に作動する中央記憶機構の値であ
る。OK1において、アドレス空間は効果的に作動し、
ページング・コストは収集された時間のごく僅かな割合
となる(たとえば、生産CPU時間の5%未満のページ
ング・コスト)。OK1の右側へより多くの記憶域を割
り振っても、アドレス空間の進行には効果がないが、他
のアドレス空間により効果的に割り振ることができるも
のである。
【0018】順次参照を有するアドレス空間に対するペ
ージング特性を、図16に示す。この曲線はスラッシュ
範囲(下記参照)を有している。順次参照パターンを有
するアドレス空間は、独立して管理された場合に、大幅
なパフォーマンスの改善をもたらす。データを順次参照
するアドレス空間に対する完全に展開されたページング
特性曲線は一般に、アドレス空間の中央記憶機構割振り
を効果的に管理するために使用できる3つの点を有して
いる。これらの点は点OK1、点TH1、及び点TH2
である。
【0019】アドレス空間のスラッシュ範囲は点TH1
及びTH2によって定義される。TH1(図16の15
01)はアドレス空間がOK1(1503)で作動でき
ないときに、これが作動する中央記憶機構の値である。
追加の記憶域はアドレス空間をより生産的に作動させる
であろうが、アドレス空間がTH2(1502)の右側
に移動するのに充分な記憶域を割り振ることができない
場合には、これをTH1で作動させなければならない。
アドレス空間はTH1でも同様に作動し、TH1とTH
2の間の追加の記憶域を他のアドレス空間に利用でき
る。
【0020】TH1(これが存在している場合)もアド
レス空間のミニマム・ポイントを定義する。(以下の図
7の検討で、TH1が存在しない場合の「ミニマム・ポ
イント」の定義を説明する。)これはアドレス空間に割
り振らなければならない記憶域の最小量である。最小量
のアドレス空間はアドレス空間が割り振られる中央記憶
機構の小量の減少で、ページングに大幅な(たとえば、
2倍)の増加を生じる点である。アドレス空間にそのミ
ニマム・ポイントによって定義されるものよりも少ない
中央記憶機構が割り振られると、付加的な中央記憶機構
が割り振られるか、あるいはスワップアウトされるかの
いずれかが行われるはずである。
【0021】選択されたアドレス空間についてこれらの
曲線を展開すると、個々のアドレス空間にさまざまな量
の中央記憶機構を割り振る効果を判断できるようにな
る。しかしながら、MPSへのアドレス空間の追加、ま
たはMPSからのこの削除のシステムへの影響を判断す
るには、付加的なデータが必要である。これらの影響を
判断するために、選択された各アドレス空間について他
の曲線を展開する。以降のアルゴリズムに共通な各影響
には、ページング・コスト率及び生産CPU率という曲
線が1つある。収集された時間に基づくページング率曲
線とは対照的に、これらの曲線はアドレス空間常駐時間
に基づいている。常駐時間はアドレス空間がMPSにあ
る時間、すなわちシステム資源を争うことが認められて
いる時間である。収集された時間を使用して、アドレス
空間のページング特性を決定する。常駐時間を使用し
て、システムに対するアドレス空間の影響を決定する。
常駐時間を使用するのは、アドレス空間がこれが実行さ
れるときだけではなく、スワップインされたときは常
に、その中央記憶機構を占有するからである。
【0022】これらの曲線のX軸は割り振られた中央記
憶機構であって、ページング率曲線と同じである。これ
は曲線がどのように関連づけられるかを示すものであ
る。各曲線のY軸については、以下で説明する。
【0023】「アドレス空間ページング・コスト率」曲
線(図17)は、割り振られた中央記憶機構の関数とし
ての常駐秒当たりのページングに対するアドレス空間の
CPUコストを示す。
【0024】Y軸の単位は常駐時間の秒当たりのCPU
コストのミリ秒である。ページングのためのCPU時間
は、測定されるものではなく、計算されるものである。
すなわち、中央記憶機構と拡張記憶の間、及び中央記憶
機構と補助記憶機構の間で転送されるページの割合が測
定され、既知の(処理装置依存の)「CPUコスト」が
CPUコスト率を計算するために各タイプの転送に対し
て割り当てられる。計算には、拡張記憶と補助記憶機構
からのページングのためのさまざまなCPUコスト、及
びページングのためのさまざまなCPUコストが考慮さ
れる。アドレス空間に付加的な中央記憶機構が割り振ら
れた場合、ページングのためのCPUコストは減少する
傾向がある。
【0025】「アドレス空間生産CPU率」曲線(図1
8)は、割り振られた中央記憶機構の関数としての常駐
秒当たりのアドレス空間の生産CPU率を示す。Y軸の
単位は常駐時間の秒当たりの生産CPUのミリ秒であ
る。生産CPU値は測定される。これは上述したよう
に、TCB時間とSRB時間の和である。アドレス空間
に付加的な中央記憶機構が割り振られると、生産CPU
率は増加する傾向がある。
【0026】図22はアドレス空間ページング・データ
を維持するために本発明で使用されるアドレス空間ペー
ジング特性ブロックを説明するものである。プロットさ
れた各点は順次(2102、2103、2104)で表
され、その点の割り振られた中央記憶機構(2103
A)、収集された秒当たりのページイン率(2103
B)、常駐秒当たりの生産CPU率(2103C)、及
び常駐秒当たりのページング・コスト率(2103D)
で構成されている。OK1動作が試みられたこと、OK
1動作が進行中であること、アドレス空間が「アウト・
ツゥー・ロング」(下記参照)となっていること、なら
びにアウト・ツゥー・ロングとなっているアドレス空間
(このアドレス空間)のための余裕がつくられているこ
とを示すフラグ2105もある。X軸の増分の大きさ、
Y軸の増分、目標が課されたときの時間、OK1のX軸
増分指数、TH1のX軸増分指数、「最近の点」のX軸
増分指数、残っている目標動作の間隔、残っている目標
動作の収集された時間の間隔を含むその他のデータ21
06がある。さらに、ページング活動カウント2107
(拡張記憶から読み取られたページ、補助記憶機構から
読み取られたページ、拡張記憶に流用されたページ、及
び補助記憶機構に流用されたページを含む)、ならびに
間隔の数2108がある。
【0027】システム・データ
【0028】アドレス空間曲線はアドレス空間に多少の
中央記憶機構を割り振る影響、及びさまざまな量の記憶
域をシステムに割り振った場合の、システムに対するア
ドレス空間の影響に関する情報を提供する。図を完成す
るのに必要なのは、多少の中央記憶機構を実効ページ・
セット及び論理スワッピングに利用できるようにする際
のシステム内のジョブの他のものに対する影響である。
これを決定するために、アドレス空間曲線と同様なシス
テム曲線を展開する。
【0029】アイドル・フレーム秒
【0030】X軸に対して割り振られた中央記憶機構だ
けをシステム曲線にしようする事はできないが、これは
MVSなどのシステムにおいては、割り振られたフレー
ムが拡張し、利用できるフレームを満たすからである。
この問題は記憶域の時間値を考慮した、利用可能な記憶
域についての新しい尺度を定義することによって解決さ
れる。この尺度が「アイドル・フレーム秒」である。ア
イドル・フレーム秒とは、1秒間アイドルとなっている
フレームの尺度である。たとえば、4秒間参照されなか
ったフレームは4秒間アイドルとなっており、4アイド
ル・フレーム秒を表すこととなる。その他の例として
は、20秒間論理的にスワップされており、思考時間に
よってもはや保護されていない論理的にスワップされた
アドレス空間に属しているフレームは、20アイドル・
フレーム秒を表すこととなる。すべてのシステム曲線
は、X軸にアイドル・フレーム秒に対してプロットされ
ている。
【0031】「システム・ページング及びスワップ・コ
スト率」曲線(図19参照)は、アイドル・フレーム秒
の関数としての処理装置経過秒当たりのページング及び
スワッピングのためのシステムのCPUコストを示す。
このページングは、本発明によって独立して監視または
管理されないアドレス空間に起因するページングであ
る。処理装置経過時間は経過時間に処理装置の数を乗じ
たものである。Y軸の単位は処理装置経過時間当たりの
CPUコストをミリ秒で表したものである。ページング
に対するCPUコストはアドレス空間ページング率曲線
について説明したようにして計算される。
【0032】「システム生産CPU率」曲線(図20)
はアイドル・フレーム秒の関数としての処理装置経過秒
当たりのシステムの生産CPU率を示す。Y軸の単位は
処理装置経過秒当たりの生産CPUのミリ秒である。生
産CPU値は測定される。これはTCB及びSRB時間
のシステム全体にわたる和である(TCB及びSRBモ
ードにおいて行われるページング及びスワッピングに合
わせて調節された)。
【0033】これらの曲線は活動実効ページ・セット及
び論理的にスワップされたアドレス空間に中央記憶機構
を割り振った際のシステムの影響を完全に統合したもの
である。曲線をシステム及び問題となっているすべての
アドレス空間に対して展開した場合、中央記憶機構のさ
まざまな割振りが、高い生産CPU率をもたらすかどう
かを判断することが可能となる。
【0034】分析ルーチン
【0035】下記は本発明の主要な態様の処理である。
その後、詳細な論理のプレゼンテーションを行う。
【0036】本発明による個々のプログラム、あるいは
アドレス空間の管理が活動化されるのは、システム内の
ページング及びスワッピングが過剰になると認められた
場合だけである。また、アドレス空間のCPU時間ペー
ジングのきわめて多くの割合を費やすと認められるアド
レス空間に対してのみ、活動化される。システム内のア
ドレス空間のほとんどの管理は、大域LRUページ置換
によって続けられる。アドレス空間は条件が変化するに
したがって、選択されたり、選択解除されたりする。
【0037】ポイント検出アルゴリズム。本発明は場合
により、アドレス空間にそのページング特性の全範囲を
発揮させ、そのミニマム・ポイント及び点OK1を検出
する。システム曲線はなんら介入を行わずに展開される
が、個々のアドレス空間はそうでないこともある。もち
ろん、記憶域に適合する中央記憶機構のOK1量を迅速
に獲得するが、そのスラッシュ範囲に関する情報は有し
ない。適合しないアドレス空間はTH1及びTH2の間
にくるが、そのミニマム・ポイント及び点OK1に関す
る情報はもたらさない。
【0038】アドレス空間にそのすべての重要な特性を
発揮させるために、2つの方法を提供する。あるアドレ
ス空間をまず選択すると、このアドレス空間をページ置
換から保護し、他のアドレス空間をスワップアウトし、
他のアドレス空間がそのTH1値及び最小値で作動する
ことを制限することによって、前記アドレス空間がその
点OK1になるようにすることが試みられる。アドレス
空間がOK1に達することができた場合には、それ以上
の動作は必要ない。アドレス空間が正常に作動している
システムにおいて、他のアドレス空間と競合してフレー
ムを保持できる限り、このアドレス空間はOK1で作動
可能である。対象アドレス空間がOK1に達することを
可能とする際に、これらの特別な処置のいずれもが成功
しない場合には、アドレス空間の点OK1はアドレス空
間の総仮想記憶要件であると定義される。この点は実際
にはプロットされないが、曲線の形状を定義するために
しようされるものである。
【0039】システムが中央記憶機構に対する要求を受
けた場合には、本発明では、まだそうなっていないアド
レス空間がその点TH1すなわちミニマム・ポイントを
示すようにする。これは各アドレス空間がその点TH1
すなわちミニマム・ポイントの左側へ移動するまで、こ
れらに割り振る中央記憶機構を少なくしていくことによ
って達成される。この時点で、アドレス空間はそのTH
1すなわちミニマム・ポイントへ復帰する。左方へのア
ドレス空間のこの移動は、他のアドレス空間からの要求
を満たすために中央記憶機構を獲得し、かつ対象となる
アドレス空間に対する追加ポイントを検出するという2
重の目的を達成する。
【0040】最適アルゴリズム。本発明のキーとなるの
が最適アルゴリズムである。他のすべてのアルゴリズム
は何らかの方法で、このアルゴリズムをサポートしてい
る。このアルゴリズムはどれ位の監視及び管理されてい
るアドレス空間をMPSで維持するか、またどれ位の中
央記憶機構を各々に割り振るかを決定する。このアルゴ
リズムはあるアドレス空間の中央記憶機構フレームのい
くつか、あるいは全部を他のアドレス空間に再割振りす
ることの影響を分析する。
【0041】各アドレス空間のプロットのX軸は、一定
数のX軸の増分に分割されている。各増分は等しい数の
フレームを表す。すべての観測値をこれらの増分の1つ
で表さなければならない。増分の大きさを拡張して、ア
ドレス空間に割り振られた任意のサイズの中央記憶機構
に適合するようにできる。あるアドレス空間のフレーム
のいくつかを他のアドレス空間に再割振りすることを考
えた場合、再割振りの単位はフレームのX軸の増分とな
る。
【0042】部分的なフレーム再割振りは1つまたは複
数のアドレス空間から他のアドレス空間にフレームを再
割振りするとともに、MPS内のアドレス空間の数を一
定に維持することの影響を分析する。
【0043】以下の検討において、レシーバとは追加の
中央記憶機構を受け取る検討対象のアドレス空間であ
る。ドナーはフレームをレシーバに与える検討対象のア
ドレス空間である。
【0044】1つまたは複数のドナー・アドレス空間か
らレシーバ・アドレス空間に多数のフレームを再割振り
する値を決定するための公式を、以下に示す。
【0045】 1. Net value to system = delta_rec_as_paging_cost − delta_donor_as_paging_cost
【0046】delta_rec_as_paging
_costは意図している新しい中央記憶機構の割振り
におけるレシーバ・アドレス空間の予想ページング・コ
スト率から、現在のページング・コスト率を引いたもの
である。
【0047】delta_donor_as_pagi
ng_costは意図している新しい中央記憶機構にお
けるすべての潜在的なドナー・アドレス空間に対する総
予想ページング・コストから現在のページング・コスト
を引いたものである。
【0048】最適アルゴリズムの部分的フレーム再割振
り部分は、フレームのX軸増分をレシーバに与えること
によるページング・コスト率の増加が最も少なくなるド
ナー・アドレス空間を反復して探索することによって作
動する。レシーバが選択された中央記憶機構の割振りに
達するに充分なフレームが蓄積されるまで、アルゴリズ
ムは探索を継続する。充分なフレームが蓄積されると、
公式が適用され、結果が正の場合には、フレームがレシ
ーバに再割振りされる。
【0049】全フレーム再割振りはMPS内のアドレス
空間の数を削減することの影響を分析する。以下の検討
において、レシーバとはOK1で作動できるように充分
な追加中央機構を受け取る検討対象のアドレス空間であ
る。ドナーはスワップアウトされるので、そのフレーム
がレシーバに利用できる、検討対象のアドレス空間であ
る。SC及びSPはシステム曲線におけるX軸の点であ
る。SCは現在のシステム状態を表す。SPは意図され
ている活動が行われた場合の予想システム状態を表す。
アルゴリズム内で、SC及びSPはシステム曲線から読
み取られたアイドル・フレーム秒を表す。しかしなが
ら、検討に当たって、SC及びSPはフレームの数を表
すものと想定する。この想定した解釈は、解釈について
の長い説明を常に行わなければならないことを避けるた
めである。たとえば、図21において、点SC(200
2)と点SP(2001)の間の距離は、システムがS
C−SPの少ないアイドル・フレームで作動している場
合の、システムの状態における差である。この曲線を使
用するアルゴリズムを検討する場合、点SCと点SPの
間の距離は、システムがSC−SPの少ないフレームで
作動しているときのシステムの状態の差を表すと想定す
る。それ故、以下の検討において、SCはシステムの現
在の状態である。SPはドナー・アドレス空間がスワッ
プアウトされ、レシーバ・アドレス空間がOK1で作動
するようになってからのシステムの予想状態である。S
C−SPはレシーバがOK1で作動するのに必要とする
ものと、ドナーが寄与するものとの差を作り上げるため
に、システムが寄与するフレームの数である。
【0050】1つまたは複数のドナー・アドレス空間を
スワップアウトし、これらのフレームがレシーバ・アド
レス空間で利用でき、レシーバ・アドレス空間がOK1
で作動できるようにする、システムに対する値を決定す
る公式を、以下に示す。
【0051】 2. Net value to system= delta_rec_as_productive − delta_rec_as_paging_cost − donor_productive + donor_paging_cost − delta_sys_productive − delta_sys_page_swap_cost
【0052】delta_rec_as_produc
tiveはOK1におけるアドレス空間の予想生産CP
U率からその現在の生産CPU率を引いたものである。
【0053】delta_rec_as_paging
_costはOK1におけるレシーバ・アドレス空間の
予想ページング・コスト率からその現在のページング・
コスト率を引いたものである。これは式で使用した場合
に、正味の値に正の寄与をもたらす負の数となる。
【0054】donor_productiveはすべ
ての潜在ドナー・アドレス空間に起因する現在の総生産
CPU率である。donor_paging_cost
はすべての潜在ドナー・アドレス空間に起因する現在の
総ページング・コストである。
【0055】delta_sys_productiv
eはSCにおけるシステムCPU率からSPにおける率
を引いたものである。
【0056】delta_sys_page_swap
_costはSCにおけるシステムの未管理ページング
及びスワップ・コスト率からSPにおける率を引いたも
のである。
【0057】最適アルゴリズムの全フレーム再割振り部
分は、導入最低MPL指定内で、スワップアウトできる
システム内の最も生産性の低いアドレス空間を探索する
ことによって作動する。潜在的なドナー・アドレス空間
を発見すると、上記の公式を使用して、おそらくはレシ
ーバ・アドレス空間に対するSC−SPシステム・フレ
ームとともに、ドナー・アドレス空間をスワップアウト
し、そのフレームを再割振りするシステムに対する値を
評価する。獲得する組合せを発見した場合には、ドナー
・アドレス空間をスワップアウトし、レシーバがOK1
で作動するように設定する。レシーバが必要としていな
い余分のドナー・アドレス空間は、点OK1に最も近い
ところで作動している管理されているアドレス空間に再
割り振りされる。
【0058】状態変化検出アルゴリズム。アドレス空間
が処理の1つの状態から他の状態に変化すると、そのペ
ージング特性が変化することがあり、何らかのタイプの
ページング特性の状態変化が検出されないままとなるこ
とがある。これが生じるのは、アドレス空間がxフレー
ムに対して継続的に管理されており、そのページング特
性がほんの僅かなフレームだけがOK1で作動できるよ
うになる場合である。このタイプの状態変化を検出する
唯一の方法は、これを試みることである。これはアドレ
ス空間が常に管理されていると、見落とされることにな
るデータが獲得される場合に、アドレス空間が管理され
ずに作動できるようにすることによって定期的に行われ
る。管理せずにアドレス空間を作動させることが有害で
あると実証されると、これが検出され、アルゴリズムは
次回には再度試みる前に長い時間待機することになる。
【0059】アウト・トゥー・ロング・アルゴリズム。
アウト・トゥー・ロング・アルゴリズムは生産CPU率
にマイナスの影響を及ぼすアドレス空間であっても、い
つかは作動させなければならないということを認識す
る。スワップイン影響アルゴリズムがアドレス空間に負
の推奨値を与えたため、アドレス空間が渡された場合、
アウト・トゥー・ロング・アルゴリズムはアドレス空間
が永久に残されないようにする。アウト・トゥー・ロン
グ・クロックはこのアドレス空間に対して開始される。
これが満了した場合、他の充分なアドレス空間がスワッ
プアウトされ、アウト・トゥー・ロング・アドレス空間
に対する余裕を作る。
【0060】スワップイン影響アルゴリズム。スワップ
イン影響アルゴリズムの最も重要な機能は、これがスワ
ップインするアドレス空間を選択し、システム全体に対
して取りうる最善のCPU率をもたらすような態様で、
中央記憶機構にこれらに再割振りする。アドレス空間は
その最も生産性の高い点OK1でスワップインされる
か、あるいはシステムが予想される付加ページングに適
合できる場合には、TH1またはミニマム・ポイントで
スワップインされるかする。これは中央記憶機構の使用
を最適化する。
【0061】OK1で作動するのに充分な中央記憶機構
を割り振ることができるアドレス空間は常に、スワップ
インの最善の候補である。定義によれば、OK1で作動
しているアドレス空間は大幅なページングを行うことが
できない。システムのページング・コスト率に対するそ
の寄与は、顕著なものではない。これが消費するCPU
時間の全部またはほとんど全部は、生産的なものであ
る。
【0062】OK1におけるアドレス空間で作動するの
に充分な中央記憶機構がないが、これをミニマム・ポイ
ント以上で作動させるのに充分なものがある場合、影響
の分析はより複雑なものとなる。TH1で作動するよう
にスワップインされたアドレス空間はスラッシングされ
るが、システムの他の部分は保護され、ページングを扱
うのに利用できるCPUサイクルがある場合には、外部
待ち行列内にあって、スレッシングする方が、外部待ち
行列外にあるよりも優れている。
【0063】2つ以上のアドレス空間がスワップインさ
れ、TH1で作動するための候補である場合には、シス
テムに対して最高位の正味CPU値を有しているアドレ
ス空間がスワップインされるアドレス空間となる。この
アドレス空間の予想生産CPU率及びページング・コス
ト率は、そのアドレス空間の曲線から直接読み取られ
る。システムの生産CPU率及びページング・コスト率
に対する影響は、SPにおけるシステム曲線から決定さ
れるが、ただしSPはアドレス空間がTH1で作動する
ためにスワップインされている場合の予想システム状態
である。SPは数フレーム少ないTH1(または、ミニ
マム・ポイント)で作動しているシステムの予想状態で
ある。アドレス空間をMPSに追加した正味生産CPU
値を以下に示す。
【0064】 3. Net CPU value to system = as_productive − as_paging_cost − delta_sys_productive − delta_sys_page_swap_cost
【0065】as_productiveはアドレス空
間のTH1(または、ミニマム・ポイント)における予
想生産CPU率である。as_paging_cost
はアドレス空間のTH1における予想ページング率であ
る。
【0066】delta_sys_productiv
eはSCからSPにおける率を引いたシステムの生産C
PU率である。
【0067】delta_sys_page_swap
_costはSCからSPにおける率を引いたシステム
の未管理ページング及びスワップ・コスト率である。
【0068】システム目標調節アルゴリズム。これまで
検討してきた個々の目標調節アルゴリズムは、単一のフ
ィードバック・ループに編成されていた。アルゴリズム
の呼出しごとに、処置が取られるか、あるいは検討する
事例がなくなるまで、事例が検討される。事例をそれぞ
れに対して取ることのできる処置とともに、以下に示
す。
【0069】1. CPUの利用度が高い
【0070】スワップする
【0071】2. 中央記憶機構が少ない
【0072】MPLをスワップするか、管理するか、削
減するか、あるいはOK1処置を終了する。
【0073】3. OK1処置
【0074】スワップするか、管理するか、あるいは終
了する
【0075】4. アウト・トゥー・ロング
【0076】多重スワップ
【0077】5. 利用不足
【0078】MPLを増加させる
【0079】6. バランスのくずれ
【0080】MPLを交換する
【0081】7. 未管理のページング
【0082】管理する
【0083】8. 状態変化管理しない
【0084】9. 管理されているページング
【0085】多重再割振り
【0086】多重スワップ及び未管理及び再割振り
【0087】MPL調節基準を使用して、事例1または
2を適用する時期を決定する。中央記憶機構が少ない事
例は、管理されているアドレス空間に対する中央記憶機
構の割振りを削減することも考慮し、また不足を緩和す
るためアドレス空間をスワップアウトすることを考慮す
る。
【0088】システムが過剰に利用されていない場合、
事例3になり、アドレス空間がOK1に到達するのを援
助する処置を取る。システムが他の場合であれば受け入
れられるような作動をしているのであれば、これが最も
優先順位の高い目標である。事例3に対して取られる処
置については、すでに説明した。
【0089】事例4は生産CPU率にマイナスの影響を
及ぼすアドレス空間であっても、いつかは作動させなけ
ればならないということを認識する。このようなアドレ
ス空間が存在している場合、これに対する余地を作るこ
とは次に優先順位の高いタスクである。これについて
は、上記の「アウト・トゥー・ロング・アルゴリズム」
の検討で説明した。
【0090】MPL調節基準を使用して、事例5または
6を適用する時期を決定する。事例3、OK1処置及び
事例4、アウト・トゥー・ロングは両方とも、利用度に
影響を及ぼすと思われるので、これらは事例5及び6よ
りも以前に考慮される。
【0091】事例7になった場合、システムは非生産C
PUサイクルをページングに費やすことを除いて、適切
に作動する。この状況を管理されているアドレス空間の
中央記憶機構の割振りを削減するか、あるいは他のアド
レス空間を管理することによるかのいずれかによって、
ここで修正するか、あるいは事例9で修正するかする。
事例7の処置については、上記の「ポイント発見アルゴ
リズム」で説明した。
【0092】事例8になった場合、システム及びアドレ
ス空間ページングについて分析的に決定できるものがす
べて判明するが、なかには変化するものもある。事例8
は他のアルゴリズムが必ずしも常に状態変化を認識する
わけではないということを認識する。事例8について取
られる処置については、上記の「状態変化検出アルゴリ
ズム」で説明した。
【0093】事例9はアルゴリズムの中心となるもので
あって、MPSに最もよく適合する場所を決定する。こ
の点で、すべての点OK1が判明するか、到達できない
ことが判明し、点TH1(または、ミニマム・ポイン
ト)のほとんどあるいはすべてが決定される。このアル
ゴリズムはまず中央記憶機構の分布を調べ、中央記憶機
構の異なる割振りがシステム全体のより生産的な作動を
もたらすかどうかを判断する。より良好な分配が発見さ
れた場合には、中央記憶機構がドナー・アドレス空間か
らレシーバ・アドレス空間に再割振りされる。記憶域の
より良好な分配がMPS内のすべてのアドレス空間を調
べ、より良好な組合せがあるかどうかを判断する。より
良好な組合せが存在する場合には、ドナー・アドレス空
間がスワップアウトされレシーバ・アドレス空間がその
点OK1で作動させられる。これについては、上記の
「最適アルゴリズム」で説明した。
【0094】詳細
【0095】図1は本発明の主要機構及びこれらの機構
内の制御フローを示している。101において、設定時
間間隔(IBM3090J処理装置においては2秒間)
の経過後、定期的に、直前のタイマの経過以降のシステ
ム全体のページング・コストがページング活動のすべて
について計算される。コストはコストをページング活動
の各タイプに割り当て、各ページ・コストに関連するコ
スト(たとえば、3090J処理装置においては、拡張
記憶域へのページ転送には68マイクロ秒が必要であ
り、補助記憶機構へは130マイクロ秒が必要である)
を乗じることによって計算される。計算に入れられるペ
ージング活動のタイプについては、図2のページング活
動カウンティングについての説明で説明する。
【0096】システム・ページング・コストの計算後、
アドレス空間分析がすべてのスワップインされたアドレ
ス空間102に対して行われる。アドレス空間分析の詳
細を図6に示し、かつ以下の説明で説明する。一般に、
アドレス空間分析は監視される各スワップインされたア
ドレス空間に関連した有意のデータを計算し、定義済み
の基準に基づいて監視を行うために、アドレス空間の選
択及び選択解除を行う。
【0097】アドレス空間分析の処理後、処理装置及び
記憶機構の分析が行われる(103)。この処理の詳細
については図9に示し、以下の説明で説明する。この処
理の焦点は処理装置または記憶機構資源の利用度が過剰
となった場合に、適切なアドレス空間をスワップアウト
する処置を取ることである。次に、104において、O
K1活動処理を行う。OK1活動はアドレス空間がその
「点OK1」を決定するために活動期間中に「成長」
(付加的な中央記憶機構を獲得する)できるようにする
ために取られる活動である。(この点に関する詳細な情
報については、「序」ならびに図8及びその説明を参照
されたい。)OK1の間隔はアドレス空間がその点OK
1に達するまで、あるいはアドレス空間がもはや成長で
きなくなるまで、(たとえば)20実時間間隔という最
低限のものである。たとえば、システムが2秒間中央記
憶機構が少ない状態となり、中央記憶機構のフレームを
提供するために流用またはスワップに利用できる他のオ
プションがない場合に、アドレス空間はそれ以上成長で
きなくなる。OK1活動はアドレス空間のライフ中に1
回行われる。この処理の詳細は図10及びその説明で説
明する。
【0098】次に、105において、「アウト・トゥー
・ロング」処理が呼び出され、余りにも長い間スワップ
アウトされているアドレス空間を処理する。詳細につい
ては、図11及びその説明を参照されたい。次いで、M
PL調節106が行われ、資源の利用度が低いため必要
となった場合に、システム多重プログラミング・レベル
(MPL)を増加させる。図12及びその説明を参照さ
れたい。
【0099】次に、システム・ページング分析が呼び出
され(107)、ページング・サブシステムの負荷が過
剰な場合に、「管理されている」アドレス空間(すなわ
ち、中央記憶機構の目標が割り当てられているアドレス
空間、またはアドレス空間が管理されている最大中央記
憶機構割振り)の記憶域の割振りの選択的な削減によっ
てシステム・ページング特性の改善、ならびに状態変化
条件の起動を試みる。詳細については、図13及びその
説明を参照されたい。
【0100】最後に、目標及び組合せ調節が呼び出され
る(108)。この機能は管理されているアドレス空間
の目標、ならびにある時点における活動アドレス空間
(スワップインされた)の組合せに対する変化を考慮す
るものであり、その目的は個々のアドレス空間のパフォ
ーマンス及び改善されたシステム生産性両方の改善であ
る。この機能については、図14及びその説明で詳細に
説明する。
【0101】図2はページング活動カウンティングを示
すものである。この処理は事象駆動され、ページが拡張
記憶域との間で、あるいは補助記憶機構との間で移動す
るたびに継続的にトリガされる。カウントは拡張記憶域
から読み取られたページ、補助記憶機構から読み取られ
たページ、拡張記憶域から流用されたページ、及び補助
記憶機構から流用されたページである。(上述したよう
に、これらのカウントはアドレス空間ページング特性ブ
ロック(図22の2107)に保持される。)
【0102】図3は本発明に対するページ不在処理の一
部として行う必要のあるものを示している。31におい
て、ページ不在の受取り後、ページ不在が従来のように
して解決される。次いで、32において、ページ不在に
関連しているアドレス空間が管理されているかどうかの
検査が行われる。管理されていない場合、ルーチンが終
了する。アドレス空間が管理されている場合、システム
で利用できるフレームの供給が少ないかどうかのテスト
が33で行われる(MVSでは通常の表示である)。供
給が少なくなければ、ルーチンは終了する。供給が少な
い場合には、このアドレス空間がその目標数のフレーム
(上述したように、ページング特性ブロック(図22)
に保持されている)以上であるかどうかのテストが34
で行われる。少なくなければ、ルーチンは終了する。ア
ドレス空間がその目標数のフレーム以上であれば、ペー
ジが従来どおり35においてアドレス空間から流用され
る(従来の利用可能なフレーム待ち行列におけるフレー
ムの供給を増加させ、その「OK」限界値に達するよう
にする)。次いで、ルーチンは終了する。
【0103】図4は本発明によるページ流用処理を示し
ている。41において、システムに利用できるフレーム
の供給が少ないかどうかに関する通常のテストが行われ
る。供給が少なくなければ、ルーチンは終了する。供給
が少なければ、ページが管理されているアドレス空間か
ら流用される(42)。ページは目標(管理されてい
る)を有しており、その目標数のフレーム以上を有して
いるアドレス空間から流用される(この場合も、利用可
能な待ち行列フレームの「OK」限界値に達する)。次
いで、43において、システムに利用可能なフレームの
供給が依然として少ないかどうかのテストが行われる。
少なくなければ、ルーチンは終了する。少なければ、フ
レームが大域LRUに基づいてすべてのアドレス空間か
ら流用され(44)、ルーチンは終了する。
【0104】図5及び図6はスワップイン処理の制御フ
ローを示している。501において、現在のシステムの
多重プログラミング・レベルが目標システムの多重プロ
グラミング・レベルよりも下であるかどうかの、通常の
テストが行われる(通常の説明であって、MVSで制御
可能な数値)。下でなければ、ルーチンは終了する。下
であれば、スワップアウトされたアドレス空間が評価さ
れ、スワップインするアドレス空間を選択する(50
2)。図6はこの評価の詳細を示すものである。
【0105】503において、システムの多重プログラ
ミング・レベルが依然システムの目標よりも低いかどう
かのテストが行われる。低くなければ、ルーチンは終了
する。目標よりも低ければ、検討対象のアドレス空間が
管理されていないかどうかのテストが行われる(50
4)。管理されていないアドレス空間であれば、スワッ
プインされ(505)、次のスワップアウトされたアド
レス空間が再度503で検討される。アドレス空間が非
管理でなければ(すなわち、管理されているアドレス空
間であれば)、アドレス空間が「アウト・トゥー・ロン
グ」となっているかどうかのテストが行われる(50
6)(上記の「序」の「アウト・トゥー・ロング」アル
ゴリズム、ならびに図11及びその説明参照)。たとえ
ば、アドレス空間を所定時間(たとえば、10分間)の
間スワップインを行うために迂回することもでき、その
期間中にスワップインのために充分なアドレス空間が存
在するかどうかのテストが行われる(通常は、利用可能
なフレーム待ち行列で利用できる)。アドレス空間がア
ウト・トゥー・ロングであり、かつこのための余地が作
られていれば、アドレス空間はスワップインされ(50
5)、次のスワップアウトされたアドレス空間が再度5
03で検討される。506におけるテストに対する回答
がノーである場合には、アドレス空間がその点「OK
1」における中央記憶機構に適合しているかどうかのテ
ストが行われる(507)。適合していれば、これは管
理状態にスワップインされ(505)、次のスワップア
ウトされたアドレス空間が503において検討される。
507におけるテストに対する回答がノーであれば、ア
ドレス空間が管理されている場合に、適合するかどうか
のテストが行われ(508)、システムの生産CPU率
に最高の寄与をもたらすこととなる(「序」の式3参
照)。適合している場合には、アドレス空間は管理状態
にスワップインされ(505)、次のスワップアウトさ
れたアドレス空間が503で検討される。508におけ
るテストの結果がノーであれば、「アウト・トゥー・ロ
ング」クロックがこのアドレス空間に対して開始され、
アドレス空間がスキップされ、次のスワップアウトされ
たアドレス空間が503で検討される。このプロセスは
すべてのスワップアウトされたアドレス空間が検討され
るまで継続する。
【0106】図7はアドレス空間分析に対する制御フロ
ーを示している。601において、最初の(あるいは、
次の)スワップアウトされたアドレス空間が選択され
る。検討すべき付加的なアドレス空間が実際に存在して
いるのかどうかのテストが602で行われる。存在して
いない場合には、処理装置及び記憶機構分析(603)
が呼び出される。この処理については、以下の図9及び
その説明で詳細に説明する。付加的なアドレス空間が存
在している場合には、アドレス空間が充分長い間(たと
えば、IBM3090処理装置では200万の命令を実
行する時間)実行され、そのページング・カウントが有
効なサンプルを表すようになっているかどうかのテスト
が、604で行われる。充分な有効データが存在してい
ない場合には、次のスワップインされたアドレス空間が
選択される(601)。サンプル・データが有効な場合
には、アドレス空間が管理されているかどうかのテスト
が行われる(605)。管理されているアドレス空間で
ある場合には、キー・データ・ポイントがアドレス空間
に対してプロットされる(606)。このプロッティン
グの詳細は以下の図8及びその説明で説明する。次に、
607において、アドレス空間がその点OK1で作動し
ているかどうかのテストが行われる。作動している場合
には、残っているあらゆる目標活動間隔がクリアされる
(608)(上記のようにページング特性ブロック(図
22)に保持される)。次に、アドレス空間は点OK1
を有しているかどうか、また進行中のOK1活動を有し
ているかどうかのテストが行われる(609)。有して
いる場合には、OK1活動が終了させられ、残っている
あらゆる目標活動間隔がクリアされる(610)。次
に、アドレス空間がその中央記憶機構の点で、最近どの
ように挙動下かのテストが、609で行われる。アドレ
ス空間が多くの(たとえば、10)連続したプロットに
ついてOKの範囲にあることが認められ、かつその中央
記憶機構の割振りがすべての管理されているアドレス空
間に割り振られている平均中央記憶機構よりも少ない場
合には、それがそれまでに管理されていたのであれば、
管理に関して選択解除され、また監視機構に関して選択
解除される(612)。次に、613において、アドレ
ス空間が管理されているか、またそのミニマム・ポイン
ト(上述のように、TH1)よりも下で作動しているか
どうかについてのテストが行われる。そうであれば、そ
の中央記憶機構の目標が、X軸の1増分分だけ増やされ
る(614)。次に、615において、アドレス空間が
該当しているのであれば、OK1活動の候補として選択
される。アドレス空間がそれまで1度もOK1に達して
おらず、OK1活動がこれに対して今まで試みられたこ
とがなく、しかもこれに対して他になんの活動も進行し
ていないのであれば、これは適切なものである。次に、
616において、この呼出しの間に他の状態変化活動候
補が選択されておらず、かつアドレス空間が管理のため
に選択されてから充分な時間が経過している(たとえ
ば、3分)場合には、このアドレス空間が状態変化活動
の候補として選択される。次いで、次のスワップインさ
れたアドレス空間が、601で分析のために選択され、
処理が上述のように継続する。検討対象のアドレス空間
が管理されていないということを、605におけるテス
トが示した場合には、アドレス空間を管理すべきかどう
かのテストが、617で行われる。システムの総ページ
ング・コストが限界値、たとえば利用可能な処理装置時
間の5%を超えており、かつアドレス空間がページング
を行うその収集した時間のたとえば5%超を使用してい
るか、あるいは他のすべての管理されているアドレス空
間の平均サイズを超えているのであれば、アドレス空間
を管理すべきである。そうであれば、アドレス空間を管
理のために選択し(618)、以下で図8及びその説明
で詳述するように点をプロットし(619)、処理はス
テップ615について上記したようにして継続する。
【0107】図8は点のプロッティングの制御フローを
示している。このプロッティングの結果は上述のページ
ング特性ブロックに保持される(図22参照)。これら
の曲線及び点の背景をなす概念については、上記の
「序」の「アドレス空間データ」の項で詳述した。ま
ず、701において、X軸及びY軸がこのアドレス空間
に対して中央記憶機構を使用するために正規化される。
正規化が必要なのは、アドレス空間に割り振られている
現在の中央記憶機構が、X軸の現在の範囲内にない場合
である。上記したように、プロットのX軸は一定数(た
とえば、10個)のX軸増分からなっている。各増分は
等しい数のフレームを表す。アドレス空間を最初に監視
する場合、増分の大きさはその点におけるアドレス空間
に割り振られた中央記憶機構によって決定される。増分
の大きさは観察された割り振られた中央記憶機構が、プ
ロットの右半分の増分の1つに入るように設定される。
アドレス空間の現在の中央記憶機構の大きさが最後のプ
ロットのX軸の増分によって表される記憶域の大きさを
超えた場合、X軸の範囲は各増分によって表される記憶
域の量を2倍にし、かつプロットのデータを元の2つの
関連したX軸増分から、新しい2倍の大きさの増分に移
動することによって拡張される。Y軸に対しても同様
に、軸を拡張する必要があるのは、アドレス空間に対す
る現在のページイン率がページイン率のY軸の現在の範
囲内にない場合にのみである。Y軸の範囲は一定数(た
とえば、10個)の増分に分割される。各増分はアドレ
ス空間について観察された収集された秒当たりの等しい
数のページを表す。(増分の大きさの決定方法について
は、X軸の増分に関して上述した。)アドレス空間に対
して収集された秒当たりの現在のページイン率がY軸の
範囲全体によって表されるページイン率を超えた場合、
Y軸の範囲は各増分によって表されるページイン率を2
倍にすることによって拡張される。次に、702におい
て、アドレス空間データが保管される。現在のX軸の増
分計数が、アドレス空間に割り振られた中央記憶機構に
基づいて計算され、新しいページング・データが計算さ
れたX軸の増分に対応するY軸のスロットに保管され
る。保管されるデータは次の通りである。割り振られた
中央記憶機構、収集された秒当たりのページイン率、常
駐秒当たりの生産CPU率、及び常駐秒当たりのページ
ング・コスト。データのこの保管の一部として、ずれた
点がクリアされ、割り振られた中央記憶機構の関数とし
て、総ページイン率がアドレス空間に対して一様に減少
するようにされる。同様に、個々のずれたYの値がクリ
アされ、割り振られた中央記憶機構の関数として、常駐
秒当たりの生産CPU率が一様に増加し、かつ常駐秒当
たりの総ページング・コストが一様に減少するようにさ
れる。この「クリア」処理が行われるのは、アドレス空
間に対するページング活動を増加させ、中央記憶機構の
割振りを増加させることができない(「適正に挙動し
た」事例において)からである。プロットが他の状態を
示した場合には、アドレス空間のページング特性が変化
し、隣接する点が「ずれている」となされ、除去され
る。次に、703において、X軸及びY軸が必要に応じ
短縮される。アドレス空間に必要な総仮想記憶域が範囲
の左半分に含まれていなかったり、あるいはアドレス空
間の点OK1が範囲の右半分にあったり、もしくはX軸
の範囲の右半分にプロットされた、OKの範囲にない何
らかの点がある場合には、X軸の短縮はなんら必要な
い。(ページイン率のOKの範囲は、Y軸の増分で1ペ
ージイン率少ないページイン率、及び生産CPU時間の
わずかな割合(たとえば、5%未満)のページイン・コ
ストであると定義する。)X軸の範囲は各増分によって
表される記憶域の量を半分にすることによって縮小され
る。Y軸の範囲は、この範囲がこのアドレス空間に対し
てプロットされた最大のページイン率の少なくとも2倍
である場合に、半分にすることによって縮小される。次
に、704において、アドレス空間に対するOK1、ス
ラッシュ1(TH1)(または、ミニマム)、スラッシ
ュ2(TH2)といわれる点が計算され、保管される。
アドレス空間が点OK1を有している場合には、これは
関連するページイン率及びページイン・コストがOKの
範囲内にある中央記憶機構の最小量に対応しているX軸
の増分として定義される。アドレス空間が点TH1を有
している場合には、アドレス空間ページイン率がOKの
範囲を超えており、アドレス空間のページイン率曲線が
「フラット」になる中央記憶機構の最小量に対応してい
るX軸の増分として定義される。フラットとはページイ
ン率のY軸の1増分以上の差のないページイン率のY軸
の値である。アドレス空間が点TH1を有している場
合、これは点TH2も有しており、アドレス空間のペー
ジイン率がその点TH1におけるアドレス空間ページイ
ン率と、ページイン率のY軸の1増分以上異なっていな
い、中央記憶機構の最高量に対応するX軸増分として定
義される。アドレス空間のミニマム・ポイントは、点T
H1が発見される場合には、点TH1と定義され、また
発見されない場合には、プロットの前半における点とし
て定義されるが、後者の場合、ページイン率はプロット
の前半におけるその点のページイン率の2倍を超えてい
ない。
【0108】図9は処理装置及び記憶機構の分析に対す
る制御フローを示している。801において、OK1活
動が何らかのアドレス空間に対して終了する必要がある
かどうかのテストが行われる。(1度に進行できるOK
活動は1つだけである。)アドレス空間に対して進行中
のOK1活動があり、この活動に対して残っている間隔
がない場合には、OK1活動を終了する必要がある。こ
のような場合には、OK1活動が終了させられる(80
2)(図22の2105において、ページング特性ブロ
ックのフラグをオフにすることによって)。次に、CP
Uの利用度が高すぎないかどうかのテストが、803で
行われる。利用度が高すぎる場合には(804)、アド
レス空間はスワップアウトされる(導入最小MPL制御
によって排除されていなければ)。これは管理されてい
るアドレス空間であっても、管理されていないアドレス
空間であってもかまわない。この決定は従来のMVSサ
ービス率の考察に基づいて行われる。アドレス空間がス
ワップアウトされると(805)、ルーチンは次の間隔
まで終了する。スワップアウトされなければ、処理は8
06で継続する。806において、中央記憶機構フレー
ムの供給が少ないかどうかのテストが行われる。中央記
憶機構の平均最大未参照間隔カウント(MVSでは通常
な)が限界値(たとえば、2秒)未満であり、かつ利用
可能なフレームのカウントも限界値(たとえば、300
フレーム)未満の場合には、中央記憶機構の供給は少な
いといわれる。供給が少ない場合には、CPUの利用度
も少なくないのでなければ、アドレス空間はスワップア
ウトされる。上述のように、アドレス空間は管理されて
いても、管理されていなくてもよく、従来の考察に基づ
いて選択される。スワップアウトが808で行われる
と、ルーチンは次の間隔まで終了する。供給が少なくな
い場合には、目標の削減に対する管理されたアドレス空
間の候補が存在しているかどうかのテストが、809で
行われる。アドレス空間が管理されており、これに目標
間隔が残っておらず、目標が効力を生じており(たとえ
ば、現在の中央記憶機構のフレームが目標フレームのカ
ウント以下である)、目標がアドレス空間の最小中央記
憶機構の割振りを超えている場合には、アドレス空間は
その目標が削減された候補であるとみなされる。候補が
存在している場合には、ルーチンは次の間隔まで終了す
る。目標の削減のための候補がない場合には、管理され
ているアドレス空間があるかどうかのテストが、811
で行われる。管理されているアドレス空間が存在してい
る場合には、これは管理状態におかれ(812)、ルー
チンは終了する。アドレス空間は中央記憶機構の目標を
これに割り当てることによって管理状態になされる(当
初、たとえば、現在の割振りからX軸の増分1つを引い
たものにセットされる)。管理されたアドレス空間がな
い場合には、MPLは削減され(811A)、ルーチン
は終了する。中央記憶機構の供給が少なくない場合に
は、OK1の候補がないかどうかのテストが、813で
行われる。このような場合には、アウト・トゥー・ロン
グ処理(814)が呼び出される。この処理について
は、図11及びその説明で説明する。813におけるテ
スト結果がノーである場合には、OK1活動処理(81
5)が呼び出される。この処理については、図10及び
その説明で、詳細に説明する。
【0109】図10はOK1活動処理の制御フローを示
している。まず、901において、OK1活動が進行中
であるかどうかのテストが行われる。進行している場合
には、OK1アドレス空間が成長できるかどうかのテス
トが、902で行われる。このことはOK1アドレス空
間(進行中のOK1活動のあるアドレス空間)が、前回
の間隔でその中央記憶機構の割振りを増やしており、援
助を受けることなく、同じ割合で成長を継続できる(観
察された利用可能なフレーム・カウントに基づいて)こ
とを意味する。成長できるのであれば、アウト・トゥー
・ロング処理が呼び出される(903)。(図11参
照。)成長できないのであれば、スワップアウトされる
アドレス空間があるのかどうかのテストが、904で行
われる。(導入時に定義された最小MPLよりも多くの
スワップインが行われる場合には(MVSでは通常
な)、スワップアウトが1回行われる。)スワップアウ
トできるものが他にあれば、これが選択され、進行中の
OK1活動のアドレス空間に対して余裕をもたらすため
にスワップアウトされる。次いで、ルーチンは終了す
る。スワップアウトされるアドレス空間がない場合に
は、管理された削減目標候補があるかどうかのテスト
が、906で行われる。候補がある場合には、907に
おいて、目標がX軸増分1つ削減され、進行中のOK1
活動のアドレス空間のための余地を作る。アドレス空間
が管理されており、これに目標間隔が残っておらず、目
標が実施されており、かつ目標がアドレス空間の最小中
央記憶機構割振りを超えていれば、アドレス空間はその
目標が削減される候補であるとみなされる。この削減の
後、ルーチンは終了する。管理されている目標の削減候
補が存在しない場合には、管理されているアドレス空間
が存在しているかどうかのテストが、908で行われ
る。存在していない場合には、ルーチンは終了する。存
在している場合には、中央記憶機構をアドレス空間に割
り当てることによって、アドレス空間を管理状態におく
(909)(上述のように)。次いで、ルーチンは終了
する。901におけるテストがノーであると、他の活動
に対するOK1候補の間隔が残っているかどうかのテス
トが行われる。残っている場合には、アウト・トゥー・
ロング処理が呼び出される(911)。(図11参
照。)残っていない場合には、912において、OK1
候補が選択され、これに対するOK1活動が開始され
る。候補がアドレス空間を有していれば、これを解除
し、上述のようにOK1活動を行うための間隔の数を設
定することによって、OK1活動は開始される。次い
で、ルーチンは終了する。
【0110】図11はアウト・トゥー・ロング処理の制
御フローを示している。1001において、何らかのア
ドレス空間がアウト・トゥー・ロングとなっているかど
うかのテストが行われる。これはアドレス空間の他の組
合せの方が、生産性の高い利用度をもたらすからであ
る。アウト・トゥー・ロングのアドレス空間がある場合
には、他のアドレス空間をスワップアウトすることによ
って、このアドレス空間に対する余地を作る(100
3)。アドレス空間は従来の基準に基づいて、スワップ
アウトすることもできる。導入で定義された最小MPL
(従来の)が、取得される。次いで、アウト・トゥー・
ロングのアドレス空間にフラグが設定され、スワップイ
ン評価の次回の呼出し時にスワップインされる。(この
処理の詳細については、図5参照。)次いで、ルーチン
は終了する。どのアドレス空間もアウト・トゥー・ロン
グでなければ、多重プログラミング・レベル調節処理が
呼び出される(1002)。この処理については、図1
2及びその説明で説明する。
【0111】図12は多重プログラミング・レベル調節
処理の制御フローを示している。1101において、C
PU、記憶域及びシステム・ページングのすべての利用
度が少ないかどうかの(従来の)テストが行われる。少
ない場合には、(従来の)目標多重プログラミング・レ
ベルが1増やされ(準備のできた作業がある場合)、ル
ーチンは終了する。資源のすべてが必ずしも利用度が少
なくない場合には、システム・ページング分析が呼び出
される(1102)。システム・ページング分析につい
ては、図13及び下記のその説明で説明する。
【0112】図13はシステム・ページング分析の制御
フローを説明するものである。1201において、シス
テムの未管理ページングが許容できるレベル(たとえ
ば、利用可能な処理装置時間の5%)にあるのかどうか
のテストが行われる。許容レベルでなければ、1202
において、目標削減の候補が存在しているかどうかのテ
ストが行われる。アドレス空間が管理されており、目標
間隔が残っておらず、目標が実施されており、目標がア
ドレス空間の最小中央記憶機構割振りを超えている場合
には、アドレス空間はその目標が削減される候補である
とみなされる。このような候補が存在している場合に
は、目標がX軸の増分1つだけ減少され(1203)、
ルーチンは終了する。候補が存在していない場合には、
管理されているアドレス空間が存在しているかどうかの
テストが、1204で行われる。存在している場合に
は、アドレス空間が目標をこれに割り当てることによっ
て(上述のように)、管理状態におかれる(120
5)。次いで、ルーチンは終了する。管理されているア
ドレス空間が存在していない場合には(あるいは、12
01におけるテストの回答がイエスである場合)、状態
変化の候補があるかどうか(上記の状態変化の説明参
照)、また他の活動に間隔が残っていないかどうかのテ
ストが、1206で行われる。アドレス空間が何らかの
時間間隔の間(たとえば、当初の3分間)管理されてい
る場合には、アドレス空間は状態変化の候補である。候
補が存在している場合には、1207において、状態変
化の候補が選択され、アドレス空間の目標をクリアする
ことによって、アドレス空間を管理状態から監視状態に
変更することによって、状態変化活動が開始される。こ
の活動を行うための実時間及び収集時間の間隔の数が設
定され、状態変化活動時間乗算器が1増加させられる。
次いで、ルーチンは終了する。1206におけるテスト
結果が否定的なものであれば、他の活動のための間隔が
残っているかどうかのテストが、1208で行われる。
残っている場合には、ルーチンは次の間隔まで終了す
る。残っていない場合には、目標及び組み合わせ調節処
理が呼び出される(1209)。この処理については、
図14及びその説明で詳細に説明する。
【0113】図14は目標及び組合せ調節についての制
御フローを示している。1301において、何らかのア
ドレス空間に対して何らかの実施されていない目標があ
るかどうかのテストが行われる。アドレス空間が目標に
よって指定されている数よりも多くの中央記憶機構フレ
ームを有している場合、アドレス空間は実施されていな
い目標を有しているといわれる。換言すれば、アドレス
空間が目標よりも多くのフレームを有している場合、目
標は実施されていないことになる。未実施の目標がある
場合には、目標解除の候補があるかどうかのテストが、
1302で行われる。アドレス空間がこのような候補と
なるのは、その目標が未実施の目標の合計だけ増やされ
た場合に、そのOK1(または総必要仮想記憶域)
(「ベスト・ポイント」)で作動する管理されているア
ドレス空間であるときである。2つ以上のこのような候
補がある場合には、最も生産性の高い候補が選択され
る。最も生産性の高いアドレス空間とは、そのベスト・
ポイントにおいて最も高い生産CPU率を有しているア
ドレス空間である。生産CPU率の決定は、ベスト・ポ
イントを発見し、次いでアドレス空間のプロットから補
間することによって行われる。このような候補がある場
合には、このアドレス空間が選択され(1303)、ア
ドレス目標をクリアすることによって、管理状態から監
視状態に変更され、この活動を行う間隔の数が設定され
る。レシーバが必要としないあらゆる余分なドナー・ア
ドレス空間フレームが、その点OK1に最も近いところ
で作動している管理されたアドレス空間に再割振りされ
る。次に(あるいは、1302におけるテストの結果が
ノーであった後)、アドレス空間の状態が管理状態から
監視状態に変化しているかどうかのテストが、1304
で行われる。変化している場合には、ルーチンは次の間
隔まで終了する。変化していない場合には、目標を未実
施目標の合計だけ増やしたときに、より高い生産性で作
動できる少なくとも1つの管理されたアドレス空間があ
るかどうかのテストが、1305で行われる。このよう
なアドレス空間が存在する場合には、これが1306で
選択され、その目標が未実施の目標の数だけ増やされ、
この活動を行う間隔の数が設定される。次いで、ルーチ
ンは次の間隔まで終了する。このような候補が存在しな
い場合(あるいは、1301におけるテストの結果がノ
ーであった後)、記憶域の増加に対して最善の管理され
ているアドレス空間の候補が選択される(1307)。
これは管理されている各アドレス空間を順次分析し、追
加の中央記憶機構が割り振られた場合にページング・コ
スト率を最も削減するアドレス空間を選択することによ
って行われる。追加の中央記憶域の量は、アドレス空間
がそのフラット範囲で作動している場合には、アドレス
空間の点TH2を超えているX軸の増分1つか、あるい
はアドレス空間が現在作動している点を超えているX軸
の増分1つかのいずれかである。このような管理された
アドレス空間を選択できたかどうかのテストが、130
8で行われる。選択できた場合には、1307において
中央記憶機構の増加のために選択されたアドレス空間以
外の、管理または監視されている各アドレス空間を分析
し(1309)、その中央記憶機構の割振りをX軸の増
分1つだけ減らさなければならない場合に、そのページ
ング・コスト率をどれくらい増やすかを決定する。ペー
ジング・コスト率を増やすのが最も少ないアドレス空間
が選択される。この処理はこのような選択された管理ま
たは監視、あるいは両方が行われているアドレス空間か
ら充分な中央記憶機構が蓄積され、ステップ1307で
決定された予想記憶域の増加が行われるまで継続する。
次に、1310において、ステップ1307及び130
8の結果として予想された変更が、システムに対する正
味のページング・コストの減少をもたらすかどうかのテ
ストが行われる(「序」の式1参照)。このような正味
のページング・コストの減少がある場合には、ドナー・
アドレス空間の目標が削減され、被ドナー・アドレス空
間の目標が増加され、この活動を行うための間隔の数が
設定される(たとえば、10個の間隔)(1311)。
次いで、ルーチンは次の間隔まで終了する。変更が正味
のページング・コストの減少をもたらさない場合(ある
いは、1308におけるテストの結果がノーであった
後)、管理されているアドレス空間を分析し、スワップ
アウト/目標の増加の組合せを行って、システムの生産
性を向上させることができるかどうかを調べることによ
って、組合せの変更の評価が行われる。この評価は管理
されている各アドレス空間を最も生産性の高いものから
最も生産性の低いものへの順に順次分析し、潜在的なド
ナー・アドレス空間に割り振られた中央記憶機構の合計
だけその目標を増加し、ドナー・アドレス空間をスワッ
プアウトすることがシステム全体をより生産的に作動さ
せることになるかを判定することによって行われる
(「序」の式2参照)。ドナーは最も生産性の低いもの
から最も生産性の高いものへの順に、すべての管理され
ているアドレス空間から選択される。(被ドナー1つ及
び1つまたは複数のドナーが検討される。)次いで、よ
り良好な潜在的な組合せが1312における処理によっ
て発見されるかどうかのテストが、1313で行われ
る。発見されない場合には、ルーチンは終了する。発見
される場合には、ドナーがスワップアウトされ、被ドナ
ー・アドレス空間の目標が、アドレス空間の中央記憶機
構をクリアして、アドレス空間を管理状態から監視状態
に変更することによって解除され、今活動を行うための
間隔の数が設定される(たとえば、20個の間隔)。次
いで、ルーチンは終了する。
【0114】レシーバが必要としないあらゆる余分のド
ナー・アドレス空間フレームは、その点OK1に最も近
いところで作動している管理されたアドレス空間に再割
振りされる。
【0115】本発明の特定の実施例を開示したが、当分
野の技術者には、本発明の精神及び範囲を逸脱すること
なく、これらの特定の実施例に変更(たとえば、中央記
憶機構を管理することから、中央記憶機構及び拡張記憶
域の両方を管理することへの拡張)を加えられることが
理解されよう。
【図面の簡単な説明】
【図1】本発明の主要な特性を説明するブロック流れ図
である。
【図2】ページング活動カウンティングを説明するブロ
ック図である。
【図3】ページ不在処理を説明するブロック図である。
【図4】ページ流用処理を説明するブロック図である。
【図5】スワップイン処理に対する制御フローを説明す
る流れ図である。
【図6】アドレス空間分析の制御フローを説明する流れ
図である。
【図7】点のプロッティングを説明する流れ図である。
【図8】処理装置及び記憶装置の分析に対する制御フロ
ーを説明する流れ図である。
【図9】OK1動作処理に対する制御フローを説明する
流れ図である。
【図10】アウト・トゥー・ロング処理に対する制御フ
ローを説明する流れ図である。
【図11】MPL調節処理に対する制御フローを説明す
る流れ図である。
【図12】システム・ページング処理に対する制御フロ
ーを説明する流れ図である。
【図13】目標及び混合体の調節に対する制御フローを
説明する流れ図である。
【図14】参照の局所性を有するアドレス空間に対する
ページング特性曲線である。
【図15】順次参照を有するアドレス空間に対するペー
ジング特性曲線である。
【図16】割り振られた中央記憶機構の関数としてのペ
ージングに対するアドレス空間のCPUコストを示す曲
線である。
【図17】割り振られた中央記憶機構の関数としての常
駐秒数当たりのアドレス空間の生産CPU率を示す曲線
である。
【図18】アイドル・フレーム秒の関数としての未管理
ページングに対するシステムのCPUコストを示す曲線
である。
【図19】アイドル・フレーム秒の関数としての処理装
置経過秒当たりのシステムの生産CPU率を示す曲線で
ある。
【図20】点「SP」及び「SC」を説明する、システ
ム未管理ページング及びスワップ・コスト率を示す曲線
である。
【図21】本発明のページング特性ブロックを説明する
制御ブロック図である。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 バーナード・ロイ・パース アメリカ合衆国12601、ニユーヨーク州ポ ーキープシー、クリーム・ストリート 262番地

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】CPUと、主記憶装置と、アドレス空間内
    のプログラムと、オペレーティング・システムからなる
    仮想記憶域プログラミング・システムにおいて、 a)1つまたは複数の監視対象のプログラムを選択し、 b)前記の1つまたは複数の監視対象のプログラムに対
    して定期的にページング・データを収集し、 c)前記の1つまたは複数の監視対象のプログラムのう
    ち選択されたプログラムの実効ページ・セットを個別に
    管理し、前記の選択されたプログラムに対する追加のペ
    ージング・データを収集する、 ステップからなる、プログラムのページング特性を決定
    し、使用して、生産CPU時間を改善する方法。
  2. 【請求項2】個別に管理を行うステップが前記の選択さ
    れたプログラムをページ置換から保護し、該選択された
    プログラムの実効ページ・セットが現在の実効ページ・
    セットの大きさよりも大きな値まで成長できるように試
    みることからなる、請求項1記載の方法。
  3. 【請求項3】前記の大きな値が点OK1である、請求項
    2記載の方法。
  4. 【請求項4】個別に管理を行うステップが前記の選択さ
    れたプログラムの実効ページ・セットを削減し、該選択
    されたプログラムの実効ページ・セットが現在の実効ペ
    ージ・セットの大きさよりも小さな値まで縮小できるよ
    うに試みることからなる、請求項1記載の方法。
  5. 【請求項5】前記の小さな値が点TH1である、請求項
    4記載の方法。
  6. 【請求項6】CPUと、主記憶装置と、アドレス空間内
    のプログラムと、オペレーティング・システムからなる
    プログラミング・システムにおいて、管理されていない
    ページングに対するシステムのCPUコストからなるシ
    ステム・ページング・データを制御ブロックに収集し、
    アイドル・フレーム秒の関数として、処理装置の経過時
    間ごとにスワップを行うステップからなる、プログラム
    のページング特性を決定し、使用して、生産CPU時間
    を改善する方法。
  7. 【請求項7】CPUと、主記憶装置と、アドレス空間内
    のプログラムと、オペレーティング・システムからなる
    プログラミング・システムにおいて、アイドル・フレー
    ム秒の関数としての処理装置の経過秒当たりのシステム
    の生産CPU率からなるシステム・ページング・データ
    を制御ブロックに収集するステップからなる、プログラ
    ムのページング特性を決定し、使用して、生産CPU時
    間を改善する方法。
  8. 【請求項8】さらに管理されていないページングに対す
    るシステムのCPUコストからなるシステム・ページン
    グ・データを制御ブロックに収集し、アイドル・フレー
    ム秒の関数として、処理装置の経過時間ごとにスワップ
    を行うステップからなる、請求項7記載の方法。
  9. 【請求項9】CPUと、主記憶装置と、アドレス空間内
    のプログラムと、オペレーティング・システムからなる
    プログラミング・システムにおいて、割り振られた中央
    記憶機構の関数としての常駐秒当たりのページングに対
    するプログラムのCPUコストからなるプログラム・ペ
    ージング・データをプログラムに関連した制御ブロック
    に収集するステップからなる、プログラムのページング
    特性を決定し、使用して、生産CPU時間を改善する方
    法。
  10. 【請求項10】CPUと、主記憶装置と、アドレス空間
    内のプログラムと、オペレーティング・システムからな
    るプログラミング・システムにおいて、割り振られた中
    央記憶機構の関数としての常駐秒当たりのプログラムの
    生産CPU率からなるプログラム・ページング・データ
    をプログラムに関連した制御ブロックに収集するステッ
    プからなる、プログラムのページング特性を決定し、使
    用して、生産CPU時間を改善する方法。
  11. 【請求項11】さらに割り振られた中央記憶機構の関数
    としての常駐秒当たりのページングに対するプログラム
    のCPUコストからなるプログラム・ページング・デー
    タをプログラムに関連した制御ブロックに収集するステ
    ップからなる、請求項10記載の方法。
  12. 【請求項12】CPUと、主記憶装置と、アドレス空間
    内のプログラムと、オペレーティング・システムからな
    る多重プログラミング・システムにおいて、 a)1つまたは複数の監視対象のプログラムを選択し、 b)ある時間間隔にわたるかく監視対象プログラムに対
    してページング特性のセットを生成し、 c)1つまたは複数の監視対象プログラムから、1つま
    たは複数の管理対象プログラムを選択し、 d)目標実効ページ・セット・サイズを1つまたは複数
    の管理対象プログラムに割振り、 e)実効ページ・セットに関連したプログラム調節の予
    想される生産システム利用度に対する影響を計算し、 f)前記の影響が計算を行う前記のステップによって肯
    定的なものであると判定された場合に、前記の実効ペー
    ジ・セットに関連したプログラム調節を開始する、 ステップからなる、プログラムのページング特性を決定
    し、使用して、生産CPU時間を改善する方法。
  13. 【請求項13】前記のすべてのステップがシステム・ペ
    ージング活動を最初に計算し、該ページング活動が限界
    値を超えていると判定された後にのみ行われる、請求項
    10記載の方法。
  14. 【請求項14】前記の実効ページ・セットに関連したプ
    ログラム調節が実効ページ・セットの大きさを調節する
    ことからなる、請求項12または請求項13記載の方
    法。
  15. 【請求項15】前記の調節が1つまたは複数のドナー・
    プログラムからレシーバ・プログラムへ多数のフレーム
    を再割振りする値を決定することによって行われる、請
    求項14記載の方法。
  16. 【請求項16】前記の値が潜在的な新しい実効ページ・
    セットの大きさにおけるレシーバ・プログラムの予想ペ
    ージング・コスト率から、その現在のページング・コス
    ト率を差し引き、新しい実効ページ・セットの大きさに
    おけるすべての潜在的なドナー・プログラムに対する総
    予想ページング・コストから、これらの現在のページン
    グ・コストを差し引くことによって計算される、請求項
    15記載の方法。
  17. 【請求項17】前記の実効ページ・セットに関連した調
    節が活動プログラムの組合せを調節することからなる、
    請求項12または請求項13記載の方法。
  18. 【請求項18】前記の調節が推定変更値に基づいて、ス
    ワップアウト及び目標の増加活動を開始することによっ
    て行われる、請求項17記載の方法。
  19. 【請求項19】前記推定変更値が1つまたは複数のドナ
    ー・プログラムをスワップアウトし、これらのフレーム
    をレシーバ・プログラムに利用できるようにすることの
    システム生産性に対する利点を計算する、請求項18記
    載の方法。
  20. 【請求項20】a)レシーバ・プログラムの現在の生産
    CPU率を引いた、OK1におけるその予想生産CPU
    率を加え、 b)レシーバ・プログラムのページング・コスト率を引
    いた、OK1におけるその予想ページング・コスト率を
    差し引き、 c)すべての潜在的なドナー・プログラムに起因する現
    在の総生産CPU率を差し引き、 d)すべての潜在的なドナー・プログラムに起因する現
    在の総ページング・コストを加え、 e)SPにおける率を引いた、SCにおけるシステム生
    産CPU率を差し引き、 f)SPにおける率を引いた、SCにおけるシステムの
    未管理ページング及びスワップ・コスト率を差し引く、 という計算ステップを行うことによって、前記の推定変
    更値を計算する、請求項19記載の方法。
  21. 【請求項21】CPUと、主記憶装置と、アドレス空間
    内のプログラムと、オペレーティング・システムからな
    る仮想記憶域プログラミング・システムにおいて、 a)監視されているプログラムに対するページング・デ
    ータを収集するためのページング・データ収集手段と、 b)目標を管理されているプログラムに割り当てるため
    の目標設定手段と、 c)実効ページ・セットに関連したプログラム調節の予
    想される生産システム利用度に対する影響を計算するた
    めの影響計算手段と、 d)前記の実効ページセットに関連したプログラム調節
    を開始するための、前記の影響計算手段に応答する開始
    手段と からなる、プログラムのページング特性を決定し、使用
    して、生産CPU時間を改善する装置。
  22. 【請求項22】前記の実効ページ・セットに関連したプ
    ログラム調節が実効ページ・セット・サイズ調節からな
    る、請求項21記載の装置。
  23. 【請求項23】前記の実効ページ・セットに関連したプ
    ログラム調節が活動プログラム組合せ調節からなる、請
    求項22記載の装置。
JP3193699A 1990-08-31 1991-07-09 システムの生産cpu時間を改善する方法 Pending JPH0594315A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US576539 1990-08-31
US07/576,539 US5247687A (en) 1990-08-31 1990-08-31 Method and apparatus for determining and using program paging characteristics to optimize system productive cpu time

Publications (1)

Publication Number Publication Date
JPH0594315A true JPH0594315A (ja) 1993-04-16

Family

ID=24304853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3193699A Pending JPH0594315A (ja) 1990-08-31 1991-07-09 システムの生産cpu時間を改善する方法

Country Status (3)

Country Link
US (1) US5247687A (ja)
EP (1) EP0472868A3 (ja)
JP (1) JPH0594315A (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3119919B2 (ja) * 1991-12-11 2000-12-25 富士通株式会社 計算機システム
US5715463A (en) * 1992-03-31 1998-02-03 International Business Machines Corporation Installation utility for device drivers and utility programs
US5903757A (en) * 1992-09-10 1999-05-11 International Business Machines Corporation Monitoring and handling of exception conditions in computer system
US5392415A (en) * 1992-12-15 1995-02-21 International Business Machines Corporation System for grouping non-contiguous pages belonging to a storage object for page out
US5437032A (en) * 1993-11-04 1995-07-25 International Business Machines Corporation Task scheduler for a miltiprocessor system
US5721917A (en) * 1995-01-30 1998-02-24 Hewlett-Packard Company System and method for determining a process's actual working set and relating same to high level data structures
US6073225A (en) * 1997-06-24 2000-06-06 Intel Corporation Method and apparatus for monitoring bus transactions based on cycle type and memory address range
US6026472A (en) * 1997-06-24 2000-02-15 Intel Corporation Method and apparatus for determining memory page access information in a non-uniform memory access computer system
US6381740B1 (en) * 1997-09-16 2002-04-30 Microsoft Corporation Method and system for incrementally improving a program layout
JP4036992B2 (ja) * 1998-12-17 2008-01-23 富士通株式会社 キャッシュモジュール間でデータを動的に管理するキャッシュ制御装置および方法
US6665785B1 (en) 2000-10-19 2003-12-16 International Business Machines, Corporation System and method for automating page space optimization
US7146466B2 (en) * 2004-03-23 2006-12-05 International Business Machines System for balancing multiple memory buffer sizes and method therefor
US7681195B2 (en) * 2004-04-02 2010-03-16 International Business Machines Corporation System, method, and service for efficient allocation of computing resources among users
US20060136668A1 (en) * 2004-12-17 2006-06-22 Rudelic John C Allocating code objects between faster and slower memories
GB0515395D0 (en) * 2005-07-27 2005-08-31 Ibm A method or apparatus for determining the memory usage of a program
US20070043672A1 (en) * 2005-08-16 2007-02-22 Bea Systems, Inc. Per unit basis software licensing model
GB0523115D0 (en) * 2005-11-12 2005-12-21 Ibm A resource optimisation component
US7484074B2 (en) * 2006-01-18 2009-01-27 International Business Machines Corporation Method and system for automatically distributing real memory between virtual memory page sizes
US8468310B2 (en) * 2007-07-31 2013-06-18 Vmware, Inc. Method and system for tracking data correspondences
US8225053B1 (en) * 2007-09-29 2012-07-17 Symantec Corporation Method and apparatus for mitigating performance impact of background processing on interactive application
US8255642B2 (en) * 2009-12-03 2012-08-28 International Business Machines Corporation Automatic detection of stress condition
US8972696B2 (en) 2011-03-07 2015-03-03 Microsoft Technology Licensing, Llc Pagefile reservations
US8832411B2 (en) 2011-12-14 2014-09-09 Microsoft Corporation Working set swapping using a sequentially ordered swap file
US9239727B1 (en) * 2012-10-17 2016-01-19 Amazon Technologies, Inc. Configurable virtual machines
US10102148B2 (en) 2013-06-13 2018-10-16 Microsoft Technology Licensing, Llc Page-based compressed storage management
US9684625B2 (en) 2014-03-21 2017-06-20 Microsoft Technology Licensing, Llc Asynchronously prefetching sharable memory pages
US9430401B2 (en) * 2015-01-16 2016-08-30 International Business Machines Corporation Implementing paging optimization to avoid populate on page fault during an IO read
US9632924B2 (en) 2015-03-02 2017-04-25 Microsoft Technology Licensing, Llc Using memory compression to reduce memory commit charge
US10037270B2 (en) 2015-04-14 2018-07-31 Microsoft Technology Licensing, Llc Reducing memory commit charge when compressing memory
US10387329B2 (en) 2016-02-10 2019-08-20 Google Llc Profiling cache replacement
US9826932B2 (en) 2016-04-19 2017-11-28 Google Llc Automated abdominojugular reflux testing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5458318A (en) * 1977-10-19 1979-05-11 Fujitsu Ltd Job control system in artificial memory system
JPS5652447A (en) * 1979-10-02 1981-05-11 Nec Corp Working set control system
JPS6039248A (ja) * 1983-08-11 1985-03-01 Nippon Telegr & Teleph Corp <Ntt> 資源管理方式
JPS63113740A (ja) * 1986-10-31 1988-05-18 Toshiba Corp タスクのワ−キング・セツト・サイズ調整方式

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4047243A (en) * 1975-05-27 1977-09-06 Burroughs Corporation Segment replacement mechanism for varying program window sizes in a data processing system having virtual memory
DE3686291T2 (de) * 1985-05-29 1993-03-11 Toshiba Computer Eng Cache-anordnung mit einem lru-verfahren und magnetscheibensteuereinrichtung mit einer solchen anordnung.
US4989134A (en) * 1987-03-20 1991-01-29 Hewlett-Packard Company Method and apparatus for enhancing data storage efficiency
JP3226525B2 (ja) * 1988-10-07 2001-11-05 株式会社日立製作所 主記憶管理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5458318A (en) * 1977-10-19 1979-05-11 Fujitsu Ltd Job control system in artificial memory system
JPS5652447A (en) * 1979-10-02 1981-05-11 Nec Corp Working set control system
JPS6039248A (ja) * 1983-08-11 1985-03-01 Nippon Telegr & Teleph Corp <Ntt> 資源管理方式
JPS63113740A (ja) * 1986-10-31 1988-05-18 Toshiba Corp タスクのワ−キング・セツト・サイズ調整方式

Also Published As

Publication number Publication date
EP0472868A3 (en) 1992-04-08
US5247687A (en) 1993-09-21
EP0472868A2 (en) 1992-03-04

Similar Documents

Publication Publication Date Title
JPH0594315A (ja) システムの生産cpu時間を改善する方法
KR102226017B1 (ko) 동적으로 입도를 업데이트하는 적응적 캐시 대체 매니저 및 공유 플래시-기반 스토리지 시스템의 파티셔닝 방법
US5473773A (en) Apparatus and method for managing a data processing system workload according to two or more distinct processing goals
US7565652B2 (en) Method of setting priority level in a multiprogramming computer system with priority scheduling, multiprogramming computer system and program thereof
US9836328B2 (en) System and method for improving memory usage in virtual machines at a cost of increasing CPU usage
US5675797A (en) Goal-oriented resource allocation manager and performance index technique for servers
US8140808B2 (en) Reclaiming allocated memory to reduce power in a data processing system
EP3129887B1 (en) Multiple data prefetchers that defer to one another based on prefetch effectiveness by memory access type
US7617375B2 (en) Workload management in virtualized data processing environment
JP2559915B2 (ja) ロードバランスシステム
US7698531B2 (en) Workload management in virtualized data processing environment
US20110225591A1 (en) Hypervisor, computer system, and virtual processor scheduling method
US20100250642A1 (en) Adaptive Computing Using Probabilistic Measurements
JP2008234651A (ja) 複数のインスタンスアプリケーションに対し負荷分散装置を動作させるシステムおよび方法
WO2008118290A1 (en) Computing the processor desires of jobs in an adaptively parallel scheduling environment
US20160055098A1 (en) Computer system with memory aging for high performance
JPH11328031A (ja) 動的変換システムにおけるトレ―スのランク付け方法
US20060275934A1 (en) Management of computer processes
US10754547B2 (en) Apparatus for managing disaggregated memory and method thereof
US7698530B2 (en) Workload management in virtualized data processing environment
EP3295276A1 (en) Reducing power by vacating subsets of cpus and memory
US7299469B2 (en) Hierarchical weighting of donor and recipient pools for optimal reallocation in logically partitioned computer systems
JP4617097B2 (ja) 論理的にパーティション化された環境においてプロセッサを再割振りするための方法、コンピュータ・システム及びコンピュータ・プログラム
Jiang et al. TPF: a dynamic system thrashing protection facility
Nikas et al. An adaptive bloom filter cache partitioning scheme for multicore architectures

Legal Events

Date Code Title Description
A521 Written amendment

Effective date: 20060314

Free format text: JAPANESE INTERMEDIATE CODE: A523

A61 First payment of annual fees (during grant procedure)

Effective date: 20060511

Free format text: JAPANESE INTERMEDIATE CODE: A61

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100519

Year of fee payment: 4

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

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20100519

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

Free format text: PAYMENT UNTIL: 20110519

Year of fee payment: 5

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

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20110519

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

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20120519

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

Year of fee payment: 7

Free format text: PAYMENT UNTIL: 20130519

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

Free format text: PAYMENT UNTIL: 20130519

Year of fee payment: 7