JPH01144152A - データ処理システムの制御方法 - Google Patents

データ処理システムの制御方法

Info

Publication number
JPH01144152A
JPH01144152A JP63233842A JP23384288A JPH01144152A JP H01144152 A JPH01144152 A JP H01144152A JP 63233842 A JP63233842 A JP 63233842A JP 23384288 A JP23384288 A JP 23384288A JP H01144152 A JPH01144152 A JP H01144152A
Authority
JP
Japan
Prior art keywords
page
processing unit
processor
data
processor unit
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
JP63233842A
Other languages
English (en)
Other versions
JPH0622015B2 (ja
Inventor
Marion L Blount
マリオン・リイ・ブラント
Stephen P Morgan
ステイーブン・ポール・モーガン
Katalin A V Rader
カタリン・アナ・ヴエロニカ・ラダー
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH01144152A publication Critical patent/JPH01144152A/ja
Publication of JPH0622015B2 publication Critical patent/JPH0622015B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)
  • Air Bags (AREA)

Abstract

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

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は同じ仮想メモリのアドレシング空間を共用する
同じように相互接続された複数個のデータ処理ユニット
を含む仮想メモリ・データ処理システムにおいて、夫々
のデータ処理ユニットによって行われるディスクの人出
力のアクセスを減少するための方法に関する。
B、従来の技術 単一の独立型の中央処理ユニット(cpu)を用いた複
数個の仮想メモリを有するデータ処理システムは従来か
ら知られている。通常、これらの仮想メモリのデータ処
理システムは、1バイトのデータを記憶し、かつ個々に
アドレスし得る多数の記憶位置を有する主メモリと、デ
ータをブロックで記憶し、ブロックでアドレスする複数
個の記憶位置を含むディスク・ファイルのような2次ス
トレージ装置とを使用している。従来のディスク・ファ
イル装置の説明を簡略にするために、ディスク・ファイ
ルの各ブロック・アドレスは、例えば2にバイト(実際
は2048バイト)のデータを記憶するものと便宜上仮
定する。仮想メモリは、しばしば単一レベル記憶装置と
呼ばれている概念を含んでいる。単一レベル記憶装置に
おいて、システムの最大アドレス範囲は通常、主メモリ
の実際の容量よりも遥かに大きい。主メモリはベージン
グ機構と、主メモリ中のアプリケーション・プログラム
(適用業務プログラム)によって必要とするデータを保
持するために共働する2次的な記憶装置とを使用するこ
とによって迩かに大きく見えるようにされている。
ベージング機構の機能は、アプリケージヨシ・プログラ
ムによってアドレスされたページが主メモリに存在しな
いときは常に、ディスク・ファイルから主メモリへ、デ
ータのページを転送することにある。これは「ページ不
在J (page fault )と呼ばれている。デ
ィスク・ファイルから主メモリへデータのページを転送
することは「ページ不在」処理と呼ばれている。
ディスクのアクセス時間は、例えば数ミリ秒を必要とす
る程、その処理速度が相対的に遅く、これに反して、主
メモリのアクセス時間は、例えば1マイクロ秒以下のよ
うに処理速度が相対的に早いので、仮想メモリ・データ
処理システムの性能は、ディスクのアクセス回数に直接
的に関係する。
従って、従来の仮想メモリ・システムは、ディスクのア
クセスの回数を減少させ、そして仮想メモリ中で行なわ
れる「ヒツト」(当り)の百分率を増加させる技術を使
用している。アプリケーション・プログラムがデータを
アドレスした時に、アプリケーション・プログラムによ
ってアドレスされたデータが主メモリ中に存在している
ならば、仮想メモリのアドレス中にヒツトが生じる。仮
想メモリ・システムのヒツトの比率rはアドレスした仮
想メモリのヒツトの回数を、ヒツトの回数りにミス(空
振り)の回数mを加えた数で割ったものである。これを
数式で表わせば、 r=h/(h十m) である。
また、データの処理能力を増加させるために、複数個の
プロセッサを使用した多重プロセッサ・システム構成も
公知である。多重プロセッサ・システム構成は、論理的
コミニュケーション・チャンネルを共用する複数の処理
ユニットとして捉えることが出来る。論理的コミニュケ
ーション・チャンネルは、複数の処理ユニットの間で共
用されるメモリであって、1つの処理ユニットから他の
処理ユニットへのメツセージを記憶するためのメモリで
あると考えることが出来る。更に、論理的コミニュケー
ション・チャンネルは1方の処理ユニットから他・方の
処理ユニットへメツセージを転送する際に、メツセージ
を通過させるコミニュケーション・ネットワークの形式
を取ることが出来る。
強結合(tightly−coupled )多重プロ
セッサ・システム構成と称されている従来の多重プロセ
ッサ・システム構成において、構成内のすべての処理ユ
ニットによってアクセスすることが出来るある容量のメ
モリを共用し、そして、各処理ユニットは、その処理ユ
ニットだけしかアクセスすることができず、他の処理ユ
ニットによってはアクセスすることのできない、ある容
量の専用メモリを持っているような多重プロセッサ・シ
ステム構成がある。
強結合多重プロセッサ構成に配列された計算システムは
、共用メモリによる迅速なコミニュケーションの利点を
持っており、また、ディスク・キャッシュとしての共用
メモリをも利用することになる。ページ不在は、強結合
多重プロセッサ構成中の1つの処理ユニットによって実
行されるアプリケーション・プログラムが、主メモリに
存在しないデータのページをアドレスした時に生じる。
ページ不在処理の間において、この多重プロセッサ構成
に接続されている2次ストレージ装置は、共用メモリ中
にデータのページを読込むように命令される。データの
ページが共用メモリに読込まれると、そのデータはこの
多重プロセッサ構成中の任意の処理ユニットによってア
ドレスすることが出来る。
多重プロセッサ構成中の複数の処理ユニットが共通の問
題を処理している場合、「参照の局所性」(1ocal
ity of reference )を経験するよう
な方法で、それらの処理ユニットがデータをアクセスす
るのが普通である。そのデータのページを保持する共用
メモリ中のページ・フレームが、他のデータのページを
保持するよう、多重プロセッサ構成によって再使用され
る前に、この多重プロセッサ構成中の1つの処理ユニッ
トで実行するアプリケーション・プログラムによって仮
想メモリにアクセスすることから生じたページ不在を満
足するために、2次ストレージから検索されて、共用メ
モリに置かれた(読みこまれた)データのページが、こ
の構成中の他の処理ユニットで実行する他のアプリケー
ション・プログラムによってもアクセスされるであろう
可能性がゼロではない時に、「参照の局所性」が使われ
る。多重プロセッサ構成中の他の処理ユニットで実行す
るアプリケーション・プログラムによるアクセスが生じ
た場合に、多重プロセッサ構成は、共用メモリに既に存
在するデータのページによって、ページ不在を解決する
ことによりディスクのアクセスを行わせずに済ますこと
が出来る。
然しながら、共用メモリをディスク・キャッシュとして
用いた時、処理ユニットが、共用メモリをアクセスする
際に、多重プロセッサ構成中の処理ユニットの間でのア
クセスの競合が、共用メモリによって与えられる利益を
越える程、大きくなった時、強結合多重プロセッサの構
成の実際上の限界がある1例えば、その構成中の他方の
処理ユニットが、データのページの内容の検索を行って
いるときに、1方の処理ユニットがデータの同じページ
の内容の変更を行おうとしている場合がある。このよう
な場合に対処するために通常、2つの処理ユニットはデ
ータについて調和を持つように、他方の処理ユニットの
立場で処理ユニットのうちの1つを監視するためのある
種の手段が設けられている。強結合多重プロセッサ構成
において、複数の処理ユニットに関するデータについて
調和を持たせるために、幾つかの従来技術がある。これ
らの方法は、その構成中の他の処理ユニットが共用メモ
リへのアクセスを完了するまで、その構成中の一方の処
理ユニットは空転させることを含んでいる。空転してい
る処理ユニットを更に空転させることは出来ないから、
システム全体として考えたとき、共用メモリへのアクセ
スの競合が、多重プロセッサ構成の処理能力を減少する
結果を生じることは避けることが出来ない。これらの理
由によって、単一の強結合多重プロセッサの構成中の処
理ユニットの数は6台を越えることは殆どない。
緊密結合(closely−coupled )多重プ
ロセッサ。
システム構成と称される従来の多重プロセッサ・システ
ム他の構成において、複数個の処理ユニットが、コミニ
ュケーション・ネットワークを介して接続され、そして
各処理ユニットはそれ自身のメモリに直接にアクセスす
ることが出来るが、他のすべての処理ユニットはそのメ
モリにはアクセスすることが出来ないように構成されて
いる。緊密結合多重プロセッサ・システム構成中の処理
ユニットは、コミニュケーション・ネットワークを介し
て、その構成内の他の処理ユニットヘメツセージを転送
することによって、データを共用することが出来る。緊
密結合多重プロセッサ・システム構成の変形例において
、その多重プロセッサ構成中の処理ユニットの内の1つ
の処理ユニットを共用メモリの処理ユニットとして区別
している。共用メモリ処理ユニットに接続された主メモ
リは、共用メモリ処理ユニットによって管理されるディ
スク型のキャッシュ・メモリとして使用される。
何時、そしてどんな構成の下で、共用メモリのどの領域
に対して、複数の処理ユニットのうちのどの処理ユニッ
トがアクセスすべきかを制御するための機能が、共用メ
モリ処理ユニットに割当てられている。共用メモリが高
速度の主メモリと相対的に低速度の2次ストレージ装置
を含む仮想メモリである場合、所定のヒツト率を得るた
めに必要な主メモリの大きさは多重プロセッサ構成によ
って実行される毎秒当りのインストラクションの数に直
接関係する。成る場合に、独立したプロセッサ・ユニッ
トは毎秒当り百方個単位の命令を実行出来るかの目安の
ミツブス(Millions ofInstructi
ons per seconds−M I P S )
によって性能が決められる。若し、2個の4MI PS
の処理能力を持つ処理ユニットと、第3の共用メモリ処
理ユニットとが緊密結合多重プロセッサ構成で使用され
たとすれば、この構成に関連した主メモリは、所定のヒ
ツト率を得るために、バイト単位で約80メガバイトの
アドレスをすることの出来るメモリを持たなければなら
ない。共用メモリ中で85%のヒツト率を得るために、
大ざっばに言って、IMIPS当り/Oメプパイトのア
ドレス可能な主メモリが必要である。従って、若しこの
緊密結合多重プロセッサ構成に対して更に4MIPSの
処理ユニットを付加しようとすれば、85%のヒツト率
を維持するために、更に、40メガバイトのアドレス可
能な主メモリを共用メモリに付加しなければならない。
然しながら、緊密結合多重プロセッサ構成を実際に設計
するに際して、コストと性能のパラメータに関しての損
益分岐点を越えない範囲の結合としなければならないの
で、処理ユニットを緊密結合多重プロセッサ構成に付加
することは、この点から自ら限界がある。
局所領域(1ocal area )ネットワーク内で
、複数個の独立型パーソナル・コンピュータ、または独
立型のエンジニャリング・ワークステーションを構成す
る技術が最近になって使われるようになった。このよう
な構成は、弱結合(1oosely−coupled 
)多重プロセッサ構成とか、分散システム(distr
ibuted system )構成とか、またはクラ
スタ構成と呼ばれているが、このような構成における任
意のワークステーションは、標準的な通信プロトコルを
使用した他のワークステーションと通信することが出来
る。クラスタ構成を設立するための動機づけは、データ
処理能力をより大きくするためではなく、情報を非電子
的に交換することの代りに電子的に交換するという単純
な利益を得るためであった。然しながら、成る場合には
、個々のワークステーションが、同一のオペレーテング
・システムを走らせ、時には同一のアプリケーション・
プログラムを走らせることもあることが見出された。計
算機協会(Association for Comp
utingMachinery )の「配分された計算
の原理に関する1986年の第5回年次シンポジューム
J(5thAnnua、l Symposium on
 Pr1nciple of DistrbutedC
omputing )で報告されたり−(Kai Li
 )及びフダク(Paul )Iudak )による共
