JPH02193248A - 実記憶管理方法 - Google Patents

実記憶管理方法

Info

Publication number
JPH02193248A
JPH02193248A JP1011932A JP1193289A JPH02193248A JP H02193248 A JPH02193248 A JP H02193248A JP 1011932 A JP1011932 A JP 1011932A JP 1193289 A JP1193289 A JP 1193289A JP H02193248 A JPH02193248 A JP H02193248A
Authority
JP
Japan
Prior art keywords
real
processor
task
page
pages
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
Application number
JP1011932A
Other languages
English (en)
Other versions
JP3155537B2 (ja
Inventor
Toshiaki Arai
利明 新井
Yoshitaka Ofusa
大房 義隆
Hirofumi Nagasuga
弘文 長須賀
Yasufumi Yoshizawa
吉澤 康文
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP01193289A priority Critical patent/JP3155537B2/ja
Priority to US07/468,355 priority patent/US5193172A/en
Publication of JPH02193248A publication Critical patent/JPH02193248A/ja
Application granted granted Critical
Publication of JP3155537B2 publication Critical patent/JP3155537B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • 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/10Address translation
    • G06F12/1072Decentralised address translation, e.g. in distributed shared memory systems
    • 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
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、主記憶装置を複数のプロセッサで共有する密
結合マルチプロセッサシステムに係り、特に、多量の主
記憶が接続されていて、ページングおよびスワツピング
を用いて仮想記憶の管理をしている大型計算機システム
に有効な実記憶管理方式に関する。
〔従来の技術〕
主記憶を共有して複数台のプロセッサを結合した密結合
マルチプロセッサシステムは、計算機システムの高性能
化および高倍転化を推進する技術として、特に大型汎用
計算機システムでは一般化しつつある。密結合マルチプ
ロセッサシステムでは、複数のプロセッサにどのような
アルゴリズムでタスクや計算機資源を割り付けるかが重
要な課題である。マスタ/スレーブ方式はある決められ
たプロセッサ(マスクプロセッサ)のみがシステムの資
源管理やスケジューリングを行う方式であり、構造は比
較的単純であるが、マスクプロセッサに負荷が掛かりや
すく、また、障害に弱いという欠点も有り、本来の意味
の密結合プロセッサということはできない。個別O3方
式は個々のプロセッサに対してオペレーティングシステ
ムを用意し、各々のオペレーティングシステムが分担す
るプロセッサの資源管理、スケジューリングを行うもの
である。この方式は、負荷バランスを均等化することが
難しく、−船釣な性能向上は困難である。−O8方式は
、一つのオペレーティングシステムが必要に応じてどの
プロセッサ上でも動いて処理を進めるものであり、本来
の意味での密結合マルチプロセッサといえるものである
。なお、上記各種のマルチプロセッサシステムについて
は、例えば、S 、E0Madnick著の[オペレー
ティングシステムJ  (Operating  5y
ste111)を参照されたい。
以上のように、マルチプロセッサシステムにおけるタス
クスケジューリングや資源管理の分担に関する技術は、
従来から、多くの方式が公開されている。
一方、計算機システムを高速化するための機構として一
般化しつつある他の方式として、高速の緩衝記憶装置を
使用して主(実)記憶装置の見掛は上のアクセス速度を
向上する方式がある。この緩衝記憶装置はキャッシュま
たはバッファと呼ばれプロセッサ側からは見ることがで
きないが、プロセッサと主記憶の間にあって主記憶中の
頻繁に参照される部分を格納している。プロセッサから
主記憶に対するアクセス要求が有った場合に、もし要求
された領域がキャッシュ内に保持されていれば、主記憶
から取込む代わりにキャッシュから高速に取込むことが
可能である。主記憶装置のアクセス時間はプロセッサの
処理時間に比べて充分に大きいため、主記憶装置に対す
るアクセス速度に比べてアクセス速度が速いこのキャッ
シュ方式(例えば、キャッシュのアクセス時間は、主記
憶のアクセス時間の10分の1程度)は、計算機システ
ムの性能向上に有効である。
〔発明が解決しようとする課題〕
上記密結合型のマルチプロセッサ機構の計算機システム
に対してもこのキャッシュ方式を通用することは有効で
あるが、その通用に当っては幾つかの問題点がある。第
一番目の問題点は、キャッシュのキャンセルと呼ばれる
現象である。キャッシュはプロセッサから高速にアクセ
スされることを可能とするため、距離的にプロセッサの
近くに配置する必要がある。すなわち、各プロセッサ毎
に対応するキャッシュ記憶装置が存在する。このような
構成では、1つの主記憶内の同一の部分(領域Aとする
)が二つ以上のキャッシュ中に存在することがある。(
ここでは、キャッシュX。
キャッシュY中に存在するとする)このとき、キャッシ
ュXに対応付けられたプロセッサから領域Aに対して書
き込み要求が出されると、該当キャッシュX内の領域A
の内容aが例えばa′のように書き替えられる。そして
、このままでは他方のキャッシュY内の領域Aの内容a
と矛盾を生じるため、キャッシュY内の領域Aを無効と
する(例えば、消去する)。このことにより、キャッシ
ュYの効果が低下する。これをキャッシュのキャンセル
現象という。このような現象は、もちろん、キャッシュ
Yの内容を書き替えた際にも起こる可能性がある。すな
わち、キャッシュの効果を上げるため、キャッシュに配
置する領域の量を増やせば増やすほど相手プロセッサの
キャッシュ内の領域を無効としてしまい、システム全体
としては却って性能低下を起こしてしまう。
メモリ制御に関する他の問題点は、主記憶装置のアクセ
ス速度の差によるものである。近年の大型計算機システ
ムでは、密結合されるプロセッサ台数は年々多くなり、
また、主記憶容量もそれに比例して増えている。そのた
め、プロセッサと主記憶の内の色々な領域の配線上の位
置が均一とはならないような状態が発生している。すな
わち、あるプロセッサにとっである主記憶領域は高速に
アクセスすることができるが他の領域は低速であり、一
方、別のプロセッサにとって、それらの領域に対するア
クセス速度の関係は逆になる、ということである。
以上のように従来のシングルプロセッサ方式においては
充分な効果を発揮していたメモリ管理機構が、マルチプ
ロセッサ方式では性能上のネックとなることが多い。本
発明の目的は、これらの課題を解決し、以下の機能を達
成することのできる実記憶管理方式を提供することにあ
る。
(1)キャッシュのキャンセルの少ない主記憶割り付け
、及び、タスクディスパッチを行うこと。
(2)プロセッサがそのプロセッサに付随したアクセス
速度の速い主記憶領域を優先的に使用できるようにする
こと。
(3)プロセッサが仮想記憶と実記憶のマツピングフォ
ールト(仮想記憶システムで、使用したいページが主記
憶上にない状態。ページフォーJL、)に同じ。)を起
こした場合に、割り付け可能な実記憶装置を常に用意し
ておくこと。
(4)プロセッサ間でマツピングフォールトの発生を均
一化すること。
(5)主記憶の空き領域の管理をプロセッサ間で分散さ
せることにより、低速の排他制御用命令の発行を抑える
こと。
〔隨題を解決するための手段〕
上記目的を達成するため、本発明の実記憶管理方式では
、以下の(1)〜(7)のように構成する。
(1)前記実記憶装置の実ページを複数のグループに分
割し、各グループに対して、優先的にグループ内の実ペ
ージを使用する権利(優先使用権)を持つプロセッサを
予め指定し、あるプロセッサで実ページ割り付け要求が
発生した際には該プロセッサが優先使用権を保持してい
る前記グループに属する実ページを優先的に割り付ける
(2)実記憶装置に対するアクセス速度が最も速いプロ
セッサに対して、該実記憶装置内の実ページの優先使用
権を与える。
(3)タスクに割り付けられている実ページの数を前記
グループ毎に計測し、該タスクのディスバッチの際に、
その時該タスクに最も多くの実ページが割当てられてい
る前記グループに対して優先使用権を保持しているプロ
セッサを優先的にディスバッチする(後記の第8図、ス
テップ802参照)。
(4)プロセッサ毎に、ページフォールトの発生情報を
取得し、定期的に、マツピングフォールト率の高いプロ
セッサが優先使用権を保持している前記グループに属す
る実ページの量を増やすく第5図、特にステップ503
参照)。
(5)ページフォールト発生時に、プロセッサが優先使
用権を保持している前記グループに属する実ページに空
きが無い場合には、最も多くの空き実ページを保持して
いる前記グループから複数の実ページの空きを取得し、
該プロセッサが優先使用権を保持している前記グループ
のメンバとする(ステップ306.307参照)。
(6)タスクに割り付けられている実ページを奪い取る
(ページスチール)処理において、該当タスクに割り付
けられている実ページの前記グループ毎に異なるアルゴ
リズムを通用してページスチールを行なう(ステップ4
04,405参照)。
(7)ページスチール処理において、タスクに割り付け
られている実ページの前記グループのうち最も少数のペ
ージが割当てられている前記グループからのスチールを
優先して行なう。
〔作用〕
上記構成に基づく作用を説明する。
以上の構成により、あるタスクが一度あるプロセッサに
ディスパッチされた場合には、該プロセッサが優先使用
権を持つ主記憶が該タスクに割り付けられ、該タスクが
制御を奪われた後も該プロセッサに再びディスパッチさ
れる可能性が高くなる(特に、上記(1)または(3)
の構成による)。
このことにより、 (1)ある主記憶領域はある特定のプロセッサのみから
アクセスされる可能性が高くなり、キャッシュのキャン
セル率が低下する(特に、上記(1)または(3)の構
成による)。
(2)あるプロセッサから見て高速な主記憶装置に対し
て優先使用権を割当てることにより、高速な主記憶アク
セスが可能となる(特に、上記(1)または(2)の構
成による)。
(3)優先使用権のある主記憶以外の領域も使用可能と
することにより、マツピングフォールト発生時の空き主
記憶不足状態を回避する(特に、上記(1)、  (3
)、または(6)の構成による)。
(4)周期的に、優先使用権のある主記憶容量を調整す
ることにより、プロセッサ間のマフピングフォールト発
生率を平滑化する(特に、上記(1)または(4)の構
成による)。
(5)優先使用権のある主記憶領域の管理は対応するプ
ロセッサが一括して管理するため、排他制御用命令の発
生を抑える。
〔実施例〕
以下に、本発明の実施例を図面を用いて説明する。
第1図は、本発明の実記憶管理方式の一実施例を説明す
るための構成図で、特に、A、B、C。
Dの4つのプロセッサで構成される4多重密結合マルチ
プロセッサにおけるテーブル関連構造を示す構成図であ
る。なお、第1図および以下の説明で使用されている番
号は、数字のみの場合はプロセッサに共通に通用される
部分を示し、数字の後に英字があるものはその英字でし
めされるプロセッサに固有のものである。
命令プロセッサIOA、IOB、IOC,10Dは、各
々プロセッサ管理テーブル11の各エントリ12A、1
2B、12C,12Dによって制御されている。プロセ
ッサ管理テーブルエントリ12には該当プロセッサの実
メモリ管理テーブル15へのポインタ13とディスパッ
チ管理テーブル17へのポインタ14が格納されている
。なお、以下では、プロセッサIOB〜IODに関する
テーブルについても、プロセッサIOAに関するテーブ
ルと同様であるので、説明を省略する。
実メモリ管理テーブル15のエントリの一つである優先
便用空き実ページチエインポインタ16は該当するプロ
セッサが優先使用権を保持している実ページの空き領域
チエインの先頭を示している。20.20’、20”、
20”は空き領域チエインを構成する4つのページであ
る。つまり、この例では、プロセッサIOAが優先使用
権を持つ空きページは4つあることを示している。同様
に、プロセッサIODが優先使用権をもつ空きページは
、ポインタ13Dで指示される3ペ一ジ分20D〜20
D“である。また、ディスパッチ管理テーブル17のエ
ントリである優先ディスパッチタスクチエインポインタ
18は該当プロセッサが優先的にディスパッチすること
ができるタスクチエインの先頭を示している。ここで、
21.21’、21’は、チェーンされている各タスク
毎のタスク管理(制御l)テーブルである。チエインさ
れているタスク管理テーブル21には該当タスクが保持
している実ページチエインへのポインタ22A、22B
、22C,22Dが、優先使用権を保持しているプロセ
ッサ毎に格納されている。
各々のポインタはそれぞれ該当するプロセッサが優先権
を持つ実ページ23のチエインの先頭を示している。こ
の例では23A、23A’はプロセプロセッサIODが
、それぞれ優先使用権をもつ2ペ一ジ分23A、23A
’がプロセッサA、1ペ一ジ分の23Bがプロセッサ8
.4ペ一ジ分2来、Aの管理テーブルで管理されるタス
ク21は、はぼ全部のページがプロセッサAの優先使用
となるのが望ましいので、後述のように、この望ましい
状態に次第に移し替えて行くものである。
実ページ割り付け処理部201は、あるプロセッサ(例
えばプロセッサA)で処理されているタスクがページフ
ォールトを起こした場合には、該当するプロセッサA用
が優先権を保持している実ページの空き領域チエインか
ら実ページを取り出し、ページフォールトを起こしたタ
スクに割り付ける。
ページスチール処理部202は、あるプロセッサがディ
スパッチ優先権を保持しているタスクからページをスチ
ールする場合には、該当プロセッサが優先権を持ってい
ない実ページを優先的にスチールする。以上の実ページ
割り付け処理部201およびページスチール処理部20
2により、あるプロセッサがディスパッチ優先権を保持
しているタスクに割り付けられている実ページは、該当
プロセッサが優先権を持っている確率が増加する。
メモリ管理用闇値調整処理部203は、定期的に起動さ
れてプロセッサ間の空きページ数のアンバランスの調整
、ページスチール及び割り付けの闇値の更新を行う。こ
れにより、システムの負荷の変動に応じた、メモリ管理
及びディスパッチングを行う。
第2図はメモリ管理の制御処理部と管理テーブルの相互
関連図である。メモリ管理用の制御処理部には実ページ
割り付け処理部201とページスチール処理部(ページ
フォールト時に、全部割り当ててしまうと補助記憶装置
から持って来ることができないので、これに対処するた
め、長く使わない等のページ内容は補助記憶装置に追い
出し、空いたところをアップチェーンに登録する。)2
02がある。二つの処理部は、実記憶管理テーブル15
中のページ割り付け閾値204及びページスチール閾値
205を用いて各々の機能を実施し、その履歴情報をベ
ージング履歴情報206として周期的に新たな閾値を設
定し、実記憶管理テーブル15内の対応するエントリに
格納する。
第3図は、実ページ割り付け処理部201の実施例を示
したフローチャートである。ここには、あるプロセッサ
にディスパッチされているタスクがページフォールトを
起こした際の処理が記述されている。まず、該当プロセ
ッサに対する実記憶管理テーブル15を求める(ステッ
プ301)。
次に、該当プロセッサ用の優先使用空き実ページチエイ
ンを検索しくステップ302)、もし、該チエインが空
であれば該チエインから空き実ページを−ページ数り出
しくステップ303)、ページフォールトを起こしたタ
スクに割り付ける(ステップ304)。もし、該チエイ
ンが空でなければ、他プロセツサの優先使用空き実ペー
ジチエインを検索する(ステップ306)。この検索で
空き実ページが取得できた場合には(ステップ307)
、該タスクに該実ページを割り付ける(ステップ304
)。もし、多重プロセッサの全てのプロセッサ用の優先
使用空き実ページチエインを検索した後も空き実ページ
を確保できなかった場合には(ステップ308)、ペー
ジフォールトを起こしたタスクを通常の実ページ割り付
け待ちキューに登録して処理を終了する(ステップ30
9)。
また、割り付けが完了した場合には、割り付けた実ペー
ジが属するグループと割り付けられたタスクとをページ
ング履歴情報として該当する実記憶管理テーブルに格納
する(ステップ305)。
第4図は、ページスチール処理部202のフローチャー
トである。ページスチール処理は定期的に起動され、前
回のページスチール処理から一定時間CPUを消費した
タスクがその対象となる。
まず、該当プロセッサがディスバッチ優先権を保持して
いるタスクの中から上記の条件を満たしたタスクを選択
する(ステップ401)。次に、該タスクに割り付けら
れている全ての実ページに対して未参照時間間隔(U 
I C: [Inreferenced Interv
al Count )を更新する(ステップ402)。
この処理は従来の処理と同様である。すなわち、実ペー
ジの参照ビットを検索し、ビットがオンであれば該当す
るUICをOにセットし、かつ、参照ビットもリセット
する。また、参照ビットがオフであれば、該当するUI
Gを1増加させる。このUIC更新処理の後、UICの
値が闇値を超えていれば該ページをスチールする(ステ
ップ404、ステップ405)。このとき、該実ページ
が該プロセッサの優先使用グループに属していれば優先
使用実ページ用UIG闇値を使用し、そうでない場合に
は通常ページ用のUIC闇値を使用する(異なるアルゴ
リズムの使用)(ステップ403)。以上のようなUI
C更新処理を該タスクに割り付けられている全ての実ペ
ージに対して行なう(ステップ406)。更に、該プロ
セッサがディスバッチ優先権を持っている全てのタスク
に対して行なう(ステップ407)。
第5図は、メモリ管理用閾値調整処理部(ステップ20
3)のフローチャートである。まず、各プロセッサにた
いして、優先使用空き実ページチエインの平均の長さと
、ページフォールト時に該当プロセッサの優先使用空き
実ページを割当てることが不可能で有った回数との比率
を算出する(ステップ501)。プロセッサの中で上記
の実ページチエイン平均長が短(、かつ、優先使用空き
実ページ割り付け失敗率の高いものがあれば(ステップ
502)、空き実ページチエイン平均長が長いプロセッ
サの優先使用空き実ページの優先使用権を前記プロセッ
サに移動する(例えば、第1図で、ポインタ22Cにチ
エインされる空き実ページのいくつかを、ポインタ22
Aにチエインされるページグループに移す。)(ステッ
プ503)。
また、プロセッサのページフォールト率が高い場合には
、ページスチール用のUIC閾値を更新する。このとき
、優先使用実ページのりフレイム率が高い場合には(ス
テップ505)、優先使用実ページ用UIC閾値を上げ
(ステップ506)、通常実ページのりフレイム率が高
い場合には(ステップ507)、通常ページ用UIC閾
値を上げる(ステップ508)。
第6図はディスパッチング処理部と管理テーブルの相互
関連図である。(なお、第2図と第6図とは、基本的に
は、第6図のタスクディスパッチングの行なわれた後で
、第2図の実ページ割り付け処理が行なわれるような関
係になっている。実際には、両図の動作が交互に続いて
行なわれることになる。また、201〜203.601
〜603の個々の処理の順序関係は、必ずしも一定して
いるわけではない。)第6図で、ディスバッチ管理用の
処理部にはタスクディスパッチング処理部601と割込
み処理部602がある。二つの処理部は、ディスバッチ
管理テーブル17を用いて各々の機能を実施し、その履
歴情報をディスパッチング履歴情報としてディスパッチ
管理テーブル17に格納する。優先ディスバッチタスク
の調整処理部603は周期的に起動され、ディスパッチ
管理テーブル17に格納された情報を基に、各プロセッ
サの優先ディスバッチタスクを再構成する。
第7図は、ディスパッチング処理部601の実施例を示
したフローチャートである。まず、該当プロセッサに対
するディスパッチ管理テーブル17を求める(ステップ
701)。次に、該当プロセッサ用の優先ディスバッチ
タスクチエイン21゜21’、21”、 ・・・を検索
しくステップ702)、もし、該チエインが空であれば
該チエインの先頭からタスクを取り出しくステップ70
3)、J当プロセッサに割り付ける(ステップ705)
。もし、該チエインが空でなければ、他プロセツサの優
先ディスバッチタスクチエインを検索する(ステップ7
06)。この検索でレディタスク(実行可能なタスク)
が取得できた場合心、二は(ステップ707)、該タス
クをディスパッチする(ステップ705)。もし、多重
プロセッサの全てのプロセッサ用の優先ディスバッチタ
スクチエインを検索した後もレディタスクが発見できな
かった場合には、該当プロセッサをアイドル状態とする
(ステップ708)。また、ディスパッチングが終了し
た場合にはディスパッチング履歴情報を該当するディス
バッチ管理テーブルに格納する(ステップ704)。
第8図は、割込み処理部602のフローチャートである
。タスクが何等かの理由で割り込まれた場合に起動され
る。まず、該当タスクの再ディスバッチのためにレジス
タを待避しくステップ801)、その後、その時点まで
ディスバッチしていたプロセッサの優先ディスバッチタ
スクチエインにそのタスクの優先度に従ってチエインさ
れる(ステップ802)。そして、この場合、タスクに
割り付けられている実ページの数を前記グループ毎に計
測し、次のディスパッチの際に、そのとき該タスクに最
も多くの実ページが割り当てられているグループに対し
て優先使用権を保持しているプロセッサにディスパッチ
される。
第9図は、優先ディスバッチタスクの調整処理部603
のフローチャートである。まず、各々のプロセッサにた
いして、優先ディスバッチタスクチエインの平均の長さ
と、該当プロセッサのアイドル率を算出する(ステップ
901)。プロセッサの中でアイドル率が高いものが有
れば、アイドル率の低いプロセッサから優先ディスバッ
チタスクを移動する(ステップ902)。
なお、優先使用権の割り当ての仕方として、実記憶装置
に対するアクセス速度が最も速いプロセッサに対して、
該実記憶装置内の実ページの優先使用権を与えるように
してもよい。
また、前記のページスチール処理において、タスクに割
り付けられている実ページのグループのうち、最も少数
のページが割り当てられているグループからのスチール
を優先して行なうようにしてもよい。
〔発明の効果〕
以上詳しく説明したように、本発明の実記憶管理方式に
よれば、密結合型のマルチプロセッサ方式において、実
記憶装置の実ページを複数のグループに分割し、各グル
ープに対してグループ内の実ページを優先的に使用する
優先使用権を持つプロセッサを指定し、あるプロセッサ
で実ページ割り付け要求が発生したときに、そのプロセ
ッサが優先権を保持しているグループに属する実ページ
を優先的に割り付けるようにしたので、−旦、あるタス
クが、あるプロセッサにディスパッチされた場合には、
該プロセッサが優先使用権を持つ主記憶領域が該タスク
に割り付けられ、該タスクが制御を奪われた後も該プロ
セッサに再度ディスバッチされる可能性が高くなる結果
、キャッシュキャンセルの少ない主記憶割りつけおよび
タスクディスバッチを行なうことができる等、優れた効
果を奏する。
【図面の簡単な説明】
第1図は本発明の実記憶管理方式を4多重密結合マルチ
プロセッサを用いて実現するようにした一実施例の構成
図、第2図はメモリ制御の処理部と管理テーブルとの相
互関係を説明するための図、第3図は実ページ割り付け
処理部の実施例を説明するためのフローチャート、第4
図はページスチール処理部の実施例を説明するためのフ
ローチャート、第5図はメモリ管理用闇値調整処理部を
説明するためのフローチャート、第6図はディスパッチ
ング処理部とその管理テーブルの相互関係を説明するた
めの図、第7図はディスパッチング処理部の実施例を説
明するためのフローチャート、第8図は割り込み処理部
を説明するためのフローチャート、第9図は優先ディス
バッチタスクの調整処理部を説明するためのフローチャ
ートである。 10A−10D・・・・・・命令プロセッサ、11・・
・・・・プロセッサ管理テーブル、12A〜12D・・
・・・・プロセッサ管理テーブルエントリ、15A・・
・・・・実記憶管理テーブル、16・・・・・・優先使
用空き実ページチエインポインタ、17A・・・・・・
ディスパッチ管理テーブル、20・・・・・・空きペー
ジ、21・・・・・・タスク管理テーブル、22・・・
・・・タスク使用中実ページチエインポインタ。

