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

実記憶管理方法

Info

Publication number
JP3155537B2
JP3155537B2 JP01193289A JP1193289A JP3155537B2 JP 3155537 B2 JP3155537 B2 JP 3155537B2 JP 01193289 A JP01193289 A JP 01193289A JP 1193289 A JP1193289 A JP 1193289A JP 3155537 B2 JP3155537 B2 JP 3155537B2
Authority
JP
Japan
Prior art keywords
real
processor
page
task
priority
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 - Fee Related
Application number
JP01193289A
Other languages
English (en)
Other versions
JPH02193248A (ja
Inventor
利明 新井
義隆 大房
弘文 長須賀
康文 吉澤
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)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、主記憶装置を複数のプロセッサで共有する
密結合マルチプロセッサシステムに係り、特に、多量の
主記憶が接続されていて、ページングおよびスワッピン
グを用いて仮想記憶の管理をしている計算機システムに
有効な実記憶管理方法に関する。
【0002】
【従来の技術】
主記憶を共有して複数台のプロセッサを結合した密結
合マルチプロセッサシステムは、計算機システムの高性
能化および高信頼化を推進する技術として、特に大型汎
用計算機システムでは一般化しつつある。密結合マルチ
プロセッサシステムでは、複数のプロセッサにどのよう
なアルゴリズムでタスクや計算機資源を割り付けるかが
重要な課題である。マスタ/スレーブ方式はある決めら
れたプロセッサ(マスタプロセッサ)のみがシステムの
資源管理やスケジユーリングを行う方式であり、構造は
比較的単純であるが、マスタプロセッサに負荷が掛かり
やすく、また、障害に弱いという欠点もあり、本来の意
味の密結合プロセッサということはできない。個別OS方
式は個々のプロセッサに対してオペレーティングシステ
ムを用意し、各々のオペレーティングシステムが分担す
るプロセッサの資源管理、スケジユーリングを行うもの
である。この方式は、負荷バランスを均等化することが
難しく、一般的な性能向上は困難である。一OS方式は、
一つのオペレーティングシステムが必要に応じてどのプ
ロセッサ上でも動いて処理を進めるものであり、本来の
意味での密結合マルチプロセッサといえるものである。
なお、上記各種のマルチプロセッサシステムについて
は、例えば、S.E.Madnick著の「オペレーティングシス
テム」(Operating System)を参照されたい。
【0003】 以上のように、マルチプロセッサシステムにおけるタ
スクスケジユーリングや資源管理の分担に関する技術
は、従来から、多くの方式が公開されている。
【0004】 一方、計算機システムを高速化するための機構として
一般化しつつある他の方法として、高速の干渉記憶装置
を使用して主(実)記憶装置の見掛け上のアクセス速度
を向上する方法がある。この干渉記憶装置はキャッシュ
またはバッファと呼ばれプロセッサ側からは見ることが
できないが、プロセッサと主記憶の間にあつて主記憶中
の頻繁に参照される部分を格納している。プロセッサか
ら主記憶に対するアクセス要求が有った場合に、もし要
求された領域がキャッシュ内に保持されていれば、主記
憶から取込む代わりにキャッシュから高速に取込むこと
が可能である。主記憶装置のアクセス時間はプロセッサ
の処理時間に比べて充分に大きいため、主記憶装置に対
するアクセス速度を比べてアクセス速度が速いこのキャ
ッシュ方式(例えば、キャッシュのアクセス時間は、主
記憶のアクセス時間の10分の1程度)は、計算機システ
の性能向上に有効である。
【0005】
【発明が解決しようとする課題】
上記密結合型のマルチプロセッサ機構の計算機システ
ムに対してもこのキャッシュ方式を適用することは有効
であるが、その適用に当つては幾つかの問題点がある。
大一番目の問題点は、キャッシュのキャンセルと呼ばれ
る現象である。キャッシュはプロセッサから高速にアク
セスされることを可能とするため、距離的にプロセッサ
の近くに配置する必要がある。すなわち、各プロセッサ
毎に対応するキャッシュ記憶装置が存在する。このよう
な構成では、1つの主記憶内の同一の部分(領域Aとす
る)が二つ以上のキャッシュ中に存在することがある。
(ここでは、キャッシュX,キャッシュY中に存在すると
する)このとき、キャッシュXに対応付けられたプロセ
ッサから領域Aに対して書き込み要求が出されると、該
当キャッシュX内の領域Aの内容aが例えばa′のよう
に書き替えられる。そして、このままでは他方のキャッ
シュY内の領域aの内容aと矛盾を生じるため、キャッ
シュY内の領域Aを無効とする(例えば、消去する)。
このことにより、キャッシュYの効果が低下する。これ
をキャッシュのキャンセル現象という。このような現象
は、もちろん、キャッシュYの内容を書き替えた際にも
起こる可能性がある。すなわち、キャッシュの効果を上
げるため、キャッシュに配置する領域の量を増やせば増
やすはど相手プロセッサのキャッシュ内の領域を無効と
してしまい、システム全体としては却って性能低下を起
こしてしまう。
【0006】 メモリ制御に関する他の問題点は、主記憶装置のアク
セス速度の差によるものである。近年の大型計算機シス
テムでは、密結合されるプロセッサ台数は年々多くな
り、また、主記憶容量もそれに比例して増えている。そ
のため、プロセッサと主記憶の内の色々な領域の配線上
の位置が均一とはならないような状態が発生している。
すなわち、あるプロセッサにとってある主記憶領域は高
速にアクセスすることができるが他の領域は高速であ
り、一方、別のプロセッサにとって、それらの領域に対
するアクセス速度の関係は逆になる、ということであ
る。
【0007】 以上のように従来のシングルプロセッサ方式において
は充分な効果を発揮していたメモリ管理機構が、マルチ
プロセッサ方式では性能上のネックとなることが多い。
本発明の目的は、これらの課鹿を解決し、以下の機能を
達成することのできる実記憶管理方式を提供することに
ある。
【0008】 (1)キャッシュのキャンセルの少ない主記憶割り付
け、及び、タスクディスパッチを行うこと。
【0009】 (2)プロセッサがそのプロセッサに付随したアクセス
速度の速い主記憶領域を優先的に使用できるようにする
こと。
【0010】 (3)プロセッサが仮想記憶と実記憶のマツピングフォ
ールト(仮想記憶システムで、使用したいページが主記
憶上にない状態。ページフォールトに同じ。)を起こし
た場合に、割り付け可能な実記憶装置を常に用意してお
くこと。
【0011】 (4)プロセッサ間でマツピングフォールトの発生を均
一化すること。
【0012】 (5)主記憶の空き領域の管理をプロセッサ間で分散さ
せることにより、低速の排他制御用命令の発行を抑える
こと。
【0013】
【課題を解決するための手段】
上記目的を達成するため、本発明の実記憶管理方法で
は、以下の(1)〜(7)のように構成する。
【0014】 (1)前紀実記憶装置の実ページを複数のグループに分
割し、各グループに対して、優先的にグループ内の実ペ
ージを使用する権利(優先使用権)を持つプロセッサを
予め指定し、あるプロセッサで実ページ割り付け要求が
発生した際には該プロセッサが優先使用権を保持してい
る前記グルーに属する実ページを優先的に割り付ける。
【0015】 (2)実記憶装置に対するアクセス速度が最も速いプロ
セッサに対して、該実記憶装置内の実ページの優先使用
権を与える。
【0016】 (3)タスクに割り付けられている実ページの数を前記
グループ毎に計測し、該タスクのディスパッチの際に、
その時該タスクに最も多くの実ページが割当てられてい
る前記グループに対して優先使用権を保持しているプロ
セッサで優先的にディスパッチする(後記の図8,ステッ
プ802参照)。
【0017】 (4)プロセッサ毎に、ページフォールトの発生情報を
取得し、定期的に、マツピングフォールト率の高いプロ
セッサが優先使用権を保持している前記グループに属す
る実ページの量を増やす(図5,特にステッ503参照)。
【0018】 (5)ページフォールト発生時に、プロセッサが優先使
用権を保持している前記グループに属する実ページに空
きが無い場合には、最も多くの空き実ページを保持して
いる前記グループから複数の実ページの空きを取得し、
該プロセッサが優先使用権を保持している前記グループ
のメンバとする(ステップ306,307参照)。
【0019】 (6)タスクに割り付けられている実ページを奪い取る
(ページスチール)処理において、該当タスクに割り付
けられている実ページの前記グループ毎に異なるアルゴ
リズムを適用してページスチールを行なう(ステップ40
4,405参照)。
【0020】 (7)ページスチール処理において、タスクに割り付け
られている実ページの前記グループのうち最も少数のペ
ージが割当てられている前記グループからのスチールを
優先して行なう。
【0021】 上記構成に基づく作用を説明する。
【0022】 以上の構成により、あるタスクが一度あるプロセッサ
にデイスバッチされた場合には、該プロセッサが優先使
用権を持つ主記憶が該タスクに割り付けられ、該タスク
が制御を奪われた後も該プロセッサに再びデイスバッチ
される可能性が高くなる(特に、上記(1)または
(3)の構成による)。
【0023】 このことにより、 (1)ある主記憶領域はある特定のプロセッサのみから
アクセスされる可能性が高くなり、キャッシュのキャン
セル率が低下する(特に、上記(1)または(3)の構
成による)。
【0024】 (2)あるプロセッサから見て高速な主記憶装置に対し
て優先使用権を割当てることにより、高速な主記憶アク
セスが可能となる(特に、上記(1)または(2)の構
成による)。
【0025】 (3)優先使用権のある主記憶以外の領域も使用可能と
することにより、マツピングフォール発生時の空き主記
憶不足状態を回避する(特に、上記(1),(3),ま
たは(6)の構成による)。
【0026】 (4)周期的に、優先使用権のある主記憶容量を調整す
ることにより、プロセッサ間のマツピングフォールト発
生率を平滑化する(特に、上記(1)または(4)の構
成による)。
【0027】 (5)優先使用権のある主記憶領域の管理は対応するプ
ロセッサが一括して管理するため、排他制御用命令の発
生を抑える。
【0028】
【発明の実施の形態】
以下に、本発明の実施形態を図面を用いて説明する。
【0029】 図1は、本発明の実記憶管理方法の一実施形態を説明
するための構成図で、特に、A,B,C,Dの4つのプロセッ
サで構成される4多重密結合マルチプロセッサにおける
テーブル関連構造を示す構成図である。なお、図1およ
び以下の説明で使用されている番号は、数字のみの場合
はプロセッサに共通に適用される部分を示し、数字の後
に英字があるものはその英字でしめされるプロセッサに
固有のものである。
【0030】 命令プロセッサ10A,10B,10C,10Dは、各々プロセッサ
管理テーブル11の各エントリ12A,12B,12C,12Dによつて
制御されている。プロセッサ管理テーブルエントリ12に
は核当プロセッサの実メモリ管理テーブル15へのポイン
タ13とデイスバッチ管理テーブル17へのポインタ14が格
納されている。なお、以下では、プロセッサ10B〜10Dに
関するテーブルについても、プロセッサ10Aに関するテ
ーブルと同様であるので、説明を省略する。
【0031】 実メモリ管理テーブル15のエントリの一つである優先
使用空き実ページチェインポインタ16は該当するプロセ
ッサが優先使用権を保持している実ページの空き領域チ
ェインの先頚を示している。20,20′,20″,20は空き
領域チェインを構成する4つのページである。つまり、
この例では、プロセッサ10Aが優先使用権を持つ空きペ
ージは4つあることを示している。同様に、プロセッサ
10Aが優先使用権をもつ空きページは、ポインタ13Dで指
示される3ページ分20D〜20D″である。また、ディスパ
ッチ管理テーブル17のエントリである優先ディスパッチ
タスクチェインポインタ18は該当プロセッサが優先的に
ディスパッチすることができるタスクチェインの先頭を
示している。ここで、21,21′,21″は、チェーンされて
いる各タスク毎のタスク管理(制御)テーブルである。
チェインされているタスク管理テーブル21には該当タス
クが保持している実ページチェインへのポインタ22A,22
B,22C,22Dが、優先使用権を保持しているプロセッサ毎
に格納されている。各々のポインタはそれぞれ該当する
プロセッサが優先権を持つ実ページ23のチェインの先頭
を示している。この例では23A,23A′はプロセッサ10A
が、23Bはプロセッサ10Bが、23C〜23Cはプロセッサ10
Cが、23D〜23D″はプロセッサ10Dが、それぞれ優先使用
権をもつ1つ1つのページである。つまり、タスク21は
全部で10ページの実記憶領域をもち、そのうち、2ペー
ジ分23A,23A′がプロセッサA、1ページ分の23Bがプロ
セッサB,4ページ分23C〜23CがプロセッサC、3ペー
ジ分23D〜23D″がプロセッサDの、各、優先ページであ
る。本来、Aの管理テーブルで管理されるタスク21は、
ほぼ全部のページがプロセッサAの優先使用となるのが
望ましいので、後述のように、この望ましい状態に次第
に移し替えて行くものである。
【0032】 図2において、実ページ割り付け処理部201は、ある
プロセッサ(例えばプロセッサA)で処理されているタ
スクがページフォールトを起こした場合には、該当する
プロセッサAが優先権を保持している実ページの空き領
域チェインから実ページを取り出し、ページフォールト
を起こしたタスクに割り付ける。
【0033】 ページスチール処理部202は、あるプロセッサがデイ
スバッチ優先権を保持しているタスクからページをスチ
ールする場合には、該当プロセッサが優先権を持つてい
ない実ページを優先的にスチールする。以上の実ページ
割り付け処理部201およびページスチール処理部202によ
り、あるプロセッサがディスパッチ優先権を保持してい
るタスクに割り付けられている実ページは、該当プロセ
ッサが優先権を持つている確率が増加する。
【0034】 メモリ管理用閾値調整処理部203は、定期的に起動さ
れてプロセッサ間の空きページ数のアンバランスの調
整、ページスチール及び割り付けの閾値の更新を行う。
これにより、システムの負荷の変動に応じた、メモリ管
理及びディスパッチングを行うう。
【0035】 図2はメモリ管理の制御処理部と管理テーブルの相互
関連図である。メモリ管理用の制御処理部には実ページ
割り付け処理部201とページスチール処理部(ページフ
ォールト時に、全部割り当ててしまうと補助記憶装置か
ら持つて来ることができないので、これに対処するた
め、長く使わない等のページ内容は補助記憶装置に追い
出し、合いたところをアップチェーンに登録する。)20
2がある。二つの処理部は、実記憶管理テーブル15中の
ページ割り付け閾値204及びページスチール閾値205を用
いて各々の機能を実施し、その履歴情報をページング履
歴情報206として実記憶管理テーブル15に格納する。
【0036】 メモリ管理用閾値調整処理部203は上記の処理が収集
したページング履歴情報206を基に、周期的に新たな閾
値を設定し、実記憶管理テーブル15内の対応するエント
リに格納する。
【0037】 図3は、実ページ割り付け処理部201の実施形態を示
したフローチャートである。ここには、あるプロセッサ
にディスパッチされているタスクがページフォールトを
起こした際の処理が記述されている。まず、該当プロセ
ッサに対する実記憶管理テーブル15を求める(ステップ
301)。次に、該当プロセッサ用の優先使用空き実ペー
ジチェインを検索し(ステップ302)、もし、該チェイ
ンが空でなければ該チェインから空き実ページを一ペー
ジ取り出し(ステップ303)、ページフォールトを起こ
したタスクに割り付ける(ステツプ304)。もし、該チ
ェインが空であれば、他プロセッサの優先使用空き実ペ
ージチェインを検索する(ステップ306)。この検索で
空き実ページが取得できた場合には(ステップ307)、
該タスクに該実ページを割り付ける(ステップ304)。
もし、多重プロセッサの全てのプロセッサ用の優先使用
空き実ページチェインを検索した後も空き実ページを確
保できなかつた場合には(ステップ308)、ページフォ
ールトを起こしたタスクを通常の実ページ割り付け待ち
キューに登録して処理を終了する(ステップ309)。ま
た、割り付けが完了した場合には、割り付けた実ページ
が属するグループと割り付けられたタスクとをページン
グ履歴情報として縁当する実記憶管理テープ15に格納す
る(ステップ305)。
【0038】 図4は、ページスチール処理部202のフローチャート
である。ページスチール処理は定期的に起動され、前回
のページスチール処理から一定時間CPUを消費したタス
クがその対象となる。まず、該当プロセッサがディスパ
ッチ優先権を保持しているタスクの中から上記の条件を
満たしたタスクを選択する(ステップ401)。次に、該
タスクに割り付けられている全ての全ページに対して未
参照時間間隔(UIC:Unreferenced Interval Count)を
更新する(ステップ402)。この処理は従来の処理と同
様である。すなわち、実ページの参照ビットを検索し、
ビットがオンであれば該当するUICを0にセットし、か
つ、参照ビットもリセットする。また、参照ビットがオ
フであれば、該当するUICを1増加させる。このUIC更新
処理の後、UICの値が閾値を超えていれば該ページをス
チールする(ステップ404、ステップ405)。このとき、
該実ページが該プロセッサの優先使用グループに属して
いれば優先使用実ページ用UIC閾値を使用し、そうでな
い場合には通常ページ用のUIC閾値を使用する(異なる
アルゴリズムの使用)(ステップ403)。以上のようなU
IC更新処理を該タスクに割り付けられている全ての実ペ
ージに対して行なう(ステップ406)。更に、核プロセ
ッサがディスパッチ優先権を持っている全てのタスクに
対して行なう(ステップ407)。
【0039】 図5は、メモリ管理用閾値調整処理部(ステップ20
3)のフローチャートである。まず、各プロセッサにた
いして、優先使用空き実ページチェインの平均の長さ
と、ページフォールト時に該当プロセッサの優先使用空
き実ページを割当てることが不可能で有った回数との比
率を算出する(ステップ501)。プロセッサの中で上記
の実ページチェイン平均長が短く、かつ、優先使用空き
実ページ割り付け失敗率の高いものがあれば(ステップ
502)、空き実ページチェイン平均長が長いプロセッサ
の優先使用空き実ページの優先使用権を前記プロセッサ
に移動する(例えば、図1で、ポインタ22Cにチェイン
される空き実ページのいくつかを、ポインタ22Aにチェ
インされるページグループに移す。)(ステップ50
3)。
【0040】 また、プロセッサのページフォールト率が高い場合に
は、ページスチール用のUIC閾値を更新する。このと
き、優先使用実ページのリクレイム率が高い場合には
(ステップ505)、優先使用実ページ用UIC閾値を上げ
(ステップ506)、通常実ページのリクレイム率が高い
場合には(ステップ507)、通常ページ用UIC閾値を上げ
る(ステップ508)。
【0041】 図6はディスパッチング処理部と管理テーブルの相互
関連図である。(なお、図2と図6とは、基本的には、
図6のタスクディスパッチングの行われた後で、図2の
実ページ割り付け処理が行なわれるような関係になつて
いる。実際には、両図の動作が交互に続いて行なわれる
ことになる。また、201〜203,601〜603の個々の処理の
順序関係は、必ずしも一定しているわけではない。)図
6で、ディスパッチ管理用の処理部にはタスクディスパ
ッチング処理601と割込み処理部602がある。二つの処理
部は、ディスパッチ管理テーブル17を用いて各々の機能
を実施し、その履歴情報をディスパッチング履歴情報と
してディスパッチ管理テーブル17に格納する。優先ディ
スパッチタスクの調整処理部603は周期的に起動され、
ディスパッチ管理テーブル17に格納された情報を基に、
各プロセッサの優先ディスパッチタスクを再構成する。
【0042】 図7は、ディスパッチング処理部601の実施形態を示
したフローチャートである。まず、該当プロセッサに対
するディスパッチ管理テーブル17を求める(ステップ70
1)。次に、該当プロセッサ用の優先ディスパッチタス
クチェイン21,21′,21″,…を検索し(ステップ70
2)、もし、該チェインが空でなければ該チェインの先
頭からタスクを取り出し(ステップ703)、該当プロセ
ツサに割り付ける(ステップ704)。もし、該チェイン
が空であれば、他プロセッサの優先ディスパッチタスク
チェインを検索する(ステップ706)。この検索でレデ
ィタスク(実行可能なタスク)が取得できた場合には
(ステップ707)、該タスクをディスパッチする(ステ
ツプ704)。もし、多重プロセッサの全てのプロセッサ
用の優先ディスパッチタスクチェインを検索した後もレ
ディタスクが発見できなかつた場合には、該当プロセッ
サをアイドル状態とする(ステップ708)。また、ディ
スパッチングが終了した場合にはディスパッチング履歴
情報を該当するディスパッチ管理テーブルに格納する
(ステツプ705)。
【0043】 図8は、割込み処理部602のフローチヤートである。
タスクが何等かの理由で割り込まれた場合に起動され
る。まず、該当タスクの再ディスパッチのためにレジス
タを待避し(ステップ801)、その後、その時点までデ
ィスパッチしていたプロセッサの優先ディスパッチタス
クチェインにそのタスクの優先度に従ってチェインされ
る(ステップ802)。そして、タスクに割り付けられて
いる実ページの数を前記グループ毎に計測し、次のディ
スパッチの際に、そのとき該タスクに最も多くの実ペー
ジが割り当てられているグループに対して優先使用権を
保持しているプロセッサで該タスクをディスパッチす
る。
【0044】 図9は、優先ディスパッチタスクの調整処理部603の
フローチャートである。まず、各々のプロセッサにたい
して、優先ディスパッチタスクチェインの平均の長さ
と、該当プロセッサのアイドル率を算出する(ステップ
901)。プロセッサの中でアイドル率が高いものが有れ
ば、アイドル率の低いプロセッサから優先ディスパッチ
タスクを移動する(ステップ902)。
【0045】 なお、優先使用権の割り当ての仕方として、実記憤装
置に対するアクセス速度が最も速いプロセッサに対し
て、縁実記憶装置内の実ページの優先使用権を与えるよ
にてもよい。
【0046】 また、前記のページスチール処理において、タスクに
割り付けられている実ページのグループのうち、最も少
数のページが割り当てられているグループからのスチー
ルを優先して行なうようにしてもよい。
【0047】
【発明の効果】
以上詳しく鋭明したように、本発明の実記憶管理方法
によれば、密結合型のマルチプロセッサ方法において、
実記憶装置の実ページを複数のグループに分割し、各グ
ループに対してグループ内の実ページを優先的に使用す
る優先使用権を持つプロセッサを指定し、あるプロセッ
サで実ページ割り付け要求が発生したときに、そのプロ
セッサが優先権を保持しているグループに属する実ペー
ジを優先的に割り付けるようにしたので、一旦、あるタ
スクが、あるプロセッサにディスパッチされた場合に
は、該プロセッサが優先使用権を持つ主記憶領域が緑タ
スクに割り付けられ、該タスクが制御を奪われた後も該
プロセッサに再度デイスパッチされる可能性が高くなる
結果、キャッシュキャンセルの少ない主記憶割りつけお
よびタスクディスバッチを行なうことができる等、優れ
た効果を奏する。
【図面の簡単な説明】
【図1】 本発明の実記憶管理方法を4多重密結合マルチプロセッ
サを用いて実現するようにした一実施形態の構成図であ
る。
【図2】 メモリ制御の処理部と管理テーブルとの相互関係を説明
するための図である。
【図3】 実ページ割り付け処理部の実施形態を説明するためのフ
ローチャートである。
【図4】 ページスチール処理部の実施形態を説明するためのフロ
ーチャートである。
【図5】 メモリ管理用閾値調整処理部を説明するためのフローチ
ャートである。
【図6】 デイスパッチング処理部とその管理テーブルの相互関係
を説明するための図である。
【図7】 ディスパッチング処理部の実施形態を説明するためのフ
ローチャートである。
【図8】 割り込み処理部を説明するためのフローチャートであ
る。
【図9】 優先ディスパッチタスクの調整処理部を説明するための
フローチャートである。
【符号の説明】
10A〜10D……命令プロセッサ 11……プロセッサ管理テーブル 12A〜12D……プロセッサ管理テーブルエントリ 15A……実記憶管理テーブル 16……優先使用空き実ページチェインポインタ 17A……ディスパッチ管理テーブル 20……空きページ 21……タスク管理テーブル 22……タスク使用中実ページチェインポインタ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI G06F 15/16 645 G06F 15/16 645 15/177 674 15/177 674A (72)発明者 長須賀 弘文 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (72)発明者 吉澤 康文 神奈川県川崎市麻生区王禅寺1099番地 株式会社日立製作所システム開発研究所 内 (56)参考文献 特開 昭57−154690(JP,A) 特開 昭58−175188(JP,A) 特開 昭60−8960(JP,A) 特開 平2−36458(JP,A) 特開 昭61−183756(JP,A) 特開 昭60−189549(JP,A) 特開 昭62−169258(JP,A) 特開 昭61−26167(JP,A) 特開 平2−165252(JP,A) 特開 昭50−132829(JP,A) 特開 昭58−140863(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/08 - 12/12 G06F 15/16 - 15/177 G06F 9/46

Claims (7)

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

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2634485B2 (ja) * 1990-10-20 1997-07-23 富士通株式会社 共用メモリを仮想領域としてアクセスし、自動拡張する方式
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
FR2699304B1 (fr) * 1992-12-10 1996-03-15 Nec Corp Procede de repartition de processus.
US5606685A (en) * 1993-12-29 1997-02-25 Unisys Corporation Computer workstation having demand-paged virtual memory and enhanced prefaulting
JPH0830562A (ja) * 1994-07-19 1996-02-02 Nec Corp マルチプロセッサシステム
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
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
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
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
JP7007557B2 (ja) * 2017-08-24 2022-01-24 富士通株式会社 情報処理装置、プロセス管理方法およびプロセス管理プログラム
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

Also Published As

Publication number Publication date
JPH02193248A (ja) 1990-07-30
US5193172A (en) 1993-03-09

Similar Documents

Publication Publication Date Title
JP3155537B2 (ja) 実記憶管理方法
US7624257B2 (en) Digital data processing apparatus having hardware multithreading support including a register set reserved for special class threads
US5826079A (en) Method for improving the execution efficiency of frequently communicating processes utilizing affinity process scheduling by identifying and assigning the frequently communicating processes to the same processor
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
US6633897B1 (en) Method and system for scheduling threads within a multiprocessor data processing system using an affinity scheduler
US7159216B2 (en) Method and apparatus for dispatching tasks in a non-uniform memory access (NUMA) computer system
US7743222B2 (en) Methods, systems, and media for managing dynamic storage
US6625710B2 (en) System, method, and apparatus for providing linearly scalable dynamic memory management in a multiprocessing system
US5606685A (en) Computer workstation having demand-paged virtual memory and enhanced prefaulting
US5010482A (en) Multi-event mechanism for queuing happened events for a large data processing system
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
US11687364B2 (en) Methods and apparatus for cache-aware task scheduling in a symmetric multi-processing (SMP) environment
CN113010453A (zh) 一种内存管理的方法、系统、设备及可读存储介质
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
US6895583B1 (en) Task control block for a computing environment
US8010963B2 (en) Method, apparatus and program storage device for providing light weight system calls to improve user mode performance
CN108845969B (zh) 适用于不完全对称多处理微控制器的操作控制方法及操作系统
JPH07129518A (ja) 計算機システム
JPH04123234A (ja) マルチプロセッサのプロセススケジューリング方式及びメモリ管理方式
CN114880104A (zh) 便于OpenCL工作组乱序执行的方法、系统及存储介质
KR100294314B1 (ko) 데이터처리시스템및방법과그런시스템과의통신시스템
JP2943401B2 (ja) 仮想計算機の外部記憶装置割当処理方法
JP2004086921A (ja) マルチプロセッサシステムおよびマルチプロセッサシステムにおいてタスクを実行する方法
JPH07182298A (ja) 情報処理方法及び装置

Legal Events

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