用仮想ストレージ・システムにおけるメモリの均一性(
MemoryCoherence in 5hared
 Vertual Storage Systems 
)と題する文献は、クラスタ構成で接続された複数個の
仮想メモリのデータ処理ユニットを開示している。この
装置において、すべての処理ユニットは同じオペレーテ
ング・システムを持ち、そして同じ仮想アドレス空間(
5pace )をアドレスする。
各処理ユニットは異なったファイルを所有するファイル
の所有装置であり、それらのファイルは、各処理ユニッ
ト自身ののメモリ・システムに記憶されている。アプリ
ケーション・プログラムを実行しているファイルの非所
有装置は、適当な通信リンクを介して他の処理ユニット
のメモリ・システムへのアクセスを獲得し、これは、デ
ータの仮想ページのファイルの所有装置に対して、要求
装置へ仮想ページを送る要求を発生する。
従って、クラスタ構成中の各処理ユニットは、その構成
中の他の処理ユニットと共に、仮想メモリ・システム内
のファイルの組を共用する。要求により生じたページ不
在はファイルの所有装置によって示される。若し、要求
が局部(1ocal )であれば、即ち所有装置からの
要求であれば、要求されたページは所有装置の2次スト
レージ装置から直接に所有装置の主メモリに転送される
。若し、要求が他の処理ユニットからのものであれば、
ページは通信リンクを介して、所有装置の2次ストレー
ジ装置から要求装置の主メモリへ転送される。要求装置
がデータのページの処理を済ませた後に、データのペー
ジの処理を制御するために、システムのプロトコルが設
定される。このプロトコルは、例えば、所有装置にペー
ジを返還する時に、一方のユニットがそのページに書込
みを要求しているのに対して、他方のユニットはそのペ
ージから読取りを要求している場合のように、同じペー
ジに対する競合した要求をどのようにして両立させるか
を管理することとか、または、記憶データを共用するた
めの機能に共通する他の種々の状況を管理することを取
り扱う。
各処理ユニット自身の仮想メモリを、クラスタ中の他の
処理ユニットと共に共用することは、クラスタに対して
利用可能なファイルの合計数が複数個の2次ストレージ
装置の中に分散されるから、2次ストレージ装置の寸法
や容量を減らすことが出来るという利益を生じる。これ
は、ストレージ装置に対するアクセス時間を短縮し、か
つ装置の価格の低減をもたらす、考え得る不利点として
は、データのページの所有装置に対して複数個の他のユ
ニットからの同時的な要求が複数個のディスク装置を順
番にアクセスしなければならないことがある。通常、要
求は重複した態様でサービスされるけれども、ディスク
のアクセスは、処理ユニットに対して比較的時間の浪費
となる動作であり、また、そのユニットに無関係のアプ
リケーション・プログラムを実行している所有ユニット
の性能に可成りの悪影響を与えることがあり、2次スト
レージ装置のサービスにも影響を与える。
C1発明が解決しようとする問題点 本発明は、2次ストレージ装置に対してアクセスを要求
するページ不在の回数を極めて減少する、共用仮想メモ
リとクラスタ構成を持つデータ処理システムによって使
用される新規な方法に関する。
従って、本発明の目的は仮想メモリ型のデータ処理シス
テム中の2次メモリ装置に対するアクセス動作の回数を
減少させる方法を提供することにある。
本発明の他の目的は、複数個の相互接続された仮想メモ
リ型の処理ユニットを有するデータ処理システムを用い
て、ページ不在に対する入出力アクセス動作を最少限の
回数に減少させる方法を提供することにある。
本発明他の目的は、多重プロセッサのクラスタ構成にお
いて、要求されたページが要求プロセッサ・ユニットに
存在しない時に生じるページ不在を解決する方法を提供
することにある。
D0問題点を解決するための手段 クラスタ構成に相互接続された複数個の仮想メモリ型デ
ータ処理ユニットを含む共同で使用する仮想メモリを有
するデータ処理システムにおいて、ディスクのI/O動
作を減少するための本発明は、以下に述べる着想に基づ
いてなされたものである。
即ち、その着想とは、アクセス・コーデイネータ(アク
セス調整要素)に対してなされたデータのページの要求
、またはそのデータのページを所有しているデータ処理
ユニットに対してなされたデータのページの読取り、ま
たは書込みの要求が、ページ不在(page faul
t )を発生した時、若し、そのページのコピーがクラ
スタ中の他の1つのデータ処理ユニットの主メモリ中に
あれば、そのページ不在をサービスすることについて、
可成りの時間を節約することが出来るという考えである
。この着想を具体的に説明するために、例えば、ページ
番号Pは処理ユニットAによって所有されているファイ
ルのページであり、そして、そのページを所有していな
い例えば処理ユニットBのような他の非所有処理ユニッ
トによるページの要求が、そのページを含むセグメント
のためのシステムのアクセス・コーデイネータである処
理ユニットAのページPに対してなされたものと仮定す
る。また、処理ユニットAに対するそのページ要求は、
ページ不在を処理するための手段を介して、処理ユニッ
トAの2次ストレージ装置からページPを得ることが必
要であると仮定する。また、ページPのコピーは、処理
ユニットAから処理ユニットBに送られてしまっており
、そして、他のページの要求が処理ユニットCから処理
ユニットAになされた時に、ページPのコピーは、処理
ユニットBの主メモリ中にはあるが、処理ユニットAに
はないものと仮定する。このような状況のとき、処理ユ
ニットAが、ページPのコピーを処理ユニットCへ送る
ことを、処理ユニットBに依頼することが出来るならば
、処理ユニットAが2次ストレージ装置に対してI/O
動作を行う一連の処理動作を含むページ不在処理動作は
行わなくてもよいことになる。
本発明に従って、多重プロセッサのクラスタ内の個々の
プロセッサは共通の仮想メモリの複数のセグメントのア
クセスを個々に調整する。仮想メモリの各セグメントは
、論理的に、128000ページ(13/O72ページ
)を含んでおり、各ページは2000バイト(2048
バイト)を含んでいる。クラスタ中のプロセッサ・ユニ
ットは、クラスタ中の他のプロセッサ・ユニットの間で
これらの仮想メモリを共用している。1つのプロセッサ
・ユニットは、特定された仮想メモリのセグメントに割
当てられたデータの所定のファイルのアクセス・コーデ
イネータとして使用される。仮想メモリを使用する他の
複数のプロセッサ・ユニットは、夫々、「使用側処理ユ
ニットJ (usingprocessor unft
 )と呼ばれる。本発明に従って、仮想メモリのキャッ
シュ(cached )されたページを調和させてアク
セスする方法は、次のような4つの重要な側面を持って
いる。
(1)ページを所有する権利、即ちページの所有権は、
その使用と共に自動的に変わる。従って、ページを変更
する権利は、ページを含むセグメントのためのアクセス
・コーデイネータによって、所定の使用側処理ユニット
に割当てられ、そして、ページの競合が、そのページを
含むセグメントのためのアクセス・コーデイネータによ
って取り消されるか、または他のプロセッサ・ユニット
に割当てられるまで、そのプロセッサ・ユニットにその
まま留まっている。
(2)ページの一部の所有権は、ページ全体の所有権で
あることを示唆している0例えば、若し、1つのプロセ
ッサ・ユニットがそのページの最初のバイトをアクセス
し、そして、その処理ユニットがその最初のバイトをア
クセスする能力を与えられたとすれば、そのプロセッサ
・ユニットは、ページ全体をアクセスする能力を与えら
れる。
(3)ページのアクセスt−調整すること、即ちアクセ
ス・コーデイネータの機能は、統計的に割当てられ、そ
のページを含むセグメントを調整するプロセッサ・ユニ
ットにより行われる。
(4)与えられたページに対するアクセス・コーデイネ
ータは、プロセッサ・ユニットが持っている仮想共用メ
モリ・テーブル(Virtual SharedMem
ory Table−V S M T )中に、ページ
のコピーと、個々のプロセッサ・ユニットが保持してい
るアクセスする権利(例えば読取のみに対する読取り/
書込み)と、ページのアクセスを要求した他のプロセッ
サ・ユニットのリストとを記録する。
本発明の方法は、セグメントのどのページが、どの使用
側処理ユニットのメモリにストアされているかについて
の記録を、セグメントのアクセス・コーデイネータに記
録することを含んでいる。ページのアクセスを要求した
使用側処理ユニットは、ディスク・ストレージからその
ページを読取るのではなく、それ自身のメモリ・システ
ムにそのページを持っているプロセッサ・ユニットから
そのページを読取ることによって、ディスク・ストレー
ジのI/O動作を回避する。このようにして、クラスタ
内の個々のプロセッサ・ユニットに接続されたそれら自
身のメモリが、それらのプロセッサ・ユニットの闇で、
仮想メモリ的に相互に共用することが出来る。
VSMTテーブル中の多数のエントリは、動作した結果
の性能測定と、なされた要求とに従って、クラスタのI
PL時間、または゛実行に要する時間によって決定され
る。VSMTエントリの数は常に、クラスタ内の実アド
レスのページ・フレームの数によって制限される。例え
ば、若し成るクラスタが16台のプロセッサ・ユニット
で構成され、夫々のプロセッサ・ユニットは直接接続さ
れた16メガバイトのメモリを持っているとすれば、そ
のクラスタは合計217個のページ・フレームを持つこ
とになる。若し各ページ・フレームのためのエントリが
各プロセッサ・ユニットのVSMTに割当てられたとす
れば、VSMTテーブルのために、11メガ・バイトの
ストレージが、各プロセッサ・ユニットに割当てられな
ければならないことになる。実際問題として、VSMT
テーブルの大きさは、そのように大きな容量を、決して
必要としない。ページは助にページ・テーブルにあるか
ら、VSMTテーブルはアクセス・コーデネータの実メ
モリ中のページを表わすために必要がない。クラスタを
介して、所定の時間に実メモリにあるセグメントのペー
ジと、実際に共用されているコード及びデータの両方の
みが、VSMTテーブルに表示する必要があるだけであ
る。従って、物理的なメモリ・フレームの一部が、所定
の時間に共用されたセグメントのページを含むだけで、
共用されないページを含む他のページ・フレームは、V
SMTテーブルに表示される必要はない。
VSMTテーブル中のエントリの数を決定するための好
ましい方法は、最初に、少数のエントリを作成し、使用
するにつれて次第に大きくするようにさせることである
更に、本発明の方法は、2台以上のプロセッサ・ユニッ
トの間で入出力を遂行するための方法である「三角型I
/O動作」を使用している。プロセッサ単位の観点から
は、入出力は、プロセッサである「マスク・ユニット」
と、「スレーブ・ユニット」(制御ユニット)との間で
遂行される。マスク・ユニットはスレーブ・ユニットに
要求を送リ、スレーブ・ユニットはその要求を処理し、
その要求に応答する。例えば、プロセッサ・ユニットは
ディスクをセットするために、成る制御ユニットに仮想
ページの要求を送るとする。その制御ユニットは、その
ディスク・ストレージの適当なブロックを指定すること
によって処理し、そして、要求したプロセッサ・ユニッ
トにそれらのページを転送する。クラスタ構成において
、マスク・ユニット及びスレーブ・ユニットという概念
は明確ではない01例えば、プロセッサ・ユニットRは
、プロセッサ・ユニットQに直接に接続されたディスク
装置に記録されたページPのための他のプロセッサ・ユ
ニットQに要求を送ったとする。プロセッサ・ユニット
Qは、プロセッサ・ユニットTに接続されている物理的
なメモリ中の要求されたページのコピーを持っている他
のプロセッサ・ユニットTへの要求を差し向けることに
よって、ディスクのIloを回避するように試みる制御
ユニットと同じ方法でその要求を処理するかも知れない
、プロセッサ・ユニットTは、要求されたページをプロ
セッサ・ユニットQt!:介して送らせないで、要求さ
れたページをプロセッサ・ユニットRに送る。このよう
な考えで、プロセッサ・ユニットR,Q及びTが、ペー
ジPによって「三角型I/O動作」に含まれる0本発明
によって、相互の通信処理は減少され、そしてディスク
装置に対する2次的なI/O動作が回避される。
E、実施例 第1図は本発明の方法を適用することが出来る多重プロ
セッサ式クラスタ構成のデータ処理システムのブロック
図である。第1図に示したように、このデータ処理シス
テムは、複数個のプロセッサ・ユニット/Oと、スイッ
チ11と、複数個の通信リンク12とで構成されており
、各通信リンクは1つのプロセッサ/Oをスイッチ11
に接続している。スイッチ11は、任意のプロセッサ/
Oが他の任意のプロセッサ・ユニットと通信するのを制
御する機能を持っている。スイッチ機能及び通信リンク
の細部は本発明を理解するために間係がないから、これ
らの細部についてはこれ以上の説明はしない0本発明に
使用することの出来るスイッチ機能の例は、米国特許第
4635250号、同第4833394号、同第483
0015号及び同第4605928号に開示されている
第2図は第1図に示された1つのプロセッサ・ユニット
/Oの細部を示す図である。プロセッサ・ユニット/O
は、例えばIBM(F)AIX(IBMの商標)オペレ
ーティング・システムのようなUnix(ATTの商標
)オペレーティング・システムで動作する例えば18M
パーソナル・コンピュータRTのような高性能のパーソ
ナル・コンピュータ、またはエンジニャリング・ワーク
ステーションである。第2図に示したように、プロセッ
サ・ユニット/Oはマイクロ・プロセッサ16と、主メ
モリ17と、プロセッサ16及びメモリ17と複数個の
I/Oアダプタ、即ち、ボー)2OA乃至20Eとの間
でデータ転送を制御するメモリ管理装置18とで構成さ
れている。ボート20A及び20Bは、デイスプレー型
の端末装置21及び22をシステムに接続するための機
能を持っている。ボート20Cはシステムにプリンタ2
3を接続し、そしてボート20Dはシステムにディスク
駆動装置を接続する0通信ボート20Eはプロセッサ・
ユニット/Oを通信リンク12に接続する。
本発明を説明する便宜上、プロセッサ/Oは全体として
、米国特許第4742447号に開示された仮想メモリ
型のデータ処理システムに対応しているものと仮定する
。上述の米国特許に記載されているように、プロセッサ
は、16セグメントのレジスタの1つを選択するために
、4個の高位ビット31乃至28を用いることによって
40ビツト仮想アドレスに変換された32ビツトの有効
アドレスを持っている。この32ビツトの有効アドレス
の各々は、4096個のセグメントの1つを画定する1
2ビツトのセグメント・アドレスを記憶している。各セ
グメントは256メガバイト(228個)のストレージ
を含んでいる。若し、ページf2にバイトのデータを含
んでいるものとすれば、セグメントは128ページを含
むことになる。
他方、若し、ページが4にバイトのデータを含んでいる
とすれば、セグメントは64にページを含み、これを、
より正確に言えば、そのセグメントに現在割当てられた
データのページを識別するために64に個の仮想アドレ
スを用いることが出来るということを意味する。
上述の米国特許第4742447号に記載されているよ
うに、Unlx型のオベレーテインク・システムがこの
プロセッサ・ユニットに用いられているので、アプリケ
ーション・プログラム及びこれらのプログラムによって
用いられるデータは、Unixファイル型の構成に従っ
て構成されている。使用されるファイルは、プロセッサ
・ユニットの2次ストレージ装置中に記憶されており、
この2次ストレージ装置はディスク・ファイル装置であ
ってよい。記憶単位、即ちディスク・ファイルのアドレ
ス可能単位は、ディスクのブロックであり、説明の便宜
上、この記憶単位はデータの1ページを記憶するものと
仮定する。Unix読取り及び書込みシステムは、主メ
モリとディスク・ストレージ装置との闇のデータ転送を
制御する機能を持っている。
また、仮想メモリ構造において、メモリ管理装置及びペ
ージ不在処理機構は、アプリケーション・プログラムに
よって実行されロードに関するインストラクション及び
ストアに関するインストラクションのタイプに応じて、
ディスク・ファイルと主メモリの間のページの転送を制
御する機能を有している。上述の米国特許第47424
47号に開示されたシステムにおいて、仮想アドレス空
間のセグメントにファイルを割当てるためのマツプの機
能を果たすマツプ・ページ範囲サービス(MapPag
e Range Service−M P RS )を
持つオベレーテインク・システムが与えられている。M
PR5は外部ページ・テーブル(External P
age Table−XPT)データ構造を用いており
、その構造において、ファイルのページを含むディスク
・ブロック・アドレスは、割当てられたセグメントの仮
想アドレスに割当てられる。
また、メモリ管理要素は、データのページがストアされ
ている主メモリの実アドレスを、そのページに割当てら
れた仮想アドレスに相関させるための反転ページ・テー
ブル(Inverted Page Table−I 
PT )データ構造を用いる。また、上述の米国特許第
4742447号に開示されたシステムは、オベレーテ
インク・システムにおける読出し及び書込みのシステム
・コール(system call )を、仮想アドレ
スを有するロード・インストラクション及びストア・イ
ンストラクションに変換する方法を使用しており、この
方法は、ファイル中のパラメータ及びUnixオフセッ
ト・ポインタに影響する。従って、すべてのディスクI
/O動作は、上述の米国特許第4742447号のシス
テムのメモリ管理及びページ不在処理機構の制御の下に
ある。
アプリケーション・プログラムのインストラクションを
実行する際のプロセッサ・ユニット/Oの動作を簡単に
述べると以下の通りとなる。インストラクションの仮想
アドレスは、ハツシュ・アンカー・テーブル(Ra5h
 Anchor Table−HAT )のインデック