Claims (1)

  1. 【特許請求の範囲】 1、実記憶装置を共有した複数のプロセッサで構成され
    る密結合マルチプロセッサシステムで、ページングおよ
    びスワッピングを用いて仮想記憶の管理を実施している
    情報処理システムにおける実記憶管理方式において、前
    記実記憶装置の実ページを複数のグループに分割し、各
    グループに対して優先的にグループ内の実ページを使用
    する権利である優先使用権を持つプロセッサを指定し、
    あるプロセッサで実ページ割り付け要求が発生した際に
    は、該プロセッサが優先使用権を保持している前記グル
    ープに属する実ページを優先的に割り付けることを特徴
    とする実記憶管理方式。 2、実記憶装置に対するアクセス速度が最も速いプロセ
    ッサに対して、該実記憶装置内の実ページの優先使用権
    を与えることを特徴とする請求項1記載の実記憶管理方
    式。 3、タスクに割り付けられている実ページの数を前記グ
    ループ毎に計測し、該タスクのディスパッチの際に、そ
    の時該タスクに最も多くの実ページが割当てられている
    グループに対して優先使用権を保持しているプロセッサ
    を優先的にディスパッチすることを特徴とする請求項1
    または2記載の実記憶管理方式。 4、プロセッサ毎に、ページフオールトの発生情報を取
    得し、定期的に、マツピングフオールト率の高いプロセ
    ッサが優先使用権を保持している前記グループに属する
    実ページの量を増やすことを特徴とする請求項1、2、
    または3記載の実記憶管理方式。 5、ページフオールト発生時に、プロセッサが優先使用
    権を保持している前記グループに属する実ページに空き
    が無い場合には、最も多くの空き実ページを保持してい
    る前記グループから複数の実ページの空きを取得し、該
    プロセッサが優先使用権を保持している前記グループの
    メンバとすることを特徴とする請求項1、2、3、また
    は4記載の実記憶管理方式。 6、タスクに割り付けられている実ページを奪い取る(
    ページスチール)処理において、該当タスクに割り付け
    られている実ページの前記グループ毎に異なるアルゴリ
    ズムを通用してページスチールを行なうことを特徴とす
    る請求項3記載の実記憶管理方式。 7、前記ページスチール処理において、タスクに割り付
    けられている実ページの前記グループのうち最も少数の
    ページが割当てられている前記グループからのスチール
    を優先して行なうことを特徴とする請求項6記載の実記
    憶管理方式。
