JPH0551942B2 - - Google Patents

Info

Publication number
JPH0551942B2
JPH0551942B2 JP62323015A JP32301587A JPH0551942B2 JP H0551942 B2 JPH0551942 B2 JP H0551942B2 JP 62323015 A JP62323015 A JP 62323015A JP 32301587 A JP32301587 A JP 32301587A JP H0551942 B2 JPH0551942 B2 JP H0551942B2
Authority
JP
Japan
Prior art keywords
memory
processor
global
amount
local
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
Application number
JP62323015A
Other languages
English (en)
Other versions
JPS63239551A (ja
Inventor
Patoritsuku Bitsushopu Tomasu
Henri Deiuisu Maaku
Uein Fuitsushu Robaato
Suteyuaato Pitaason Jeimuzu
Teimoshii Suratsuto Guroa
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.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
AT&T 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 American Telephone and Telegraph Co Inc, AT&T Corp filed Critical American Telephone and Telegraph Co Inc
Publication of JPS63239551A publication Critical patent/JPS63239551A/ja
Publication of JPH0551942B2 publication Critical patent/JPH0551942B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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

Landscapes

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

Description

1を割り当てる650−657 ことを特徴とする請求項1記載の装置。
3 前記プロセスマネージヤ30は、プロセツサ
10,11,12にプロセスを割り当て610−
614、 前記核31は、グローバルメモリ42に含まれ
るメモリを、ローカルメモリ41に転送し52
2,652,711、 前記各核31は、そのローカルメモリ41に含
まれるメモリを、その核に関連するプロセツサに
割り当てられたプロセスに割り当てる650−6
57 ことを特徴とする請求項1記載の装置。
4 前記の核31は、未割当ローカルメモリ45
量に基づき、前記核31に関連するプロセツサの
グローバルメモリ42とローカルメモリ41の間
でメモリの転送を行うことを特徴とする請求項1
記載の装置。
5 前記各核31は、割当て済ローカルメモリ4
6を、関連プロセツサへのプロセスの割当てから
解除し800−806、 プロセスマネージヤ30と協力して、前記核3
1は、 未割当ローカルメモリ45量が、所定の最大値
以上になると、前記核31に関連するプロセツサ
のローカルメモリ41からグローバルメモリ42
にメモリを転送し(第9図)、 未割当ローカルメモリ45量が、所定の最小値
以下になると、前記核31に関連するプロセツサ
のグローバルメモリ42からローカルメモリ41
にメモリを転送する(第7図) ことを特徴とする請求項1記載の装置。
6 前記付属プロセツサ11,12の個々のメモ
リが、グローバルメモリ42と、未割当ローカル
メモリ45と、割当て済ローカルメモリ46とに
分けられ、 前記プロセスマネージヤ30は、プロセツサに
プロセスを割り当て611、 前記核31は、この割り当てられたプロセスの
為に、グローバルメモリ42に含まれるメモリを
プロセスが割り当てられているプロセツサの未割
当ローカルメモリ45に転送し522,652,
711、 前記核31は、メモリをプロセスに割り当てる
ため、未割当ローカルメモリ45からプロセツサ
の割当て済ローカルメモリ46にメモリ量を転送
し650−657、さらに、割当て済みのメモリ
をプロセツサの割当てから解除するため、割当て
済ローカルメモリ46から未割当ローカルメモリ
45にメモリを転送し(第8図)、 プロセスマネージヤ30と協力して、付属プロ
セツサの核31は、所定条件の出現に応じて、前
記核31に関連するプロセツサのグローバルメモ
リ42と未割当ローカルメモリ45との間でメモ
リを転送する(第5−9図参照) ことを特徴とする請求項1記載の装置。
7 核31は、 グローバルメモリ42に含まれるメモリ量の表
示をストアする第1エントリ201および未割当
ローカルメモリ45に含まれるメモリ量の表示を
ストアする第2エントリ202を含む第2テーブ
ルを含む可同調構造(51、第3図参照)を有
し、 この核31に関連するプロセツサに割り当てら
れたプロセスの複製要求に応答して、グローバル
メモリ42が複製プロセスによつて必要とされる
メモリ量を持つか否かを決める為、第2テーブル
の第1エントリを調べ500−502、グローバ
ルメモリ42が必要とされるメモリ量を持つと
き、プロセスマネージヤ30に複製の許可を要求
し503−504、 プロセスマネージヤ30は、 複数のプロセツサに関連する複数のエントリ2
12−213を含み、付属プロセツサのグローバ
ルメモリ42に含まれるメモリ量の表示をストア
するエントリを含む第1テーブルを含むグローバ
ル構造(50、第2図参照)を有し、 複製許可の要求に応答し、前記核31のプロセ
ツサのグローバルメモリ42が必要とされるメモ
リ量を持つか否かを決めるため、このプロセツサ
に関連する第1テーブルのエントリを調べ510
−511、(a)グローバルメモリ42から未割当ロ
ーカルメモリ45へメモリを転送するに必要とさ
れるメモリ量だけ、第1テーブルのエントリを減
少し512−513、そして(b)グローバルメモリ
42が必要とされるメモリを持つとき、複製要求
に対する許可を核31に通知し514、 この核31は、 この許可通知に応答し、(a)グローバルメモリ4
2から未割当ローカルメモリ45へメモリの転送
を完了するために必要とされるメモリ量だけ、第
2テーブルの第2エントリを増加し520−52
2、第1エントリを減少し、そして(b)複製された
プロセスをプロセツサに割り当てる為、その未割
当ローカルメモリ45から割当て済ローカルメモ
リ46へメモリを転送するのに必要とされるメモ
リ量だけ、第2テーブルの第2エントリを減少す
る523−527 ことを特徴とする請求項6記載の装置。
8 プロセスマネージヤ30は、複数のプロセツ
サに関連する複数のエントリ212−213を含
み、付属プロセツサのグローバルメモリ42に含
まれるメモリ量の表示をストアするエントリを含
む第1テーブルを含むグローバル構造(50,第
2図参照)を有し、 コールプロセツサからのプロセス変換要求に応
答し、変換されたプロセスへの割り当ての為、こ
の変換されたプロセスに必要なメモリを持つグロ
ーバルメモリ42を有するプロセツサを選択し6
10−611、この選択されたプロセツサは、(a)
グローバルメモリ42から選択されたプロセツサ
の未割当ローカルメモリ45へのメモリの転送を
始めるのに必要とされるメモリ量をだけ、選択さ
れたプロセツサに関連する第1テーブル手段のエ
ントリを減少し612、(b)コールプロセツサに、
この選択完了を通知し、 核31は、 グローバルメモリ42のメモリ量の表示をスト
アする第1エントリ201および未割当ローカル
メモリ45のメモリ量の表示をストアする第2エ
ントリ202を含む第2テーブルを含む可同調構
造(51,第3図参照)を有し、 プロセスマネージヤ30からの選択通知に応答
し、(a)グローバルメモリ42から未割当ローカル
メモリ45へのメモリの転送を完了するのに必要
とされるメモリ量だけ、第2テーブルの第2エン
トリを増加し650−652、第1エントリを減
少し、そして(b)変換されたプロセスへの割り当て
のため、未割当ローカルメモリ45から割当て済
ローカルメモリ46へメモリを転送するのに必要
とされるメモリ量だけ、第2テーブルの第2エン
トリを減少する653−657 ことを特徴とする請求項6記載の装置。
9 核31は、 グローバルメモリ42のメモリ量の表示をスト
アする第1エントリ201および未割当ローカル
メモリ45のメモリ量の表示をストアする第2エ
ントリ202を含む第2テーブルを含む可同調構
造(51,第3図参照)を有し、 付属プロセツサに割り当てられたプロセスに必
要とされるメモリ量(以下、第1メモリ量とす
る)の割り当て要求に応じて、未割当ローカルメ
モリ45が要求を満たす適当なメモリ量を持つか
否かを決めるため、第2テーブルの第2エントリ
を調べ700−702、未割当ローカルメモリ4
5が適当なメモリ量を持たないとき、プロセスマ
ネージヤ30にグローバルメモリ42からローカ
ルメモリ41へメモリ量(以下、第2メモリ量と
する)の転送を要求し703−706、そして未
割当ローカルメモリ45が適当なメモリを持つと
き、コールプロセスへの割り当ての為、未割当ロ
ーカルメモリ45から割当て済ローカルメモリ4
6へ第1メモリ量を転送するために、第1メモリ
量だけ第2テーブルの第2エントリを減少し71
3−717、 プロセスマネージヤ30は、 複数のプロセスに関連する複数のエントリ21
2−213を含み、プロセツサのグローバルメモ
リ42のメモリ量の表示をストアするエントリを
含む第1テーブルを含むグローバル構造(50,
第2図参照)を有し、 前記転送要求に応答し、グローバルメモリ42
から未割当ローカルメモリ45へ、グローバルメ
モリ42の全メモリ量か第2メモリ量のいずれか
小さい方のメモリ量を転送するために、前記小さ
い方のメモリ量だけ、核31のプロセツサの第1
テーブルのエントリを減少し1100−110
3、その結果を核31に通知し1104−110
5、 核31は、 前記通知に応答して、グローバルメモリ42か
ら未割当メモリ45へメモリの転送を完了するた
めに、転送されたメモリ量だけ、第2テーブルの
第1エントリを減少し、その第2エントリを増加
し701−711、未割当ローカルメモリ45が
第1メモリ量を持つか否かを決めるために、第2
テーブルの第2エントリを調べ712、未割当ロ
ーカルメモリ45が第1メモリ量を持つとき、コ
ールプロセスへの割り当ての為、未割当ローカル
メモリ45から割当て済ローカルメモリ46へ第
1メモリ量を転送する為に、第1メモリ量だけ、
第2エントリを減少する713−717 ことを特徴とする請求項6記載の装置。
10 核31は、 付属プロセツサのグローバルメモリ42のメモ
リ量の表示をストアする第1エントリ201と、
プロセツサの未割当ローカルメモリ45のメモリ
量の表示をストアする第2エントリ202とを含
む第2テーブルを含む可同調構造(51,第3図
参照)を有し、 第1メモリ量が割り当てられたプロセツサに割
り当てられたプロセスからの割当て解除コールに
応答し、このプロセスから第1メモリ量を解除す
る為に、割当て済ローカルメモリ46から未割当
ローカルメモリ46へ第1メモリ量を転送する為
に、この第1メモリ量だけ第2テーブルの第2エ
ントリを増加し800−802、その後、未割当
ローカルメモリ45が所定量以上の剰余メモリ量
(以下、第3メモリ量とする)を持つか否かを決
める為に、第2テーブルの第2エントリを調べ8
04,900−903、未割当ローカルメモリ4
5が前記所定量を超えたときに、プロセスマネー
ジヤ30にローカルメモリ41からグローバルメ
モリ42への第3メモリ量の転送を要求し90
4,907、 プロセスマネージヤ30は、 複数のプロセツサに関連する複数のエントリ2
12−213を含み、プロセツサのグローバルメ
モリ42のメモリ量の表示をストアする第1テー
ブルを含むグローバル構造(50,第2図参照)
を有し、 前記転送要求に応答し、未割当ローカルメモリ
45からグローバルメモリ42へ第3メモリ量を
転送する為に、第3メモリ量だけ、核31のプロ
セツサに関連する第1テーブルのエントリを増加
し910−911、それを核31に通知し912
−913、 この核31は、前記通知に応答し、未割当ロー
カルメモリ45からグローバルメモリ42へ第3
メモリ量を転送する為に、第3メモリ量だけ、第
2テーブルの第2エントリを減少し、第1エント
リを増加する920−922 ことを特徴とする請求項6記載の装置。
11 グローバルメモリ42とローカルメモリ4
1に分けられたメモリ22と核31とを有する複
数の付属プロセツサ11−12と、 プロセスマネージヤ30を有するホストプロセ
ツサ10と を有するシステムにおけるプロセスにメモリを割
り当てる方法において、 (a) プロセスにその処理に必要な第1メモリ量を
割り当てるよう、プロセスマネージヤ30に要
求するステツプ(503,602)と、 (b) 前記要求に応答して、プロセスマネージヤ3
0は、ある付属プロセツサ11のグローバルメ
モリ42が十分利用可能なメモリ量を有するか
否かを決定するステツプ(511,611)と、 (c) 前記付属プロセツサ11が十分利用可能なグ
ローバルメモリ42量を有する場合、その付属
プロセツサの核31は必要なメモリ量だけその
グローバルメモリ42からローカルメモリ41
にメモリを転送するステツプ(522,652)と、 (d) 前記付属プロセツサが十分利用可能なグロー
バルメモリ42量を有さない場合、プロセスを
要求した付属プロセツサに拒否を通知するステ
ツプ(515)と からなることを特徴とするプロセスへのメモリ割
り当て方法。
12 (e) 前記付属プロセツサに割り当てたプロ
セスに割り当てた不必要となつた第3メモリ量
を解除することを核31に要求するステツプ
(800)と (f) 前記解除要求に応じて、核31が前記付属プ
ロセツサのローカルメモリ41へプロセスから
の第3メモリ量を転送するステツプとを更に有
することを特徴とする請求項11記載の方法。
【発明の詳細な説明】
(発明の背景) [発明の属する技術分野] 本発明は、それぞれ独自のメモリを有する複数
のプロセツサからなる多重プロセツサシステムで
のプロセスへのメモリ割り当てに関する。
[従来技術の説明] 多重プロセツサコンピユータは、通常使うメモ
リ配置によつて「強結合」と「疎結合」のいずれ
かに分類される。
「強結合」システムは、メモリ共用システム
で、複数のプロセツサが自分専用のメモリ(貯蔵
メモリを除く)を有せず、中央管理メモリを共用
する。単一制御による中央管理は多数の制御を統
合する難しさを避け、メモリの中央管理ができ、
メモリの各部分の状態の情報が簡単に得られる。
従つて、プロセスへのメモリ空間の割当てを含む
メモリ管理が簡単にでき、かなり柔軟性を持つ。
一方、集中したメモリ管理が“ネツク”になり、
多重プロセツサの動作を制限する可能性がある。
また中央制御も多重プロセツサの故障許容度に影
響を与える。これは一つの故障が通常システムに
影響するからである。
「疎結合」システムは、メモリ非共用システム
で、それぞれのプロセツサが自分専用の独自のメ
モリを有し、プロセツサ独自の制御によつてロー
カル的に管理される。それぞれのメモリがローカ
ル的に違う制御手段によつて管理され、別のプロ
セツサのメモリの情報がなく、制御もできないた
め、統合、システム拡張やメモリ管理するにはそ
れぞれのプロセツサの間に広範囲な調整や協調が
必要である。複数の制御手段間の矛盾を避けるた
め、プロセスのプロセツサへの割当は、予め決め
られ、そして静的、即ち変化しない。またプロセ
スへのメモリの割当は複雑で厳密に制限されてい
る。
従つて、本発明の目的は、メモリ非共用多重プ
ロセツサシステムでも、強結合多重プロセツサシ
ステムのような柔軟性のあるダイナミツクなメモ
リ管理を提供することである。
(発明の概要) 本発明によれば、それぞれ独自のメモリを有す
る多数のプロセツサを持つ多重プロセツサシステ
ムでは、プロセツサのメモリが、グローバル部分
とローカル部分に分割される。多重プロセツサの
オペレーシヨンシステムの核であるプロセスマネ
ージヤ30が、プロセスにグローバルメモリのメ
モリを割り当てる。プロセスマネージヤ30の機
能はプロセツサへのプロセスの割当を含む。それ
ぞれのプロセツサに関連する核31がプロセスに
プロセツサのローカルメモリ41のメモリを割り
当てる。プロセツサ10,11,12は、核31
を含み、それは従来のメモリ管理機能を持つ。こ
の核はプロセツサに割り当てたプロセスにローカ
ルメモリを割り当て、またはプロセスからローカ
ルメモリの割当を解除する。
必要とされるメモリ管理を有する本発明は、強
結合と疎結合の多重プロセツサシステム両方の特
徴を持つ。グローバルメモリは強結合多重プロセ
ツサシステムと同じ方法で管理され、プロセスの
プロセツサへの割当や新しいプロセスへの初期メ
モリの割当などのようなメモリ管理機能を柔軟に
実行しやすくなるようにする。これらの機能が一
つの制御手段に集中されるため、疎結合システム
のように多数の制御手段の活動を調整する必要が
ない。一方、ローカルメモリは、疎結合システム
と同じ方法で管理される。ローカルメモリの管理
は、プロセツサに割り当てたプロセスへのメモリ
割当およびプロセスからメモリ割当の解除のよう
なプロセツサ内機能に関連するため、これらの機
能については多数の制御手段を統合する必要がな
い。さらにそれぞれのプロセツサは、そのローカ
ルメモリに対して独自のローカル制御を有する。
ローカルメモリの制御が集中されないため、多重
プロセツサの動作を妨げるあるいはプロセツサか
らプロセツサへの割当以外のメモリ管理機能に故
障点を生じさせる制御ネツクがない。
特にプロセスマネージヤ30と多数の核31が
互いに協調して任意のプロセツサのグローバルと
ローカルのメモリの間にメモリを転送する。転送
はある所定条件の出現に応じて行われる。例え
ば、プロセスに未割当ローカルメモリのメモリ量
がある最小値より小さいとき、グローバル部分か
らローカル部分へメモリが転送され、また未割当
ローカルメモリのメモリ量がある最大値を超える
未割当ローカルメモリからグローバルメモリへメ
モリが転送される。従つて、ローカルおよびグロ
ーバルメモリのサイズが固定されたものではな
い、システムのニーズに応じてダイナミツクに変
化できる。ローカルメモリがグローバルメモリか
らメモリ空間を借りたり、あるいは剰余なメモリ
空間をグローバルメモリに提供したりすることが
できるため、メモリがより有効に利用でき、従つ
て固定分割システムの場合よりメモリを小さくで
きる。
本発明の一実施例では、プロセスマネージヤ3
0が直接にメモリをプロセスに割り当てるのでは
なく、核31を介して行う。プロセスマネージヤ
30はプロセツサがプロセスの必要な初期メモリ
を満たす十分なグローバルメモリを有するかどう
かの情報に基づき、プロセスのためにプロセツサ
を選択する。次にプロセスマネージヤ30はグロ
ーバルメモリから選択されたプロセツサの未割当
ローカルメモリへ必要なメモリを転送する。そし
て選択されたプロセツサの核31は未割当ローカ
ルメモリからプロセスへ必要なメモリを割り当て
る。
本実施例は、プロセスマネージヤ30が多くの
メモリ管理機能およびそれらに伴う記録保持から
解放できる利点を持つ。例えば、プロセスマネー
ジヤ30は、プロセスにどのぐらいの、どの部分
のメモリが割り当てられているか、あるいはどの
部分のメモリがグローバルメモリからなるかなど
を記録する必要がない。プロセスマネージヤ30
はグローバルメモリのメモリ量だけがわかればよ
い。従つて、プロセスマネージヤの構造が簡単化
され、その動作が改善される。
(実施例の説明) 第1図はバス15のような通信媒体によつて内
部接続される多数のプロセツサ10−12からな
る多重プロセツサコンピユータシステムを示す。
それぞれのプロセツサは少なくとも三つの機能装
置: (1) バス15のプロトコールに従つて、バス15
を利用したプロセツサの通信を可能にするイン
ターフエス20、 (2) アプリケーシヨンや制御処理を実行する中央
処理装置(CPU)21、および (3) プロセツサに割り当てられた処理用プログラ
ム、データや別の情報をストアするためのメモ
リ空間を提供するメモリ22 を有する。簡単のためにメモリ内のメモリ空間を
今後メモリと称する。
プロセツサ10−12は、第1図の全システム
の管理制御センターとして働くホストプロセツサ
10を有する。ホストプロセツサ10は、例えば
AT&Tインフオメーシヨンシステム(AT&T
−lnformation Systems lnc.)の3B15コンピユ
ータである。プロセツサ10−12はまたホスト
プロセツサ10によつて指定された機能を果す多
数の付属プロセツサ11−12を有する。例え
ば、付属プロセツサ11−12は付属メモリを有
するAT&Tの多重プロセツサシリーズWE32100
からなる。本実施例では、バス15はS/NET
バスのような高速パケツトバスであり、エス・ア
ール・アウジヤ(S.R.Ahuja)によつて1983年の
アイトリプルイージヤーナルオンセレクテイトエ
リアスオブコミユニケーシヨンス(IEEE
Journal on Selected Areas of
Communications)の第1巻第5号に発表された
“S/NET 多重コンピユータの高速内部接続”
という文献およびアメリカ特許第4384323号と第
4514728.号に記述されている。
第1図のシステムは、オペレーテイングシステ
ム例えばAT&TのUNIXオペレーテイングシス
テムの制御下で動作する。オペレーテイングシス
テムはプロセツサ10−12に分散される。分散
されたオペレーテイングシステムは従来の技術で
公知である。例えば、UNIXオペレーテイングシ
ステムの多重プロセツサへの適用は1983年7月28
日のエレクトロニクス(Electronics)第118頁に
記載されるピー・ジヤクソン(P.Jackson)の
“UNIXの変更が多重プロセツサシステム管理へ
の道を開く”という文献に記述されている。オペ
レーテイングシステムの核(Kernel)31(オ
ペレーテイングシステムのメモリ部分)のプログ
ラムコードは、メモリ22にストアされ、CPU
21上で一連の処理として実行される。オペレー
テイングシステムの別の部分は、例えば、ホスト
プロセツサ10あるいはフアイルサーバとして機
能するプロセツサ11−12に付属するデイスク
(図示せず)上にストアされ。必要により、プロ
セツサ10−12のメモリ22に読み込まれる。
オペレーテイングシステムの核31は、それぞれ
のプロセツサ10−12上にコピーされ、プロセ
ツサ10−12に同じ基本オペレーテイングシス
テムサービスを提供する。ホストプロセツサ10
の核31は、さらにプロセツサにユニークなサー
ビスをも提供できる。このサービスには、メモリ
管理機能がプロセツサ10−12上にコピーされ
る機能に含まれ、この機能がメモリ管理機能のあ
る同一プロセツサ10−12に割り当てられた処
理にまたは処理からメモリの割当あるいはメモリ
割当の解除を行う。
さらに、ホストプロセツサ10の核31にはプ
ロセスマネージヤ30が含まれる。これは、ホス
トプロセツサ10の上にのみ置かれる。プロセス
マネージヤ30は中央制御手段で、その機能はプ
ロセツサ10−12への実行プロセスの割当を含
む。第1図のシステムでは、メモリはローカルな
リソース(資源)である。つまり、プロセツサ1
0−12のメモリ22は、そのプロセツサの核3
1によつてそれぞれのプロセツサ10−12でロ
ーカルにプロセスに割当てられたり、またはその
割当てが解除されたりする。この付属プロセツサ
11−12の核31は、別のプロセツサ10−1
2のメモリ22を制御したりそれに関連する情報
を有さない。しかし、実行プロセスは、プロセス
マネージヤ30によつてプロセツサ10−12に
割り当てられ、プロセスマネージヤ30は、プロ
セツサ10−12にどのぐらいのメモリがプロセ
スへの初期割り当てに使えるかを認知している。
こうしてプロセツサ10−12が与えられたプロ
セスを実行する能力を持つかどうかが決められ
る。
このため、第1図のシステムではメモリ管理は
次のように行われる。各付属プロセツサ11−1
2のメモリ22は、論理的に二つの部分:ローカ
ルメモリ41とグローバルメモリ42に分けられ
る。ローカルメモリ41全体がローカルメモリプ
ールを形成し、グローバルメモリ42全体がグロ
ーバルメモリプールを形成する。ローカルメモリ
プールのローカルメモリ41はそれに関連する核
31によつて管理される。グローバルメモリプー
ルのグローバルメモリ42は関連核31と共にプ
ロセスマネージヤ30によつて管理される。プロ
セスマネージヤ30がグローバルメモリプールを
管理するため、グローバルメモリ42のサイズを
常に認知している。プロセスマネージヤ30はこ
の情報を用いて、プロセツサ10−12がプロセ
スの割り当てを受けるのに十分なメモリを持つか
どうかを決める。プロセスマネージヤ30は、ホ
ストプロセツサ10の核31のメモリ管理機能を
利用してホストプロセツサ10の全メモリ22を
直接管理する。プロセスマネージヤ30は、従来
の単一プロセツサで用いられるのと同じ方法で、
ホストプロセツサ10のメモリ22を管理する。
それはホストプロセツサ10の全メモリ22を別
の付属プロセツサのグローバルメモリと同じよう
に考える。
プロセツサ11−12のローカルメモリ41と
ホストプロセツサ10のメモリ22とは、論理的
に割当済み(committed)メモリ46と未割当
(uncommitted)メモリ45に分けられる。未割
当メモリ45は、プロセスには未だに割当てられ
ていないメモリで、従つて公後割り当てのために
自由に使える。割当済みメモリ46は、プロセス
マネージヤ30を含む核31によつて、プロセス
に割当済みメモリで、既に使われて今後の割当て
には使えない。付属プロセツサ11−12ではロ
ーカルメモリ41のみが割当できる。グローバル
メモリ42は常に割当てできない。
固定して柔軟性のないメモリ分割の欠点を避け
るため、プロセスマネージヤ30とプロセツサ1
1−12の核31が協動して、付属プロセツサの
ローカルメモリ41とグローバルメモリ42の間
でメモリを転送できる。このようにメモリはプロ
セスマネージヤ30と付属プロセツサ11−12
の中核31の間の承諾に基づき、ローカルメモリ
41とグローバルメモリ42の間、あるいはロー
カルメモリ41間で移動できる。
メモリの移動は第4図に示される。第4図は付
属プロセツサ11−12のメモリ22の任意の部
分、例えば、任意のページが、次の三つの状態:
即ち、グローバルメモリ42に割り当てられた状
態400、未割当ローカルメモリ45に割り当て
られた状態401、割当済みローカルメモリ46
に割り当てられた状態402にありうる。第4図
で状態遷移403−409によつて表わされる
種々の条件の出現が、メモリの状態間の移動を引
き起こす。
プロセスマネージヤ30は、グローバル構造5
0によつてグローバルメモリプールのトラツクを
保持する。グローバル構造50の詳細は、第2図
に示される。グローバル構造50は、ホストプロ
セツサ10のメモリ22にストアされるデータ構
造である。グローバル構造50は、それぞれプロ
セツサ10−12に対応する多数のエントリ21
1−213を持つ。それぞれのエントリが付属プ
ロセツサ11,12のグローバルメモリ42に含
まれるメモリ量を示す情報をストアする。ホスト
プロセツサ10に接続されるUNCOMMITTED
CT.エントリ211は、ホストプロセツサ10の
未割当メモリ45に含まれるメモリ空間の量を示
す情報をストアする。
例えば、プロセツサ10−12のメモリ22
は、論理的にページに分割され、例えば1ページ
の大きさは2048バイトで、そしてGLOBAL CT.
エントリ211−213は、未割当メモリ45
(エントリ211)とグローバルメモリ42(エ
ントリ212−213)に含まれるメモリのペー
ジ数をストアする。ページ数計算に結びつく特別
なページはなく、プロセスマネージヤ30は、ペ
ージの識別よりも、ページ数のみ記憶する。従つ
て、特定のページを識別する情報が、グローバル
構造50のエントリ211−213にストアされ
ない。
それぞれの付属プロセツサ11−12の核31
は、従来の方法で対応するローカルメモリ41を
管理する。しかし、メモリ22のローカルメモリ
41とグローバルメモリ42とへの分割を有効に
管理するために、付属プロセツサ11−12の核
31は、独自の可同調構造51を有する。この可
同調構造51は、例えば、核31のあるプロセツ
サ11−12のメモリ22にストアされるデータ
構造(第3図)である。この可同調構造51は、
付属プロセツサ11−12のメモリ22に関連す
る多数のエントリ201−207を含む。
GLOBAL CT.エントリ201は、グローバルメ
モリ42に含まれるメモリ量を示す情報をストア
する。このメモリは第4図で状態400によつて
表わされる。LOCAL CT.エントリ202は、未
割当ローカルメモリ45に含まれるメモリ量を示
す情報をストアする。このメモリは第4図で状態
401によつて表わされる。INITLOCALエン
トリ203は、プロセツサの初期化のとき未割当
ローカルメモリ45に含まれるメモリ量を示す情
報をストアし、残存する未割当メモリは、初期化
のときグローバルメモリ42に含まれる。
MINLOCALエントリ204は、未割当ローカル
メモリ45が持つべき最小メモリ量を示す情報を
ストアする。未割当ローカルメモリ45のメモリ
量が、エントリ204によつて指定される最小値
以下になつたら、付属プロセツサ11−12の核
31はグローバルメモリ42から未割当ローカル
メモリ45へメモリ空間を移動する。この移動は
状態遷移404で表わされる。MINGTOLエン
トリ205は“スラツシング”を避けるために、
グローバルメモリ42からローカルメモリ41に
移動されるべき最小メモリ量を示す情報をストア
する。このエントリ205によつて指定される最
小値より少ないメモリは、グローバルメモリ42
がその最小値より少ないメモリしか持たないとき
にのみ移動される。MAXLOCALエントリ20
6は、未割当ローカルメモリ45が持つべき最大
メモリ量を示す情報をストアする。未割当ローカ
ルメモリ45のメモリ量がエントリ206によつ
て指定される最大値を超えると、付属プロセツサ
11−12の核31はプロセスマネージヤ30の
許可を得てローカルメモリ41からグローバルメ
モリ42へ一部のメモリを移動する。この移動
は、第4図で状態遷移403によつて表わされ
る。MINLTOGエントリ207は、“スラツシン
グ”を避けるために、未割当ローカルメモリ45
からグローバルメモリ42に移動されるべき最小
メモリ量を示す情報をストアする。このエントリ
207によつて指定される最小値より少ないメモ
リは、それ以上のメモリの移動によつて未割当ロ
ーカルメモリ45のメモリがエントリ204によ
つて指定される最小値を下回る場合にのみ移動さ
れる。
エントリ203−207の間には次のような一
定の関係が存在する。MAXLOCALエントリ2
06が示すメモリ量は、MINLOCALエントリ2
04が示すメモリ量より大きい。INITLOCAL
エントリ203が示すメモリ量は、
MAXLOCALエントリ206および
MINLOCALエントリ204が示すメモリ量によ
つて制限される。MAXLOCALエントリ206
とMINLOCALエントリ204のメモリ差は、
MINGTOLエントリ205とMINLTOGエント
リ207が示すメモリ量以上である。
MINLTOGエントリ207とMINGTOLエント
リ205が示すメモリ量は互いに等しくない。例
えば、もしメモリ22が、論理的に数ページに分
割され、それぞれのエントリ201−207がペ
ージ数をストアするら、可同調構造51は特定の
ページを識別する情報をストアする必要がない。
第1図のシステムの実施例では、付属プロセツサ
11−12のそれぞれのメモリ22は1000−2000
ページのメモリ空間を有し、核31はメモリ22
の約200から500ページを占め、エントリ203が
5ページ、エントリ204が5ページ、エントリ
205が40ページ、エントリ206が75ページ、
エントリ207が50ページをストアする。
UNIXオペレーテイングシステムは、メモリの
プロセスへの割当やプロセスからの割当解除を必
要とする三つのプロセス作成および終了プリミテ
イブ(primitive)を含む。
FORKプリミテイブは、既存のプロセスを複
製する。プログラムでは親プロセスと子プロセス
とは同じであり、それらに割当済みメモリのテキ
スト部分を共有する。しかし複製されたプロセス
はメモリに自分のデータ部分を有し、従つてプロ
セスは互いに独立に実行できる。
EXECプリミテイブは、実行中のプログラムを
停止させ、特定の新しいプログラムの実行を開始
させるようなプロセスを作成することによつて、
既存のプロセスを異なるプロセスに変換する。従
つて、メモリでは新旧プロセスが独自のテキスト
とデータ部分を有する必要がある。一般には変換
される新しいプロセスに最初に割り当てられるべ
き最小量のメモリがEXECプリミテイブコールの
一部として指定される。
一般に、プロセスは、FORKプリミテイブを
実行することによつて、新しいプロセスを作成
し、その直後、この複製された子プロセスで
EXECプリミテイブを実行する。
EXITプリミテイブは、プロセスを終了し、そ
れに割当済みメモリを解除する。EXITプリミテ
イブは、別のプロセスとテキストメモリ部分を共
有しないプロセスのテキストおよびデータ部分の
両方を解除し、テキストメモリ部分を共有すると
きはデータ部分のみを解除する。
更に、UNIXオペレーテイングシステムは、4
個のシステムコールを含み、それにより、既存の
プロセスが、その実行中(即ち動的)にメモリの
割当あるいはメモリ割当の解除を要求できる。こ
れらのシステムコールは、BEK、SBRK、
SHMCTLおよびEXECシステムコールの
EXECELNUP部分である。最切の3個のシステ
ムコールはメモリの割当や解除(EXECLNUPは
解除のみ)が要求されていかる否かおよび、要求
されているメモリの量を指定する。BRKと
SBRKシステムコールは、プロセス専用メモリへ
のコールで、SHMCTLは多数のプロセスによつ
て共有されるメモリへのコールである。
EXECLNUPは、完全に新しいプロセスに変換さ
れた元のプロセスのメモリ解除へのコールであ
る。
本発明に関するプロセスマネージヤ30と核3
1の上述のプリミテイブとシステムコール対応す
る動作は第5〜9図に示されている。
第5図は、FORKコールに応答するシステム
を示す。親と子のプロセスが同じテキストメモリ
部分を共有するため、それらはともに親プロセス
が置かれるプロセツサ10−12上に置かれる。
従つて、プロセスのプロセツサへの割当を選ぶ必
要がない。
説明上、FORKプリミテイブが、付属プロセ
ツサ11上のプロセスによつて呼ばれたとする。
ステツプ500でのFORKコールに応じて、付属プ
ロセツサ11の核31は、ステツプ501で子プロ
セスの必要なメモリを決める。核31は、付属プ
ロセツサ11の任意のプロセスに使用されている
メモリ量を認知しており、子プロセスは単に親の
コピーにすぎないので、核31は、親のメモリか
ら子プロセスに必要なメモリを決める。次にステ
ツプ502では、付属プロセツサ11の核31は、
グローバルメモリ42に十分なメモリがあるか否
かを決めるため、可同調構造51のエントリ20
1を調べる。例えば、子プロセスの必要メモリを
可同調構造51のエントリ201の全数と比較す
ることによつて、グローバルメモリ42が子プロ
セスで必要なメモリを持つかどうかを決める。も
しグローバルメモリ42が、十分でなければ、即
ち子プロセスの必要なメモリがエントリ201を
超えたら、核31はステツプ506へ進む。
核31が、ステツプ502でFORKプロセスに使
える十分なグローバルメモリがないと判断する
と、ステツプ507でFORKを実行しない。ステツ
プ507での核31の動作は従来と同じである。し
かし、FORKを放棄する前に、核31は、第9
図のローカルからのグローバルへのメモリ転送機
能を作動し、ステツプ506で、未割当ローカルメ
モリ45からグローバルメモリ42へメモリを転
送する。この転送は第4図で状態遷移403によ
つて表わされる。核31は、放棄したFORKが
近い将来もう一度試みられることを予測して転送
を行い次のFORK試みがグローバルメモリ42
の不足による失敗がないようにする。ステツプ
507でFORKを不実行にした後、ステツプ508で
核31はFORKを終了させる。
ステツプ502で、核31がFORKプロセスに使
える十分なグローバルメモリがあると判断した場
合、核31はステツプ503でホストプロセツサ1
0にFORKへ親プロセスを要求する。例えば、
核31は、パケツト輸送情報を生成し、バス15
にによつてプロセスマネージヤ30に送る。転送
された情報は子プロセスの必要なメモリを含む。
そして核31は、ステツプ504でプロセスマネー
ジヤ30からの応答を待つ。
付属プロセツサ11とホストプロセツサ10と
の間の通信は、核同期で行われる、つまり付属プ
ロセツサ11は、ホストプロセツサ10が要求に
回答するまで、新しいプロセスを発送できない。
それは論理的には、リモートサブルーチンコール
である。要求を出している核31が待機している
間は、ローカルな割込みや遠隔要求を扱うことは
できるが、別のプロセスを発送できない。
プロセスマネージヤ30は、ステツプ510で
FORK要求の受取に応答し、ステツプ511で付属
プロセツサ11のグローバルメモリ42に十分な
メモリがあるか否かを決めるため、付属プロセツ
サ11に対応するグローバル構造50のエントリ
212を調べる。プロセスマネージヤ30がこれ
をする理由は、グローバル構造50のエントリ2
12と付属プロセツサ11の可同調構造51のエ
ントリ201は、別々の制御メカニズムであるプ
ロセスマネージヤ30と核31よつて保持され、
あるときに同期がはずれて、同一内容を有しない
ことがあるからである。
プロセスマネージヤ30がステツプ511で十分
なグローバルメモリがないと判断した場合、ステ
ツプ515でFORKプロセスの拒否を付属プロセツ
サ11に知らせる。例えば、プロセスマネージヤ
30はバス15によつて付属プロセツサ11に送
られるパケツト保持情報を作ることによつてこれ
を行う。こうして、ステツプ516でFORKに関す
るプロセスマネージヤ30の処理が終る。
ステツプ505でFORKの拒否の受取に応じて、
核31はステツプ507でFORKを放棄し、ステツ
プ508でFORKに関する処理を終了する。
ステツプ511で、付属プロセツサ11に十分な
グローバルメモリ42が存在する場合、プロセス
マネージヤ30はステツプ512で必要なメモリ量
をグローバル構造50のエントリ212から減ら
し、付属プロセツサ11のグローバルメモリ42
を付属プロセツサ11のローカルメモリ41へ移
動を開始する。この移動は第4図で状態遷移40
7によつて表わされる。そしてプロセスマネージ
ヤ30は、ステツプ513で子プロセスを含む第1
図のシステムの中の全プロセスに関する情報を更
新する。ステツプ513でのプロセスマネージヤ3
0の動作は、基本的には従来と同じであるが、子
プロセスの置かれるプロセツサ10−12に関す
る情報のストアをも含む。次にプロセスマネージ
ヤ30は、ステツプ514でFORK要求の許可を付
属プロセツサ11に知らせる。例えば、プロセス
マネージヤ30はバス15を介して付属プロセツ
サ11に送られるパケツト輸送情報を生成するこ
とによつてこれを行う。こうしてプロセスマネー
ジヤ30はステツプ516で割当済みメモリでの子
プロセスに関する処理を終了する。
付属プロセツサ11の核31は、ステツプ520
でFORK許可通知に応答し、ステツプ521で行わ
れているローカルからグローバルへのメモリ転送
を中止する。この転送は付属プロセツサ11の可
同調構造51に接続され付属プロセツサ11上に
あるカウント信号器(count semaphore)52
(第1図参照)を増分することによつて、中止さ
れる。カウント信号器52は従来公知のものであ
る。そして核31はステツプ522で、グローバル
メモリ42から未割当ローカルメモリ45へ、子
プロセスが必要とするメモリを転送し、第4図で
状態遷移407で表わされる移動を完成する。こ
の核31は、必要とされるメモリ量だけ可同調構
造51のエントリ201減少し、エントリ202
を同量増加することになり、転送を完了する。
可同調構造51のLOCAL CT.エントリ202
は、このとき可同調構造51のMAXLOCALエ
ントリを超える可能性がある。その結果、第4図
で状態遷移403で表わされる未割当ローカルメ
モリ45からグローバルメモリ42への移動が起
こる。この核31がステツプ521でローカルか
らグローバルへのメモリ転送を中止するのは、こ
のような移動の発生を防ぐためである。
ステツプ522でのメモリ転送の後、核31は、
従来の方法で子プロセスに未割当てのメモリを必
要な量だけ割当て、この事実を示すためステツプ
523で可同調構造51のエントリ202を減少さ
せる。この割当てにより、未割当ローカルメモリ
45から割当済みローカルメモリ46へメモリを
移動させる。この移動は第4図で状態遷移408
で表わされる。従つて、FORKの付属プロセツ
サ11のメモリ22における実質的な結果は、グ
ローバルメモリ42から割当済みメモリ46への
必要なメモリ移動である。この実質的な移動は第
4図で疑似状態遷移409で表わされ、状態遷移
407と408の実質的な効果を表わす。
核31は、従来の方法でステツプ525でFORK
を完了する。ステツプ525での核31の動作は、
付属プロセツサ11に割り当てられたプロセスを
表わす記録の更新、どのメモリがどのプロセスに
割り当てられたかを示す記録の更新および、親プ
ロセスを含むFORKに影響される他のプロセス
にFORKの成功を知らせることを含む。これが
行われているとき、核31は、ステツプ526でカ
ウント信号器52を減すことによつてローカルか
らグローバルへのメモリ転送の中止を解除する。
こうして核31のFORKに関する動作はステツ
プ527で終る。
第6図はEXECコールに応答するシステムを示
す。新プロセスと呼称される転送されたプロセス
は、旧プロセスと呼称されるオリジナルプロセス
と同じプロセツサ10−12上に置かれることも
あれば、異なるプロセツサ10−12上に置かれ
ることもある。従つて、プロセスのプロセツサー
の割当ての選択が、プロセスマネージヤ30によ
つて行われる必要がある。もし新プロセスが、プ
ロセスマネージヤ30によつて、旧プロセスのプ
ロセツサ上に割当てられなければ、EXECの結
果、メモリを旧プロセスのプロセツサ上に割当て
る必要がなく、旧プロセスのメモリ割当てを解除
するだけでよい。
説明上、EXECプリミテイブが、付属プロセツ
サ12上のプロセスによつて呼ばれたとする。ス
テツプ600でのEXECコールに応答して、付属プ
ロセツサ12の核31は、ステツプ601で新プロ
セス(子プロセス)に必要なメモリを決める。前
述したように、例えば、新プロセスが必要とする
初期メモリはEXECコールによつて直接指定され
る。さらに必要なメモリは、転送される目的フア
イルの中で指定され、核31によつて得られる。
次に、付属プロセツサ12の核31は、ステツプ
602で、プロセスマネージヤ30にプロセツサの
メモリを新プロセス(子プロセス)に割当てるよ
う要求する。例えば、付属プロセツサ12の核3
1は、ホストプロセツサ10に送られる新プロセ
スに必要な初期メモリを含むEXECに関するパケ
ツト保持情報を生成することによつてこれを行
う。そして付属プロセツサ12の核31は、ステ
ツプ603でプロセスマネージヤ30からの応答を
待つ。同様に付属プロセツサ12とホストプロセ
ツサ10の間の通信は中核同期で行われる。
プロセスマネージヤ30はステツプ610で
EXEC要求の受取りに応答し、ステツプ611で新
しいプロセスが置かれるプロセツサ10−12を
選び、そこに新しいプロセスを割当てる。プロセ
スマネージヤ30は、第1図の独特なシステム構
成およびシステムの利用に適した適当な基準に基
づいて選択を行う。これらの基準は、例えばプロ
セツサ10−12が持つ新しプロセスによつて要
求される計算能力や周辺装置および現時点のプロ
セツサ10−12におけるプロセス負荷分布を含
む。
プロセスマネージヤ30によつて使われる規準
の一つは、プロセツサ10−12に新しいプロセ
スを割当てるときのメモリの可用性である。もし
プロセスに利用できる十分なメモリがなければ、
プロセスが実行できない。従つて、ステツプ611
で行われるプロセツサへのプロセスの割当ての一
部として、プロセスマネージヤ30は新プロセス
が必要とする初期メモリをグローバル構造50で
のプロセツサのGLOBAL CTエントリ201と
比較し、プロセツサ10−12が利用可能なグロ
ーバルメモリ42が、少なくとも新プロセスの必
要とする初期メモリに等しいときのみ、新プロセ
スをプロセツサ10−12に割当てる。
説明のため、ステツプ611で付属プロセツサ1
1が選択されたとする。次にプロセスマネージヤ
30は、ステツプ612でグローバル構造50のエ
ントリ212を新プロセスが必要とする初期メモ
リ分だけ減し、付属プロセツサ11のグローバル
メモリ42を付属プロセツサ11のローカルメモ
リ41へ移動する。この移動は、第4図で状態遷
移407によつて表わされる。そしてプロセスマ
ネージヤ30は、ステツプ613で付属プロセツサ
11の新プロセスへの割当てをEXEC要求をして
いる付属プロセツサ12に知らせ、例えば、これ
はバス15を介して付属プロセツサ12に送られ
るパケツトを生成することによつて行われる。
EXECの実行が可能ならば、プロセスマネージヤ
30の動作はステツプ614で終る。
ステツプ620で付属プロセツサ11の新プロセ
スへの割当て通知に応答して、ステツプ621で付
属プロセツサ12の核31はEXECを従来の方法
で処理する。さらにEXECの処理はステツプ622
で示すようにEXECの成功か失敗に分かれる。も
しEXECが失敗したら、核31はステツプ623で
プロセスマネージヤ30に失敗を知らせる。そし
て付属プロセツサ12の核のEXECに関する動作
はステツプ626で終る。
プロセスマネージヤ30は、ステツプ630で
EXEC失敗通知の受取に応答し、ステツプ631で
新プロセスが必要とする初期メモリ分だけ付属プ
ロセツサ11のエントリ212を増加し、付属プ
ロセツサ11のグローバルメモリ部分42にメモ
リをストアし、第4図で状態遷移407で表わさ
れる移動を終了する。そこでプロセスマネージヤ
30のEXECに関する動作はステツプ632で終る。
EXECが失敗したため、割当済み付属プロセツ
サ11はEXECの動作に関与しない。
EXECが成功した場合、ステツプ622に戻つて
付属プロセツサ12の核31は、ステツプ624で
付属プロセツサ11の核31に新プロセスに割当
済みであることを知らせる。例えばこの通知はバ
ス15を介して付属プロセツサ12から付属プロ
セツサ11に伝送されるパケツトによつて行われ
る。パケツトはEXECに関する情報を含む。変換
が成功したため、旧プロセスが存在しなくなり、
従つて、それに割当済みメモリを解除する必要が
ある。そのため核31は、ステツプ625で第8図
のEXECLNUP機能を呼び出す。そして付属プロ
セツサ12の核31が、ステツプ626でEXECに
関する動作を終了する。
付属プロセツサ11の核31は、ステツプ650
でEXECの通知に応答し、ステツプ651でカウン
ト信号器52を増加することによつて行われてい
るローカルからグローバルへのメモリ転送を中止
する。そして核31は、ステツプ652でステツプ
502のときと同じ方法で新プロセスが必要とする
メモリをグローバルメモリ42から未割当ローカ
ルメモリ45へ転送する。こうして核31は、第
4図で状態遷移407に表わされる移動を完成す
る。次に核31は、従来の方法で新プロセスに必
要な未割当ローカルメモリ45を割当て、ステツ
プ653で、この事実を示すため同調構造51のエ
ントリ202を減す。
この割当てにより、未割当ローカルメモリ45
から割当済みローカルメモリ46にメモリを移動
する。この移動は、第4図で状態遷移408で表
わされる。EXECによる付属プロセツサ11のメ
モリ22における実質的な結果は、グローバルメ
モリ42から割当済みローカルメモリ46への必
要なメモリの移動である。この実質的な移動は、
第4図で疑似状態遷移409で表わされ、状態遷
移407と408の実質的な結果を表わす。
そこで付属プロセツサ11−12の核31は、
ステツプ655で従来の方法によつてEXECを完
成する。ステツプ655での核31の動作は、ス
テツプ525で述べられたものを含む。これが終る
と、核31は、ステツプ656でカウント信号器5
2を減すことによつてローカルからグローバルへ
のメモリ転送の中止を解除する。こうして核31
はステツプ657でEXECに関する動作を終了する。
第7図は動的メモリ割当てのためのプロセスシ
ステムコントロールに応答するシステムを示す。
本発明では、この応答はSRK、SBRK、
SHMCTL割当てコールに対して同じである。こ
れらのコールは、多くのメモリを有する特定のプ
ロセツサ10−12で実行され、そして割当てら
れたプロセスの要求を含むため、プロセスのプロ
セツサへの割当てが含まれない。
付属プロセツサ11にコールが現れたとする。
ステツプ700の割当てコールに応答して、付属プ
ロセツサ11の核31は、ステツプ701でコール
プロセスによつて要求されるメモリ量を決める。
コールは直接必要なメモリ量を指定する。そし
て、核31は、LOCAL CT.エントリ202を調
べ、未割当ローカルメモリ45が、コールを満た
す適当なメモリを持つかどうかを決める。適当か
否かは、例えば、利用可能なメモリ量のような任
意の規準に基づいて決められる。例えば、核31
は、ステツプ702で必要なメモリを可同調構造5
1のエントリ202に必要とされるメモリ量とエ
ントリ204のメモリ量と比較し、必要とされる
メモリ量が、未割当ローカルメモリ45を
MINLOCAL以下にするか否かを決める。
もし以下にするのであれば、核31は、ステツ
プ703で必要とされるメモリ量を可同調構造51
のエントリ205と比較し、MINGTOLを超えるか
否かを決める。必要とされるメモリ量が、
MINGTOLを越えない場合、核31が、ステツ
プ704でプロセスマネージヤ30にグローバルメ
モリ42のMINGTOLのローカルメモリ41へ
の転送を要求する。必要とされるメモリ量が
MINGTOLを超える場合、核31はステツプ705
でプロセスマネージヤ30に必要なグローバルメ
モリ42をローカルメモリ41へ転送するよう要
求する。例えば、核31は、バス15を介して付
属プロセツサ11からホストプロセツサ10に送
られるパケツトを生成することによつてこの要求
を行う。そして、核31は、ステツプ706でプロ
セスマネージヤ30からのグローバルからローカ
ルへの転送に対する応答を待つ。同様に付属プロ
セツサ11とホストプロセツサ10との間の通信
は、中核同期で行われる。
プロセスマネージヤ30は、ステツプ1100でグ
ローバルからのローカルへの転送要求の受取に応
答し、付属プロセツサ11のグローバル構造50
のエントリ212を適べ、ステツプ1101で付属プ
ロセツサ11のグローバルメモリで転送要求を満
たす十分なメモリがあるかどうかを決める。プロ
セスマネージヤ30が、ステツプ1101で必要とさ
れるメモリ量がグローバルメモリ42のメモリ量
を越えると判断した場合、ステツプ1102でグロー
バル構造50のエントリ212をゼロまで減し、
付属プロセツサ11のすべての利用可能なグロー
バルメモリ42をブロセツサ11の未割当ローカ
ルメモリ45へ移動する。この移動は第4図で状
態遷移404で表わされる。
プロセスマネージヤ30が、ステツプ1101で必
要とされるメモリ量がグローバルメモリ42のメ
モリ量を超えないと判断した場合、ステツプ1103
で必要なメモリ量だけグローバル構造50のエン
トリ212を減じ、付属プロセツサ11のグロー
バルメモリ42を付属プロセツサ11のローカル
メモリ41へ移動する。この移動は同様に第4図
での状態遷移404によつて表わされる。ステツ
プ1102あるいは1103でグローバルメモリ42を減
少した後、プロセスマネージヤ30は、ステツプ
1104で付属プロセツサ11にどのくらいのグロー
バルメモリ42がローカルメモリ41に転送され
たかを知らせる。例えば、プロセスマネージヤ3
0は、バス15を介してホストプロセツサ10か
ら付属プロセツサ11に伝送される情報保持パケ
ツトを生成することによつてそれを行う。
こうしてプロセスマネージヤ30は、ステツプ
1105でグローバルからのローカルメモリへの転送
に関する動作を終了する。
付属プロセツサ11の核31は、ステツプ710
で転送要求の結果通知受取りに応答し、ステツプ
711で、グローバルメモリ42から未割当ローカ
ルメモリ45へ指定されたメモリを転送し、第4
図で状態遷移404によつて表わされる移動を完
成する。核31は、ステツプ522で述べられる方
法で転送を完成する。
次に、核31は、ステツプ712で付属プロセツ
サ11の可同調構造51のエントリ202とコー
ルプロセスで必要とされるメモリとを比較し、未
割当ローカルメモリ45に必要とされるメモリを
満たす十分な利用可能メモリがあるどうかを決め
る。
必要とされるメモリが未割当ローカルメモリ4
5以上の場合、核31は、ステツプ716で従来の
方法を用いて割当てコールを放棄する。そして核
31は、ステツプ717でメモリ割当てコールに対
する応答を終了する。
ステツプ712で必要とされるメモリが、未割当
ローカルメモリ45以下の場合、核31は、ステ
ツプ713で従来の方法によつて必要とされる量の
未割当ローカルメモリ45をプロセスに割当て、
これを反映するため、可同調構造51のエントリ
202を減す。この割当てにより、未割当ローカ
ルメモリ45から割当済みローカルメモリ46へ
メモリを移動する。この移動は第4図で状態遷移
405によつて表わされる。核31はステツプ
715で従来の方法によつてBRK、SBRKあるいは
SHMCTLコールを完成する。
核31は、ステツプ717でコールプロセスへの
メモリ割当てに関する動作を終了する。
ステツプ702で必要とされるメモリが未割当ロ
ーカルメモリ45をMINLOCAL以下に下げない
と判断された場合、核31は、ステツプ713,715
と717の動作をする。
第8図は、動的メモリ割当てのためのプロセス
システムコールあるいはEXITプリミテイブコー
ルおよびEXECLNUPコールに応答するシステム
を示す。本発明では、この応答はBRK、SBRK、
SHMCTL、EXITとEXECLNUPコールに対し
て同じである。
これらのコールは、あるプロセツサのプロセス
に割当済みメモリの全部あるいは一部を解除する
ために、特定のプロセツサ10−12に割当済み
プロセスに関する要求を含むため、プロセスのプ
ロセツサへの割当てが含まれない。
付属プロセツサ11にコールが現れたとする。
ステツプ800で、このコールに応答して、付属プ
ロセツサ11の核31は、ステツプ801で解除さ
れるメモリ量を決める。典型的には、割当て解除
コールが、プロセスにより直接解除されるメモリ
量を指定する。EXITあるいはEXECLNUPコー
ルに応答して、核31は、付属プロセツサ11に
全ての割当済みプロセスに関する情報からプロセ
スに割当済みメモリを決めることができる。そし
て核31は、従来の方法で割当済みローカルメモ
リ46の割当てを解除し、このことを反映するた
め、ステツプ802で可同調構造51のエントリ2
02を増やす。この割当て解除により、割当済み
ローカルメモリ45から未割当ローカルメモリ4
6へ解放されたメモリを移動する。この移動は、
第4図で状態遷移406によつて表わされる。
核31は、ステツプ805で従来の方法によつて
BRK、SBRK、SHMCTL、EXITあるいは
EXECLNUPコールを完成する。そして、核31
は、過剰な未割当ローカルメモリ45をグローバ
ルメモリ42へ転送するため、ステツプ804で第
9図のローカルからグローバルへの転送機能を作
動させる。その他に核31は、ステツプ805で従
来の方法によつてコールを完成し、ステツプ806
で割当て解除に関する動作を終了する。
第9図は、FORKあるいは割当て解除コール
(第5図のステツプ506と第8図のステツプ804を
参照)の一部として周期的に(例えば一秒毎)に
それぞれのプロセツサ11−12上で行われるロ
ーカルメモリからグローバルメモリへの転送機能
を示す。本機能の目的は、過剰な未割当ローカル
メモリ45をグローバルメモリ42へ転送するこ
とである。
ローカルからグローバルへの(L−to−G)転
送機能がプロセツサ11で行われているとする。
ステツプ900でこの機能を始めると、付属プロセ
ツサ11の核31は、ステツプ901でカウント信
号器52の値をチエツクし、ローカルからグロー
バルへの転送が中止されているか否かを判断す
る。カウント信号器52の値がゼロでなければ、
例えば、FORKあるいはEXECコールが進行中で
ある(第5図のステツプ521と第6図のステツプ
651を参照)ため、転送が中止されていることを
示す。従つて核31は、ステツプ903でこの機能
を終了する。
ステツプ901でカカウント信号器52の値がゼ
ロであれば、ローカルからグローバルへの転送
が、中止されていないことを示し、核31は、ス
テツプ902で可同調構造51のエントリ202を
エントリ206と比較し、未割当ローカルメモリ
45のサイズがMAXLOCALのサイズを超える
かどうかを決める。メモリ45のサイズが指定さ
れた最大値を下回るなら、核31は、ステツプ
903で再び転送をせずに、第9図の機能を終了す
る。
ステツプ902でメモリ45のサイズが指定され
た最大値を超える場合、核31は、ステツプ904
で可同調構造51のエントリ202,206,2
07をチエツクし、MINLTOGだけ減つた未割
当ローカルメモリ45が指定された最大値を下回
るか否かを決める。もし下回れば、核31は、ス
テツプ905でプロセスマネージヤ30に未割当ロ
ーカルメモリ45のMINLTOGをグローバルメ
モリ42へ転送するよう要求する。もし下回らな
ければ、核31は、ステツプ906でプロセスマネ
ージヤ30に未割当ローカルメモリ45からグロ
ーバルメモリ42へメモリ45が、指定される最
大値を下回わせる量のメモリを転送するよう要求
する。例えば、核31はバス15を介して付属プ
ロセツサ11からホストプロセツサ10に送られ
る情報保持パケツトを生成することによつてプロ
セスマネージヤ30に要求する。プロセスマネー
ジヤ30に要求を出した後、核31は、ステツプ
907でそこからの応答を待つ。同様に付属プロセ
ツサ11とホストプロセツサ10との間の通信
は、核同期で行われる。
ステツプ910で要求の受取に応じて、プロセス
マネージヤ30は、ステツプ911で要求で指定さ
れた量だけグローバル構造50のエントリ212
を増やし、状態遷移403で表わされる第4図の
状態401から状態400へのメモリ移動を行
う。そしてプロセスマネージヤ30は、ステツプ
912で例えばバス15を介して付属プロセツサ1
1に承認パケツトを送ることによつて、結果を付
属プロセツサ11の核31に知らせる。次にステ
ツプ913でプロセスマネージヤ30が、転送に関
する動作を終了する。
ステツプ920で、プロセスマネージヤ30から
の結果通知に応じて、付属プロセツサ11の核3
1はステツプ921で未割当ローカルメモリ45か
らグローバルメモリ42へ指定された量のメモリ
を転送し、第4図で状態遷移403によつて表わ
される移動を完成する。核31は、可同調構造5
1のエントリ201で指定されたメモリ量だけ増
やし、エントリ202を同量だけ減らすことによ
つて、転送を完成する。そして、ステツプ922で
ローカルからグローバルへの転送が終る。
変形例として、未割当ローカルメモリ45のサ
イズをある最小値以上に保つため、グローバルか
らローカルへのメモリ転送が周期的に行われるこ
とができる。
尚、本文中、核31は英語Kernelの日本語訳
であり、カーネルとも呼称されるものである。
【図面の簡単な説明】
第1図は本発明の実施例を含む多重プロセツサ
システムのブロツク図、第2図は第1図のホスト
プロセツサのグローバル構造のブロツク図、第3
図は第1図の付属プロセツサの可同調構造のブロ
ツク図、第4図は第1図のシステムのメモリの状
態遷移図、第5図はFORKコールに応じる第1
図のシステム動作の流れ図、第6図はEXECコー
ルに応じる第1図のシステム動作の流れ図、第7
図は動的メモリ割当て要求に応じる第1図のシス
テム動作の流れ図、第8図はEXITシステムコー
ルあるいは動的メモリ割当て解除要求に応じる第
1図のシステム動作の流れ図、第9図は第1図の
システムのローカルからグローバルへのメモリ転
送機能の流れ図である。 10…ホストプロセツサ、11,12…付属プ
ロセツサ、15…バス、20…インターフエス、
21…CPU、22…メモリ、30…プロセスマ
ネージヤ、31…オペレーテイングシステムの
核、41…ローカルメモリ、42…グローバルメ
モリ、45…未割当ローカルメモリ、46…割当
済みローカルメモリ、50…グローバル構造、5
1…可同調構造、52…カウント信号器、201
〜207、211〜213…エントリ、400…
グローバルメモリ状態、401…未割当ローカル
メモリ、402…割当済みローカルメモリ状態。

Claims (1)

  1. 【特許請求の範囲】 1 ホストプロセツサ10と付属プロセツサ1
    1,12とからなる多重プロセツサ装置におい
    て、 前記付属プロセツサ11,12は、 グローバルメモリ42とローカルメモリ41と
    に分割されるメモリ22と、 プロセスにローカルメモリ41のメモリを割り
    当てる核31と を有し、 前記ホストプロセツサ10は、 メモリ22と、 プロセスにグローバルメモリ42のメモリを割
    り当てるプロセスマネージヤ30とを有し、 前記プロセスマネージヤ30と前記付属プロセ
    ツサの核31とが協力して、前記核31が、グロ
    ーバルメモリ42とローカルメモリ41との間で
    メモリを転送(再割当)する ことを特徴とする多重プロセツサメモリ装置。 2 前記プロセスマネージヤ30は、プロセツサ
    10,11,12にプロセスを割り当て611、 前記核31は、その核に関連するプロセツサに
    割り当てられたプロセスにそのローカルメモリ4
JP62323015A 1986-12-22 1987-12-22 多重プロセッサメモリの管理方法とその装置 Granted JPS63239551A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/941,703 US4811216A (en) 1986-12-22 1986-12-22 Multiprocessor memory management method
US941703 1986-12-22

Publications (2)

Publication Number Publication Date
JPS63239551A JPS63239551A (ja) 1988-10-05
JPH0551942B2 true JPH0551942B2 (ja) 1993-08-04

Family

ID=25476930

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62323015A Granted JPS63239551A (ja) 1986-12-22 1987-12-22 多重プロセッサメモリの管理方法とその装置

Country Status (8)

Country Link
US (1) US4811216A (ja)
EP (1) EP0273612B1 (ja)
JP (1) JPS63239551A (ja)
KR (1) KR970001901B1 (ja)
BR (1) BR8707011A (ja)
CA (1) CA1297199C (ja)
DE (1) DE3751446T2 (ja)
HK (1) HK103796A (ja)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093913A (en) * 1986-12-22 1992-03-03 At&T Laboratories Multiprocessor memory management system with the flexible features of a tightly-coupled system in a non-shared memory system
US5136706A (en) * 1987-04-30 1992-08-04 Texas Instruments Incorporated Adaptive memory management system for collection of garbage in a digital computer
US5109515A (en) * 1987-09-28 1992-04-28 At&T Bell Laboratories User and application program transparent resource sharing multiple computer interface architecture with kernel process level transfer of user requested services
US5335325A (en) * 1987-12-22 1994-08-02 Kendall Square Research Corporation High-speed packet switching apparatus and method
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
US5282201A (en) * 1987-12-22 1994-01-25 Kendall Square Research Corporation Dynamic packet routing network
US5761413A (en) * 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
US5089953A (en) * 1987-12-28 1992-02-18 Sundstrand Corporation Control and arbitration unit
US5142674A (en) * 1988-03-08 1992-08-25 International Business Machines Corporation Interchange object data base index which eliminates the need for private copies of interchange documents files by a plurality of application programs
JPH0291747A (ja) * 1988-09-29 1990-03-30 Hitachi Ltd 情報処理装置
US5142622A (en) * 1989-01-31 1992-08-25 International Business Machines Corporation System for interconnecting applications across different networks of data processing systems by mapping protocols across different network domains
US5305440A (en) * 1989-05-15 1994-04-19 International Business Machines Corporation File extension by clients in a distributed data processing system
CA2019300C (en) * 1989-06-22 2001-06-12 Kendall Square Research Corporation Multiprocessor system with shared memory
JPH0697449B2 (ja) * 1989-09-20 1994-11-30 株式会社日立製作所 多重化共有メモリ制御方法、多重化共有メモリシステムおよび共有メモリ拡張方法
US5283900A (en) * 1989-10-02 1994-02-01 Spectron Microsystems, Inc. Real-time operating system and virtual digital signal processor for the control of a digital signal processor
US5218695A (en) * 1990-02-05 1993-06-08 Epoch Systems, Inc. File server system having high-speed write execution
JPH06105440B2 (ja) * 1990-03-08 1994-12-21 株式会社日立製作所 主メモリ管理方法
US5347634A (en) * 1990-03-15 1994-09-13 Hewlett-Packard Company System and method for directly executing user DMA instruction from user controlled process by employing processor privileged work buffer pointers
US5276896A (en) * 1990-06-11 1994-01-04 Unisys Corporation Apparatus for implementing data communications between terminal devices and user programs
JPH0496830A (ja) * 1990-08-15 1992-03-30 Hitachi Ltd 分散処理システムにおけるデータ管理方法
US5303362A (en) * 1991-03-20 1994-04-12 Digital Equipment Corporation Coupled memory multiprocessor computer system including cache coherency management protocols
US5269013A (en) * 1991-03-20 1993-12-07 Digital Equipment Corporation Adaptive memory management method for coupled memory multiprocessor systems
CA2057446C (en) * 1991-04-04 1998-02-17 Brian Neil Baker Shared memory access and data structure access control
US5327570A (en) * 1991-07-22 1994-07-05 International Business Machines Corporation Multiprocessor system having local write cache within each data processor node
US5809551A (en) * 1991-08-23 1998-09-15 International Business Machines Corporation Pending page release
US5410700A (en) * 1991-09-04 1995-04-25 International Business Machines Corporation Computer system which supports asynchronous commitment of data
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
CA2078310A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital processor with distributed memory system
GB2273800A (en) * 1992-12-24 1994-06-29 Ibm Distributed data processing system
JP2826028B2 (ja) * 1993-01-28 1998-11-18 富士通株式会社 分散メモリ型プロセッサシステム
US5559980A (en) * 1993-03-18 1996-09-24 Lucent Technologies Inc. Method and apparatus for detecting references to deallocated memory in a dynamic memory allocation system
US5617537A (en) * 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
JPH08123763A (ja) * 1994-10-26 1996-05-17 Nec Corp 分散処理システムにおけるメモリ割り当て方式
US6058460A (en) * 1996-06-28 2000-05-02 Sun Microsystems, Inc. Memory allocation in a multithreaded environment
US5813042A (en) * 1997-02-19 1998-09-22 International Business Machines Corp. Methods and systems for control of memory
US6092155A (en) * 1997-07-10 2000-07-18 International Business Machines Corporation Cache coherent network adapter for scalable shared memory processing systems
FR2771526B1 (fr) 1997-11-27 2004-07-23 Bull Sa Architecture pour la gestion de donnees vitales dans une machine multi-modulaire et procede pour la mise en oeuvre d'une telle architecture
US6449699B2 (en) * 1999-03-29 2002-09-10 International Business Machines Corporation Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems
US6618820B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for configuring an application server system
US6618742B1 (en) 2000-01-10 2003-09-09 Imagex.Com, Inc. Method for job impact learning
US6681240B1 (en) * 1999-05-19 2004-01-20 International Business Machines Corporation Apparatus and method for specifying maximum interactive performance in a logical partition of a computer system independently from the maximum interactive performance in other partitions
US6631480B2 (en) 1999-11-10 2003-10-07 Symantec Corporation Methods and systems for protecting data from potential corruption by a crashed computer program
US6630946B2 (en) 1999-11-10 2003-10-07 Symantec Corporation Methods for automatically locating data-containing windows in frozen applications program and saving contents
US6662310B2 (en) 1999-11-10 2003-12-09 Symantec Corporation Methods for automatically locating url-containing or other data-containing windows in frozen browser or other application program, saving contents, and relaunching application program with link to saved data
US6690951B1 (en) 1999-12-20 2004-02-10 Telefonaktiebolaget Lm Ericsson (Publ) Dynamic size allocation system and method
US6823472B1 (en) * 2000-05-11 2004-11-23 Lsi Logic Corporation Shared resource manager for multiprocessor computer system
US20030217184A1 (en) * 2000-12-30 2003-11-20 Govindan Nair Method and apparatus for allocating buffers shared among protocol layers in a protocol stack
US7143281B2 (en) * 2001-10-12 2006-11-28 Hewlett-Packard Development Company, L.P. Method and apparatus for automatically changing kernel tuning parameters
US20030115402A1 (en) * 2001-11-16 2003-06-19 Fredrik Dahlgren Multiprocessor system
US7302548B1 (en) * 2002-06-18 2007-11-27 Cisco Technology, Inc. System and method for communicating in a multi-processor environment
US6985916B2 (en) * 2002-08-29 2006-01-10 International Business Machines Corporation Method, system, and article of manufacture for returning physical volumes
US7085897B2 (en) * 2003-05-12 2006-08-01 International Business Machines Corporation Memory management for a symmetric multiprocessor computer system
US7568025B2 (en) * 2003-06-27 2009-07-28 Bank Of America Corporation System and method to monitor performance of different domains associated with a computer system or network
US20060080514A1 (en) * 2004-10-08 2006-04-13 International Business Machines Corporation Managing shared memory
US7689794B2 (en) * 2004-10-22 2010-03-30 Scientific-Atlanta, Llc System and method for handling memory allocation failures through reserve allocation of event data
JP4842720B2 (ja) * 2006-06-29 2011-12-21 株式会社日立製作所 ストレージシステム及びデータ複製方法
US7428629B2 (en) * 2006-08-08 2008-09-23 International Business Machines Corporation Memory request / grant daemons in virtual nodes for moving subdivided local memory space from VN to VN in nodes of a massively parallel computer system
JP4696151B2 (ja) * 2008-10-23 2011-06-08 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置およびメモリ管理方法
US8239701B2 (en) * 2009-07-28 2012-08-07 Lsi Corporation Methods and apparatus for power allocation in a storage system
US8271811B2 (en) * 2009-11-05 2012-09-18 Lsi Corporation Methods and apparatus for load-based power management of PHY logic circuits of a SAS device based upon a current workload
KR20120134918A (ko) 2011-06-03 2012-12-12 삼성전자주식회사 복수의 프로세서를 포함하는 전자 장치
US10776256B2 (en) * 2018-05-16 2020-09-15 International Business Machines Corporation Sharing consumed off-heap for parallel data loading
US11740800B2 (en) 2021-06-22 2023-08-29 Micron Technology, Inc. Alleviating memory hotspots on systems with multiple memory controllers

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4514728A (en) * 1980-02-25 1985-04-30 At&T Bell Laboratories Store group bus allocation system
US4384323A (en) * 1980-02-25 1983-05-17 Bell Telephone Laboratories, Incorporated Store group bus allocation system
US4685125A (en) * 1982-06-28 1987-08-04 American Telephone And Telegraph Company Computer system with tasking
US4511964A (en) * 1982-11-12 1985-04-16 Hewlett-Packard Company Dynamic physical memory mapping and management of independent programming environments
US4754394A (en) * 1984-10-24 1988-06-28 International Business Machines Corporation Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage

Also Published As

Publication number Publication date
DE3751446D1 (de) 1995-09-14
EP0273612A3 (en) 1991-05-29
BR8707011A (pt) 1988-08-09
KR880008187A (ko) 1988-08-30
DE3751446T2 (de) 1996-02-15
EP0273612B1 (en) 1995-08-09
EP0273612A2 (en) 1988-07-06
HK103796A (en) 1996-06-21
CA1297199C (en) 1992-03-10
US4811216A (en) 1989-03-07
KR970001901B1 (ko) 1997-02-18
JPS63239551A (ja) 1988-10-05

Similar Documents

Publication Publication Date Title
JPH0551942B2 (ja)
US5093913A (en) Multiprocessor memory management system with the flexible features of a tightly-coupled system in a non-shared memory system
US5884077A (en) Information processing system and method in which computer with high load borrows processor of computer with low load to execute process
US8583756B2 (en) Dynamic configuration and self-tuning of inter-nodal communication resources in a database management system
US5652885A (en) Interprocess communications system and method utilizing shared memory for message transfer and datagram sockets for message control
AU770875B2 (en) Object hashing with incremental changes
JP2671804B2 (ja) 階層型資源管理方法
US5687372A (en) Customer information control system and method in a loosely coupled parallel processing environment
US7349970B2 (en) Workload management of stateful program entities
US6065019A (en) Method and apparatus for allocating and freeing storage utilizing multiple tiers of storage organization
EP0798639A1 (en) Multiprocessor system
US4849877A (en) Virtual execution of programs on a multiprocessor system
EP0323013A2 (en) Method of operating a multiprocessor system employing a shared virtual memory
US5682507A (en) Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records
US5790868A (en) Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
JPS616741A (ja) 階層型多重計算機システム
EP0747812A2 (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
JPH08221372A (ja) 分散処理システムにおける空き資源管理装置
JPH06348661A (ja) マルチプロセッサ間排他制御方式
CN117931421A (zh) 一种集群中独占cpu核资源管理模型的研究方法
CA1287178C (en) Extended process for a multiprocessor system
JPH0799517B2 (ja) 共有資源管理方法
Studdert et al. The architecture of a distributed computer system
JPH02122334A (ja) 資源再割当て方式
JPH02207350A (ja) 共通記憶域割付け方式