スを与えるために、適当なハツシュ(hash )アル
プリズムによってハツシュされる。
HATにおいてインデックスされたエントリ(cntr
y−記入項目)は、同じ値にハツシュされた仮想アドレ
スの表中の第1エントリを指示するポインタを含んでい
る。若し、その表中のポインタを与える値にハツシュす
るであろう仮想アドレスを持つページが、実メモリにあ
れば、仮想アドレスはその表中にある。データのページ
が記憶されている実メモリのページ・フレームは、仮想
アドレスを含む表中のエントリから得られる。若し、仮
想アドレスが上記の表になければ、対応するページは実
メモリにはなく、ページ不在が発生する。
この場合、ページ不在処理機構が動作される。
ページ不在処理機構は、ファイルがマツプされたときに
発生するXPTエントリを参照することによって、要求
された仮想アドレスを持つページがストアされているデ
ィスク・ブロック・アドレスを指定する。XPTはメモ
リ中にビン(pinned )されていないから、ペー
ジ不在処理機構は、ページ不在処理機構が最初にXPT
を参照したときに、ベージ不在に遭遇する。然しながら
、XPTのエントリのうちの該当するページがメモリに
ストアされているならば、元のページ不在をサービス(
処置)することが出来る。ページは利用可能にされたメ
モリ中のページ・フレームに転送され、そして業務の処
理動作が再開される。
上述した仮想メモリ管理動作は、本発明の方法を適用す
ることの出来る第1図に示したプロセッサ・ユニットに
用いることが出来る仮想メモリ管理機能の単なる一例を
説明しただけであることは注意を向ける必要がある。第
1図に示されたように、夫々のプロセッサ・ユニットは
、相互のプロセッサ・ユニット間でデータを転送する関
係で選択的に接続されるようにスイッチ/Oと通信リン
ク12とによって、他のプロセッサ・ユニットと相互接
続される。既に述べた通り、通信ボート20Eは通常、
スイッチ11に接続される通信リンク12にインターフ
ェースされている。離隔メモリ管理機能は各プロセッサ
・ユニット/Oに付加されており、かつボート20Eと
本来のメモリ管理機能装置18との間のインターフェー
スを与える。例えば、プロセッサ・ユニット/OAの離
隔メモリ管理装置の機能は、プロセッサ・ユニット/O
Bの離隔メモリ管理機能からのデータの仮想ページPの
要求を処理することにある。プロセッサ/OAがそのペ
ージ及びファイルのためのアクセス調整ユニットとして
任命されたので、要求はプロセッサIOAに送られる。
ページPの要求を処理するために、離隔メモリ管理機能
は先ず、要求されたページがユニットIOAの主メモリ
にあるか否かを決定する。若しページPが主メモリにあ
れば、コピーpbがユニットIOBに返還され、そして
、ユニットIOBの主メモリに要求ベージのコピーがあ
るという事実を、第7図に示されたような仮想共用メモ
リ・テーブル(VirtualShared Memo
ry Table−V S M T )と称されるデー
タ構造を記録する。仮想アドレスを含むインストラクシ
ョンがユニットIOBによって実行され、ユニットIO
Aに記憶されているファイルを含んでいることが認識さ
れたとき、離隔処理要求がユニットIOBによって開始
される。ファイル、または仮想ベージのアクセス・コー
デイネータが認識される態様については後述する。
上述の動作は、2つのプロセッサ・ユニットを含む直接
要求及び直接転送の最も簡単な場合の動作である。要求
されたページPaがユニット/OAの主メモリのページ
にはなく、ユニットIOHに前に送られたコピーpbが
、IOA以外の他のユニットの主メモリのコピーである
場合を仮定すると、含まれる動作はやや多くなる。上述
の場合において、ユニット/OCがユニットIOAから
同じページのコピーを要求しているものと仮定する。ユ
ニットIOAはディスクに要求ページPのコピーを有し
ているけれども、然し、これはページPを検索してそれ
をユニットIOCに転送するために、相対的に長時間を
要するディスクI/O動作を必要とする。ユニット/O
Cからの要求をサービスする際のユニットIOAの離隔
メモリ管理装置は、先ず、ユニットIOAの変換ベージ
・テーブルをチエツクし、そしてそれがユニット/OA
の主メモリ中にはないことを決定する。この時点で、従
来のシステムは、ページ不在の処理を行い、ディスクか
らページを検索し、それを取り出す。然しながら、本発
明の方法は、要求ページpbの仮想アドレスのためのS
VMT構造を単にチエツクするだけであり、そして、コ
ピーpbがユニットIOBの主メモリ中にあることを助
言される。従って、ユニットIOAの離隔メモリ管理装
置は、ユニットIOHの離隔メモリ管理装置にメツセー
ジを送り、このメツセージによって、ユニットIOCの
離隔メモリ管理装置にページpbのコピーを送るよう、
ユニットIOHに対して要求する。このような処理にお
いて、ユニット/OCによる最初の要求は「三角型I/
O動作」(triangular Ilo opera
tion )によってサービスされたと言われる。三角
型I/O動作は、データのページの転送を含む幾つかの
メツセージを含むけれども、この動作に費やされる時間
は、現在のストレージ及び通信技術が必要とする時間、
即ち、要求されたページをユニットIOBのディスク・
ファイルから検索し取り出すのに含まれる時間よりも少
なくとも2桁以上短縮される。
第1図に示したクラスタ構成において、各ユニットは同
じオベレーテインク・システムで動作していることと、
クラスタ内では、各ファイルに対するコピーはただ1つ
だけしか存在しないことが好ましいこととは注意を払う
必要がある。各ファイルは、そのファイルのアクセス・
コーデイネータとして動作するプロセッサ・ユニットに
割当てられている。ファイルはプロセッサ・ユニットの
2次ストレージ装置に記憶される。ファイル/アクセス
・コーデイネータの割当ては、駆動パラメータ及び通路
パラメータにファイルの名前全体を使用するPC−DO
Sオベレーテインク・システムに用いられている規則と
同じように、ファイルに与えた名前によって設定するこ
とが出来る。上記の代案として、現在のアクセス・コー
デイネータと共にクラスタ中の各ファイルを表にした簡
単なアクセス・コーデイネータ用テーブルを用いること
も出来る。
以下の説明の便宜上、217ページ即ち128にページ
(13/O72)を含むセグメントから成る211バイ
ト、即ち2にバイトを含むデータのページがあるものと
仮定する。クラスタにより用いられる仮想アドレス空間
は各プロセッサ・ユニットにより使用されるので、2つ
の新しいデータ構造と識別子が用いられる。第6図に示
したローカル・セグメント識別子(Local Seg
ment Identifier−LSID)は、アク
セス・コープイネ−多を持つセグメントを識別する。L
SIDは12ビツトを含んでいる。
第6図に示されたグローバル・セグメント識別子(Gl
obal Segment Identifier−G
 S I D )は、19ビツトを含み、セグメント内