JP01193289A 1989-01-23 1989-01-23 実記憶管理方法 Expired - Fee Related JP3155537B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01193289A JP3155537B2 (ja) 1989-01-23 1989-01-23 実記憶管理方法
US07/468,355 US5193172A (en) 1989-01-23 1990-01-22 Memory management system for dispatching only to a selected high-use-priority task a maximum allocated and given highest-use-priority real-pages when requested

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01193289A JP3155537B2 (ja) 1989-01-23 1989-01-23 実記憶管理方法

Publications (2)

Publication Number Publication Date
JPH02193248A true JPH02193248A (ja) 1990-07-30
JP3155537B2 JP3155537B2 (ja) 2001-04-09

Family

ID=11791448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01193289A Expired - Fee Related JP3155537B2 (ja) 1989-01-23 1989-01-23 実記憶管理方法

Country Status (2)

Country Link
US (1) US5193172A (ja)
JP (1) JP3155537B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04156633A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd 共用メモリを仮想領域としてアクセスし、自動拡張する方式
FR2699304A1 (fr) * 1992-12-10 1994-06-17 Nec Corp Procédé de répartition de processus.
JPH0830562A (ja) * 1994-07-19 1996-02-02 Nec Corp マルチプロセッサシステム
JP2019040343A (ja) * 2017-08-24 2019-03-14 富士通株式会社 情報処理装置、プロセス管理方法およびプロセス管理プログラム

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0491463A2 (en) * 1990-11-30 1992-06-24 Matsushita Graphic Communication Systems, Inc. Data storage system
US5257375A (en) * 1991-08-23 1993-10-26 International Business Machines Corp. Method and apparatus for dispatching tasks requiring short-duration processor affinity
JP3119919B2 (ja) * 1991-12-11 2000-12-25 富士通株式会社 計算機システム
US5317738A (en) * 1992-02-18 1994-05-31 Ncr Corporation Process affinity scheduling method and apparatus
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
US5606685A (en) * 1993-12-29 1997-02-25 Unisys Corporation Computer workstation having demand-paged virtual memory and enhanced prefaulting
US5835767A (en) * 1994-08-19 1998-11-10 Unisys Corporation Method and apparatus for controlling available processor capacity
US5991835A (en) * 1994-11-22 1999-11-23 Teac Corporation Peripheral data storage device in which time interval used for data transfer from relatively fast buffer memory to relatively slower main memory is selected in view of average of time intervals during which data blocks were recently received from host
JPH09101916A (ja) * 1995-10-06 1997-04-15 Fujitsu Ltd マルチプロセス処理装置
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
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
JP3508513B2 (ja) * 1997-11-07 2004-03-22 株式会社日立製作所 計算機システムの運用管理方法
US6035378A (en) * 1997-12-16 2000-03-07 Ncr Corporation Method and apparatus for dynamically monitoring memory page access frequency in a non-uniform memory access computer system
US6035377A (en) * 1997-12-17 2000-03-07 Ncr Corporation Method and apparatus for determining memory pages having greatest frequency of access in a non-uniform memory access computer system
FR2787901B1 (fr) * 1998-12-28 2001-02-09 Bull Sa Organisation memoire par zones physiques
US6684304B2 (en) * 1999-01-29 2004-01-27 Micron Technology, Inc. Method to access memory based on a programmable page limit
US6658449B1 (en) * 2000-02-17 2003-12-02 International Business Machines Corporation Apparatus and method for periodic load balancing in a multiple run queue system
US6748593B1 (en) 2000-02-17 2004-06-08 International Business Machines Corporation Apparatus and method for starvation load balancing using a global run queue in a multiple run queue system
US6981260B2 (en) * 2000-05-25 2005-12-27 International Business Machines Corporation Apparatus for minimizing lock contention in a multiple processor system with multiple run queues when determining the threads priorities
US6574718B2 (en) * 2001-02-28 2003-06-03 International Business Machines Corporation Excessive spin detection and avoidance for systems using a least recently used page replacement algorithm
US7080220B2 (en) * 2003-07-03 2006-07-18 International Business Machines Corporation Page replacement with a re-reference indicator
JP4963854B2 (ja) * 2006-03-28 2012-06-27 株式会社ソニー・コンピュータエンタテインメント マルチプロセッサコンピュータおよびネットワークコンピューティングシステム
JP2011059777A (ja) * 2009-09-07 2011-03-24 Toshiba Corp タスクスケジューリング方法及びマルチコアシステム
US8359449B2 (en) * 2009-12-17 2013-01-22 International Business Machines Corporation Prioritizing virtual real memory paging based on disk capabilities
DE102012203252A1 (de) * 2012-03-01 2013-09-05 Rohde & Schwarz Gmbh & Co. Kg Vorrichtung und Verfahren zum Testen von elektronischen Geräten mit einer räumlich getrennten Steuereinrichtung
CN112416608B (zh) * 2021-01-22 2021-05-11 鹏城实验室 面向云平台性能评估的资源分配方法、装置及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4403286A (en) * 1981-03-06 1983-09-06 International Business Machines Corporation Balancing data-processing work loads
US4481583A (en) * 1981-10-30 1984-11-06 At&T Bell Laboratories Method for distributing resources in a time-shared system
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
JPS6140643A (ja) * 1984-07-31 1986-02-26 Hitachi Ltd システムの資源割当て制御方式
US4805097A (en) * 1984-08-03 1989-02-14 Motorola Computer Systems, Inc. Memory management unit with dynamic page allocation
US4809157A (en) * 1985-09-30 1989-02-28 International Business Machines Corp. Dynamic assignment of affinity for vector tasks
US4747130A (en) * 1985-12-17 1988-05-24 American Telephone And Telegraph Company, At&T Bell Laboratories Resource allocation in distributed control systems
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
US5109512A (en) * 1990-05-31 1992-04-28 International Business Machines Corporation Process for dispatching tasks among multiple information processors

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04156633A (ja) * 1990-10-20 1992-05-29 Fujitsu Ltd 共用メモリを仮想領域としてアクセスし、自動拡張する方式
FR2699304A1 (fr) * 1992-12-10 1994-06-17 Nec Corp Procédé de répartition de processus.
JPH0830562A (ja) * 1994-07-19 1996-02-02 Nec Corp マルチプロセッサシステム
JP2019040343A (ja) * 2017-08-24 2019-03-14 富士通株式会社 情報処理装置、プロセス管理方法およびプロセス管理プログラム

