JPH07503567A - マルチプロセッサ・コンピュータ・システム - Google Patents

マルチプロセッサ・コンピュータ・システム

Info

Publication number
JPH07503567A
JPH07503567A JP6511658A JP51165894A JPH07503567A JP H07503567 A JPH07503567 A JP H07503567A JP 6511658 A JP6511658 A JP 6511658A JP 51165894 A JP51165894 A JP 51165894A JP H07503567 A JPH07503567 A JP H07503567A
Authority
JP
Japan
Prior art keywords
storage
private
common
storage area
common storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP6511658A
Other languages
English (en)
Inventor
デイエル、ハンス、ヘルムート
アマン、エックハルト、ミカエル
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH07503567A publication Critical patent/JPH07503567A/ja
Pending 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/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0692Multiconfiguration, e.g. local and global addressing
    • 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
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

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

Description

【発明の詳細な説明】 マルチプロセッサ・コンピュータ・システム[技術分野] 本発明は記憶手段を備えており、これによってプロセッサの各々に記憶手段内の 少な(とも1つの私用記憶域が割り当てられる、少なくとも2つのプロセッサを 有するコンピュータ・システムに関する。本発明はさらに私用記憶域の一部を共 通記憶域に割り当てるために、このようなシステムで用いられる方法に関する。
[背景技術] 上述の型式のマルチプロセッサ・コンピュータ・システムはすでに開示されてい る。同様に、マルチプロセッサ・コンピュータ・システムによって記憶域を管理 するために考えられる各種の手法もすでに開示されている。このような管理の型 式は通常、特定の適用業務によって左右されるものである。
記憶手段が、たとえば、マルチプロセッサ・コンピュータ・システムの個別のプ ロセッサの間でメツセージを転送するために使用されるものである場合、記憶手 段の管理手法は、複数個のプロセッサに割り当てられた共通記憶域が定義済のア クセス順序を確保するためにロックされ、またはロック解除される場合の管理手 法と異なる。マルチプロセッサ・コンピュータ・システムによる記憶手段の管理 は、したがって、適用業務に関連しており、融通性がない。
[発明の開示コ 本発明の目的は記憶手段の管理を簡単な態様でさまざまな適用業務及び要件に適 合できるようにするマルチプロセッサ・コンピュータ・システム、ならびに対応 する方法を作成することである。
この目的は、上述のようなコンピュータ・システムにおいて、少なくとも1つの 共通記憶域を記憶手段に設け、これに対して、少なくとも1つの私用記憶域の一 部が割り当てられる本発明によってほぼ満たされる。上述したような方法におい て、この目的は、共通記憶域に応答して、私用記憶域の割り当て部分のテーブル を参照するポインタを共通記憶域のテーブルから読み取り、このポインタに応答 して、共通記憶域に割り当てられた私用記憶域の部分を私用記憶域の割り当てら れた部分のテーブルから読み取ることでほぼ満たされる。
共通記憶域を特定の適用業務に応じて、配置することができる。また、割り当て られた私用記憶域の数、ならびにこれらの私用記憶域のレイアウトは柔軟なもの である。本発明はそれ故、マルチプロセッサ・コンピュータ・システムの記憶手 段の柔軟な管理を可能とするものである。
詳細にいえば、これは共通記憶域のテーブル、及び私用記憶域の割り当て部分の テーブルを使用して達成される。共通記憶域のテーブルは、各共通記憶域ごとに 、私用記憶域の割り当て部分に対するポインタを含んでいる。このポインタを使 用すると、後者のテーブルは共通記憶域に割り当てられた私用記憶域の部分を提 供する。両方のテーブルを使用すると、私用記憶域及び共通記憶域の任意の割当 てを、単純な態様で管理できる。
本発明の有利な実施例において、プロセッサ依存ヘルプ・テーブル及びアドレス 依存ヘルプ・テーブルが設けられる。
これら2つのヘルプ・テーブルを使用すると、私用記憶域の割り当て部に対する 高速なアクセスが可能となる。
本発明のさらなる実施例において、共通記憶域と私用記憶域の部分を定義し、関 連づけるためのコマンドが提供される。
任意の形式の情報を共通記憶域と私用記憶域の間で交換するためのコマンドも提 供される。
し図面の簡単な説明] 本発明のその他の利点及び形式は図面に示した一実施例の以下の説明から理解さ れよう。
第1図ないし第3図は、マルチプロセッサ・コンピュータ・システムの共通記憶 域を、個々のプロセッサの私用記憶域の部分への考えられる割当ての図である。
第4図は、共通記憶域ならびに私用記憶域の一部を割り当てるためのテーブルの 略図である。
[発明の好ましい実施例] マルチプロセッサ・コンピュータ・システムは少な(とも2つ、通常は数個のプ ロセッサを含んでいる。各プロセッサは通常、いくつかの型式の記憶媒体、たと えば、半導体メモリやディスク記憶装置を備えている。これらの記憶媒体は一方 において、特定のプロセッサに割り当てることができるが、すべての記憶媒体が 全体として、マルチプロセッサ・コンピュータ・システム全体の記憶手段を形成 することも可能である。
第1図ないし第3図には、個々のプロセッサへのマルチプロセッサ・コンピュー タ・システムのこれらの記憶手段の考えられる割当てが示されている。この場合 、私用記憶域と共通記憶域は常に区別されている。私用記憶域は1つの特定のプ ロセッサだけがアクセスするものである。ただし、これは1つのプロセッサのこ の私用記憶域がこのプロセッサに割り当てられた記憶媒体と同一のものであるこ とを意味するものではない。これが当てはまることもあるが、必ずしも、そうで ある必要はない。共通記憶域はマルチプロセッサ・コンピュータ・システムの数 個、あるいはすべてのプロセッサがアクセス権を有しているものである。このよ うな共通記憶域は特定の選択されたプロセッサの記憶媒体に常駐することができ る。しかしながら、このような共通記憶域をマルチプロセッサ・コンピュータ・ システムの1つまたは数個のプロセッサに割り当てることも可能である。
第1図には、複数個の私用記憶域1O111,12が示されている。同数の共通 記憶域16.17.18も示されている。私用記憶域10及び共通記憶域16は 互いに関連づけられており、私用記憶域11及び共通記憶域17は互いに関連づ けられており、以下同様である。
私用記憶域1O111,12の各々には、部分13.14.15が存在しており 、これらはそれぞれ共通記憶域16.17.18に割り当てられている。この割 当ては、たとえば、私用記憶域10の部分13の内容が、格納に関連する時間遅 延にかかわりなく、関連する共通記憶域16のものと同一であることを意味する 。私用記憶域lOへのアクセス権を有しているプロセッサは、それ故、私用記憶 域10の部分13へのアクセス権も有しており、この部分のデータの読取りまた は修正、あるいはその両方を行うことができる。プロセッサは次いで、部分13 を共通記憶域16へコピーできる。後に、共通記憶域16をさらに処理するため に私用記憶域10の部分13へ戻すことができる。
第1図では、私用記憶域の単一の部分だけが各共通記憶域に割り当てられている ので、第1図の場合には、個々のプロセッサ間でのメツセージの転送などの機能 を、これらの共通記憶域16.17.18を使用して行うことはできない。
これとは対照的に、第2図は多数の私用記憶域20121、れている。第1図と は異なり、第2図は、それぞれが単一の私用記憶域にではなく、いくつかの私用 記憶域に割り当てられるい(つかの共通記憶域28.29.30を備えている。
このようにして、共通記憶域28は私用記憶域20の部分24、ならびに私用記 憶域21の部分25へ割り当てられる。
同様に、共通記憶域29は私用記憶域22の部分26、ならびに私用記憶域の他 の部分へ割り当てられる。共通記憶域30だけが1つの私用記憶域、すなわち私 用記憶域23の部分27八割り当てられる。
私用記憶域2oに関連するプロセッサは私用記憶域20の部分24にアクセスし 、おそらくは、修正することができる。
次いで、私用記憶域20の部分24を共通記憶域28ヘコピーすることができる 。そこから、私用記憶域21に関連するプロセッサは次いで、共通記憶域28を 私用記憶域21のその割り当てられた部分25ヘコピーすることができる。プロ セッサはこれで、私用記憶域21の部分25内のデータを処理し、修正できるよ うになる。次いで、部分25を共通記憶域28ヘコピーし、部分24へ後で再書 込みすることができる。このようにして、私用記憶域20に関連したプロセッサ 及び私用記憶域21に関連したプロセッサは、共通記憶域28を介してデータを 交換することができる。
このデータはプロセッサ間で転送されるメツセージを含むことができる。同様に 、共通記憶域28を使用して、これらのプロセッサを互いにロックアウトするこ とができる。これについては、追って詳述する。
さらに、第2図において、私用記憶域20.21は他の共通記憶域33に割り当 てられている部分31.32を付加的に含んでいる。本実施例についても、追っ て詳述する。
第3図には、多数の私用記憶域40.41.42がそれぞれの部分43.44. 45とともに示されており、これらには共通記憶域46が割り当てられている。
この実施例において、私用記憶域4oに関連したプロセッサは部分43ヘデータ を書き込むことができる。このデータは共通記憶域46へ転送され、データを私 用記憶域41.42に関連したプロセッサによって、これらの私用記憶域41. 42のそれぞれの部分44.45に読み込めるようになる。次いで、データを、 それぞれのプロセッサによって処理し、修正して、共通記憶域へ書き戻すことが できる。
第3図において、共通記憶域46を使用して、私用記憶域4o、41.42に関 連するプロセッサ間でメツセージを転送できる。共通記憶域46を使用して、デ ータへの通常のアクセス順序をロック、すなわち確保することもできる。
マルチプロセッサ・コンピュータ・システムの記憶手段が第1図、第2図または 第3図に示されているように配分されているかどうかにかかわりな(、記憶手段 の管理は常に以下で説明する同一のコマンドを使用して行われる。
共通記憶域がまだ存在していない場合、このような共通記憶域をコマンドrDE FINE GSB (GSBID)Jによって定義することができる。GSBと いう文字は定義が共通記憶域に適用されることを示す。GSBIDという文字は 新たに作成された共通記憶域の名前の省略形、すなわち新しい共通記憶域の識別 記号である。
このコマンドに続いて、新たに確立された共通記憶域をさらに、コマンドrAL LOcATE GSB (GSBID、 GSBAA、 PSBID。
PSBAA、 5BL)Jによって定義することができる。詳細にいえば、私用 記憶域の一部へ割り当てることができる。すでに述べたように、GSBIDは共 通記憶域の識別記号である。GSBAAはこの共通記憶域の開始アドレスの省略 形である。同様に、PSBIDは私用記憶域の割り当て部分の識別記号であり、 PSBAAは私用記憶域のこの割り当て部分の開始アドレスの省略形である。最 後に、SELは共通記憶域ならびに私用記憶域の割り当て部分の長さの省略形で ある。
これらのコマンドを両方とも使用すると、共通記憶域を定義し、私用記憶域の特 定の部分へ割り当てることができる。
さらに、両方のコマンドを使用して、共通記憶域ならびに私用記憶域の割り当て 部分の開始アドレス及び長さを定義することができる。
第1図の例を参照すると、2つのコマンドを使用して、記憶域16.17.18 及び私用記憶域の10.11.12のそれぞれの関連した部分13.14.15 を定義することができる。
rALLOcATE 、、、Jコマンドをくりかえし用いることによって、私用 記憶域の複数の部分を単一の共通記憶域に割り当てることが可能である。連続し たALLOCATEコマンドでは、対応する私用記憶域のそれぞれの部分に対す るPSBIDだけが変化する。さらに、私用記憶域のそれぞれの部分のPSBA A開始アドレスは互いに異なったものとすることができる。しかしながら、記憶 域の長さSBLはすべての割り当てられた部分に対し同一である。このような反 復したrALLOcATE 、、、J コマンドを使用すると、したがって、第 2図に示したような共通記憶域を私用記憶域の2つ以上の部分に割り当てたり、 あるいは第3図に示したような共通記憶域を私用記憶域のすべての部分に割り当 てたりすることができる。
rALLOcATE 、、、lコマンドに対応するコマンドはrDEALLOc ATE GSB (GSBID、 GSBAA、 5BL)Jである。このコマ ンドを使用して、私用記憶域の部分への共通記憶域の割当てを取り消し、それに 合わせて共通記憶域を削除することができる。したがって、rDEALLOcA TE 、、lコマンドの実行後、識別記号GSBIDを有する共通記憶域はもは や存在しなくなる。rDEALLOcATE 、、、lコマンド後に、これ以前 の共通記憶域にアクセスすることはできなくなる。
少なくとも1つの共通記憶域が確立されており、少なくとも1つの私用記憶域に 関連づけられている場合、コマンドrcOPY FROM PSB TOGSB  (GSBID、 PSBAA、 5BL)J及びrcopyFROM GSB  TOPSB (GSI31D、 PSBAA、 5BL)J ヲ使用シテ、共 通記憶域と私用記憶域の割り当てられた部分の間でデータをコピーすることがで きる。GSBIDにより、データ交換に関与することになる共通記憶域がわかる 。私用記憶域の開始アドレスPSBAAを使用すると、データ交換に関与するこ とになる私用記憶域の部分がわかる。記憶域の長さSBLの指定は、交換される データの量を定義する。全体として、C0PYコマンドを指定して、データ交換 を行うことができる。
第1図ないし第3図を参照すると、C0PYコマンドはたとえば、第2図の共通 記憶域29を、共通記憶域22の部分26へ、あるいは第3図の私用記憶域41 の部分44を共通記憶域46へコピーすることができる。
2つのコピー・コマンドと同様に、いわゆるページイン及びページアウトという コマンドを導入することができる。コピー・コマンドと同様に、このようなコマ ンドはデータを共通記憶域から私用記憶域の関連部分へ、あるいは逆にコピーで きる。しかしながら、データの量は特定の値、たとえば、いわゆる「ページング 」で汎用記憶域管理に用いられている値に限定される。この場合、共通記憶域及 び私用記憶域の関連部分の長さSBLの指定を、ページイン・コマンドあるいは ページアウト・コマンドで省略することができる。
共通記憶域が確立され、私用記憶域の少なくとも2つの部分に割り当てられた場 合、共通記憶域を使用して、関連する部分の間でメツセージを交換することがで きる。このために、コマンドrsEND GSB (、、、)J及びrREcE IVE GSB (、、、)Jが設けられている。送信されるデータは送信プロ セッサの私用記憶域の割り当てられた部分から、共通記憶域に書き込まれる。
受信プロセッサは次いで、RECEIVEコマンドを使用して、このデータをそ の私用記憶域の割り当てられた部分へ転送することができる。
共通記憶域を私用記憶域の2つの部分だけに、したがって2つの関連するプロセ ッサだけに割り当てることによって、どの2つのプロセッサの間で、データ転送 を行うかが一意に確立される。たとえば、送信プロセッサがそれまで共通記憶域 を共有していなかった他のプロセッサにデータを転送することを望んだ場合、ま ず、5ENDコマンド前に、これら2つのプロセッサに対する共通記憶域を定義 する必要がある。
データを新しい共通記憶域を介して転送できるのは、これを行ってからだけであ る。
この方法でも、いわゆる回報通信を行うことができる。このためには、第3図の 例に示すように、すべてのプロセッサがアクセスする共通記憶域を確立しなけれ ばならない。プロセッサの1つがデータを他のすべてのプロセッサに転送するこ とを望んでいる場合、このプロセッサは5ENDコマンドを使用して、データを 共通記憶域へ書き込む。ここから、すべての他のプロセッサはRECEIVEコ マンドを使用して、データを検索することができる。
上述の同報通信状況において、他のプロセッサがデータを送信していることにつ いて、受信プロセッサが通知を受けるには、すべてのプロセッサがデータ交換に ついて上述の共通記憶域を定期的に監視しなければならない。この検査を各プロ セッサが、他のすべてのプロセッサとはまったく無関係に行うことができるので 、上述の同報転送にはすべてのプロセッサの同期化は必要ない。
たとえば、2つの共通記憶域28.33と2つの私用記憶域20.21の割り当 てられた部分24.25.31.32のある第2図の場合のように、2つの共通 記憶域が2つの私用記憶域に割り当てられている場合、一方の共通記憶域を使用 して、他方の共通記憶域をロック、アンロックすることができる。このために、 コマンドrLOcK GSB (、、、)J及びrUNLOCK csB (、 、、)Jが設けられている。
たとえば、第2図において、私用記憶域20と関連づけられたプロセッサが共通 記憶域28内のある種のデータを私用記憶域21と関連づけられたプロセッサに 読み取ることができないようにしようとした場合、私用記憶域20と関連づけら れたプロセッサはLOCKコマンドを使用して、共通記憶域33内にいわゆるL OCK変数を定義する。私用記憶域21に関連づけられたプロセッサは共通記憶 域33内のLOCK変数をチェックして、共通記憶域28へのアクセスが少な( とも一時的に拒否されていると判断する。私用記憶域20に関連づけられたプロ セッサが、たとえば、私用記憶域20の部分24内の何らかのデータを修正し、 次いで、この部分24を共通記憶域28ヘコピーした後、私用記憶域2oに関連 づけられたプロセッサは、私用記憶域21に関連づけられたプロセッサによる共 通記憶域28へのアクセスを許可することを再度希望することができる。このた めに、私用記憶域20に関連づけられたプロセッサは、UNLOCKコマンドを 使用して、共通記憶域33内のLOCK変数をリセットする。私用記憶域21に 関連づけられたプロセッサは適切なチェックによってこれを決定することができ る。共通記憶域28がもはや私用記憶域21に関連づけられているプロセッサに 対してロックされていないのであるから、後者は共通記憶域28を、その私用記 憶域21の部分25ヘコピーし、これを処理することができる。
LOCK及びU N L OCK :1 マントによるLocK変数のセット及 びリセットは、共通記憶域33及び私用記憶域20゜21の2つの関連した部分 31.32を使用して達成される。
LOCKまたはUNLOCKコマンドを単純に適用した場合、LOCK変数はま ず、私用記憶域2oに関連づけられたプロセッサによって部分31にセットされ 、この部分31がその後共通記憶域33ヘコピーされる。共通記憶域33のチェ ックは同様にして行われる。この場合、共通記憶域33をたとえば私用記憶域2 1ヘコピーし、次いで、私用記憶域21に関連づけられたプロセッサによってチ ェックすることで充分である。
上述のコマンドでは、GSBIDに基づいて、私用記憶域の割り当てられた部分 を探し出す必要がある。しかしながら、私用記憶域の部分のPSBIDや、私用 記憶域のこの部分の開始アドレスPSBAAなどのこのためのコマンドに含まれ ている情報は、絶対アドレスを表すものではなく、このような絶対アドレスの間 接参照を表しているにすぎない。したがって、コマンドに含まれている情報をさ らに処理して、私用記憶域の関連部分の絶対アドレスを決定する必要がある。こ れについて、第4図を参照して詳細に検討する。
第4図には、共通記憶域がおかれたテーブル50が示されている。さらに、私用 記憶域の割り当て部分がおかれたテーブル60が示されている。最後に、第4図 には、プロセッサ依存ヘルプ・テーブル70.ならびにアドレス依存ヘルプ・テ ーブル80も示されている。
共通記憶域のテーブル50には、各共通記憶域について、私用記憶域の割り当て 部分のテーブル60に対するポインタ51、プロセッサ依存ヘルプ・テーブル7 0に対するポインタ52、ならびにアドレス依存ヘルプ・テーブル80に対する ポインタ53がある。テーブル5o内の個々の共通記憶域は、そのGSBID順 に格納されている。これは第4図において、矢印54で示されており、GSBI Dの順序は文字1で示されている。
たとえば、3番目の共通記憶域を適用する場合、すなわちi=3の場合、この3 番目の共通記憶域に対するテーブル50のポインタ51は、私用記憶域の割り当 て部分のテーブル6oのデータ・フィールド61をポイントする。これは第4図 において、矢印55によって示されている。ただし、3番目の共通記憶域に割り 当てられた私用記憶域の部分に対するすべての情報が、データ・フィールド61 に存在しているわけではない。代わりに、たとえば、私用記憶域の最初の割り当 て部分と関連づけられた情報だけが記憶フィールド61に含まれている。私用記 憶域の2番目及び3番目の割り当て部分と関連づけられた情報は、データ・フィ ールド62及び63に格納されている。これらのデータ・フィールド62.63 に対するアクセスは、たとえば、データ・フィールド62に対するデータ・フィ ールド61内のポインタ、データ・フィールド63に対するデータ・フィールド 62内のポインタなどによって可能とされる。私用記憶域のいくつかの割り当て 部分を探し出すためには、いくつかのデータ・フィールドのチェイン64.65 を探索しなければならない場合がある。
私用記憶域のいくつかの部分に対するより迅速なアクセスを可能とし、データ・ フィールドの上述のチェイン64.65の探索を回避するために、プロセッサ依 存ヘルプ・テーブル7o及びアドレス依存ヘルプ・テーブル8oが設けられてい る。各共通記憶域に対して、プロセス依存テーブル及びアドレス依存テーブルが ある。したがって、プロセッサ依存ヘルプ・テーブル7o及びアドレス依存ヘル プ・テーブル8゜の数は、テーブル50に格納されている共通記憶域の数に対応 している。
第4図には、3番目の共通記憶域、すなわちi=3に対するプロセッサ依存ヘル プ・テーブル7o及びアドレス依存ヘルプ・テーブル8oが示されている。これ らの特定のヘルプ・テーブル70.80は共通記憶域のテーブル50のポインタ 52.53によってアクセスできる。これは第4図において、矢印56.57に よって示されている。
プロセッサ依存ヘルプ・テーブル70は私用記憶域の割り当て部分のテーブル6 0に対するポインタ71を含んでいる。
これらのポインタはプロセッサ類にテーブル70に格納されている。したがって 、プロセッサの順序は私用記憶域の割り当て部分のPSBIDの順序と同じ意味 を有している。これは第4図において、矢印72及び文字jで示されている。
たとえば、私用記憶域の複数の部分が共通記憶域に割り当てられており、かつ、 たとえば、私用記憶域の4番目の部分が関連するコマンドに適用できる場合、プ ロセッサ依存テーブル70のポインタ71はデータ・フィールド62を直接ポイ ントするが、データ・フィールド62は私用記憶域の4番目の割り当てられた部 分に関する情報を含んでいる。したがって、まず、データ・フィールド61を読 み取り、次いで、チェイン64を介して段階的にデータ・フィールド62に到達 する必要はもはやな(、ポインタ71がデータ・フィールド62への直接アクセ スを可能とするようになる。この直接アクセスは第4図において、矢印73で示 されている。
データ・フィールド62にプロセッサ依存テーブル70によって直接アクセスし 、私用記憶域のある部分を探し出す、すなわちチェイン64を探索せずに探し出 すことができるとしても、私用記憶域の適正な部分がまだ見つからないことがあ る。上述したように、これは複数の私用記憶域が共通記憶域に割り当てられてい る場合に発生する。この場合、上述したように、希望するフィールド63をチェ イン65を介してデータ・フィールド62から探し出さなければならない。
チェイン65のこの探索を回避するために、アドレス依存ヘルプ・テーブル80 が設けられている。
ヘルプ・テーブル80は、私用記憶域の割り当て部分のテーブル6o内のい(つ かのデータ・フィールドをポイントするポインタ81を含んでいる。これらのポ インタ81はアドレス依存ヘルプ・テーブル80内に、共通記憶域の開始アドレ スGSBAAの順に収められている。これは第4図において、矢印82及び文字 にで示されている。
したがって、ポインタ81を使用すると、これも第4図において矢印83で示す ように、希望するデータ・フィールド63に直接アクセスすることができる。そ れ故、チェイン64.65の探索は必要ない。
プロセッサ依存テーブル7o及びアドレス依存テーブル80をどの程度まで使用 できるかは、個々のコマンドによって決定される。たとえば、上記のコピー・コ マンドは私用記憶域の割り当て部分のPSBIDに関する情報をまったく含んで いない。このため、プロセッサ依存テーブル7oには項目が何もない。また、共 通記憶域のテーブル5oには、ポインタ52に対する項目がない。これとは対照 的に、上述のALLOCATEコマンドは両方のヘルプ・テーブルのそれぞれの 項目に必要なすべてのデータを含んでいる。したがって、この場合、2つのヘル プ・テーブル70,80を直接使用して、私用記憶域の関連する部分を探し出す ことができる。しかしながら、すべてのコマンドはGSBIDを含んでいる。
それ故、すべてのコマンドについて、チェイン64.65を介して、私用記憶域 の割り当てられた部分のテーブル60内の関連するデータ・フィールドを探し出 すことはできる。
共通記憶域のテーブル50、私用記憶域の割り当てられた部分のテーブル6o、 ならびにすべてのプロセッサ依存ヘルプ・テーブル70及びアドレス依存ヘルプ ・テーブル8oはマルチプロセッサ・コンピュータ・システムのプロセッサの私 用記憶域の各々に格納される。上述のコマンドの1つがこれらのプロセッサの1 つに対し処理のために提示された場合、プロセッサは上述のテーブル及びヘルプ ・テーブルを使用して、コマンドを処理するために必要な情報を探し出す。詳細 にいえば、プロセッサは私用記憶域の割り当て部分を使用して、これらの共通記 憶域の絶対アドレスならびに私用記憶域の割り当て部分の絶対アドレスを決定す る。その後、プロセッサはコマンドを実行し、たとえば、私用記憶域の指定され た部分を指定された共通記憶域にコピーする。
コマンドがたとえば、ALLO’CATEコマンドの場合のように、上述のテー ブル及びヘルプ・テーブルのデータを修正する場合、プロセッサはこの修正を、 それ自身の私用記憶域だけではな(、他の私用記憶域のすべての他のテーブル及 びヘルプ・テーブルでも行う。テーブル及びヘルプ・テーブルのこれらの修正は 、いわゆるトランザクションの形で行い、任意の時点で、すべての私用記憶域の すべてのテーブル及びヘルプ・テーブルが一致するようにしなければならない。
以上のすべての説明はマルチプロセッサ・コンピュータ・システムに関するもの である。しかしながら、上記の発明をシングルプロセッサ、コンピュータ・シス テムに使用することができる。この場合、単一のプロセッサに関連づけられた記 憶手段を、第1図ないし第3図に示したように分散することができる。この場合 、さまざまな私用記憶域は「複数のプロセッサ」を表し、それ故、これらの「複 数のプロセッサ」は同一のものとなる。

Claims (1)

  1. 【特許請求の範囲】 1.記憶手段を備えた少なくとも2つのプロセッサを備えており、プロセッサの 各々が記憶手段内の少なくとも1つの私用記憶域(10)に割り当てられている コンピュータ・システムにおいて、 少なくとも1つの共通記憶域(16)が記憶手段に設けられており、かつ該共通 記憶域が少なくとも1つの私用記憶域(10)の部分(13)に割り当てられて いることを特徴とする 前記コンピュータ・システム。 2.各々が前記私用記憶域の複数の部分に割り当てられている複数の共通記憶域 が設けられていることを特徴とする請求項1に記載のコンピュータ・システム。 3.共通記憶域のテーブル(50)及び私用記憶域の割り当て部分のテーブル( 60)が記憶手段に格納されることを特徴とする 請求項1または2に記載のコンピュータ・システム。 4.共通記憶域の各々に対して、共通記憶域のテーブル(50)に、私用記憶域 の割り当て部分のテーブル(60)に対するポインタ(51)が格納されている ことを特徴とする請求項3に記載のコンピュータ・システム。 5.共通記憶域の各々に対して、プロセッサ依存ヘルプ・テーブル(70)及び アドレス依存ヘルプ・テーブル(80)が記憶手段に格納されていることを特徴 とする請求項3または4に記載のコンピュータ・システム。 6.共通記憶域のテーブル(50)に、共通記憶域の各々についての、関連する プロセッサ依存ヘルプ・テーブル(70)に対するポインタ(52)と関連する アドレス依存ヘルプ・テーブル(80)に対するポインタ(53)が格納されて いることを特徴とする 請求項5に記載のコンピュータ・システム。 7.前記プロセッサ依存ヘルプ・テーブル(70)に、プロセッサの各々につい ての、私用記憶域の割り当て部分のテーブル(60)に対するポインタ(71) が格納されていることを特徴とする 請求項5または6に記載のコンピュータ・システム。 8.前記アドレス依存ヘルプ・テーブル(80)に、私用記憶域の割り当て部分 に対する開始アドレスの各々についての、私用記憶域の割り当て部分のテーブル (60)に対するポインタ(81)が格納されていることを特徴とする請求項5 、6または7のいずれかに記載のコンピュータ・システム。 9.記憶手段を備えた少なくとも2つのプロセッサからなるコンピュータ・シス テムの私用記憶域(10)の部分(13)を共通記憶域(16)に割り当てるた めの方法において、共通記憶域に応答して、私用記憶域の割り当て部分のテーブ ル(60)に対するポインタ(51)を共通記憶域のテーブル(50)から読み 取り、 前記ポインタ(51)に応答して、共通記憶域(16)に割り当てられた私用記 憶域(10)の部分(13)を、私用記憶域の割り当て部分のテーブル(60) から読み取るステップからなることを特徴とする 前記方法。 10.共通記憶域に応答して、プロセッサ依存ヘルプ・テーブル(70)に対す るポインタ(52)を共通記憶域のテーブル(50)から読み取り、 影響を受ける前記プロセッサに応答して、私用記憶域の割り当て部分のテーブル (60)に対するポインタ(71)をプロセッサ依存ヘルプ・テーブル(70) から読み取り、ポインタ(71)に応答して、共通記憶域(16)に割り当てら れた私用記憶域(10)の部分(13)を私用記憶域の割り当て部分のテーブル (60)から読み取るステップからなることを特徴とする 請求項9に記載の方法。 11.共通記憶域に応答して、アドレス依存ヘルプ・テーブル(80)に対する ポインタ(53)を共通記憶域のテーブル(50)から読み取り、 該当する開始アドレスに応答して、私用記憶域の割り当て部分のテーブル(60 )に対するポインタ(81)をアドレス依存ヘルプ・テーブル(80)から読み 取り、ポインタ(81)に応答して、共通記憶域(16)に割り当てられた私用 記憶域(10)の部分(13)を私用記憶域の割り当て部分のテーブル(60) から読み取るステップからなることを特徴とする 請求項9または10に記載の方法。
JP6511658A 1992-11-16 1993-10-29 マルチプロセッサ・コンピュータ・システム Pending JPH07503567A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE4238593.8 1992-11-16
DE4238593A DE4238593A1 (de) 1992-11-16 1992-11-16 Mehrprozessor-Computersystem
PCT/EP1993/003022 WO1994011824A1 (en) 1992-11-16 1993-10-29 Multi-processor computer system

Publications (1)

Publication Number Publication Date
JPH07503567A true JPH07503567A (ja) 1995-04-13

Family

ID=6472965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6511658A Pending JPH07503567A (ja) 1992-11-16 1993-10-29 マルチプロセッサ・コンピュータ・システム

Country Status (5)

Country Link
US (1) US5642495A (ja)
EP (1) EP0621967A1 (ja)
JP (1) JPH07503567A (ja)
DE (1) DE4238593A1 (ja)
WO (1) WO1994011824A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903913A (en) * 1996-12-20 1999-05-11 Emc Corporation Method and apparatus for storage system management in a multi-host environment
US6574720B1 (en) 1997-05-30 2003-06-03 Oracle International Corporation System for maintaining a buffer pool
US6324623B1 (en) 1997-05-30 2001-11-27 Oracle Corporation Computing system for implementing a shared cache
US6078994A (en) * 1997-05-30 2000-06-20 Oracle Corporation System for maintaining a shared cache in a multi-threaded computer environment
US5946711A (en) * 1997-05-30 1999-08-31 Oracle Corporation System for locking data in a shared cache
US6418505B1 (en) 1998-12-17 2002-07-09 Ncr Corporation Accessing beyond memory address range of commodity operating system using enhanced operating system adjunct processor interfaced to appear as RAM disk
AU7474200A (en) * 1999-08-31 2001-03-26 Times N Systems, Inc. Cache-coherent shared-memory cluster
US6658525B1 (en) 2000-09-28 2003-12-02 International Business Machines Corporation Concurrent access of an unsegmented buffer by writers and readers of the buffer
US7383412B1 (en) * 2005-02-28 2008-06-03 Nvidia Corporation On-demand memory synchronization for peripheral systems with multiple parallel processors

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55103664A (en) * 1979-02-02 1980-08-08 Nec Corp Multiprocessor system
JPS57153359A (en) * 1981-03-18 1982-09-21 Ibm Data processing system with common memory
US4591977A (en) * 1983-03-23 1986-05-27 The United States Of America As Represented By The Secretary Of The Air Force Plurality of processors where access to the common memory requires only a single clock interval
US5220669A (en) * 1988-02-10 1993-06-15 International Business Machines Corporation Linkage mechanism for program isolation
US5117350A (en) * 1988-12-15 1992-05-26 Flashpoint Computer Corporation Memory address mechanism in a distributed memory architecture
JP2825906B2 (ja) * 1990-02-01 1998-11-18 株式会社日立製作所 計算機システム
US5303362A (en) * 1991-03-20 1994-04-12 Digital Equipment Corporation Coupled memory multiprocessor computer system including cache coherency management protocols

Also Published As

Publication number Publication date
DE4238593A1 (de) 1994-05-19
WO1994011824A1 (en) 1994-05-26
US5642495A (en) 1997-06-24
EP0621967A1 (en) 1994-11-02

Similar Documents

Publication Publication Date Title
JP4035872B2 (ja) ファイルフォーマット変換方法とこれを用いたファイルシステム及び情報システム及び電子商取引システム
US7127509B2 (en) System and method for synchronizing objects between two devices
US6148377A (en) Shared memory computer networks
TW505852B (en) Computer, data sharing system, and method for maintaining replica consistency
KR100293795B1 (ko) 분산형데이터베이스시스템및데이터엔티티액세스방법
US6205466B1 (en) Infrastructure for an open digital services marketplace
US6449607B1 (en) Disk storage with modifiable data management function
CN1848849B (zh) 复制目录修改的方法和装置
US6785693B2 (en) Management of multiple links to a file in a file system
US8122200B2 (en) Modified machine architecture with advanced synchronization
JPH08161215A (ja) ファイル管理システム
JP2002268933A (ja) クラスタシステム
TW473661B (en) File controlling method and system in a dispersed environment
JPH07503567A (ja) マルチプロセッサ・コンピュータ・システム
Keeton et al. The OpenFAM API: a programming model for disaggregated persistent memory
WO1999008173A2 (en) Object oriented data storage device
CN101055543B (zh) 用于访问另一个进程的进程本地存储装置的方法和设备
CN108959403A (zh) 一种分布式事务处理方法及装置
US7047228B1 (en) Engineering process for procuring components/peripherals
US20070198464A1 (en) Data processing apparatus, data processing system, data processing method, and recording medium
JP2001273279A (ja) 電子ファイリングシステムおよび文書作成方法
KR20200121986A (ko) 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램
JPS63276626A (ja) 2次記憶装置の分割管理方式
KR100404907B1 (ko) 개방형 지리정보시스템을 위한 메모리 관리 방법 및 장치
KR20210013747A (ko) 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램