のプロセッサ・ユニットを識別する。G5IDは17ビ
ツトのプロセッサ識別(/O)部分と、12ビツトのロ
ーカル・セグメント識別子LSIDとを持っている。
VSMTデータ構造は、第7図に示されており、各プロ
セッサ・ユニットによって使用される反転ページ・テー
ブルの機能と多くの点で同じである。
VSMTの各エントリ(記入項目)は、以下に示すフィ
ールドを含んでいる。
状態標識(5tate Indicator )   
  4ビツトローカル・セグメント識別子(Local
Segment ID )            2
4ビツトローカル・セグメント内の ページ数             16ピツト最終エ
ントリ標識          1ビツトプロセツサ識
別子          8ビツトハツシユ・チェーン
の次のインデックス(Index of Next E
ntry on Ra5h Chain )31ビツト 既に述べたように、各プロセッサ・ユニット/Oで用い
られている反転ページ・テーブルIPTは、ページ・フ
レーム内に記憶されているページの仮想アドレスを、主
メモリ中のページ・フレームに相関するために機能する
。第5図に示された反転ページ・テーブルは、その主メ
モリ中の各ページ・フレーム毎に1つのエントリを持っ
ている。
クラスタ中の各反転ページ・テーブルに含まれているデ
ータ自身は、そのプロセッサ・ユニットによって記憶さ
れているVSMTとは重複していない。プロセッサ・ユ
ニットのためのVSMTの機能はエントリをログ(経過
記録すること)することにあり、それらのエントリは、
そのプロセッサ・ユニットによって調整されている仮想
ページが、クラスタの他のユニットに送られたことを反
映している。換言すれば、プロセッサ・ユニットのVS
MTは、そのプロセッサ・ユニットが調整している仮想
ページが、クラスタの他のプロセッサ・ユニットに転送
されたときに更新される。
プロセッサ・ユニット/OのVSMTへのエントリの表
は、第7図に示した通りである。このテーブルのエント
リは、第8図に示したシステム・ハツシュ・アンカー・
テーブル(systern hashanchor t
able )にストアされているインデックスによって
行われる。このインデックスは、そのテーブルの仮想ア
ドレスのセクションが同じ値にハツシュされるテーブル
のセクション中の第1のエントリに対するものである。
これらのセクションはハツシュ(hash )値セクシ
ョンと言われる。各ハツシュ値セクションのローカル・
セグメント識別子のエントリは、降順に並べられる。同
じローカル・セグメント識別子LSIDのエントリは仮
想ページ・インデックスによって昇順に並べられる。
仮想アドレスのハツシュ値は、例えば、そのページを含
むセグメントのLSIDをページの「仮想ページ・イン
デックス」でハツシュすることによって得られる。この
ハツシュ値は、アンカー・テーブル内のインデックスで
あり、VSMTのハツシュ・エントリのヘッドのポイン
タを与える。
共用されたマツプ・ファイル(5hared mapp
edfile)は、少なくとも2つの仮想メモリ・セグ
メントで構成されている。少なくとも1つのアプリケー
ション・プログラムが、オープンしたファイルを持って
いる各使用側処理ユニット(usingprocess
ing unit )において、アプリケーション・プ
ログラムによって発生されたオープン・システム・コー
ル毎に1つのセグメントがあり、そして所有側処理ユニ
ット(owing processing unit 
)  においては、1つのセグメントがある。第9図は
共用されたマツプ・ファイルのモデルを示している。
使用側処理ユニット/Oaのセグメントは、離隔セグメ
ント結合サービス(Bind Remote Segm
entService−B RS S )を用いて所有
側処理ユニット/Obのセグメントに結合される。所有
側処理ユニット/Oaのセグメントのすべてのページは
、マツプ離隔ページ範囲サービス(Map Remot
e PageRange Service−M RP 
RS )を用いて、所有側処理ユニットのセグメントへ
の読取り/書込みを行うようマツプされる。
ファイルをマツプするために、アプリケーション・プロ
グラムは、最初に、ファイルをオープンする(開始する
)ためのオープン・システム・コール(open sy
stem call )を発生する0次に、アプリケー
ション・プログラムはアプリケーション・プログラムの
仮想アドレス空間にファイルをマツプするためのシマー
) (shmat )システム・コールを発生する。シ
マート・システム・コールはファイルを仮想メモリにロ
ードするためにマツプ・ページ範囲サーとX (Map
 Page Range Service−M P R
8)を用いる。アプリケーション・プログラムはロード
・インストラクション、またはストア・インストラクシ
ョンによってファイルへ直接にアクセスすることが出来
る。ファイルをアクセスするために、オペレーティング
・システムとの間の対話単位は必要としない。アプリケ
ーション・プログラムがファイルの処理を完了した時、
アプリケーション・プログラムはシマート・システム・
コールを発生することによって、その仮想アドレス空間
からそのファイルを除去することが出来る0代案として
、クローズ・システム・コールは、要求に応じて、シマ
ート・システム・コールを自動的に遂行するので、アプ
リケーション・プログラムはクローズ・システムを単に
発生するだけでもよい。
マツプされた所定のファイルのデータを共用することは
、オープン・ファイルに関連した使用側処理ユニットの
セグメントを、オープン・ファイルに関連した所有側処
理ユニットのセグメントに結合することによってクラス
タ内で遂行される。
仮想メモリのセグメント中にマツプされたファイル(以
下マツプ・ファイルという)を持つ各使用側処理ユニッ
トは、そのセグメントを実行するアプリケーション・プ
ログラムがオープンした各マツプ・ファイル毎に1つの
セグメントを持っている。与えられた使用側処理ユニッ
ト、または所有側処理ユニットにおけるすべてのアプリ
ケーション・プログラムは、同じセグメントを論理的に
共用する。オープン・ファイルに関連された所有側処理
ユニットのセグメントは、オープン・ファイルと関連さ
れている使用側処理ユニットのセグメントがリンクされ
ているセグメントである。
クラスタ構成を通じて仮想メモリのセグメントを共用す
るための1つの要件は、独立型の構成とクラスタ構成と
の両方において、マツプ・ファイルが同じ内容となるよ
うに更新されるのを保証することである。このことは、
下記の示唆、即ち、マツプ・ファイルに対して実行され
る各ストア・インストラクションは、クラスタ内で共用
されるマツプ・ファイルの全てのコピーに直ちに適用さ
れるように現われねばならないことを示唆している。こ
れはマツプ・ファイルをアクセスするとき、調和を持た
せるルールを定めることによって達成される。
これらの調和のルールは、 (1) 若し、クラスタ構成内の処理ユニットで実行し
ている1つ以上のアプリケーション・プログラムが、ペ
ージ中に書込みを行ったとすれば、たった1台の処理ユ
ニットしか、セグメントの与えられたページのコピーを
持つことが出来ないこと及び、 (2) 若し、クラスタ構成中の任意の処理ユニットで
実行しているアプリケーション・プログラムが、ページ
中に書き込みをしていなければ、任意数の処理ユニット
が、セグメントの与えられたページのコピーを持つこと
が出来ること、というものである。
所有側処理ユニットと使用側処理ユニットの仮想メモリ
管理要素(Virtual Memory Manag
er−V MM)は、これらの調和のルールを実施する
ために協働する。各VMMは従来のバードウ゛エアのペ
ージ保護機構を用いることによってこれらの調和の状態
を実現する。共用された仮想メモリ中の各ページは、そ
れに関連した2つのページ保護キーを持つ。前者のキー
はクリエート・セグメント・サービス(Create 
Segment 5ervice−CS S )、また
は保護ページ・サービス(Protect Page 
5ervice−PSS>を用いて特定された要求保護
キー(requested proteCtion k
ey )である、このキーは、メモリ・アクセスのどの
タイプがそのページに有効かを決めるのに使用される。
後者のキーは有効保護キー(cffective  p
rotection key )である。このキーは共
用されるマツプ・ファイルのデータの調和ルールを実施
するために使用される。
マツプ・ファイル中の各ページは、任意の時間において
3つの独立した調和状態の1つを持っている。これらの
調和状態は、使用側処理ユニットと所有側処理ユニット
の両方の共用マツプ・ファイルに適用する。クラスタを
通じて共用されたマツプ・ファイルの与えられたページ
の調和用のルールは、仮想共用メモリ・テーブル(VS
MT)状態フィールド(第7図参照)中に記録される。
VSMTのデータ構造がどのようにして更新されるかに
ついては、後述する。調和の状態は以下の通りである。
「アクセスせず」(NoAcc、ess )の調和状態
;この状態においては、ページのコピーは処理ユニット
の主メモリにはない。アプリケーション・プログラムが
ページをアクセスする全ての場合、ページ不在発生割込
み(page falt oceur’redinte
rrupt )信号が発生され、この信号はVMMに送
られる。この状態は、クラスタ中の他の処理ユニットに
あるページのコピーの有効な調和の状態に関して付加的
な制限を与えない。
「読取りのみJ (ReadOnly )の調和状態:
この状態において、ページのコピーは、処理ユニットの
主メモリ中にある。そして、ページのコピーは主メモリ
に置かれているので、修正されていない。
ページの有効保護キーは読取りのみである。ページに対
するストア・アクセスは、若し、要求された保護キーが
読取り/書込みであれば、ページ不在発生割込み信号を
発生し、この信号はVMMに送られる。ページに対する
ストア・アクセスは、若し要求された保護キーが読取り
のみであれば、保護除外発生割込み信号を発生し、この
信号はVMMに送られる。前者の割込み信号は、アプリ
ケーション・プログラムが書込みのために、ページのア
クセスを行ったことをVMMに知らせるのに使用される
。後者の割込み信号は、アプリケーション・プログラム
が書込みのために、ページのアクセスを行ったことをV
MMに知らせるのに使用されるが、しかし、これはそう
することの許可を持つものではない。これは一般にエラ
ー状態とされ、適当な方法でエラーを処理するように、
エラー操作が遂行されねばならない。
ページが「読取りのみ」の調和状態にある時には、クラ
スタ中の他の処理ユニットは同じページを、読取りのた
めにアクセスすることが出来る。
ページが「読取りのみ」の調和状態にある時は、クラス
タ中の他の処理ユニットは同じページを、書込みのため
にアクセスすることは出来ない。
「読取り書込みJ (ReadWrite )の調和状
態:この状態においては、ページのコピーは処理ユニッ
トの主メモリ中にある。そして、ページは処理ユニット
の主メモリ中に記憶されているので、そのページは修正
されていない。ページの有効保護キーは読取り/書込み
である。VMMに信号を送るべ一ジ不在発生割込み信号
を発生させることなく、読取りまたは書込みの何れに対
しても、ページのアクセスをすることが出来る。読取り
のためのページのアクセスは、若し、要求された保護キ
ーが、ページの読取りアクセスを許容しなければ、VM
Mに信号が送られる保護例外割込み信号を発生する。書
込みのためのページのアクセスは、若し、要求された保
護キーがそのページへの書込みアクセスを許容しなけれ
ば、VMMへ信号が送られる保護例外割込み信号を発生
する。クラスタ内の他の全ての処理ユニットは、ページ
が「読取り書込み」の調和状態にあるときは、読取り書
込みのいずれでも同じページにアクセスすることが出来
る。
幾つかの事態が発生すると、ページの調和状態は、その
事態によって影響される。それらの事態とは(1)同じ
処理ユニットで実行している複数個のアプリケーション
・ブロクラムによって、ページをアクセスする場合と、
(2)同じ処理ユニットにおいて除去ページ範囲(Pu
rge Page Range−PPR5)を実行する
場合と、(3)同じ処理ユニットにおいて除去セグメン
ト・サービス(PurgeSegment 5ervi
ce−P S S )を実行する場合と、(4)同じ処
理ユニットにおいてVMMのページ置換メカニズムを実
行する場合と、(5)クラスタ内の各処理ユニットにお
けるページの調和状態を変化する場合とである。クラス
タ内の各処理ユニットのVMMの実行は、これらの試況
がページの調和状態の有効なトランジションを生じるこ
とを保証するために協働する。VMMによって許容され
る有効なトランジションは、以下の通りである。
「アクセスせず」の調和状態から、「読取りのみ」の調
和状態へのトランジション(NoAceess t。
ReadOnly ) :この調和状態のトランジショ
ンは、ページの読取りアクセスから発生して、使用側処
理ユニットのVMMへ送られたページ不在割込み信号に
よってトリガされる。ページ不在割込み信号を受は取っ
たとき、使用側処理ユニットのVMMは、要求する所有
側処理ユニットVMMヘメッセージを送り、所有側処理
ユニットのVMMは、ページのデータと、読取りのペー
ジをアクセスするための許可とを、使用側処理ユニット
のVMMに要求する。
そのページに対する前の調和状態を「記憶する」ことと
、ページの調和状態が「アクセスせず」であるときに発
生するページの読取りアクセスの代りに、ページの調和
状態が「読取り書込み」であるときに発生するページの
書込みアクセスであるかのように、このトランジション
を取り扱うこととが、ある場合には、使用側処理ユニッ
トにとっては望ましいことがある。実際上しばしば生じ
るように、ページの書込みアクセスがページの読取りア
クセスに続く時、プロトコルのこの変更は、2つの調和
状態の変更を阻止する。若し、この変更プロトコルが用
いられたとすれば、ページ不在発生割込み信号を受は取
ったとき、使用側処理ユニットのVMMは、所有側処理
ユニットのVMMにメツセージを送り、所有側処理ユニ
ットのVMMが、ページのデータと、書込みのためのア
クセスの許可とを、使用側処理ユニットのVMMに送る
ことを要求する。
「アクセスせず」の調和状態から「読取り書込み」の調
和状態への(NoAccess to Read%1r
ite))ランジション:この調和状態のトランジショ
ンは、ページの書込みアクセスから発生した使用側処理
ユニットのVMMに送られるページ不在発生割込み信号
によってトリガされる。ページ不在発生割込み信号を受
は取ったとき、使用側処理ユニットのVMMは、所有側
処理ユニットのVMMにメツセージを送り、これにより
、所有側処理ユニットのVMMが、ページのデータと、
書込みのためのアクセスの許可とを使用側処理ユニット
のVMMに送ることを、所有側処理ユニットに対して要
求する。
「読取りのみ」の調和状態から「書込み読取り」の調和
状態への(ReadOnly to ReadWrit
e ) )ランジション:この調和状態のトランジショ
ンは、ページの書込みアクセスから発生した使用側処理
ユニットのVMMに送られるページ不在発生割込み信号
によってトリガされる。ページ不在発生割込み信号を受
は取ったとき、使用側処理ユニットのVMMは、所有側
処理ユニットのVMMヘメッセージを送り、これによっ
て、所有側処理ユニットのVMMが、ページの書込みを
行うためのアクセスの許可を使用側処理ユニットのVM
Mに送ることを、所有側処理ユニットに対して要求する
「読取りのみ」の調和状態から「アクセスせず」の調和
状態への(ReadOnly to NoAccess
 ) )ランジション:この調和状態のトランジション