Also Published As

Publication number Publication date
US5193172A (en) 1993-03-09
JP3155537B2 (ja) 2001-04-09

Similar Documents

Publication Publication Date Title
JPH02193248A (ja) 実記憶管理方法
US5784698A (en) Dynamic memory allocation that enalbes efficient use of buffer pool memory segments
US6871264B2 (en) System and method for dynamic processor core and cache partitioning on large-scale multithreaded, multiprocessor integrated circuits
US6425060B1 (en) Circuit arrangement and method with state-based transaction scheduling
US8250347B2 (en) Digital data processing apparatus having hardware multithreading support including cache line limiting mechanism for special class threads
US9304920B2 (en) System and method for providing cache-aware lightweight producer consumer queues
KR100337219B1 (ko) 정확한 캐시 감응성을 가능하게 하는 캐시 구조
US8521982B2 (en) Load request scheduling in a cache hierarchy
US6851030B2 (en) System and method for dynamically allocating associative resources
US20030188107A1 (en) External bus transaction scheduling system
EP0843262A2 (en) Memory request reordering in a data processing system
US8266337B2 (en) Dynamic logical data channel assignment using channel bitmap
CN103218309A (zh) 多级指令高速缓存预取
US6654837B1 (en) Dynamic priority external transaction system
US11687364B2 (en) Methods and apparatus for cache-aware task scheduling in a symmetric multi-processing (SMP) environment
US20090150575A1 (en) Dynamic logical data channel assignment using time-grouped allocations
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
US20090083496A1 (en) Method for Improved Performance With New Buffers on NUMA Systems
US20080276045A1 (en) Apparatus and Method for Dynamic Cache Management
US8010963B2 (en) Method, apparatus and program storage device for providing light weight system calls to improve user mode performance
CN108845969B (zh) 适用于不完全对称多处理微控制器的操作控制方法及操作系统
KR20240023642A (ko) 메모리-로컬 컴퓨팅을 위한 아토믹 메모리 동작들의 동적 병합
JP2004227188A (ja) ジョブスワップ方法、ジョブ管理装置、およびジョブ管理プログラム
GB2389206A (en) Cache control using queues to buffer requests and data
CN117311638A (zh) 缓存管理方法、缓存管理装置、处理器

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees