JPH06100981B2 - 記憶階層制御方式 - Google Patents
記憶階層制御方式Info
- Publication number
- JPH06100981B2 JPH06100981B2 JP58246284A JP24628483A JPH06100981B2 JP H06100981 B2 JPH06100981 B2 JP H06100981B2 JP 58246284 A JP58246284 A JP 58246284A JP 24628483 A JP24628483 A JP 24628483A JP H06100981 B2 JPH06100981 B2 JP H06100981B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- program
- storage
- storage device
- main memory
- 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 - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (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)
Description
【発明の詳細な説明】 〔発明の利用分野〕 本発明は計算機等の記憶階層制御方式に関するもので、
特にプログラムやデータの重複使用頻度が高く、大要領
の主記憶装置、ディスク・キャッシュ装置やディスク装
置から成る記憶階層を有する大規模計算機システムにお
いて好適である。
特にプログラムやデータの重複使用頻度が高く、大要領
の主記憶装置、ディスク・キャッシュ装置やディスク装
置から成る記憶階層を有する大規模計算機システムにお
いて好適である。
従来のプログラムやデータの主記憶への読み込みはこれ
らの使用要求発生時に補助記憶装置から転送していた。
このため1回のプログラム実行時間が長くなり、またこ
の入出力転送量が増大する結果入出力チャネルがボトル
ネックとなる危険が高かった。
らの使用要求発生時に補助記憶装置から転送していた。
このため1回のプログラム実行時間が長くなり、またこ
の入出力転送量が増大する結果入出力チャネルがボトル
ネックとなる危険が高かった。
本発明と類似の技術として、仮想記憶方式におけるペー
ジングや入出力を仮想化し、予め主記憶上にプログラム
やデータを配置しておく技術がある。しかし、これらに
は本発明の特徴である記憶階層制御の稼動情報を取得
し、これを基に物理的な入出力を削減するような主記憶
中の配置を自動的に決定・実行したり、稼動情報を表示
させてユーザが特定のプログラムやデータを主記憶上に
常駐させたりする機能はないため、主記憶の有効利用は
限られ、物理入出力の削減効果も低いという欠点があっ
た。
ジングや入出力を仮想化し、予め主記憶上にプログラム
やデータを配置しておく技術がある。しかし、これらに
は本発明の特徴である記憶階層制御の稼動情報を取得
し、これを基に物理的な入出力を削減するような主記憶
中の配置を自動的に決定・実行したり、稼動情報を表示
させてユーザが特定のプログラムやデータを主記憶上に
常駐させたりする機能はないため、主記憶の有効利用は
限られ、物理入出力の削減効果も低いという欠点があっ
た。
また、ページング処理ではページ・リプレースメント・
アルゴリズムとしてLRU(Least Recently Used)法やWo
rking Set法が用いられるが、これらの方式は基本的に
プログラム実行の局所参照性を利用してより最近に使用
されたものを主記憶中に配置することを行なっている。
これに対し本発明はページング処理では考慮外であった
転送単位の大きさ(1ページは一定であるため)を優先
度に反映させている点に特徴がある。
アルゴリズムとしてLRU(Least Recently Used)法やWo
rking Set法が用いられるが、これらの方式は基本的に
プログラム実行の局所参照性を利用してより最近に使用
されたものを主記憶中に配置することを行なっている。
これに対し本発明はページング処理では考慮外であった
転送単位の大きさ(1ページは一定であるため)を優先
度に反映させている点に特徴がある。
本発明の目的は、上記の問題点を解消するため複数階層
をもつ記憶階層において、中央処理装置から直接アクセ
スできる高速な上位の記憶階層上により優先度の高いプ
ログラムやデータを配置し、これによりプログラムの階
層間転送処理を削減し、またプログラムの実行速度を高
めることにより、最終的にプログラムの実行時間を短縮
させることにある。
をもつ記憶階層において、中央処理装置から直接アクセ
スできる高速な上位の記憶階層上により優先度の高いプ
ログラムやデータを配置し、これによりプログラムの階
層間転送処理を削減し、またプログラムの実行速度を高
めることにより、最終的にプログラムの実行時間を短縮
させることにある。
上記の目的を達成するため、本発明の記憶階層制御方式
では、処理装置から直接アクセスできる第1の記憶装置
と、入出力装置を介してアクセスする第2の記憶装置と
を備え、第1または第2の記憶装置上に配置されたプロ
グラムまたはデータによって構成される記憶階層を有す
るシステムにおいて、プログラムまたはデータの使用状
況を監視して、使用状況に関する情報を記憶する。そし
て、記憶した使用状況に関する情報を基に、第1及び第
2の記憶装置内のプログラムまたはデータの中から第1
の記憶装置上に予め配置しておくプログラムまたはデー
タを選択し、選択されたプログラムまたはデータを第1
の記憶装置上に配置する。この選択、配置の処理は、予
め定められたタイミングで周期的に実施される。また、
本発明の他の態様では、第1の記憶装置に配置すべきプ
ログラムやデータを、それらの使用状況をもとに算出し
た優先度に従って決定し、第1の記憶装置に配置してお
く。
では、処理装置から直接アクセスできる第1の記憶装置
と、入出力装置を介してアクセスする第2の記憶装置と
を備え、第1または第2の記憶装置上に配置されたプロ
グラムまたはデータによって構成される記憶階層を有す
るシステムにおいて、プログラムまたはデータの使用状
況を監視して、使用状況に関する情報を記憶する。そし
て、記憶した使用状況に関する情報を基に、第1及び第
2の記憶装置内のプログラムまたはデータの中から第1
の記憶装置上に予め配置しておくプログラムまたはデー
タを選択し、選択されたプログラムまたはデータを第1
の記憶装置上に配置する。この選択、配置の処理は、予
め定められたタイミングで周期的に実施される。また、
本発明の他の態様では、第1の記憶装置に配置すべきプ
ログラムやデータを、それらの使用状況をもとに算出し
た優先度に従って決定し、第1の記憶装置に配置してお
く。
以上のような構成により、本発明によれば、処理装置が
使用する可能性の高いプログラムまたはデータを予め処
理装置から直接アクセスできる記憶装置上に配置してお
くことを可能となる。そして、使用要求があったときに
そのプログラムやデータが第1の記憶装置上に存在して
いる率を高めることができる。これにより、記憶階層間
での転送処理を削減した効率のよい処理を行なうことが
可能となる。
使用する可能性の高いプログラムまたはデータを予め処
理装置から直接アクセスできる記憶装置上に配置してお
くことを可能となる。そして、使用要求があったときに
そのプログラムやデータが第1の記憶装置上に存在して
いる率を高めることができる。これにより、記憶階層間
での転送処理を削減した効率のよい処理を行なうことが
可能となる。
以下、本発明を実施例により説明する。
(第1の実施例) 第1図に第1の実施例の構成を示す。本実施例では中央
処理装置が直接にアクセス可能な高速の記憶装置として
主記憶装置を、中央処理装置からは直接にアクセス不可
能なより低速の記憶装置として補助記憶装置(ディスク
装置)を設定している。本発明における記憶階層制御方
式が果すべき機能としては、(第2図) (1)使用要求が発生したプログラムやデータが記憶階
層制御の管理下かどうかの判定と実行 (2)主記憶中に配置すべきプログラムやデータの決定
と実行 (3)記憶階層制御に関する稼動情報の収集 (4)ユーザ・コマンドによる稼動情報の表示 (5)ユーザ・コマンドによるプログラムやデータの主
記憶常駐指定・常駐解除指定ならびに記憶階層制御適用
指定・適用解除指定 が必要である。これらの機能を実現するために、記憶階
層制御が各プログラム/データを現在どう状態で管理し
ているかを表わす管理テーブルを用意する(第3図)。
この管理テーブル中にはプログラム名称の他に、補助記
憶装置内における位置情報、主記憶中に配置されている
場合にはそのアドレス、ユーザ・コマンドによって主記
憶常駐とするか非常駐とするか指定できるが、現在その
いずれの属性になっているかを表わすフラグ、非常駐属
性のプログラムやデータが現在主記憶中にあるかないか
を示す状態フラグ、最後に主記憶に読み込まれてからプ
ログラム、データが更新されたかを表わすフラグ、並び
に当該プログラム、データを主記憶中に配置すべき優先
度がそれぞれ含まれる。
処理装置が直接にアクセス可能な高速の記憶装置として
主記憶装置を、中央処理装置からは直接にアクセス不可
能なより低速の記憶装置として補助記憶装置(ディスク
装置)を設定している。本発明における記憶階層制御方
式が果すべき機能としては、(第2図) (1)使用要求が発生したプログラムやデータが記憶階
層制御の管理下かどうかの判定と実行 (2)主記憶中に配置すべきプログラムやデータの決定
と実行 (3)記憶階層制御に関する稼動情報の収集 (4)ユーザ・コマンドによる稼動情報の表示 (5)ユーザ・コマンドによるプログラムやデータの主
記憶常駐指定・常駐解除指定ならびに記憶階層制御適用
指定・適用解除指定 が必要である。これらの機能を実現するために、記憶階
層制御が各プログラム/データを現在どう状態で管理し
ているかを表わす管理テーブルを用意する(第3図)。
この管理テーブル中にはプログラム名称の他に、補助記
憶装置内における位置情報、主記憶中に配置されている
場合にはそのアドレス、ユーザ・コマンドによって主記
憶常駐とするか非常駐とするか指定できるが、現在その
いずれの属性になっているかを表わすフラグ、非常駐属
性のプログラムやデータが現在主記憶中にあるかないか
を示す状態フラグ、最後に主記憶に読み込まれてからプ
ログラム、データが更新されたかを表わすフラグ、並び
に当該プログラム、データを主記憶中に配置すべき優先
度がそれぞれ含まれる。
記憶階層制御のもつ各機能の実施例を以下に詳細に説明
する。
する。
(1)プログラムの実行要求発生時(第4図) プログラムの実行要求が発生した場合には、制御はまず
記憶階層管理下判定装置に渡る。ここでは管理テーブル
を検索して当該のプログラムが管理テーブル中に存在す
るかを判定する。もし存在しなければ当該プログラムは
記憶階層制御下にはなく、通常の入力処理装置により記
憶階層制御外の主記憶に読み込む。もし存在すれば次に
当該プログラムが既に主記憶中に読み込まれているかを
判定し、主記憶中になければ管理テーブル中の状態フラ
グを更新し、再配置実行装置により当該プログラムを主
記憶に読み込む。またもし主記憶中に既にあれば記憶階
層制御は処理を行なう必要がなく、そのまま当該プログ
ラムへ制御を渡す。
記憶階層管理下判定装置に渡る。ここでは管理テーブル
を検索して当該のプログラムが管理テーブル中に存在す
るかを判定する。もし存在しなければ当該プログラムは
記憶階層制御下にはなく、通常の入力処理装置により記
憶階層制御外の主記憶に読み込む。もし存在すれば次に
当該プログラムが既に主記憶中に読み込まれているかを
判定し、主記憶中になければ管理テーブル中の状態フラ
グを更新し、再配置実行装置により当該プログラムを主
記憶に読み込む。またもし主記憶中に既にあれば記憶階
層制御は処理を行なう必要がなく、そのまま当該プログ
ラムへ制御を渡す。
この場合、当該プログラムが記憶階層制御下にない場合
ならびに制御下にあっても主記憶にない場合はプログラ
ムの実行時間は短縮されない。しかし記憶階層制御下に
あってかつ主記憶中にあるプログラムについてはそのま
ま実行可能なので実行時間は短縮される。
ならびに制御下にあっても主記憶にない場合はプログラ
ムの実行時間は短縮されない。しかし記憶階層制御下に
あってかつ主記憶中にあるプログラムについてはそのま
ま実行可能なので実行時間は短縮される。
(2)再配置処理実行のためのタイマ割込み発生時(第
5図) 主記憶中にどのプログラムやデータを配置しておくかを
決定し実行する再配置処理は、プログラムやデータの使
用とは全く非同期にタイマ割込みにより周期的に起動さ
れる。この起動周期を再配置周期と呼ぶ。この処理が起
動されると制御は再配置決定装置に移る。再配置決定装
置では、その時点における管理テーブルの内容、稼動情
報履歴により各プログラムやデータを主記憶へ読み込む
べき優先度を算出する。次にこの優先度に基づき優先度
が高いにもかかわらず主記憶中にないプログラム、デー
タのうち所要量だけを抽出し、次にこの量に相当する優
先度が低くて主記憶中に存在するプログラム、データを
抽出する。
5図) 主記憶中にどのプログラムやデータを配置しておくかを
決定し実行する再配置処理は、プログラムやデータの使
用とは全く非同期にタイマ割込みにより周期的に起動さ
れる。この起動周期を再配置周期と呼ぶ。この処理が起
動されると制御は再配置決定装置に移る。再配置決定装
置では、その時点における管理テーブルの内容、稼動情
報履歴により各プログラムやデータを主記憶へ読み込む
べき優先度を算出する。次にこの優先度に基づき優先度
が高いにもかかわらず主記憶中にないプログラム、デー
タのうち所要量だけを抽出し、次にこの量に相当する優
先度が低くて主記憶中に存在するプログラム、データを
抽出する。
再配置実行装置では、上記再配置決定装置が抽出した優
先度が低いプログラム、データに代えて優先度の高いも
のを主記憶に読み込む処理を行なう。この際、主記憶中
に存在していた間に更新されたデータについては、補助
記憶装置上へ読み出す処理が必要である。この入れ替え
処理と平行して、管理テーブル更新装置により主記憶中
の有無を示す管理テーブル中の状態フラグを更新する。
先度が低いプログラム、データに代えて優先度の高いも
のを主記憶に読み込む処理を行なう。この際、主記憶中
に存在していた間に更新されたデータについては、補助
記憶装置上へ読み出す処理が必要である。この入れ替え
処理と平行して、管理テーブル更新装置により主記憶中
の有無を示す管理テーブル中の状態フラグを更新する。
以上の再配置処理は主記憶非常駐属性のプログラム、デ
ータのみであり、主記憶常駐属性のものは常に主記憶中
に存在させるため上記再配置処理からは除外する。
ータのみであり、主記憶常駐属性のものは常に主記憶中
に存在させるため上記再配置処理からは除外する。
(3)記憶階層制御に関する稼動情報の収集 記憶階層制御に関する稼動情報としては、 (i)周期的なタイマ割込みにより管理下にあるプログ
ラム、データの状況のサンプリングする。
ラム、データの状況のサンプリングする。
(ii)ユーザ・コマンドの投入履歴をとる。
(iii)プログラムやデータの使用要求が発生した際に
その旨を記録する。
その旨を記録する。
の3種類がある。これらはいずれも稼動情報取得装置を
通して補助記憶装置上に出力される。上記のうち(i)
は再配置決定装置が主記憶上に配置すべきプログラムや
データを抽出するのに用いられる。また(i)(iii)
はユーザが主記憶常駐属性とするかの判断基準とするた
めのものである。
通して補助記憶装置上に出力される。上記のうち(i)
は再配置決定装置が主記憶上に配置すべきプログラムや
データを抽出するのに用いられる。また(i)(iii)
はユーザが主記憶常駐属性とするかの判断基準とするた
めのものである。
(4)ユーザ・コマンドによる稼動情報の表示 ユーザが記憶階層制御下のプログラムやデータのうち主
記憶常駐属性とすべきものを選択するために、ユーザ・
コマンドにより指定された情報を出力する。表示内容は
稼動情報表示装置により、主に前項の(i)(iii)な
らびにその時点の管理テーブルの内容である。
記憶常駐属性とすべきものを選択するために、ユーザ・
コマンドにより指定された情報を出力する。表示内容は
稼動情報表示装置により、主に前項の(i)(iii)な
らびにその時点の管理テーブルの内容である。
(5)ユーザ・コマンドによる主記憶常駐指定・常駐解
除指定、記憶階層制御適用指定・適用解除指定 ユーザはコマンドを投入することにより、特定のプログ
ラムやデータを主記憶上に常駐させたり、常駐指定され
ていたものを解除することができる(第6図)。また、
記憶階層制御の管理下になかったプログラムやデータを
ユーザ・コマンドにより記憶階層制御の管理下においた
り、管理下にあったものを管理外とすることができる
(第7図)。
除指定、記憶階層制御適用指定・適用解除指定 ユーザはコマンドを投入することにより、特定のプログ
ラムやデータを主記憶上に常駐させたり、常駐指定され
ていたものを解除することができる(第6図)。また、
記憶階層制御の管理下になかったプログラムやデータを
ユーザ・コマンドにより記憶階層制御の管理下においた
り、管理下にあったものを管理外とすることができる
(第7図)。
例として主記憶常駐指定、解除指定について説明する。
コマンドが投入されるとコマンド処理装置に制御が渡
り、主記憶常駐指定か解除指定かが振分けられる。常駐
解除指定の場合は管理テーブル中の属性フラグを変更す
る。これで以後、再配置決定装置による再配置の対象と
なり、主記憶から追出されることも起こり得る。また主
記憶常駐指定ならば、属性フラグを常駐属性に更新する
と共に、もし主記憶中に存在しなければ主記憶中に読込
んでおく。これで当該プログラム、データは再配置の対
象から除外され、以降主記憶に常駐される。
コマンドが投入されるとコマンド処理装置に制御が渡
り、主記憶常駐指定か解除指定かが振分けられる。常駐
解除指定の場合は管理テーブル中の属性フラグを変更す
る。これで以後、再配置決定装置による再配置の対象と
なり、主記憶から追出されることも起こり得る。また主
記憶常駐指定ならば、属性フラグを常駐属性に更新する
と共に、もし主記憶中に存在しなければ主記憶中に読込
んでおく。これで当該プログラム、データは再配置の対
象から除外され、以降主記憶に常駐される。
(第2の実施例) つぎに第2の実施例について説明する。第2の実施例の
主要部は第1の実施例と同様であるが第2の実施例にお
いては特に主記憶中に配置すべきプログラムやデータの
決定と実行に係るものである。すなわち主記憶中に読み
込んでおくべきプログラムやデータは近い将来頻繁に使
用されると予想されるものにすべきであるが、この将来
頻繁に使用されるかどうかを正しく知ることは不可能で
ある。しかし、一般にプログラムやデータの使用状況は
平均的に過去に頻繁に使用されたもの程、将来にわたり
頻繁に使用される可能性が高い。そこで主記憶中に読み
込まれたプログラムやデータについて、それらがその時
点までに使用された回数の統計が最大となるようにする
方法が考えられる。この場合、各プログラムやデータの
過去の使用回数は既に判っているから、記憶階層制御下
にあるプログラムやデータから大きさの合計が主記憶容
量以内であるような全ての選び出し方について過去の使
用回数の合計を調べれば最大となるケースを厳密に知る
ことができる。しかしこの方法はそれを実行するための
処理時間が膨大であり、性能上実現は困難である。
主要部は第1の実施例と同様であるが第2の実施例にお
いては特に主記憶中に配置すべきプログラムやデータの
決定と実行に係るものである。すなわち主記憶中に読み
込んでおくべきプログラムやデータは近い将来頻繁に使
用されると予想されるものにすべきであるが、この将来
頻繁に使用されるかどうかを正しく知ることは不可能で
ある。しかし、一般にプログラムやデータの使用状況は
平均的に過去に頻繁に使用されたもの程、将来にわたり
頻繁に使用される可能性が高い。そこで主記憶中に読み
込まれたプログラムやデータについて、それらがその時
点までに使用された回数の統計が最大となるようにする
方法が考えられる。この場合、各プログラムやデータの
過去の使用回数は既に判っているから、記憶階層制御下
にあるプログラムやデータから大きさの合計が主記憶容
量以内であるような全ての選び出し方について過去の使
用回数の合計を調べれば最大となるケースを厳密に知る
ことができる。しかしこの方法はそれを実行するための
処理時間が膨大であり、性能上実現は困難である。
そこで実現可能な方法として各プログラムやデータに対
して主記憶に読み込んでおくべき優先度を割付け、この
優先度の高いプログラムやデータから大きさの合計が主
記憶容量に達するまで選ぶという方法が考えられる。こ
の方法ならば処理時間は大きな問題ではなく実現可能で
ある。
して主記憶に読み込んでおくべき優先度を割付け、この
優先度の高いプログラムやデータから大きさの合計が主
記憶容量に達するまで選ぶという方法が考えられる。こ
の方法ならば処理時間は大きな問題ではなく実現可能で
ある。
第8図に本実施例における優先度を用いて主記憶に読み
込むべきプログラムやデータを選択する手順を示す。但
し用いた記号は次の通りである。
込むべきプログラムやデータを選択する手順を示す。但
し用いた記号は次の通りである。
N:記憶階層制御下にあるプログラムやデータ の総数 an:記憶階層制御下にあるプログラムやデータ (n=1,2,……,N) sn:anの大きさ fn:anの使用回数 pn:anに割付けられた優先度 C:記憶階層制御下にある主記憶容量 この主記憶読み込み優先度としては次のようなものを考
えた。
えた。
(1)各プログラムやデータのその時点までの使用回数
fn(つまりpn=fn)。
fn(つまりpn=fn)。
(2)各プログラムやデータについての単位メモリ量当
りの使用回数(つまりpn=fn/sn)。
りの使用回数(つまりpn=fn/sn)。
この両者の有効性については後述する。そして(2)に
ついては次のようないくつかの好ましい性質を持ってい
る。〔性質1〕上記(2)の優先度は、最適選択(選択
されたプログラムやデータの使用回数の和が最大となる
ような選択)に近い解を与える確率が高い。〔性質2〕
プログラムやデータの大きさsnが一定の時、(2)の優
先度は最適解を与える。〔性質3〕プログラムやデータ
の使用回数fnが一定の時、(2)の優先度は最適解を与
える。
ついては次のようないくつかの好ましい性質を持ってい
る。〔性質1〕上記(2)の優先度は、最適選択(選択
されたプログラムやデータの使用回数の和が最大となる
ような選択)に近い解を与える確率が高い。〔性質2〕
プログラムやデータの大きさsnが一定の時、(2)の優
先度は最適解を与える。〔性質3〕プログラムやデータ
の使用回数fnが一定の時、(2)の優先度は最適解を与
える。
つぎに本実施例における優先度の効果を評価する。評価
モデルは、各プログラムやデータの大きさを指定された
値の範囲内の一様乱数、使用回数を1から1,000までの
一様乱数で決定する。従ってデータの大きさと使用回数
に相関関係はない。そしてこのようなプログラムやデー
タを指定された個数だけ生成し、指定されたメモリ容量
内で、 (1)使用回数fnの大きいものから選んだ場合 (2)単位メモリ当りの使用回数fn/snの大きいものか
ら選んだ場合 (3)無作為に選んだ場合 を比較する。
モデルは、各プログラムやデータの大きさを指定された
値の範囲内の一様乱数、使用回数を1から1,000までの
一様乱数で決定する。従ってデータの大きさと使用回数
に相関関係はない。そしてこのようなプログラムやデー
タを指定された個数だけ生成し、指定されたメモリ容量
内で、 (1)使用回数fnの大きいものから選んだ場合 (2)単位メモリ当りの使用回数fn/snの大きいものか
ら選んだ場合 (3)無作為に選んだ場合 を比較する。
解析結果を第9図、第10図に示す。第9図はプログラム
やデータの大きさが10〜20の一様乱数の場合(大きさの
分散が小さい)であり、第10図はプログラムやデータの
大きさが1〜60の一様乱数の場合(大きさの分散が大き
い)である。図中の一点鎖線は特に優先度などを考慮せ
ず無作為に抽出した場合の平均的な値を示している。こ
れによると全ケースにおいて両優先度を用いた場合の方
が無作為な抽出より最大53〜80%ヒット率が改善されて
いる。特に単位メモリ量当りの使用回数による方法が最
も優れていることが判かる。このように両優先度は有効
な選択基準を与えることが判かる。
やデータの大きさが10〜20の一様乱数の場合(大きさの
分散が小さい)であり、第10図はプログラムやデータの
大きさが1〜60の一様乱数の場合(大きさの分散が大き
い)である。図中の一点鎖線は特に優先度などを考慮せ
ず無作為に抽出した場合の平均的な値を示している。こ
れによると全ケースにおいて両優先度を用いた場合の方
が無作為な抽出より最大53〜80%ヒット率が改善されて
いる。特に単位メモリ量当りの使用回数による方法が最
も優れていることが判かる。このように両優先度は有効
な選択基準を与えることが判かる。
以上説明したように本発明によれば、記憶階層上の上位
の階層である中央処理装置から直接にアクセス可能な記
憶装置やより高速な記憶装置上に、より頻繁に使用され
優先度の高いプログラムやデータを配置することができ
る。これによりプログラムの実行時間を短縮させること
が可能となる。また、自動的に再配置を実行するので本
発明による記憶階層制御方式を導入することにより、計
算機の操作性が特に悪化することはなく、計算機の運用
が容易となる。
の階層である中央処理装置から直接にアクセス可能な記
憶装置やより高速な記憶装置上に、より頻繁に使用され
優先度の高いプログラムやデータを配置することができ
る。これによりプログラムの実行時間を短縮させること
が可能となる。また、自動的に再配置を実行するので本
発明による記憶階層制御方式を導入することにより、計
算機の操作性が特に悪化することはなく、計算機の運用
が容易となる。
第1図は本発明における記憶階層制御方式の実施例の構
成図、第2図は本発明における記憶階層制御の各装置と
処理の関連図、第3図は本発明における記憶階層制御方
式における管理テーブルの構成図、第4図〜第7図はい
ずれも本発明のフローチャートであり、第4図はプログ
ラムの実行要求発生時の処理の流れ、第5図は再配置処
理の流れ、第6図はユーザ・コマンドによる主記憶常駐
指定・常駐解除指定の処理の流れ、第7図はユーザ・コ
マンドによる記憶階層制御適用指定・適用解除指定の処
理の流れを示す。第8図は本発明における優先度による
プログラム、データの主記憶読み込み処理の流れ図、第
9図は本発明におけるデータの大きさが20〜40の場合の
主記憶読み込み優先度の比較図、第10図は本発明におけ
るデータの大きさが1〜60の場合の主記憶読み込み優先
度の比較図である。 101…中央処理装置、102…記憶階層制御下主記憶装置、
103…記憶階層制御外主記憶装置、104〜105…記憶階層
制御下主記憶装置、106…記憶階層制御外主記憶装置、1
07…記憶階層制御の適用範囲、201〜205…記憶階層制御
の起動の種類、契機、処理の流れ、206…記憶階層制御
主制御装置、207…稼動情報表示装置、208…稼動情報取
得装置、209…再配置決定装置、210…記憶階層制御管理
下判定装置、211…コマンド処理装置、212…稼動情報取
得用補助記憶装置、213…記憶階層制御管理テーブル、2
14…管理テーブル更新装置、215…再配置実行装置、216
…記憶階層制御外入出力処理装置、217…記憶階層制御
下主記憶装置、218…記憶階層制御外主記憶装置、219…
プログラム・データ格納用補助記憶装置、301…記憶階
層制御管理テーブル・エントリ、401〜407…プログラム
の実行要求発生時の処理の流れ、501〜510…再配置処理
の流れ、601〜607…ユーザ・コマンドによる主記憶常駐
指定・常駐解除指定の処理の流れ、701〜711…ユーザ・
コマンドによる記憶階層制御適用指定・適用解除指定の
処理の流れ。
成図、第2図は本発明における記憶階層制御の各装置と
処理の関連図、第3図は本発明における記憶階層制御方
式における管理テーブルの構成図、第4図〜第7図はい
ずれも本発明のフローチャートであり、第4図はプログ
ラムの実行要求発生時の処理の流れ、第5図は再配置処
理の流れ、第6図はユーザ・コマンドによる主記憶常駐
指定・常駐解除指定の処理の流れ、第7図はユーザ・コ
マンドによる記憶階層制御適用指定・適用解除指定の処
理の流れを示す。第8図は本発明における優先度による
プログラム、データの主記憶読み込み処理の流れ図、第
9図は本発明におけるデータの大きさが20〜40の場合の
主記憶読み込み優先度の比較図、第10図は本発明におけ
るデータの大きさが1〜60の場合の主記憶読み込み優先
度の比較図である。 101…中央処理装置、102…記憶階層制御下主記憶装置、
103…記憶階層制御外主記憶装置、104〜105…記憶階層
制御下主記憶装置、106…記憶階層制御外主記憶装置、1
07…記憶階層制御の適用範囲、201〜205…記憶階層制御
の起動の種類、契機、処理の流れ、206…記憶階層制御
主制御装置、207…稼動情報表示装置、208…稼動情報取
得装置、209…再配置決定装置、210…記憶階層制御管理
下判定装置、211…コマンド処理装置、212…稼動情報取
得用補助記憶装置、213…記憶階層制御管理テーブル、2
14…管理テーブル更新装置、215…再配置実行装置、216
…記憶階層制御外入出力処理装置、217…記憶階層制御
下主記憶装置、218…記憶階層制御外主記憶装置、219…
プログラム・データ格納用補助記憶装置、301…記憶階
層制御管理テーブル・エントリ、401〜407…プログラム
の実行要求発生時の処理の流れ、501〜510…再配置処理
の流れ、601〜607…ユーザ・コマンドによる主記憶常駐
指定・常駐解除指定の処理の流れ、701〜711…ユーザ・
コマンドによる記憶階層制御適用指定・適用解除指定の
処理の流れ。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 久保 隆重 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 吉澤 康文 神奈川県川崎市麻生区王禅寺1099番地 株 式会社日立製作所システム開発研究所内 (72)発明者 森 啓倫 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウエア工場内 (56)参考文献 特開 昭53−121428(JP,A) 特開 昭52−112240(JP,A) 特開 昭59−180875(JP,A)
Claims (4)
- 【請求項1】処理装置から直接アクセスできる第1の記
憶装置と、入出力装置を介してアクセスする第2の記憶
装置とを備え、前記第1または第2の記憶装置上に配置
されたプログラムまたはデータによって構成される記憶
階層を有するシステムにおいて、該システムにおけるプ
ログラムまたはデータの使用状況を監視して、該使用状
況に関する情報を記憶するステップと、前記記憶した使
用状況に関する情報を基に、前記第1及び第2の記憶装
置内のプログラムまたはデータの中から前記第1の記憶
装置上に予め配置しておくプログラムまたはデータを選
択し、該選択されたプログラムまたはデータを前記第1
の記憶装置上に配置するステップとを有し、該配置する
ステップが、予め定められたタイミングで周期的に実施
されることを特徴とする記憶階層制御方式。 - 【請求項2】処理装置から直接アクセスできる第1の記
憶装置と、入出力装置を介してアクセスする第2の記憶
装置とを備え、前記第1または第2の記憶装置上に配置
されたプログラムまたはデータによって構成される記憶
階層を有するシステムにおいて、該システムにおけるプ
ログラムまたはデータの使用状況を監視して、該使用状
況に関する情報を記憶するステップと、前記記憶した使
用状況に関する情報を基に、前記第1及び第2の記憶装
置内のプログラムまたはデータについて前記第1の記憶
装置上に配置すべき優先度を算出するステップと、該算
出結果に基づき優先度の高いプログラムまたはデータを
予め前記第1の記憶装置上に配置するステップを有し、
該配置するステップが、予め定められたタイミングで周
期的に実施されることを特徴とする記憶階層制御方式。 - 【請求項3】特許請求の範囲第2項記載の記憶階層制御
方式において、前記優先度として、前記プログラムまた
はデータのその時点における使用回数を用いることを特
徴とする記憶階層制御方式。 - 【請求項4】特許請求の範囲第2項記載の記憶階層制御
方式において、前記優先度として、前記プログラムまた
はデータのその時点における単位メモリ量当たりの使用
回数を用いることを特徴とする記憶階層制御方式。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58246284A JPH06100981B2 (ja) | 1983-12-28 | 1983-12-28 | 記憶階層制御方式 |
| US06/687,160 US4703422A (en) | 1983-12-28 | 1984-12-28 | Memory hierarchy control method with replacement based on request frequency |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP58246284A JPH06100981B2 (ja) | 1983-12-28 | 1983-12-28 | 記憶階層制御方式 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5019882A Division JPH07111692B2 (ja) | 1993-02-08 | 1993-02-08 | 記憶階層制御方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS60140446A JPS60140446A (ja) | 1985-07-25 |
| JPH06100981B2 true JPH06100981B2 (ja) | 1994-12-12 |
Family
ID=17146252
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP58246284A Expired - Lifetime JPH06100981B2 (ja) | 1983-12-28 | 1983-12-28 | 記憶階層制御方式 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US4703422A (ja) |
| JP (1) | JPH06100981B2 (ja) |
Families Citing this family (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4967353A (en) * | 1987-02-25 | 1990-10-30 | International Business Machines Corporation | System for periodically reallocating page frames in memory based upon non-usage within a time period or after being allocated |
| US5003462A (en) * | 1988-05-31 | 1991-03-26 | International Business Machines Corporation | Apparatus and method for implementing precise interrupts on a pipelined processor with multiple functional units with separate address translation interrupt means |
| US5142670A (en) * | 1988-07-26 | 1992-08-25 | International Business Machines Corporation | Method and apparatus for calculating disk-access footprints for use in selecting a storage management method |
| AU628911B2 (en) * | 1988-12-29 | 1992-09-24 | Storage Technology Corporation | Computer system memory performance improvement apparatus |
| US5131087A (en) * | 1988-12-29 | 1992-07-14 | Storage Technology Corporation | Computer system having apparatus for automatically redistributing data records stored therein |
| US5065310A (en) * | 1989-05-10 | 1991-11-12 | International Business Machines Corporation | Reducing cache-reload transient at a context swap |
| JPH04209041A (ja) * | 1990-11-16 | 1992-07-30 | Ricos:Kk | データローディング装置 |
| US5345584A (en) * | 1991-03-11 | 1994-09-06 | Laclead Enterprises | System for managing data storage based on vector-summed size-frequency vectors for data sets, devices, and residual storage on devices |
| US5313631A (en) * | 1991-05-21 | 1994-05-17 | Hewlett-Packard Company | Dual threshold system for immediate or delayed scheduled migration of computer data files |
| JP2550239B2 (ja) * | 1991-09-12 | 1996-11-06 | 株式会社日立製作所 | 外部記憶装置システム |
| CA2078310A1 (en) * | 1991-09-20 | 1993-03-21 | Mark A. Kaufman | Digital processor with distributed memory system |
| CA2139861A1 (en) * | 1992-07-08 | 1994-01-20 | Bernard J. Craig | Media server for supplying video and multi-media data over the public telephone switched network |
| US5506986A (en) * | 1992-07-14 | 1996-04-09 | Electronic Data Systems Corporation | Media management system using historical data to access data sets from a plurality of data storage devices |
| JPH0659982A (ja) * | 1992-08-10 | 1994-03-04 | Hitachi Ltd | 仮想記憶制御方法および装置 |
| US5423018A (en) * | 1992-11-16 | 1995-06-06 | International Business Machines Corporation | Queue time reduction in a data storage hierarchy using volume mount rate |
| US5544313A (en) * | 1994-05-11 | 1996-08-06 | International Business Machines Corporation | Baton passing optimization scheme for load balancing/configuration planning in a video-on-demand computer system |
| US5659704A (en) * | 1994-12-02 | 1997-08-19 | Hewlett-Packard Company | Methods and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy |
| US5651133A (en) * | 1995-02-01 | 1997-07-22 | Hewlett-Packard Company | Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system |
| US5829023A (en) * | 1995-07-17 | 1998-10-27 | Cirrus Logic, Inc. | Method and apparatus for encoding history of file access to support automatic file caching on portable and desktop computers |
| US6032224A (en) * | 1996-12-03 | 2000-02-29 | Emc Corporation | Hierarchical performance system for managing a plurality of storage units with different access speeds |
| US5860116A (en) * | 1996-12-11 | 1999-01-12 | Ncr Corporation | Memory page location control for multiple memory-multiple processor system |
| US5918249A (en) * | 1996-12-19 | 1999-06-29 | Ncr Corporation | Promoting local memory accessing and data migration in non-uniform memory access system architectures |
| US6275872B1 (en) * | 1998-10-20 | 2001-08-14 | Bellsouth Intellectual Property Corporation | Method for performing migration of uninitialized entries from a storage to a repository within an intelligent peripheral in an advanced intelligent network |
| US6366931B1 (en) | 1998-11-20 | 2002-04-02 | Hewlett-Packard Company | Apparatus for and method of non-linear constraint optimization in storage system configuration |
| US6321317B1 (en) | 1998-12-16 | 2001-11-20 | Hewlett-Packard Co | Apparatus for and method of multi-dimensional constraint optimization in storage system configuration |
| US6832378B1 (en) * | 2000-06-20 | 2004-12-14 | International Business Machines Corporation | Parallel software processing system |
| JP3998405B2 (ja) * | 2000-07-28 | 2007-10-24 | 富士通株式会社 | アクセス制御方法及びこれを用いる記憶装置 |
| US6910106B2 (en) * | 2002-10-04 | 2005-06-21 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
| US7644239B2 (en) | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
| US7490197B2 (en) | 2004-10-21 | 2009-02-10 | Microsoft Corporation | Using external memory devices to improve system performance |
| US20070067575A1 (en) * | 2005-09-20 | 2007-03-22 | Morris John M | Method of managing cache memory based on data temperature |
| US9032151B2 (en) | 2008-09-15 | 2015-05-12 | Microsoft Technology Licensing, Llc | Method and system for ensuring reliability of cache data and metadata subsequent to a reboot |
| US7953774B2 (en) | 2008-09-19 | 2011-05-31 | Microsoft Corporation | Aggregation of write traffic to a data store |
| US10296508B2 (en) | 2013-06-06 | 2019-05-21 | Sap Se | Systems and methods to manage online analytical and transactional processing for an in-memory columnar database |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS52112240A (en) * | 1976-03-17 | 1977-09-20 | Fujitsu Ltd | Data processing unit |
| JPS53121428A (en) * | 1977-03-31 | 1978-10-23 | Toshiba Corp | Memory managing unit |
| US4399503A (en) * | 1978-06-30 | 1983-08-16 | Bunker Ramo Corporation | Dynamic disk buffer control unit |
| JPS57162163A (en) * | 1981-03-31 | 1982-10-05 | Fujitsu Ltd | File editing method |
| JPS59180875A (ja) * | 1983-03-31 | 1984-10-15 | Fujitsu Ltd | デ−タ処理装置の記憶制御方式 |
-
1983
- 1983-12-28 JP JP58246284A patent/JPH06100981B2/ja not_active Expired - Lifetime
-
1984
- 1984-12-28 US US06/687,160 patent/US4703422A/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| US4703422A (en) | 1987-10-27 |
| JPS60140446A (ja) | 1985-07-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH06100981B2 (ja) | 記憶階層制御方式 | |
| US6049850A (en) | Method and apparatus for controlling the contents of a cache memory | |
| EP0301211B1 (en) | Cache management for a peripheral data storage subsystem | |
| EP1074916B1 (en) | Hardware mechanism for managing cache structures in a data storage system | |
| US7010555B2 (en) | System and method for compacting a computer system heap | |
| US6067608A (en) | High performance mechanism for managing allocation of virtual memory buffers to virtual processes on a least recently used basis | |
| EP1010080B1 (en) | Mechanism for managing allocation of virtual memory buffers to virtual processes on a least recently used basis | |
| US6192450B1 (en) | Destage of data for write cache | |
| US5134563A (en) | Sequentially processing data in a cached data storage system | |
| EP0354579A2 (en) | A controller with a cache memory and control method of the cache memory | |
| US7237067B2 (en) | Managing a multi-way associative cache | |
| EP0423557A2 (en) | Cache management method and apparatus | |
| JPH0458051B2 (ja) | ||
| JPH0689221A (ja) | コンピュータ・システムにおけるメモリ管理方法及び装置 | |
| JP2002140231A (ja) | 拡張型キャッシュメモリシステム | |
| CN116185284B (zh) | 一种基于数据块活跃度的分层存储系统 | |
| EP0114944B1 (en) | Method and apparatus for controlling a single physical cache memory to provide multiple virtual caches | |
| JP2504394B2 (ja) | 記憶階層制御方法 | |
| US5544343A (en) | Cache system with file surge protection and method for managing allocation of storage in the cache | |
| JPH11224164A (ja) | 磁気ディスクサブシステム | |
| EP0058846B1 (en) | Multiprocessing system with variably shared paging storage | |
| JPH07111692B2 (ja) | 記憶階層制御方法 | |
| JPH08328959A (ja) | ディスクキャッシュ制御装置 | |
| JP3020512B2 (ja) | フアイルデータ管理方法 | |
| JP3356090B2 (ja) | メモリ管理方法およびメモリ管理装置、並びに記録媒体 |