は、(a)修正されていないページを含むページ・フレ
ームが、データの他のページを保持するように、使用側
処理ユニットのVMMによって再割当てされた時か、ま
たは、(b)修正されていないページが、除外セグメン
ト・サービス(Purg’e SegmentServ
iee−P S S )か、或は除外ページ範囲サービ
ス(Purge Page Ran’ge 5ervi
ce−P P RS ) (F)いずれかを用いて除外
された時か、または、(c)読取り/書込みのためにマ
ツプされたファイルを持つ他の使用側処理ユニットにお
いて実行しているアプリケーション・プログラムが、書
込みのためのページのアクセスをした場合に生じる「ア
クセスせず」に対するページ用の有効保護キーを、使用
側処理ユニットのVMMが変更するように、所有側処理
ユニットのVMMが要求した時にトリガされる。
「読取り書込み」の調和状態から「アクセスせず」の調
和状態への(ReadWrite to NoAcce
ss ) )ランジション:この調和状態のトランジシ
ョンは、(a)修正されたページを含むページ・フレー
ムが、使用側処理ユニットのVMMによって置換するた
めに選択された時か、または、(b)修正されたページ
が、除外セグメント・サービス(PSS)か、或は除外
ページ範囲サービス(PPR5)のいずれかを用いて除
外された時か、または、(c)読取り/書込みのために
マツプされたファイルを持っている他の使用側処理ユニ
ットにおいて実行しているアプリケーション・プログラ
ムが、ページの書込みのアクセスをした場合に生じる「
アクセスせず」に対するページ用の有効保護キーを、使
用側処理ユニットのVMMが変更するように、所有側処
理ユニットのVMMが要求した時にトリガされる。使用
側処理ユニットのVMMは、ページに含まれているデー
タを所有側処理ユニットのVMMに送り、そして、使用
側処理ユニットのVMMが「アクセスせず」のページの
調和状態を変更したことと、その主メモリからページを
除去したことの通知とを所有側処理ユニットのVMMに
送る。
「読取り書込み」の調和状態から「読取りのみ」の調和
状態への(ReadWrite to ReadOnl
y ) )ランジション:この調和状態のトランジショ
ンは、(a)修正されたページを含むページ・フレーム
が、使用側処理ユニットのVMMによって置換するため
に選択された時か、または、(b)修正されたページが
、除外セグメント・サービス(PSS)か、或は除外ペ
ージ範囲サービス(PPR8)のいずれかを用いて除外
された時か、または、(C)読取り/書込み用にマツプ
されたファイルを持っている他の使用側処理ユニットで
実行しているアプリケーション・プログラムが、ページ
の書込みのアクセスをした場合に生じる「アクセスせず
」のページのための有効保護キーを、使用側処理ユニッ
トのVMMが変更するように、所有側処理ユニットのV
MMが要求した時にトリガされる。使用側処理ユニット
のVMMは、ページに含まれているデータを所有側処理
ユニットのVMMに送り、そして、使用側処理ユニット
のVMMが「読取りのみ」のページの調和状態を変更し
たことと、ページの読取りのみのアクセスを許容するよ
う鱗有効保護キーをセットしたことの通知を所有側処理
ユニットのVMMに送る。
所有側処理ユニットのVMMは、調和状態の有効な組合
せがマツプ・ファイルをアクセスする各ノードにおいて
存在することを保証する。これは、所有側処理ユニット
の調和の制御アルゴリズムの下で管理された各ページに
対する書込み装置のリストを、所有側処理ユニットのV
MMに維持させることと、データの与えられたページの
調和状態を変更する要求を、所有側処理ユニットによっ
て、所有側処理ユニットから使用側処理ユニットへ送ら
せることとによって達成される。使用側処理ユニットに
よるページの読取りアクセスのすべての要求は、「読取
り書込み」の調和状態から「読取りのみ」への調和状態
の変更をページに書込む要求を、所有側処理ユニットに
よって、所有側処理ユニットから、そのページについて
のアプリケーション・プログラムを実行している使用側
処理ユニットへ送らせる。使用側処理ユニットによるペ
ージの書込みアクセスのすべての要求は、「アクセスせ
ず」のページの調和状態に変化する要求を、所有側処理
ユニットによって、所有側処理二ニットから、「読取り
書込み」調和状態のページを持ち、かつそのページにつ
いてのアプリケーション・プログラムを実行している使
用側処理ユニットへ送らせるか、または、「アクセスせ
ず」のページの調和状態に変化する要求を、所有側処理
ユニットによって、所有側処理ユニットから、「読取り
のみ」調和状態のページを持ち、かつそのページについ
てのアプリケーション・プログラムを実行している使用
側処理ユニットへ送らせる。
他の処理ユニットによって、それが調整されているペー
ジの処理を反映するために、各処理ユニットの幾つかの
SVMTを更新するためのプロトコルは、特定のアプリ
ケーションに大きく依存している。成る種のアプリケー
ションにおいて、コピーが最早、要求処理ユニットの主
メモリにないので、アクセス・コーデイネータはそのユ
ニットを含んだ三角型I/O動作による他の要求をサー
ビス出来ない時を、アクセス・コーデイネータに通知す
ることが、より効果的である。
同様に、1台以上の処理ユニットによって書込まれるペ
ージを保護するためのプロトコルは、ロッキング・ビッ
トを含んで、多くの従来の保護方法の形式を取ることが
出来る。1987年11月26日に開催されたオベレー
テインク・システムに関するACM特別グループ(AC
MSpeeialInterest Group on
 Operating Systems、)の会報に記
載されたチャン(A、Chang )等の「801スト
レージ:アーキテクチャ及びプロゲラミンク」(801
Storage: Architecture and
 Programming)と題する文献に記載された
技術を使用することが出来る。
第/O図を参照して、代表的な動作を以下に説明する。
第/O図は3台の処理ユニット/Oa1/Ob及び/O
cと、スイッチ11と、処理ユニットをスイッチに接続
する3台の通信リンクとで構成されたクラスタのブロッ
ク図である。各処理ユニットはディスク装置を仮定した
2次ストレージ装置を有している。個々の処理ユニット
に接続された2次ストレージ装置にストアされたファイ
ルの内容を除いて、処理ユニット/Oa、/Ob及び/
Ocは同じであると仮定する。以下に、クラスフ構成内
の代表的な動作を第/O図乃至第13図を参照して説明
する。これらの動作及びメツセージの流れの説明は、汎
用目的のオベレーテインク・システムのソフトウェアの
仮想メモリ管理コンポーネントの分野の専門家が、本発
明の方法を実施するのに、過度の実験をすることなく実
行することが出来るような程度のレベルで説明されてい
る。
第11図はクラスタ内の処理講ニットの1つにストア(
記憶)される新しいファイルを作成するためのステップ
を説明するフロー・チャートである。
第11図のステップAにおいて、処理ユニット/Oaで
実行するアプリケーション・プログラムは、ファイル「
/U/ニスモルガン/データベース」を作成するために
クリニー)[slc]システム“コール(create
 [sic] system call )を使用する
ステップBにおいて、処理ユニット/Oaで実行するオ
ベレーテインク・システムはアブリケージョン・プログ
ラムからオペレーティング・システム・コールを横取り
(1ntercept )する。
ステップCにおいて、オペレーティング・システムは、
「ルート」システムのディレクトリを検索する。ルート
・システム・ディレクトリはファイル名のリストを含ん
でおり、夫々のファイル名はそのファイルのためのアク
セス・コーデイネータの名前を持っている。説明を簡単
にするために、UNIXのファイル名の付は方の規則と
、ディレクトリの構、成とが使用されるものとするが、
この仮定自身は本発明の方法を実施するための目的とは
直接関係がないことは、この道の専門家であれば容易に
理解出来る0例えば、他のアプリケーション・プログラ
ムが、r/u/ニスモルガン/データベース」を作成す
るために使用することが出来る。オペレーティング・シ
ステムは、「/」に該当するルート・システム・ディレ
クトリを検索し、そして、システム・ディレクトリが「
u」のエントリを含むことと、そのUがデレクトリであ
ることとを見出す。
ステップDにおいて、オペレーティング・システムはU
ディレクトリを検索し、そのブイレフ庫りが「ニスモル
ガン」のエントリを含んでいることと、そのニスモルガ
ンがディレクトリであることとを決定する。゛ ステップEにおいて、オペレーティング・システムは、
直接にニスモルガンを検索し、そしてそのディレクトリ
が「データベース」のエントリを含まないことを見出す
ステップFにおいて、オペレーティング・システムは、
ファイル「データペース」のためのアクセス・コーデイ
ネータとして使用するのに、クラスタ中のどの処理ユニ
ットが最適の装置であるかを決める。オペレーティング
・システムは、処理ユニットに間して合理的な選択をす
るために、本発明の方法の実施に不必要な動作を選択す
るための成る種のアルプリズムを使用する0例えばアク
セス・コーデイネータの選択は、他のファイルに対する
アクセス・コーデイネータとしての義務の負抛が最も小
さい処理ユニットを、計算に基づいて選択してもよい、
オペレーティング・システムは、他の処理ユニットに対
して最も小さな義務が課せられている処理ユニットを選
択することによって、アクセス・コーデネーションの機
能(アクセスの調整機能)がその構成中の幾つかの処理
ユニットの闇で均等に広がっているものとして、そのシ
ステム構成が全体として最上の性能を備えているという
想定をすることが出来る。
ここで、形成されるべきファイル1.U/ニスモルガン
/データベースのためのアクセス・コーデイネータとし
て選ばれたその構成中の1つの処理ユニットは、説明の
便宜上、処理ユニット/Ocであるとする。
ステップGにおいて、処理ユニット/Oaはファイルを
作成するために、処理ユニット/Ocにメツセージ1を
送る。
ステップHにおいて、処理ユニット/Oaからのメツセ
ージ1を受取ると、処理ユニット/Ocは、ファイルが
作成(create )システム・コールの直接ルック
・アップ(検索)位相(ステップC乃至E)において処
理ユニット/Oaによって遂行されるのと同様な方法で
、幾つかの共用ディレクトリを検索することによってそ
の構成内にファイルが存在しないことを決定する。
ステップ■において、処理ユニット/Ocはファイルを
作成し、そのファイルにファイル識別子(Flle I
dentifier−F I D )を割当てる。説明
を簡明にするために、ファイル識別子は、構成中のファ
イルを識別する32ビツトの数値であるとする。ファイ
ル識別子は、アクセス・コーデイネータに対してファイ
ルを識別するアクセス・コーデイネータによって選ばれ
た数値と、アクセス・コーデイネータ(処理ユニット/
Oc)のための処理ユニットの識別子とを連結すること
によって構成される。プロセッサ識別子(Proces
sorIdentifier−P I D )は、クラ
スタ構成内の与えられた処理ユニットを識別する7ビツ
トの数値である。
ステップJにおいて、処理ユニット/Ocは、構成中の
他の処理ユニット/Oa及び/Obの各々に、FIDに
よって識別されるファイルが作成されたというメツセー
ジ2を送る。メツセージ2はファイル名と、ファイル識
別子FIDと、アクセス・コーデイネータのプロセッサ
識別子PIDとを含んでいる。
ステップKにおいて、処理ユニット/Ocからのメツセ
ージ2を受は取ると、処理ユニット/Oaは、ファイル
/ U /ニスモルガン/データペースが作成されるこ
とを決定し、そして、処理ユニット/Oa及び/Obの
各々は、新しく作成されたファイル、/U/ニスモルガ
ン/データベースの存在を表示するために、システム・
ディレクトリのコピーを更新するとともに、ファイルの
ファイル識別子FID及びアクセス・コーデイネータの
プロセッサ識別子PIDを更新する。
ステップLにおいて、処理ユニット/Oaは、ファイル
が作成された処理ユニットで実行しているアプリケーシ
ョン・プログラムを通知する。
第12A図及び第12B図は、クラスタ内の処理ユニッ
トで動作されるアプリケーション・プログラムによって
、どのようにして現存するファイルをオープンするかを
説明するためのフローチャートである。
第12A図のステップAにおいて、処理ユニット/Oa
で実行しているアプリケーション・プログラムは、ファ
イル/ U /ニスモルガン/データベースをオープン
(開始)するために、読取り/書込みアクセスのための
オープン・システム・コールを使用する。
ステップBにおいて、処理ユニット/Oa中で実行して
いるオペレーティング・システムは、アプリケーション
・プログラムからシステム・コールを横取りする。
ステップCにおいて、オペレーティング・システムは、
ルート・システム・ディレクトリ「/」を検索して、そ
れが「u」のエントリを含んでいることと、Uがディレ
クトリであることとを見出す。
ステップDにおいて、オペレーティング・システムは、
「ニスモルガン」のUディレクトリを検索して、ニスモ
ルガンがディレクトリであ葛ことを見出す。
ステップEにおいて、オペレーティング・システムは、
「データベース」のニスモルガン・ディレクトリを検索
して、(1)「データベース」はファイルであること、
(2)ファイルのアクセス・コーデイネータは処理ユニ
ット/Ocであること、(3)ファイル識別子FIDは
ファイルに聞達していることを決定する。
ステップFにおいて、処理ユニット/Oaで実行してい
るオペレーティング・システムは、ファイル識別子FI
Dを含むメツセージ1を、処理ユニット/Ocに送って
、FIDで識別されたファイルが、処理ユニット/Oa
で実行しているアプリケーション・プログラムのために
オープンされるべきことを要求する。
ステップGにおいて、処理ユニット/Oaからのメツセ
ージ1を受取ると、処理ユニット/Ocは、ファイル記
述子(File Descriptor−F D )の
2次ストレージ装装置の記憶位置を決定し、IIDによ
って識別されたファイルを記述する。処理ユニット/O
cは、ファイル識別子FIDを使用することによって、
ファイル記述子FDを位置付けて、処理ユニット/Oc
のファイル記述子テーブル(File Descrip
tor Table−F D T )中にインデックス
する。処理ユニット/OcにあるFDTは、現存する各
ファイルのファイル艷述子を含み、それらのファイルに
対して、処理ユニット/Ocはアクセス・コーデイネー
タ゛として動作する。ファイル記述子は、与えられたフ
ァイルの一部である処理ユニット/Ocに接続された2
次ストレージ装置のディスク・ブロックの数及び位置を
判別する。更に、ファイル記述子は、例えばファイルの
長さ、アクセスされた最新の時間、ファイルを所有して
いる装置名などの他の情報を含んでいる。
ファイル記述子に含まれている情報の細部は、この道の
専門家には自明であるし、本発明には直接関係がないか
ら、これ以上の説明はしない。
ステップHにおいて、処理ユニット/Ocは、FIDに
よって識別されたファイルは、現在オープンされていな
い、即ちそのファイルは現在、そのファイルに関連した
ローカル仮想セグメントを現在持っていないことを決定
する。
ステップ■において、処理ユニット/Ocは、ファイル
識別子FIDに対する仮想メモリ・セグメントを作成す
るために、セグメント作成サービス(Create S
egment 5ervice−CS S )を使用す
る。
その処理の際に、処理ユニット/Ocは、ファイル記述
子FDを用いてセグメントが作成されること、また、作
成されるセグメントのための要求された保護キーが読取
り/書込みであることを特定する。C8Sは、作成され
たセグメントが識別されるセグメント識別子を返還する
ステップJにおいて、処理ユニット/Ocは、処理ユニ
ット/Ocが処理ユニット/Oaのために、FIDによ
って識別されたファイルを成功裡にオープンしたことに
応答して、処理ユニット/Oaにメツセージ2を送る。
メツセージ2はFIDによって識別されたファイルに開
運するセグメントとしてのセグメント識別子Sを含んで
いる。
ステップKにおいて、処理ユニット/Oaは、FIDに
よって識別されたファイルが現在オープンしていない、
即ちそのファイルはそれに開運したローカル仮想セグメ
ントを現在持っていないことを決定する。
ステップLにおいて、処理ユニット/Oaは、離隔セグ
メント作成サービス(Create RemoteSe
gment 5erviee=CRS S )を使用し
てFIDによって識別されるファイルに対してローカル
・セグメントSAを作成する。CR55はセグメント識
別子S7#:取り、そして「ダミー」セグメントSAを
作成する。ダミー・セグメントは、セグメント識別子及
びセグメント識別子テーブル(SegmentIden
tiffer Table−5I T )エントリを持
つが、しかし外部ページ・テーブル(External
 Page Table−XPT)は持たないローカル
・セグメントである。
ステップMにおいて、処理ユニット/Oaは、グローバ
ル・セグメントSにローカル・セグメントSAを結合す
るために、離隔セグメント結合サービス(Bind R
emote Segment 5ervice−B R
S S )を使用する。BR3Sは、セグメント識別子
S及びSAと、アクセス・コーデイネータ(処理ユニッ
ト/Oc)のプロセッサ識別子PIDとを用いることに
よって、セグメントSAに開運したS■Tテーブルのエ
ントリを修正し、セグメントSAがセグメントSに関係
していることを表示し、そのアクセスは処理ユニットP
IDによって調整される。
ステップNにおいて、処理ユニット/Oaは、ファイル
/U/ニスモルガン/データベースが成功裡にオープン
されたことを決定し、それをアプリケーション・プログ
ラムに知らせる。
第13図は、クラスタ構成中で共用されている仮想メモ
リに、どのようにしてオープンされたファイルがロード
されるかを説明する図である。
第13図のステップAにおいて、処理ユニット/Oaで
実行しているアプリケーション・プログラムは、読取り
/書込みのアクセスを行うためと、オープン・ファイル
「/U/ニスモルガン/データベース」に関連するロー
カル・セグメントSAをアプリケーション・プログラム
の仮想アドレス空間にマツプするために、シマート(s
hmat )システム・コールを使用する。
ステップBにおいて、処理ユニット/Oaで実行してい
るオベレーテインク・システムは、アプリケーション・
プログラムからシマート・システム・コールを横取りす
る。
ステップCにおいて、オベレーテインク・システムは、
ローカル・セグメントSAが離隔セグメントSに結合さ
れていることと、そのアクセスは処理ユニット/Ocに
よって調整されることを決定する。処理ユニット/Oa
は、現在オープンしているファイルのセグメントの識別
子と、現在オープンしているファイルの該当する離隔セ
グメントと、セグメントに関連したアクセス・コーデイ
ネータのプロセッサ識別子とに関して、セグメント識別
子テーブルを検索することによって、この決定を行う。
ステップDにおいて、処理ユニット/Oaは、ローカル
・セグメントSAをアプリケーション・プログラムの仮
想アドレス空間にマツプするために、マツプ・ページ範
囲サービス(Map PageRange Servi
ce−M P RS )を使用する。
ステップEにおいて、処理ユニット/Oaは、ファイル
/U/ニスモルガン/データベースがアプリケーション
・プログラムの仮想アドレス空間に成功裡にマツプされ
たことを決定し、そしてアプリケーション・プログラム
にこれを通知する。
第14図は、使用側処理ユニットが構成中のいずれの処
理ユニットのメモリにもストアされていないページのコ
ピーを入力することを要求したとき、アクセス・コーデ
ネータによって遂行されるステップを説明するための図
である。ここで説明の便宜上、以下のように仮定する。
即ち、その仮定とは、 (1)処理ユニット/Oaで実行しているアプリケーシ
ョン・プログラムは、既にファイルをオープンしており
、そして、アプリケーション・プログラムの仮想アドレ
ス空間中にマツプ・ファイルを持っているものとし、 (2)処理ユニット/Ocはファイルのアクセス・コー
デイネータとして動作するものとすることである。
第14図のステップAにおいて、処理ユニット/Oaで
実行しているアプリケーション・プログラムは、ファイ
ルFを含むセグメントSLのベージp1N:読取るため
のアクセスを行なう。
ステップBにおいて、アプリケーション・プログラムは
、ページ不在に遭遇する。
ステップCにおいて、処理ユニット/Oaで実行してい
るオペレーティング・システムは、このページ不在を横
取りし、そして、そのページ不在はアプリケーション・
プログラムによるセグメントSLのベージPの読取りア
クセスによって惹起されたことを決定する。
ステップDにおいて、処理ユニット/Oaは、セグメン
トSLが、離隔セグメントであること、そして、そのア
クセスが処理ユニット/Ocによって調整されることを
決定する。
ステップ已において、処理ユニット/Oaは、セグメン
トSLが離隔セグメントSRに結合されることを決定す
る。
ステップFにおいて、処理ユニット/Oaは、処理ユニ
ット/OcがセグメントSRのベージPのコピーを処理
ユニット/Oaに送ることを要求するメツセージ1を、
処理ユニット/Ocに送る。
ステップGにおいて、このメツセージ1を受取ると、処
理ユニット/Ocは、セグメントSRのベージPのエン
トリに関して、VSMテーブルを検索する。説明を簡明
にするために、以下の仮定、即ちただ1つのエントリだ
けがセグメントSRのベージPのVSMテーブル中に存
在しているものとし、処理ユニット/Obがメモリ中の
ページのコピーを持っていることを、エントリが示して
いるものとし、「読取りのみ」の調和状態がページのコ
ピーに聞達されているものとする。
ステップHにおいて、処理ユニット/Ocは、セグメン
トSRが処理ユニット/Ob中のセグメントSTに結合
されることを決定する。
ステップ■において、処理ユニット/Ocは、処理ユニ
ット/ObがセグメントSTのベージPのコピーを処理
ユニット/Oaに送ることと、そのベージPのコピーは
それに関連した「読取りのみ」調和状態を持っているこ
ととを要求するメツセージ2を処理ユニット/Obに送
る。更に、メツセージ2は、処理ユニット/Oaがセグ
メントSTを、セグメントSLとして扱うことを表示す
る。
第15a図乃至第15b図は、ページのデータが1つの
処理ユニットから他の処理ユニットへ転送されている時
に、どのようにして、VSMTがアクセス・コーデイネ
ータによって更新されるかのステップの細部を説明する
フロー・チャー゛トである。説明の便宜上、(1)処理
ユニット/Oaで実行しているアプリケーション・プロ
グラムは、既にファイルをオープンしているものとし、
(2)処理ユニット/Ocはファイルのアクセス・コー
デイネータとして使用するものとする。
第15a図のステップAにおいて、処理ユニット/Oa
で実行しているアプリケーション・ブロダラムは、ファ
イルFを含むセグメントSAのベージPを読取るための
アクセスを行う。
ステップBにおいて、アプリケーション・プログラムは
、ベージ不在に遭遇する。
ステップCにおいて、処理ユニット/Oaで実行してい
るオベレーテインク・システムは、ページ不在を横取り
し、そのページ不在がアプリケーション・プログラムに
よって、セグメントSAのベージPの読取りアクセスに
よって発生されたことを決定する。
ステップDにおいて、セグメントSAは離隔セグメント
Sに結合されるローカル・セグメントであることと、そ
のアクセスは処理ユニット/Ocによって調整されるこ
ととを、処理ユニット/Oaによって決定される。
ステップEにおいて、処理ユニット/Oaは、処理ユニ
ット/Ocが処理ユニット/OaにセグメントSのベー
ジPのコピーを送ることを要求するメツセージ1を、処
理ユニット/Ocに送る。
ステップFにおいて、メツセージ1を受取ると、処理ユ
ニット/Ocは、セグメントSのベージPのエントリに
関してVSMテーブルを検索する。
説明の便宜上、(1)セグメントSのベージPのVSM
テーブル中にただ1つのエントリが存在するものとし、
(2)そのエントリは、処理ユニット/Obがメモリ中
にベージのコピーを持っていることを表示しているもの
とし、(3)「読取りのみ」の調和状態がベージのコピ
ーに関連しているものとする。
ステップGにおいて、処理ユニット/Ocは、処理ユニ
ット/Obが処理ユニット/OaにセグメントSのベー
ジPのコピーを送ることと、ベージのコピーがベージP
と関連する「読取りのみ」調和状態を持つこととを要求
するメツセージ2を、処理ユニット/Obに送る。
ステップHにおいて、処理ユニット/Ocは、処理ユニ
ット/OaがセグメントSのベージPのコピーを送った
ことと、ベージPと関連する「読取りのみ」の調和状態
であることとを表示するVSMテーブルにエントリを付
加する。セグメントSのベージPのためのエントリをV
SMテーブルに付加するために、処理ユニット/Ocは
以下のステップを遂行しなければならない。
(Hl)若し、VSMテーブル中に、このベージのエン
トリが既にあるならば、セグメントSRのベージPに対
応するハツシュ・アンカー・テーブル中のエントリと一
致して位置付けるために、セグメントSRとベージ数P
のセグメント識別子をハツシュする。
(H2)ハツシュ・チェーンが空であるか否かを決定す
る。計算されたハツシュ値に対してハツシュ・アンカー
・テーブル中の「空」ビットを検査することによってこ
の動作を遂行する。上述の場合、ハツシュ・チェーンは
、処理ユニット/Obに位置するセグメントSのベージ
Pのエントリである少なくとも1つのエントリを含んで
おり、「空」ビットはクリアされる。
(H3)ハツシュ・チェーンが処理ユニット/Obのセ
グメントSのベージPのエントリを見出すまで、計算さ
れたハツシュ値のハツシュ・チェーンに従う、このエン
トリは、VSMテーブルのエントリEとして後述される
(H4)現在は使用されていないVSMテーブルのエン
トリの自由リストを用いることによって、VSMテーブ
ルのエントリFを割当てる。自由リストからデータ構造
中のエントリを割当てることは、コンピュータ・プログ
ラミングの分野では簡単であり、公知なので、これ以上
の説明はしない。
(H5)エントリF中に該当値を記入する。記入するフ
ィールドを列記すると、 (a)処理ユニット/Oaを識別する数値を記入するプ
ロセッサ識別子フィールドと、(b)ベージ番号Pを記
入するベージ番号フィールドと、 (C)セグメント識別子Sを記入するローカル・セグメ
ント識別子フィールドと、 (d)調和状態「読取りのみ」を識別する数値を記入す
る状態フィールドである。
(H6)計算されたハツシュ値のハツシュ・チェーンに
エントリFを加える。これは、以下の処理によって行わ
れる。
(a)エントリEの「次のエントリ・インデックス」フ
ィールドをエントリFの「次のエントリ・インデックス
」フィールドにコピーし、次に、(b)エントリFの値
を、エントリEの「次のエントリ・インデックス」フィ
ールド中にコピーする。ステップH6が終了した後、エ
ントリFは、ハツシュ・チェーンの計算されたハツシュ
値である。
ステップIにおいて、処理ユニット/Ocからのメツセ
ージ2を受取ると、処理ユニット/Obは、その主メモ
リ中にセグメントSのページPを位置付ける。
ステップJにおいて、処理ユニット/Obは、セグメン
トSのページPを含むメツセージ3を処理ユニット/O
aに送る。また、メツセージ3は、セグメントSのペー
ジPが関連する「読取りのみ」調和状態を持っているこ
とを表示する。
ステップKにおいて、処理ユニット/Obからのメツセ
ージ3を受取ると、処理ユニット/Oaは、その主メモ
リにセグメントSのページPをストアし、ページがセグ
メントSAのページPであることを表示するために、セ
グメントSのページPの仮想アドレスを変更し、そして
ページの有効保護キーを「読取りのみ」にセットする。
第16図は使用側処理ユニットが、主メモリからページ
を追い出す(cast−out )ための要求を送る時
に、アクセス・コーデイネータによって遂行されるステ
ップを説明するためのフロー・チャートである。
第16図のステップAにおいて、処理ユニット/Oaは
、置き換えるためのセグメントSAのページPを選択す
る。これは、例えば、セグメントSAのページPが、長
時間の間、どのアプリケーション・プログラムによって
もアクセスされなかったことを、処理ユニット/Oaで
実行しているオベレーテインク・システムの仮想メモリ
管理(VMM)要素が決定した場合のように、通常の動
作において生じることである。
ステップBにおいて、処理ユニット/Oaは、ページP
がセグメントSA中に含まれていること、そして、セグ
メントSAは、離隔セグメントSに結合したローカル・
セグメントであることと、そのアクセスが処理ユニット
/Ocによって調整されることとを決定する。
ステップCにおいて、処理ユニット/Oaは、それ自身
の主メモリからセグメントSのページPを追い出す許可
を要求するメツセージ1を、処理ユニット/Ocに送る
ステップDにおいて、処理ユニット/Oaからのメツセ
ージ1を受取ると、処理ユニット/OcはセグメントS
のページPに対応するすべてのエントリについてVSM
テーブルを検索する。説明の便宜上、(1)VSMテー
ブル中に、セグメントSのページPに対応する2つのエ
ントリが存在し、(2)前者のエントリは、処理ユニッ
ト/Oaのメモリ中に、「読取りのみ」の調和状態にあ
るセグメントSのページPのコピーを持っており、(3
)後者エントリは、処理ユニット/Obのメモリ中に、
「読取りのみ」の調和状態にあるセグメントSのページ
Pのコピーを持っているものとする。
ステップEにおいて、(1)クラスタ構成内の処理ユニ
ットの主メモリ中に、現在、キャッシュされたページの
コピーがあり、かつ(2)これらのページの両方のコピ
ーは、「読取りのみ」の調和状態にあるので、処理ユニ
ット/Ocは、2次ストレージからセグメントSのペー
ジPを再度読取るという性能の著しい劣化をもたらすこ
となく、処理ユニット/Oaは、処理ユニット/Ocの
主メモリからセグメントSのページPを追い出すことが
出来る許可の決定をする。
ステップFにおいて、処理ユニット/Ocは、処理ユニ
ット/Oaがそれ自身の主メモリからセグメントSのペ
ージPを追い出してよい旨の応答をするメツセージ2を
、処理ユニット/Oaに送る。
ステップGにおいて、処理ユニット/Ocからのメツセ
ージ2を受取ると、処理ユニット/Oaは自身の主メモ
リからセグメントSのページPを追い出す。
第17図は、使用側処理ユニットが自身の主メモリから
ベージを追い出すための要求を送り、そして他のいずれ
の処理ユニットの主メモリにもそのベージのコピーが存
在しない場合、アクセス・コーデイネータによって遂行
されるステップを説明するためのフロー・チャートであ
る。
第17図のステップAにおいて、処理ユニット/Oaで
実行しているオペレーティング・システムのVMMの1
つの要素が置き換えるための候補としてセグメントSA
のベージPを選択する。
ステップBにおいて、処理ユニット/Oaは、処理ユニ
ット/Oaが自身の主メモリからセグメントSのベージ
Pを追い出す許可を要求するメツセージ1を、処理ユニ
ット/Ocに送る。
ステップCにおいて、メツセージ1を受取ると、処理ユ
ニット/OcはセグメントSのベージPについてVSM
テーブルを検索する。説明の便宜上、ここで、VSMテ
ーブル中には、セグメントSのベージPのエントリは見
出されないものとする。
ステップDにおいて、処理ユニット/Ocは、セグメン
トSのベージPt−記憶するために、その主メモリ中に
十分な空間を持ち、その目的のためのフレームを割当て
ることを決定する。
ステップEにおいて、処理ユニット/Ocは、処理ユニ
ット/Oaが処理ユニット/OcにベージPのコピーを
送ることを要求するメツセージ2を、処理ユニット/O
aに送る。
ステップFにおいて、処理ユニット/Ocからのメツセ
ージ2を受取ると、処理ユニット/Oaは、セグメント
SのベージPを含むメツセージ3を処理ユニット/Oc
に送る。
ステップGにおいて、処理ユニット/Ocからのメツセ
ージ3を受取ると、処理ユニット/Ocは、それ自身の
主メモリにセグメントSのベージPを付加する ステップHにおいて、処理ユニット/Ocは、そのVS
Mテーブルを更新して、ベージPに関連する「読取りの
み」の調和状態を持つセグメントSのベージPが、処理
ユニット/Oaの主メモリから、処理ユニット/Ocの
主メモリへ移動されたことを表示する。セグメントSの
ベージPのエントリに対してVSMテーブルを更新する
ために、処理ユニット/Ocは、以下のステップを遂行
しなければならない。
(Hl)若し、VSMテーブルにこのベージ番号のエン
トリが既にあれば、セグメント識別子S及びページ番号
Pをハツシュし、セグメントSのベージPに対応するハ
ツシュ・アンカー・テーブルのエントリに位置付ける。
(H2)ハツシュ・チェーンが空で有るか否かを決定す
る。計算されたハツシュ値に対してハツシュ・アンカー
・テーブルのエントリ中の「空」ビットを検査すること
によって、この決定の処理を行う。この場合、ハツシュ
・チェーンは、処理ユニット/Obにおけるセグメント
SのベージPに対する少なくとも1つのエントリを含ん
でいるから、「空」ビットはクリアにされる。
(H3)ハツシュ・チェーンが、処理ユニット/Oaに
おけるセグメントSのベージPのエントリを見出すまで
、処理ユニット/Oaは計算されたハツシュ値のハツシ
ュ・チェーンに従う。
(H4)ステップ4が終了し、エントリEが更新された
後、処理ユニット/Ocを識別する数値によって、エン
トリEのプロセッサ識別子のフィールドを更新する。
第18図は与えられたベージが共用されたメモリ処理ユ
ニットによってキャッシュされなければならないことを
アクセス・コーデイネータが決定したとき、アクセス・
コーデイネータによって遂行されるステップを説明する
ためのフロー・チャートである。
第18図のステップAにおいて、処理ユニット/Oaに
おいて実行しているオペレーティング・システムのVM
Mの1つの要素が置換用の候補として、セグメントSの
ベージPを選択する。
ステップBにおいて、処理ユニット/O&は、処理ユニ
ット/Oaが自身のの主メモリからセグメントSのベー
ジPを追い出す許可を要求するメツセージ1を、セグメ
ントSのアクセス・コーデイネータ、即ち処理ユニット
/Ocに送る。
ステップCにおいて、メツセージ1を受取ると、処理ユ
ニット/OcはセグメントSのページPに対してVSM
テーブルを検索する。説明の便宜上、ここで、そのVS
Mテーブルには、セグメントSのページPのエントリは
ないものとする。
ステップDにおいて、処理ユニット/Ocは、セグメン
トSのページPをキャッシュするための十分なメモリ空
間を、その主メモリ中に持っていないことを決定する。
ステップEにおいて、処理ユニット/Ocは、処理ユニ
ット/Obがクラスタ構成の共通メモリ・ユニットとし
て動作することを決定し、そして、処理ユニット/Ob
がその主メモリ中のセグメントSのページPのコピーを
キャッシュすることを要求するメツセージ2を、処理ユ
ニット/Obに送る。
ステップFにおいて、処理ユニット/Ocは、そのVS
Mテーブルにエントリを付加することによって、処理ユ
ニット/ObがページPに関連する「読取りのみ」の調
和状態であること、セグメントSのページPのコピーを
保持していることを表示する。セグメントSのページP
のエントリをVSMテーブルに付加するために、処理ユ
ニット/Ocは下記のステップを遂行しなければならな
い。
(Fl)若しVSMテーブル中に、このページのエント
リが既に存在しているならば、セグメント識別子S及び
ベージ番号Pをハツシュし、そしてセグメントSのペー
ジPに対応するハツシュ・アンカー・、テーブルのエン
トリに位置付ける。
(F2)ハツシュ・チェーンが空であるか否かを決定す
る。計算されたハツシュ値に対してハツシュ・アンカー
・テーブルのエントリ中の「空」ビットを検査すること
によってこの処理を遂行する。この場合、ハツシュ・チ
ェーンは、処理ユニット/ObにあるセグメントSのペ
ージPに対するエントリである少なくとも1つのエント
リを含んでいるから、「空」ビットはクリアにされる。
(F3)処理ユニット/OaにおけるセグメントSのペ
ージPのエントリを見出すまで、ハツシュ・チェーンは
処理ユニット/Oaは計算されたハツシュ値に従う。
(F4)ステップ4が終了し、エントリEが更新された
後、処理ユニット/Obを識別する数値によって、エン
トリEのプロセッサ識別子のフィールドを更新する。
ステップGにおいて、処理ユニット/Ocからのメツセ
ージ2を受取ると、処理ユニット/Obは、その主メモ
リ中にページ・フレームを割当て、そして、処理ユニッ
ト/Oaにメツセージ3を送ることにより、処理ユニッ
ト/Oaは処理ユニット/ObにセグメントSのページ
Pを送ることを要求する。
ステップHにおいて、処理ユニット/Ocからメツセー
ジ3を受取ると、処理ユニット1.0aは、セグメント
SのページPと、そのページに関連する「読取りのみ」
の調和状態とを、処理ユニット/Ob送る。
本発明の実施例が仮想メモリに使用される場合について
説明してきたが、本発明は仮想メモリを使用しない複数
個の処理ユニットを含むクラスタ構成にも同じように適
用することが出来ることは自明であろう。現在、他の処
理ユニットの主メモリ中にあるデータのコピーを得るた
めのI/Oアクセスに関する問題は、本発明の原理、即
ち、所定のデータを得るために、ディスク・ストレージ
のI/O動作を遂行する代りに、プロセッサによって主
メモリに送られたデータを、その主メモリから、そのデ
ータを要求した処理ユニットに転送するという原理によ
って解決することが出来る。
F1発明の詳細 な説明したように、本発明はクラスタ構成に相互接続さ
れた複数個のデータ処理システム中の共用された仮想メ
モリにおいて、ディスクのI/O動作を減少する方法を
与えることによって、データの処理性能を著しく改善す
ることが出来る。
【図面の簡単な説明】
第1図は本発明を適用することの出来るクラスタ構成に
相互接続された複数個のプロセッサ・ユニットの機能的
ブロック図、第2図は第1図に示されているプロセッサ
・ユニットに含まれている種々の機能を説明するための
ブロック図、第8図は第2図及び第3図のユニットに適
用された種々のソフトウェア機能を説明するために、第
1図に示された処理ユニットの1つを示すブロック図、
第4図は第2図及び第3図に示した処理ユニットの仮想
メモリ管理機能によって用いられた外部ページ・テーブ
ルXPTを示す図、第5図は第2図及び第3図に示した
処理ユニットの仮想メモリ管理機能によって用いられる
反転ページ・テーブル構造を示す図、第6図は仮想メモ
リ・セグメントを識別するグローバル・セグメント識別
子及びローカル・セグメント識別子の構造を示す図、第
7図は本発明の方法を使用した仮想共用メモリ・テーブ
ルVSMTを示す図、第8図はハツシュ・アンカー・テ
ーブルを示す図、第9図は共用マツプ・ファイルのモデ
ルと、それに関連したセグメントを示す図、第/O図は
本発明の方法によって遂行される実施例を説明するため
の1つの環境を示す基本的なりラスタ構成のブロック図
、第11図はクラスタ中において1つの処理ユニットに
ストアされる新しいファイルを作成するためのステップ
を説明するための図、第12a図及び第12b図はクラ
スタ内の処理ユニットで実行しているアプリケーション
・プログラムによって、現存するファイルを、どのよう
にしてオープンするかを説明するためのフローチャート
、第13図はクラスタ構成内で共用されている仮想メモ
リに、現存するファイルを、どのようにしてロードする
かを説明するためのフローチャート、第14図は構成中
のどの処理ユニットの主メモリにもないページのコピー
を、使用側処理ユニットがそのページの入力を要求した
とき、アクセス・コーデイネータによって遂行されるス
テップを説明するためのフローチャート、第15a図及
び第15b図はデータのページが1つの処理ユニットか
ら他の処理ユニットへ転送するとき、アクセス・コーデ
イネータによって、VSMTがどのようにして更新され
るかを説明するためのフローチャート、第16図は使用
処理ユニットが主メモリからページを写し取る要求を送
り、そして、他の処理ユニットのメモリにそのページの
コピーがある場合、アクセス・コーデイネータによって
遂行されるステップを説明するためのフローチャート、
第17図は使用処理ユニットがその主メモリからページ
を写し取る要求を送り、そして他の処理丘ニットのメモ
リ中にそのページのコピーがない場合、アクセス・コー
デイネータによって遂行されるステップを説明するため
のフローチャート、第18図は所定のページが共用され
たメモリ処理ユニットによってキャッシュされねばなら
ないことをアクセス・コーデイネータが決定したとき、
アクセス・コーデイネータによって遂行されるステップ
を説明するためのフローチャートである。 /O・・・・プロセッサ・ユニット、11・・・・スイ
ッチ、12・・・・通信リンク、16・・・・マイクロ
・プロセッサ、17・・・・メモリ、2OA乃至20B
・・・・ボート、21乃至23・・・・端末装置。 第1凪 21Lf’l:L−’−、h loa+二/U/fスt
+Ln−;/(−9−N−人L49+↑5れ丁;第11
記 11°’l ’j−%*>−7’Oり一う4 Ia f
fイー3737°O?−ラ4をA−7”;ブaJ瀉4’
i3第12B [!1 ユニJ lkZ”X9ff tt++sア71リグ−”
 i ’z ’ 7’tlグラ4tjE7”/!−)S
A& マリ7’ T3 r:Jl) 5’sマ+ト・:
l−ルL禿生す)。 不t32B ユニシトtoa、、v′¥lT〒17++Jアアリ乍−
Lm、>  7−07−り4ny7yブ1LFe j’
り゛メシト5L9へ一ジPをIF本・第14国 第15A図 第158園 昂16出

Claims (3)

    【特許請求の範囲】
  1. (1)各々が主記憶と2次記憶をもつ複数のプロセッサ
    ・ユニットと、該複数のプロセッサ・ユニットのうちの
    第1のプロセッサ・ユニットによる要求に応答して、該
    複数のプロセッサ・ユニットのうちの第2のプロセッサ
    ・ユニットの主記憶に記憶されているデータを該第1の
    プロセッサ・ユニットの主記憶へ転送させるように、該
    複数のプロセッサ・ユニットのうちの任意の対をデータ
    転送関係で選択的に相互接続するためのスイッチを有す
    るデータ処理システムのI/Oアクセス動作を減少させ
    るための方法であつて、 (a)上記各プロセッサ・ユニットにおいて、上記シス
    テムに記憶されているファイルのリストと、該各ファイ
    ルの記憶を担当し該各フアイルへのアクセスを調整する
    プロセッサ・ユニットの表示子を保持し、 (b)上記第1のプロセッサ・ユニットからの要求に応
    答して上記第2のプロセッサ・ユニットに記憶された指
    定ファイルをオープンし、 (c)上記第2のプロセッサ・ユニットの2次記憶から
    上記第1のプロセッサ・ユニットの主記憶へ上記第1の
    プロセッサ・ユニットによつて要求された指定情報を転
    送し、 (d)上記指定情報を求める上記複数のプロセッサ・ユ
    ニットのうちの第3のプロセッサ・ユニットから上記第
    2のプロセッサ・ユニツトへの要求によつて促された、
    上記第2のプロセッサ・ユニットから上記第1のプロセ
    ッサ・ユニツトへの要求に応答して、上記第1のプロセ
    ッサ・ユニットの主記憶から上記第3のプロセッサ・ユ
    ニットの主記憶へ上記特定情報のコピーを転送する段階
    を有する、 データ処理システムの制御方法。
  2. (2)各々が比較的高速のアクセス時間をもつ主記憶と
    比較的低速のアクセス時間をもつ2次記憶をもちクラス
    タ形状に接続された複数のプロセッサ・ユニットを有し
    、該複数のプロセッサ・ユニットは、該複数のプロセッ
    サ・ユニットのうちの第1のプロセッサ・ユニットによ
    る要求に応答して、該複数のプロセッサ・ユニットのう
    ちの第2のプロセッサ・ユニットの主記憶に記憶されて
    いるデータを該第1のプロセッサ・ユニットの主記憶へ
    転送させるように接続されてなる、データ処理システム
    の低速I/Oアクセス動作を減少させるための方法であ
    つて、 (a)上記第2のプロセッサ・ユニットに、上記第2の
    プロセッサ・ユニットによつて調整されつつある識別さ
    れたデータのコピーが現在上記第1のプロセッサ・ユニ
    ットの主記憶に保持されていることを示す情報を保持し
    、 (b)上記複数のプロセッサ・ユニットのうちの第3の
    プロセッサ・ユニットによる上記識別されたデータを求
    める上記第2のプロセッサ・ユニットに対する要求を、
    上記第2のプロセッサ・ユニットの2次記憶へのI/O
    動作によつてサービスするのではなく、上記第1のプロ
    セッサ・ユニットをして上記識別されたデータのコピー
    を上記第3のプロセッサ・ユニットの主記憶へ転送させ
    ることによつてサービスする段階を有する、 データ処理システムの制御方法。
  3. (3)物理メモリが接続され仮想アドレス変換機構をも
    つ複数のプロセッサを有するシステムにおいてデータに
    アクセスするための方法であつて、(a)上記複数のプ
    ロセッサ間で仮想アドレス空間を共有し、 (b)上記複数のプロセッサによつて大域的にアドレス
    可能なデータのファイルを上記共有された仮想アドレス
    空間にマツピングし、 (c)指定されたプロセッサによつて上記データのファ
    イルに対するアクセスを制御し、 (d)上記指定されたプロセッサ中に、上記複数のプロ
    セッサのうちのどれに所与のデータ・オブジェクトが現
    在在駐するかに関する情報と、該プロセッサによつて所
    有されているアクセス権の状況のデータ構造を保持する
    段階を有する、 データ処理システムの制御方法。
JP63233842A 1987-11-30 1988-09-20 データ処理システムの制御方法 Expired - Lifetime JPH0622015B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12700087A 1987-11-30 1987-11-30
US127000 1987-11-30

Publications (2)

Publication Number Publication Date
JPH01144152A true JPH01144152A (ja) 1989-06-06
JPH0622015B2 JPH0622015B2 (ja) 1994-03-23

Family

ID=22427813

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63233842A Expired - Lifetime JPH0622015B2 (ja) 1987-11-30 1988-09-20 データ処理システムの制御方法

Country Status (5)

Country Link
EP (1) EP0319148B1 (ja)
JP (1) JPH0622015B2 (ja)
BR (1) BR8806294A (ja)
DE (1) DE3887843T2 (ja)
HK (1) HK7995A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348658A (ja) * 1993-06-03 1994-12-22 Nec Corp マルチプロセッサシステムにおけるメモリ管理方式

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3922432A1 (de) * 1989-07-07 1991-01-17 Siemens Ag Virtueller speicher fuer ein parallelrechnersystem
GB9001156D0 (en) * 1990-01-18 1990-03-21 Int Computers Ltd Memory management in a multiprocessor system
US5440752A (en) * 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
US7862534B2 (en) 2008-06-11 2011-01-04 Bracco Diagnostics Inc. Infusion circuit subassemblies
US8708352B2 (en) 2008-06-11 2014-04-29 Bracco Diagnostics Inc. Cabinet structure configurations for infusion systems
US8317674B2 (en) 2008-06-11 2012-11-27 Bracco Diagnostics Inc. Shielding assemblies for infusion systems
KR101696175B1 (ko) 2008-06-11 2017-01-23 브라코 다이어그노스틱스 아이엔씨. 주입 시스템의 캐비넷 구조물 배열
US9597053B2 (en) 2008-06-11 2017-03-21 Bracco Diagnostics Inc. Infusion systems including computer-facilitated maintenance and/or operation and methods of use
RU2685087C2 (ru) 2014-03-13 2019-04-16 Бракко Дайэгностикс Инк. Обнаружение ядерных изотопов в реальном времени
CA3037431A1 (en) 2016-09-20 2018-03-29 Bracco Diagnostics Inc. Systems and techniques for generating, infusing, and controlling radioisotope delivery
SG11202009326XA (en) 2018-03-28 2020-10-29 Bracco Diagnostics Inc Early detection of radioisotope generator end life
DK3776598T3 (da) 2018-03-28 2022-08-01 Bracco Diagnostics Inc Systemer og teknikker til kalibrering af radioisotopafgivelsessystemer ved hjælp af en gammadetektor
US12573516B2 (en) 2020-02-21 2026-03-10 Bracco Diagnostics Inc. Radioisotope generator early breakthrough detection

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4432057A (en) * 1981-11-27 1984-02-14 International Business Machines Corporation Method for the dynamic replication of data under distributed system control to control utilization of resources in a multiprocessing, distributed data base system
AU591503B2 (en) * 1985-08-02 1989-12-07 Wang Laboratories, Inc. Data distribution apparatus and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06348658A (ja) * 1993-06-03 1994-12-22 Nec Corp マルチプロセッサシステムにおけるメモリ管理方式

Also Published As

Publication number Publication date
EP0319148A3 (en) 1990-07-11
JPH0622015B2 (ja) 1994-03-23
HK7995A (en) 1995-01-27
DE3887843T2 (de) 1994-08-11
EP0319148B1 (en) 1994-02-16
DE3887843D1 (de) 1994-03-24
EP0319148A2 (en) 1989-06-07
BR8806294A (pt) 1989-08-15

Similar Documents

Publication Publication Date Title
US5239643A (en) Method for reducing disk I/O accesses in a multi-processor clustered type data processing system
US5317728A (en) Storage management of a first file system using a second file system containing surrogate files and catalog management information
US5239647A (en) Data storage hierarchy with shared storage level
Bensoussan et al. The Multics virtual memory: Concepts and design
US6681239B1 (en) Computer system having shared address space among multiple virtual address spaces
US7085909B2 (en) Method, system and computer program product for implementing copy-on-write of a file
US5377337A (en) Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity
US6148377A (en) Shared memory computer networks
EP0323013B1 (en) Method of operating a multiprocessor system employing a shared virtual memory
US6119208A (en) MVS device backup system for a data processor using a data storage subsystem snapshot copy capability
EP1569085B1 (en) Method and apparatus for increasing data storage capacity
US7849228B2 (en) Mechanisms for creation/deletion of linear block address table entries for direct I/O
US6542960B1 (en) System and method for parity caching based on stripe locking in raid data storage
US7502872B2 (en) Method for out of user space block mode I/O directly between an application instance and an I/O adapter
US5842226A (en) Virtual memory management for a microkernel system with multiple operating systems
EP0700000A2 (en) System and method combining a global object identifier with a local object address in a single object pointer
US5481688A (en) Information processing system having an address translation table loaded with main/expanded memory presence bits
JPS62165250A (ja) 仮想記憶方法
JPH0578857B2 (ja)
JPS62165249A (ja) ペ−ジ・セグメント化仮想記憶デ−タ処理システムにおけるセグメント・サイズを自動的に大きくする方法
KR19980080307A (ko) 로그인 서비스 변수를 보관하는 방법
JPH0954754A (ja) 疎結合並列処理環境における顧客情報制御システム及び方法
JPH01144152A (ja) データ処理システムの制御方法
US5394539A (en) Method and apparatus for rapid data copying using reassigned backing pages
JPH0944461A (ja) 疎結合並列処理環境においてapiスタート及びキャンセルトランザクション機能を有する顧客情報制御システム及び方法