JPH09223115A - 情報処理装置及びシステム及びその制御方法 - Google Patents

情報処理装置及びシステム及びその制御方法

Info

Publication number
JPH09223115A
JPH09223115A JP8031022A JP3102296A JPH09223115A JP H09223115 A JPH09223115 A JP H09223115A JP 8031022 A JP8031022 A JP 8031022A JP 3102296 A JP3102296 A JP 3102296A JP H09223115 A JPH09223115 A JP H09223115A
Authority
JP
Japan
Prior art keywords
information
delivery
node
processors
information processing
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.)
Withdrawn
Application number
JP8031022A
Other languages
English (en)
Inventor
Tomohiko Shimoyama
朋彦 下山
Kazumasa Hamaguchi
一正 濱口
Toshiyuki Fukui
俊之 福井
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP8031022A priority Critical patent/JPH09223115A/ja
Publication of JPH09223115A publication Critical patent/JPH09223115A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

(57)【要約】 【課題】分散共有メモリを実現する際に必要になるアク
セス情報のマルチキャストの宛て先を記録する記憶機構
の容量を押さえつつ、効率の良いマルチキャストを達成
することを可能とする。 【解決手段】複数のノードが通信可能に接続された計算
機システムにおいて、キャッシュメンテナンス情報の配
送情報がディレクトリに保持されていない場合、複数の
ノードの全てに対して情報のブロードキャストを行う
(S11〜S14、S20)。このブロードキャストによる情報
の配送の結果に基づいて、ディレクトリへ配送情報を登
録する(S17、S18)。また、ディレクトリに配送情報が
保持されている場合は、該配送情報で指定されるノード
に情報の配送(マルチキャスト)を行う(S14〜S16)。
そして、このマルチキャストの結果に基づいて、ディレ
クトリに保持されている配送情報の更新を行う(S17、S1
8)。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は分散共有メモリを実
現するための情報をマルチキャストする情報処理装置及
びシステム及びその制御方法に関する。
【0002】
【従来の技術】分散共有メモリを実現する場合、共有メ
モリの一貫性保持のために必要な通信を必要な計算機に
のみ配送する(マルチキャスト)ため、あるアクセスに
関しての情報をどの計算機に送るか記録する必要があっ
た。例えばディレクトリ方式の分散共有メモリのキャッ
シュシステムでは、メモリのキャッシュライン毎に、ど
の計算機に対してアクセス情報をマルチキャストしなけ
ればならないかを記録している。
【0003】
【発明が解決しようとする課題】しかしながら、どの計
算機にマルチキャストするかを示す宛て先の保持に使用
するメモリの容量は、通信機構上の計算機の数によって
増大することになるため、その容量を押さえることが求
められている。従来、メモリ容量を押さえるために、宛
て先の情報を欠落させ、不必要な計算機にまでマルチキ
ャストを行うことが行われていた。そのため、記憶容量
を節約できる反面、性能の低下が避けられなかった。
【0004】このように、高性能な分散共有メモリシス
テムを効率良く作成するためには大容量の記憶機構を用
意する必要があるが、それが実現上、コスト上、現実的
でない場合があった。
【0005】本発明は上記の問題に鑑みてなされたもの
であり、分散共有メモリを実現する際に必要になるアク
セス情報のマルチキャストの宛て先を記録する記憶機構
の容量を押さえつつ、効率の良いマルチキャストを達成
することを可能とする情報処理装置及びシステム及びそ
の制御方法を提供することを目的とする。
【0006】また、本発明の目的は、分散共有メモリを
実現するシステムにおいて、キャッシュデータの一貫性
を保持するためのマルチキャストを、該マルチキャスト
の宛て先を記録する記憶機構の容量を押さえつつ、効率
良く実行することを可能とする情報処理システム及びそ
の制御方法を提供することにある。
【0007】
【課題を解決するための手段】上記の目的を達成する本
発明の情報処理装置は、複数のプロセッサを有する情報
処理装置であって、前記複数のプロセッサ間において相
互に情報の通信を行う通信手段と、前記複数のプロセッ
サのいずれに情報を配送するかを示す配送先情報を保持
する保持手段と、前記保持手段に前記配送情報が保持さ
れていない場合、前記通信手段を介して前記複数のプロ
セッサの全てに対して情報の配送を行う第1配送手段
と、前記保持手段に配送情報が保持されている場合、前
記通信手段を介して、該配送情報で指定されるプロセッ
サに情報の配送を行う第2配送手段と、前記第1及び第
2配送手段による情報の配送の結果に基づいて、前記保
持手段への配送情報の登録もしくは前記保持手段に保持
されている前記配送情報の更新を行う更新手段とを備え
る。
【0008】また、上記の目的を達成する本発明の他の
構成の情報処理装置は、複数のノードで構成され、分散
共有メモリを実現する情報処理システムを構成するため
のノードとして適用可能な情報処理装置であって、外部
のノードとの通信を行う通信手段と、情報の配送先とな
るノードを示す配送情報を保持する保持手段と、前記保
持手段に前記配送情報が保持されていない場合、前記通
信手段を介して前記複数のノードの全てに対して情報の
配送を行う第1配送手段と、前記第1配送手段による情
報の配送の結果に基づいて、前記保持手段への配送情報
を登録する登録手段と、前記保持手段に配送情報が保持
されている場合、前記通信手段を介して、該配送情報で
指定されるノードに情報の配送を行う第2配送手段とを
備えることを特徴とする。
【0009】また、好ましくは、前記第2配送手段によ
る情報の配送の結果に基づいて、前記保持手段に保持さ
れている前記配送情報の更新を行う更新手段を更に備え
る。第2配送手段による情報の配送が行われる度に、配
送情報を更新することが可能となり、常に適切な配送情
報を保持できるからである。
【0010】また、好ましくは、前記保持手段は、シス
テム内でキャッシュされている自ノード内のメモリに関
して、キャッシング単位でキャッシュメンテナンスのた
めの情報の配送先を配送情報として保持する。分散共有
メモリによるキャッシュメンテナンス情報の配送先に関
る情報を、低記憶容量で保持できるからである。
【0011】また、好ましくは、前記配送情報は、前記
複数のプロセッサの全てについて、情報配送の要否を登
録してある。第2配送手段による情報の配送(マルチキ
ャスト)を適切に実行できる。
【0012】また、好ましくは、前記配送情報は、前記
複数のプロセッサのうちの所定数のプロセッサを含むグ
ループを指定するグループ情報と、該グループ情報で指
定されるグループに含まれるプロセッサの各々について
情報配送の要否を示す情報とで構成される。保持手段に
要求されるメモリ容量を更に低減できるからである。ま
た、システム内で局所的なメモリ共有が行われている場
合、同一メモリをキャッシュするノードが集中するの
で、上記配送情報のような部分的なフルマップ情報であ
っても、キャッシュ状態を正確に表現できる可能性が高
く、性能の低下は防止されることになる。
【0013】また、上記の目的を達成する本発明の情報
処理システムは、複数のノードで構成され、複数のノー
ド間で分散共有メモリを実現する情報処理システムであ
って、前記複数のノード間で通信を行う通信手段と、情
報の配送先となるノードを示す配送情報を保持する保持
手段と、前記保持手段に前記配送情報が保持されていな
い場合、前記通信手段を介して前記複数のノードの全て
に対して情報の配送を行う第1配送手段と、前記第1配
送手段による情報の配送の結果に基づいて、前記保持手
段への配送情報を登録する登録手段と、前記保持手段に
配送情報が保持されている場合、前記通信手段を介し
て、該配送情報で指定されるノードに情報の配送を行う
第2配送手段とを備えることを特徴とする。
【0014】また、好ましくは、上記情報処理システム
において、前記第1及び第2配送手段は情報の配送要求
を発行し、前記通信手段は、前記複数のノードと直接的
に接続してノード間の通信の調停を行うとともに、各ノ
ードより受信した配送要求に基づいてマルチキャストを
実行する調停手段を有する。調停手段が各ノードと直接
的に通信できるとともに、マルチキャストを実行するの
で、効率良くマルチキャストを実行できる。
【0015】
【発明の実施の形態】以下、添付の図面を参照して本発
明の好適な実施形態を詳細に説明する。
【0016】[第1の実施形態]図1は、第1の実施形
態における並列計算機システムの構成を示す図である。
また、図2は第1の実施形態における並列計算機システ
ムのメモリアドレス空間を示す図である。
【0017】図1に示されるように、本計算機システム
は、複数のノード100,200,300,400,5
00からなり、各々のノードはコンセントレータ600
を通じて光ファイバにより接続されてネットワークを構
成している。コンセントレータ600は、ノード間の通
信を管理する。各ノードは通常の計算機であり、各々1
個または複数個のCPUを持つ。また、各々のノードは
アドレス空間を共有しており、一つのCPUからみえる
アドレス空間は、図2のようになっている。そして、ノ
ード間通信は、自分のアドレス上に見えている相手のメ
モリに対し、直接データを書込むことにより行う。
【0018】ノード100,200,300,400,
500は、光通信装置140,240,340,44
0,540を通じ、アービトレーション回線160,2
60,360,460,560、データ回線170,2
70,370,470,570の2本の光ファイバを介
してコンセントレータ600に接続されている。このよ
うな接続によって、ネットワークが構成されている。ア
ービトレーション回線160,260,360,46
0,560は、ノード100,200,300,40
0,500とコンセントレータ600内の光バスアービ
タ610を接続する。これらのアービトレーション回線
により、各ノードは光バスアービタ610と相互に通信
することができる。また、データ回線170,270,
370,470,570は、各ノードとコンセントレー
タ600内のスターカプラ620とを接続する。スター
カプラ620は、一端に光を入力すると他端からその光
が均等に出力される。一つのノードがデータ回線に光を
発すると、その光を他の全てのノードで受け取ることが
できる。よって、一つのノードデータ回線に発した光通
信を、全てのノードにおいて受信することが可能であ
る。
【0019】ノードは、通信に用いる波長を選択するこ
とにより、任意のノードと通信を行うことができる。例
えば、ノードA100がノードB200と通信を行う場
合は次のような手順となる。即ち、ノードA100が
アービトレーション回線160を通じて光バスアービタ
610にノードB200との通信要求を送る、光バス
アービタ610はノードB200が他のノードと通信中
でないことを確認し、どのノードも使用していない波長
αをノードA100とノードB200間の通信に割当
て、アービトレーション回線160,260を通じてノ
ードA100,ノードB200に波長αを使用して通信
を行うように指示を出す、ノードA100,ノードB
200は波長αを使用してデータ回線170,270を
通じて通信を行う。
【0020】本実施形態の分散共有メモリは、このよう
なネットワークの上の光通信機構によって実現される。
以下に、一例として、ノードA100(以下、単にノー
ドAという)のCPU110がノードB200(以下、
単にノードBという)のメインメモリ230の内容をリ
ードする場合の手順を説明する。図3は、ノードAのC
PUがノードBのメインメモリの内容をリードする様子
を説明する図である。なお、図3の(A1)〜(A7)
に示す動作は一連のものとして実施される。
【0021】(A1):ノードAのCPU110が、ノ
ードBのメインメモリ230に対してリードアクセスを
発行する、 (A2):ノードAの光通信装置140は、メインバス
上のバスアクセスを監視している。従って、メインバス
上にノードAのメインメモリ130以外のアドレスに対
してアクセスが発行されると、光通信装置140はその
バスアクセスを検出する、 (A3):光通信装置140は、アクセス要求パケット
を生成し、これをコンセントレータ600を通じてノー
ドBの光通信装置240に対して送る、 (A4):ノードBの光通信装置240はアクセス要求
パケットを受けると、その依頼に従ってノードBのメイ
ンメモリ230に対するアクセスを行う、 (A5):ノードBのメモリ230が、(A4)で行わ
れたアクセスに応答する、 (A6):ノードBの光通信装置240は、アクセスが
終わると、ノードAの光通信装置140に対してアクノ
リッジを返す、 (A7):ノードBよりアクノリッジを受け取ったノー
ドAの光通信装置140は、ノードBのメインメモリ2
30の代わりにノードAのプロセッサ110のアクセス
に応答する。
【0022】また本実施形態では分散共有メモリ上で、
ディレクトリ方式の一貫性保持方式を変形したキャッシ
ュシステムを搭載している。ディレクトリ方式によるキ
ャッシュシステムの詳細は、「共有記憶型並列システム
の実際」(コロナ社刊)に示されている。本実施形態で
は各ノードにディレクトリを分散して持ち、ディレクト
リ方式の一貫性保持動作を行う際に必要なキャッシュメ
ンテナンス情報のマルチキャストは、ネットワーク中央
のコンセントレータ600で行う。
【0023】なお、ノード内のCPU間でのキャッシュ
の一貫性は、CPUに内蔵されたMESIプロトコル
(Modified,Exclusive,Shared,Invalidの4状態により
キャッシュを管理するプロトコル)によるスヌープキャ
ッシュで管理されている(この実施形態ではMESIプ
ロトコルを使用するが、これは本発明を限定するもので
はない)。
【0024】ノード間のキャッシュの一貫性保持は、外
付けされたキャッシュ管理装置150,250,35
0,450,550により管理される。また、キャッシ
ュメンテナンス情報のマルチキャストは、コンセントレ
ータ600内の光バスアービタ610により行われる。
光バスアービタ610は各ノードに直接接続されている
(スター接続を採用している)ので、効率よく情報のマ
ルチキャストを行うことができる。
【0025】図4は第1の実施形態におけるノードの構
成、特にキャッシュ管理装置の詳細な構成を示すブロッ
ク図である。ディレクトリ方式のキャッシュを実現する
キャッシュ管理装置150は、バス監視装置151、デ
ィレクトリ152、ディレクトリ管理装置153、通信
管理装置154、アクセスエミュレーション装置155
を備えている。以下に、キャッシュ管理装置150が備
える個々の装置について、それぞれ説明する。
【0026】図5はバス監視装置151の構成を示すブ
ロック図である。バス監視装置151は、シーケンサ1
51aとアドレスラッチ151bからなっている。シー
ケンサ151aはノード内のバスを監視し、バスマスタ
(例えばCPU110)によるメモリのリードアクセ
ス,invalidate,Read-with-Intent-to-Modify,メモリ
書込みの実行を検出する。また、シーケンサ151a
は、バス上のアクセス要求信号、バスアクセスに伴って
バスマスタから出力されるアクセス修飾信号などを監視
することで、アクセスを検出する。
【0027】バス監視装置151は、アクセス要求信号
が有効でありアクセスアドレスが自分のノードのメモリ
に対するものであった場合、アクセスを検出したと判断
する。アクセスを検出すると、メインメモリ130の応
答を押さえ、その間に、ディレクトリ管理装置153を
通じてディレクトリ152に対象アドレスに関するキャ
ッシング情報が記録されているかを調べる。もし記録さ
れていなければ、そのアクセスを全てのノードにブロー
ドキャストする。そしてそれらに対する応答によりキャ
ッシング情報を得て、ディレクトリ監視装置153を通
じてディレクトリ152を更新する。一方、ディレクト
リにキャッシング情報が記録されていた場合には、キャ
ッシング情報で示されるノードに対して、当該アクセス
の情報をマルチキャストする。そして、このマルチキャ
ストに対する各ノードよりの応答よりキャッシング情報
を得て、ディレクトリ監視装置153を通じてディレク
トリ152を更新する。
【0028】なお、本実施形態では、メモリアクセスの
中断(メインメモリ130の応答を押さえること)は、
バス上にアクセス再実行信号を出力し、そのライトアク
セスをプロセッサにリトライさせることで実現するが、
他の方法によりライト命令を中断してもよい。
【0029】図6は、ディレクトリ152、ディレクト
リ管理装置153の構成を示すブロック図である。ディ
レクトリ152は、最近アクセスされたメモリブロック
に関して、これをキャッシングしているノード(キャッ
シング情報)を記録する。キャッシング情報は、キャッ
シュの一貫性保持を実現するために、対象メモリブロッ
クに対してリード/ライト/invalidate/Read-with-In
tent-to-Modifyが行われた場合に、どのノードに対して
そのリード/ライト/invalidate/Read-with-Intent-t
o-Modifyを通知しなければならないかを示すものであ
る。ここで、ディレクトリ152はキャッシュメモリの
一種である。本実施形態では、キャッシュ内容のリプレ
ースに擬似LRU法を使用したが、別の方法を使用して
もよい。
【0030】ディレクトリ152への操作は、ディレク
トリ管理装置153により行われる。ディレクトリ管理
装置153は、シーケンサ153aによって管理されて
いる。ディレクトリ152に対する操作は、バス監視装
置151がリードアクセス/メモリ書込み/invalidate
/Read-with-Intent-to-Modifyを検出して対象メモリブ
ロックをキャッシングしているノードを参照する場合に
行われる。
【0031】図7はディレクトリ152のデータ構造を
説明する図である。ディレクトリ152は24ビット幅
のキャッシュメモリ(24:ノード数)で構成するフル
マップ方式をとっている。キャッシュメモリの各ビット
はそれぞれのノードを示し、該当キャッシュブロックを
キャッシングしているノードに対応するビットが1とな
る。キャッシュタグは、各ディレクトリ情報が対象とす
るメモリブロックの先頭を示す。ディレクトリ152
に、該当メモリ番地に対応するマルチキャスト先が記録
されている場合には、マルチキャストの必要なノードを
正確に知ることができるため不必要なブロードキャスト
がなくなり、システムの性能を向上することができる。
ディレクトリ管理装置153は、バス監視装置151か
ら記録要求を受けると、記録要求に示される対象メモリ
ブロックとノードに従って、ディレクトリ152の対応
するビットをON,OFFする。
【0032】通信管理装置154はバス監視装置15
1、ディレクトリ管理装置153からの要求により、光
通信装置140とのコミュニケーションを行う。通信管
理装置154は、バス監視装置151、ディレクトリ管
理装置153からのメモリリード/invalidate/Read-w
ith-Intent-to-Modify/メモリ書き込みのマルチキャス
ト要求を受け、光通信装置140を介して光バスアービ
タ610に、アクセスのマルチキャスト/ブロードキャ
ストパケットを送出する。また、光通信装置140を通
じて受け取ったキャッシュの一貫性保持動作要求パケッ
トにより、メモリアクセスエミュレート装置155に対
してinvalidate/Read-with-Intent-to-Modify/ライト
/リード要求を出力する。
【0033】図8は、アクセスエミュレーション装置の
構成を示すブロック図である。アクセスエミュレーショ
ン装置155は、通信管理装置154からの要求によ
り、ダミーのメモリライトアクセス/ダミーのメモリリ
ードアクセス/invalidate/Read-with-Intent-to-Modi
fyアクセスを自ノードのバス上に発行する。これらのア
クセスにより、ノード間のキャッシュの一貫性が保持さ
れる。アクセスエミュレーション装置155の発行する
アクセスは、自分のノードに割り当てられたアドレスで
はありえないため、ノード内のバススレーブ(例えばメ
インメモリ130)よりの応答はありえず、ダミーのア
クセスとなる。
【0034】図9はコンセントレータ600の構成を示
すブロック図である。同図に示されるように、コンセン
トレータ600は、光バスアービタ610、スターカプ
ラ620により構成される。光バスアービタ610は先
に述べたように光回線の通信制御を行う。またノードか
ら送られてきたマルチキャスト要求により、当該要求に
含まれる宛て先ノードへのパケットの転送を行う。
【0035】なお、本実施形態では、光バスアービタ6
10は一つの計算機として実現したため、これらの機構
はソフトウェアで実現している。しかしながら、これは
本発明を制限するものではなく、ハードウェアで実現す
ることも可能であることはいうまでもない。
【0036】次にキャッシュ管理装置150の動作を説
明する。
【0037】以下、ノード内のメモリに対してリード/
ライト/invalidate等のバスアクセスが発行された場合
の動作を、図10及び図11を用いて説明する。
【0038】ノードA内のメモリ130に対してリード
アクセスが行われる(B1)と、バス監視装置151が
そのアクセスを検知し(B2)、メインメモリ130の
応答を抑制する(B3)。この応答抑制の間に、バス監
視装置151は、当該リードアクセスを行ったノードI
Dを(そのグループのCPUが実効アドレスのメモリブ
ロックをキャッシングしているものとして)記録するよ
うに、ディレクトリ管理装置153に対して要求する。
ここで、バス監視装置151より出力される要求には、
アクセスを行ったノードのIDと当該アクセスの実効ア
ドレスとが含まれる(B4)。ディレクトリ管理装置1
53は、ディレクトリ152を参照して、上記要求によ
って指定されたアドレスがキャッシングされているか調
べる(B5)。もしディレクトリ152にキャッシング
されていなければ、ディレクトリ管理装置153は通信
管理装置154を通じて発行されたリードアクセスを全
てのノードにブロードキャストするよう光バスアービタ
610にブロードキャスト要求を出す(B6)。
【0039】バスアービタ610はこのブロードキャス
ト要求に従い、全てのノードに当該リードアクセスをマ
ルチキャストする(B7)。リードアクセスをマルチキ
ャストされた各ノード(200,300,400,50
0)では、アクセスエミュレーション装置がバス上にリ
ードアクセス(ダミーのリード)を発行する(B8)。
各ノードのCPU(210,310,410,510)
はこれをスヌープし、そのリードアクセスされたメモリ
番地をキャッシングしているかどうかを返答する(B
9)。各ノードのバス監視装置(251,351,45
1,551)はこれを検出し、通信管理装置(254,
354,454,554)を通じて、アクセスが完了し
たこととそのノードで該当アドレスがキャッシングして
いるかどうかを光バスアービタ610に伝える(B1
0)。
【0040】各ノードからリードアクセスが完了したこ
とを通知された光バスアービタ610は、各ノードがキ
ャッシングしているか否かを示す情報を含んだアクセス
完了パケットをノード100に伝える(B11)。通信
管理装置154を通じて各ノードのキャッシング状況を
受け取ったディレクトリ管理装置153は、その内容を
ディレクトリ152にキャッシングする(B12)。キ
ャッシングが終了すると、バス監視装置151はメモリ
130に対すする応答抑制を解除し、当該リードアクセ
スが完了する(B13)。
【0041】一方、(B5)においてディレクトリ情報
が既にキャッシングされていた場合を図11を参照して
説明する。図11において、(B1)〜(B5)までの
動作は図10で説明した動作と同様である。
【0042】(B5)においてディレクトリ情報がキャ
ッシングされていると、ディレクトリ管理装置153は
ディレクトリ152にキャッシングされていたディレク
トリ情報(対象アドレスのメモリブロックがどのノード
にキャッシングされているか)をバス監視装置151に
返す(B6’)。ディレクトリ管理装置153より返さ
れたディレクトリ情報に、他のノードに対象アドレスが
キャッシングされていると記録されていた場合には、バ
ス監視装置151は発行されたリードアクセスをディレ
クトリ情報に記録されていたノードにマルチキャストす
るよう、通信管理装置154を通じて光バスアービタ6
10にマルチキャスト要求を出す(B7’)。
【0043】光バスアービタ610はこのマルチキャス
ト要求に従い、必要なノード(ここではノードBのみと
する)に当該リードアクセスをマルチキャストする(B
8’)。リードアクセスをマルチキャストされた各ノー
ド(ここではノードBのみとする)では、アクセスエミ
ュレーション装置を介してバス上にリードアクセスを発
行する(B9’)。ノードBのCPU210はこれをス
ヌープし、そのリードアクセスされたメモリ番地をキャ
ッシングしているかどうかを返答する(B10’)。ノ
ードBのバス監視装置251はこれを検出し、通信管理
装置254を通じて、アクセスが完了したこととそのノ
ードで該当アドレスがキャッシングしているかどうかを
光バスアービタ610に伝える(B11’)。
【0044】ノードBからリードアクセスが完了したこ
とを通知された光バスアービタ610は、各ノードがキ
ャッシングしているか否かを示す情報を含んだアクセス
完了パケットをノードAに伝える(B12’)。ノード
Aにおいて、通信管理装置154を通じて各ノードのキ
ャッシング状況を受け取ったディレクトリ管理装置15
3は、その内容をディレクトリ152にキャッシング
(キャッシュを更新)する(B13’)。キャッシング
が終了すると、バス監視装置151はメモリ130の応
答抑制を解除し、リードアクセスが完了する(B1
4’)。
【0045】なお、上記(B12)、(B13’)にお
けるディレクトリ152の操作では、当該アクセスの発
生元のノードも登録されることは言うまでもない。ま
た、上記説明では、ノードA内のCPUがノードA内の
メインメモリにアクセスする場合を示したが、他のノー
ドのCPUからメインメモリへのアクセスが発生した場
合も同様の処理が実行される。但し、この場合、他のノ
ードから発行されるリードパケットには、少なくとも当
該パケットの発行元とリードアクセスの対象アドレスを
示す情報が必要である。
【0046】以上説明した本実施形態のキャッシュ管理
動作について、図12及び図13を用いて更に説明す
る。図12、図13は、本実施形態のキャッシュ管理装
置によるキャッシュ管理動作を説明するフローチャート
である。
【0047】ステップS11において、バスアクセス
(リード、ライトアクセス及びキャッシュメンテナンス
を含む)の発生がバス監視装置151によって検出され
ると、ステップS12において、当該バスアクセスが自
ノードのメモリ(メインメモリ130)に対するもので
あるか否かが判定される。このバスアクセスが自ノード
のメモリに対するものであった場合、ステップS13へ
進み、当該アクセスに対するメモリの応答が抑制され
る。
【0048】次に、ステップS14において、ディレク
トリ152が参照され、当該アクセスの対象アドレスを
含むメモリブロックについてディレクトリ情報がキャッ
シングされているか否かを調べる。ここで、ディレクト
リ152にディレクトリ情報がキャッシングされていれ
ば、ステップS16において、該ディレクトリ情報で指
定されるノードを対象に当該アクセスに関する情報のマ
ルチキャストを要求し、ステップS17へ進む。一方、
ステップS14において、当該アクセスアドレスを含む
メモリブロックのディレクトリ情報がディレクトリ15
2に格納されていなかった場合は、ステップS20へ進
む。ステップS20では、全ノードを対象に当該アクセ
スに関する情報のブロードキャストを要求し、ステップ
S17へ進む。
【0049】ステップS17では、ステップS16によ
るマルチキャスト要求(或は、ステップS20によるブ
ロードキャスト要求)に対するマルチキャスト完了パケ
ットを待つ。この完了パケットには、当該アクセスアド
レスを含むメモリブロックについて実際にキャッシュを
行っているノードを示すキャッシュ情報が含まれる。ス
テップS18では、受信した完了パケットに含まれるキ
ャッシュ情報、及び当該アクセスの発生元のノードID
に基づいて、ディレクトリ152の当該メモリブロック
に対応するディレクトリ情報を更新する。なお、ディレ
クトリにキャッシング情報が存在しなかった場合は、当
該メモリブロックに関するディレクトリ情報を新規に登
録することになる。
【0050】ステップS19では、ステップS13で行
ったメインメモリ130の応答抑制を解除する。これに
より、ステップS11で検出したバスアクセスに対して
メモリ130が実際に応答することになる。
【0051】一方、ノード外のアドレスに対してリード
/ライト/invalidate等のバスアクセスが出力された時
は、光通信を通じて他のノードにアクセスを依頼する。
即ち、ステップS12において、当該バスアクセスが自
ノードのメモリに対するものでなかった場合は、ステッ
プS21へ進む。ステップS21では、当該バスアクセ
スがキャッシュメンテナンス情報である否かを判断す
る。そして、キャッシュメンテナンス情報であると判断
された場合は、ステップS22へ進み、メモリのリトラ
イを開始する。ステップS23では、当該バスアクセス
の対象となるメモリを有するノードに対して、アクセス
要求パケットを送出する。このアクセス要求パケットを
受信したノードでは、自ノードのメモリへのアクセスと
なるので、上述のステップS13〜S20が実行される
ことになる。その後、ステップS24において、メモリ
のリトライが解除され、本処理を終了する。
【0052】アクセス先のノードのキャッシュ管理装置
は、先に述べたように光通信装置を通じて行なわれたア
クセスに対して応答する。図13では、パケットを受信
した際の動作手順が示されている。
【0053】先ず、ステップS31では、光通信装置1
40を通信管理装置154が監視し、パケットが受信さ
れるのを待つ。パケットが受信されると、ステップS3
2へ進み、アクセスエミュレーション装置155を用い
て、受信したパケットに従ってアクセス情報をバスへ出
力する。例えば、受信したパケットがステップS23で
発行されたアクセス要求パケットであった場合は、当該
要求パケットに従ってバスにアクセス情報が出力され、
ステップS11〜SS20の処理が実行されることにな
る。
【0054】ステップS34では、ステップS33によ
るアクセスの結果を光バスアービタ610へ送出する。
例えば、上述したように、CPU110はバス上に発行
されたアクセスをスヌープし、当該アクセスの対象アド
レスをキャッシュしているか否かを判断する。ステップ
S33では、この判断結果をアクセス結果として送出す
る。
【0055】以上のように、最初の1回目のアクセスで
は、アクセス情報を必要のないノードに対しても配送す
るブロードキャストを生じさせる。このような必要のな
いノードに対してのブロードキャストは、性能を落すが
論理的な矛盾は生じない。ここで、各ノードがブロード
キャストに応答してくるパケットの中には、そのノード
が該当アドレスをキャッシングしているのか情報が含ま
れている。従って、この情報に基づいてディレクトリ情
報を更新することで、2回目以降のアクセスは必要なノ
ードにのみアクセス情報を配送する、適切なマルチキャ
ストを実行することが可能となる。従って、2回目以降
では、不要なノードへのアクセス情報の配送による性能
の低下は防止される。
【0056】また、フルマップによってディレクトリ情
報を保持するが、実際にアクセス(キャッシュ状態)の
発生したメモリブロックについて、ディレクトリ情報が
保持されることになるので、ディレクトリ情報のために
消費されるメモリ容量も低減される。
【0057】[第2の実施形態]次に本発明の第2の実
施形態を、図面を参照して説明する。
【0058】第1の実施形態ではディレクトリ情報を、
フルマップ構造(ひとつのノードを1ビットで示す方
法)で、キャッシュ状態の発生したメモリブロックに関
して記録するようになっていた。だがこれでもまだディ
レクトリの容量が大き過ぎる場合がある。そこで第2の
実施形態ではディレクトリのデータ構造を変更し、ディ
レクトリ容量の更なる削減を図る。
【0059】図14は第2の実施形態によるディレクト
リの構造を示す図である。キャッシュタグで示されるメ
モリブロックについて、各ディレクトリ情報の上位ビッ
トでグループの最初のノードを示す。ディレクトリの下
位ビットは、それらのグループ内のノードについてのフ
ルマップのディレクトリ情報である。例えば上位でノー
ドSが示されていた場合、下位でビットはノードS〜ノ
ードXについてのフルマップの情報が示されることにな
る。同様に上位ビットでノードCが示されていた場合、
下位ビットではノードC〜ノードHがフルマップで示さ
れる。但し、ノードAとノードJが同時に同じ番地(メ
モリブロック)をキャッシングした場合は、この様な形
式では対応できないので、ディレクトリの上位を特別の
パターン(例えば全て1)にして、その番地(メモリブ
ロック)に対するアクセスはブロードキャスト(全ての
ノードに対して放送する)する。
【0060】第2の実施形態によるディレクトリの登
録、更新は第1の実施形態と同様に行われる。即ち、デ
ィレクトリ情報が未登録の状態では全ノードに対してア
クセスがブロードキャストされる。そして、各ノードよ
りの応答(各ノードが当該アクセスの対象メモリをキャ
ッシュしているか否かを示す情報を含む)に従って、デ
ィレクトリ情報が登録される。ここで、例えば、ノード
AとノードCが当該アクセスの対象メモリをキャッシュ
していると、同一グループで表現できるので、ディレク
トリ情報の上位ビットにノードAを記録する。これによ
り、当該ディレクトリ情報の下位ビットはノードA〜ノ
ードFのフルマップデータとなり、ノードAとノードC
に対応するビットが「1」にセットされる。
【0061】以上のように、ディレクトリ情報を全ノー
ドについてフルマップで保持する第1の実施形態に比べ
て、ディレクトリ情報を部分的にフルマップで保持する
のでメモリ容量を低減できる。特に、システム内で局所
的なメモリ共有が行われている場合、同一メモリをキャ
ッシュするノードが集中するので、部分的なフルマップ
情報としてもキャッシュ状態を正確に表現できる可能性
が高くなる。
【0062】以上の説明から明らかなように、上記各実
施形態によれば、各ノードに大容量のディレクトリ(メ
モリ)を備えることなく高性能のディレクトリ方式のキ
ャッシュシステムを構築することができる。
【0063】なお、本発明は、複数の機器(例えばホス
トコンピュータ,インタフェイス機器,リーダ,プリン
タなど)から構成されるシステムに適用しても、一つの
機器からなる装置(例えば、複写機,ファクシミリ装置
など)に適用してもよい。
【0064】また、本発明の目的は、前述した実施形態
の機能を実現するソフトウェアのプログラムコードを記
録した記憶媒体を、システムあるいは装置に供給し、そ
のシステムあるいは装置のコンピュータ(またはCPU
やMPU)が記憶媒体に格納されたプログラムコードを
読出し実行することによっても、達成されることは言う
までもない。
【0065】この場合、記憶媒体から読出されたプログ
ラムコード自体が前述した実施形態の機能を実現するこ
とになり、そのプログラムコードを記憶した記憶媒体は
本発明を構成することになる。
【0066】プログラムコードを供給するための記憶媒
体としては、例えば、フロッピディスク,ハードディス
ク,光ディスク,光磁気ディスク,CD−ROM,CD
−R,磁気テープ,不揮発性のメモリカード,ROMな
どを用いることができる。
【0067】また、コンピュータが読出したプログラム
コードを実行することにより、前述した実施形態の機能
が実現されるだけでなく、そのプログラムコードの指示
に基づき、コンピュータ上で稼働しているOS(オペレ
ーティングシステム)などが実際の処理の一部または全
部を行い、その処理によって前述した実施形態の機能が
実現される場合も含まれることは言うまでもない。
【0068】さらに、記憶媒体から読出されたプログラ
ムコードが、コンピュータに挿入された機能拡張ボード
やコンピュータに接続された機能拡張ユニットに備わる
メモリに書込まれた後、そのプログラムコードの指示に
基づき、その機能拡張ボードや機能拡張ユニットに備わ
るCPUなどが実際の処理の一部または全部を行い、そ
の処理によって前述した実施形態の機能が実現される場
合も含まれることは言うまでもない。
【0069】本発明を上記記憶媒体に適用する場合、そ
の記憶媒体には、先に説明したフローチャートに対応す
るプログラムコードを格納することになるが、簡単に説
明すると、図15のメモリマップ例に示す各モジュール
を記憶媒体に格納することになる。
【0070】すなわち、少なくとも「第1配送処理モジ
ュール」「第2配送処理モジュール」および「更新処理
モジュール」の各モジュールのプログラムコードを記憶
媒体に格納すればよい。
【0071】ここで、第1配送処理とは、当該プロセッ
サと通信可能に接続された複数のプロセッサのいずれに
情報を配送するかを示す配送情報が記憶手段に保持され
ていない場合に、該複数のプロセッサの全てに対して情
報の配送を行う処理である。また、第2配送処理は、記
憶手段に配送情報が保持されている場合、該配送情報で
指定されるプロセッサに情報の配送を行う処理である。
更に、更新処理は、上記第1及び第2配送処理による情
報の配送の結果に基づいて、前記記憶手段への配送情報
の登録もしくは前記保持工程によって前記記憶手段に保
持されている前記配送情報の更新を行う処理である。
【0072】また、本発明に関るプログラムの他の形態
としては、図16のメモリマップ例に示す各モジュール
を記憶媒体に格納することになる。
【0073】すなわち、少なくとも「第1配送処理モジ
ュール」「登録処理モジュール」及び「第2配送処理モ
ジュール」の各モジュールのプログラムコードを記憶媒
体に格納すればよい。また、好ましくは、図16に記載
してあるように、「更新処理モジュール」のプログラム
コードを格納する。
【0074】ここで、第1配送処理とは、情報の配送先
となるノードを示す配送情報が記憶手段に保持されてい
ない場合、当該情報処理装置に接続された複数のノード
の全てに対して情報の配送を行う処理である。また、登
録処理は、第1配送処理による情報の配送の結果に基づ
いて、前記記憶手段へ配送情報を登録する処理である。
また、第2配送処理は、記憶手段に配送情報が保持され
ている場合、前記通信工程を介して、該配送情報で指定
されるノードに情報の配送を行う処理である。更に、更
新処理とは、前記第2配送処理による情報の配送の結果
に基づいて、前記記憶手段に保持されている配送情報の
更新を行う処理である。
【0075】
【発明の効果】以上のように、本発明によれば、分散共
有メモリを実現する際に必要になるアクセス情報のマル
チキャストの宛て先を記録する記憶機構の容量を押さえ
つつ、効率の良いマルチキャストを達成することが可能
となる。
【0076】また、本発明によれば、分散共有メモリを
実現するシステムにおいて、キャッシュデータの一貫性
を保持するためのマルチキャストを、該マルチキャスト
の宛て先を記録する記憶機構の容量を押さえつつ、効率
良く実行することが可能となる。
【0077】
【図面の簡単な説明】
【図1】第1の実施形態における並列計算機システムの
構成を示す図である。
【図2】第1の実施形態における並列計算機システムの
メモリアドレス空間を示す図である。
【図3】ノードAのCPUがノードBのメインメモリの
内容をリードする様子を説明する図である。
【図4】第1の実施形態におけるノードの構成、特にキ
ャッシュ管理装置の詳細な構成を示すブロック図であ
る。
【図5】バス監視装置151の構成を示すブロック図で
ある。
【図6】ディレクトリ152、ディレクトリ管理装置1
53の構成を示すブロック図である。
【図7】ディレクトリ152のデータ構造を説明する図
である。
【図8】アクセスエミュレーション装置の構成を示すブ
ロック図である。
【図9】コンセントレータ600の構成を示すブロック
図である。
【図10】ノード内のメモリに対してリードアクセスが
発生した場合の動作を説明する図である。
【図11】ノード内のメモリに対してリードアクセスが
発生した場合の動作を説明する図である。
【図12】本実施形態のキャッシュ管理装置によるキャ
ッシュ管理動作を説明するフローチャートである。
【図13】本実施形態のキャッシュ管理装置によるキャ
ッシュ管理動作を説明するフローチャートである。
【図14】第2の実施形態によるディレクトリの構造を
示す図である。
【図15】本発明に関わるプログラムの構造的特徴とを
表す図である。
【図16】本発明に関わるプログラムの構造的特徴とを
表す図である。
【符号の説明】
100,200,300,400,500 ノード 110,120,210,220,310,320,4
10,420,510,520 CPU 130,230,330,430,530 メインメモ
リ 140,240,340,440,540 光通信装置 150,250,350,450,550 キャッシュ
管理装置 160,260,360,460,560 アービトレ
ーション回線 170,270,370,470,570 データ回線 600 コンセントレータ 610 光バスアービタ 620 スターカプラ 151 バス監視装置 152 ディレクトリ 153 ディレクトリ管理装置 154 通信管理装置 155 アクセスエミュレーション装置

Claims (23)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサを有する情報処理装置
    であって、 前記複数のプロセッサ間において相互に情報の通信を行
    う通信手段と、 前記複数のプロセッサのいずれに情報を配送するかを示
    す配送先情報を保持する保持手段と、 前記保持手段に前記配送情報が保持されていない場合、
    前記通信手段を介して前記複数のプロセッサの全てに対
    して情報の配送を行う第1配送手段と、 前記保持手段に配送情報が保持されている場合、前記通
    信手段を介して、該配送情報で指定されるプロセッサに
    情報の配送を行う第2配送手段と、 前記第1及び第2配送手段による情報の配送の結果に基
    づいて、前記保持手段への配送情報の登録もしくは前記
    保持手段に保持されている前記配送情報の更新を行う更
    新手段とを備えることを特徴とする情報処理装置。
  2. 【請求項2】 前記配送情報は、前記複数のプロセッサ
    の全てについて、情報配送の要否を登録してあることを
    特徴とする請求項1に記載の情報処理装置。
  3. 【請求項3】 前記配送情報は、前記複数のプロセッサ
    のうちの所定数のプロセッサを含むグループを指定する
    グループ情報と、該グループ情報で指定されるグループ
    に含まれるプロセッサの各々について情報配送の要否を
    示す情報とで構成されることを特徴とする請求項1に記
    載の情報処理装置。
  4. 【請求項4】 前記第1配送手段及び第2配送手段によ
    って配送される情報は、前記複数のプロセッサによって
    分散共有されたメモリのキャッシュメンテナンスのため
    の情報であることを特徴とする請求項1乃至3のいずれ
    かに記載の情報処理装置。
  5. 【請求項5】 複数のノードによって構成され、分散共
    有メモリを実現する情報処理システムを構成するための
    ノードとして適用可能な情報処理装置であって、 外部のノードとの通信を行う通信手段と、 情報の配送先となるノードを示す配送情報を保持する保
    持手段と、 前記保持手段に前記配送情報が保持されていない場合、
    前記通信手段を介して前記複数のノードの全てに対して
    情報の配送を行う第1配送手段と、 前記第1配送手段による情報の配送の結果に基づいて、
    前記保持手段への配送情報を登録する登録手段と、 前記保持手段に配送情報が保持されている場合、前記通
    信手段を介して、該配送情報で指定されるノードに情報
    の配送を行う第2配送手段とを備えることを特徴とする
    情報処理装置。
  6. 【請求項6】 前記第2配送手段による情報の配送の結
    果に基づいて、前記保持手段に保持されている前記配送
    情報の更新を行う更新手段を更に備えることを特徴とす
    る請求項5に記載の情報処理装置。
  7. 【請求項7】 前記保持手段は、システム内でキャッシ
    ュされている自ノード内のメモリに関して、キャッシン
    グ単位でキャッシュメンテナンスのための情報の配送先
    を配送情報として保持することを特徴とする請求項5に
    記載の情報処理装置。
  8. 【請求項8】 前記配送情報は、前記複数のプロセッサ
    の全てについて、情報配送の要否を登録してあることを
    特徴とする請求項5乃至7のいずれかに記載の情報処理
    装置。
  9. 【請求項9】 前記配送情報は、前記複数のプロセッサ
    のうちの所定数のプロセッサを含むグループを指定する
    グループ情報と、該グループ情報で指定されるグループ
    に含まれるプロセッサの各々について情報配送の要否を
    示す情報とで構成されることを特徴とする請求項5乃至
    7のいずれかに記載の情報処理装置。
  10. 【請求項10】 複数のノードで構成され、複数のノー
    ド間で分散共有メモリを実現する情報処理システムであ
    って、 前記複数のノード間で通信を行う通信手段と、 情報の配送先となるノードを示す配送情報を保持する保
    持手段と、 前記保持手段に前記配送情報が保持されていない場合、
    前記通信手段を介して前記複数のノードの全てに対して
    情報の配送を行う第1配送手段と、 前記第1配送手段による情報の配送の結果に基づいて、
    前記保持手段への配送情報を登録する登録手段と、 前記保持手段に配送情報が保持されている場合、前記通
    信手段を介して、該配送情報で指定されるノードに情報
    の配送を行う第2配送手段とを備えることを特徴とする
    情報処理システム。
  11. 【請求項11】 前記第2配送手段による情報の配送の
    結果に基づいて、前記保持手段に保持されている前記配
    送情報の更新を行う更新手段を更に備えることを特徴と
    する請求項10に記載の情報処理システム。
  12. 【請求項12】 前記保持手段は前記複数の各ノード毎
    に備わっており、前記複数のノードの少なくとも1つで
    キャッシュされている自ノード内のメモリに関して、キ
    ャッシング単位でキャッシュメンテナンスのための情報
    の配送先を配送情報として保持することを特徴とする請
    求項11に記載の情報処理システム。
  13. 【請求項13】 各ノードにおいて、前記第1及び第2
    配送手段によってキャッシュメンテナンス情報が配送さ
    れた場合に、当該キャッシュメンテナンスの対象となる
    メモリブロックをキャッシュしているか否かを示す情報
    を出力する応答手段を更に備えることを特徴とする請求
    項12に記載の情報処理システム。
  14. 【請求項14】 前記登録手段及び前記更新手段は、前
    記応答手段によって各ノードより出力された情報を参照
    して、前記メモリブロックをキャッシュしているノード
    に対して情報が配送されるように配送情報を登録、更新
    することを特徴とする請求項13に記載の情報処理シス
    テム。
  15. 【請求項15】 前記配送情報は、前記複数のプロセッ
    サの全てについて、情報配送の要否を登録してあること
    を特徴とする請求項10乃至14のいずれかに記載の情
    報処理システム。
  16. 【請求項16】 前記配送情報は、前記複数のプロセッ
    サのうちの所定数のプロセッサを含むグループを指定す
    るグループ情報と、該グループ情報で指定されるグルー
    プに含まれるプロセッサの各々について情報配送の要否
    を示す情報とで構成されることを特徴とする請求項10
    乃至14のいずれかに記載の情報処理システム。
  17. 【請求項17】 前記第1及び第2配送手段は、情報の
    配送要求を発行し、前記通信手段は、前記複数のノード
    と直接的に接続してノード間の通信の調停を行うととも
    に、各ノードより受信した配送要求に基づいてマルチキ
    ャストを実行する調停手段を有することを特徴とする請
    求項10乃至16のいずれかに記載の情報処理システ
    ム。
  18. 【請求項18】 複数のプロセッサと通信可能に接続さ
    れる情報処理装置の制御方法であって、 前記複数のプロセッサのいずれに情報を配送するかを示
    す配送情報が記憶手段に保持されていない場合、前記複
    数のプロセッサの全てに対して情報の配送を行う第1配
    送工程と、 前記記憶手段に前記配送情報が保持されている場合、該
    配送情報で指定されるプロセッサに情報の配送を行う第
    2配送工程と、 前記第1及び第2配送工程による情報の配送の結果に基
    づいて、前記記録手段への配送情報の登録もしくは前記
    記憶手段に保持されている前記配送情報の更新を行う更
    新工程とを備えることを特徴とする情報処理装置の制御
    方法。
  19. 【請求項19】 複数のノードと通信可能に接続され、
    分散共有メモリを実現する情報処理システムのノードに
    適用可能な情報処理装置の制御方法であって、 情報の配送先となるノードを示す配送情報が記憶手段に
    保持されていない場合、前記複数のノードの全てに対し
    て情報の配送を行う第1配送工程と、 前記第1配送工程による情報の配送の結果に基づいて、
    前記記憶手段への配送情報を登録する登録工程と、 前記記憶手段に配送情報が保持されている場合、該配送
    情報で指定されるノードに情報の配送を行う第2配送工
    程とを備えることを特徴とする情報処理装置の制御方
    法。
  20. 【請求項20】 前記第2配送工程による情報の配送の
    結果に基づいて、前記記憶手段に保持されている前記配
    送情報の更新を行う更新工程を更に備えることを特徴と
    する請求項17に記載の情報処理装置の制御方法。
  21. 【請求項21】 複数のプロセッサを通信可能に接続す
    る情報処理装置において、情報の配送を行うためのプロ
    グラムコードを格納したコンピュータ可読メモリであっ
    て前記複数のプロセッサのいずれに情報を配送するかを
    示す配送情報が記憶手段に保持されていない場合、該複
    数のプロセッサの全てに対して情報の配送を行う第1配
    送工程のコードと、 前記記憶手段に配送情報が保持されている場合、該配送
    情報で指定されるプロセッサに情報の配送を行う第2配
    送工程のコードと、 前記第1及び第2配送工程による情報の配送の結果に基
    づいて、前記記憶手段への配送情報の登録もしくは前記
    記憶手段に保持されている前記配送情報の更新を行う更
    新工程のコードとを備えることを特徴とするコンピュー
    タ可読メモリ。
  22. 【請求項22】 相互に通信可能な複数のノードを含
    み、分散共有メモリを実現する情報処理システムを構成
    するためのノードに適用可能な情報処理装置を制御する
    プログラムコードを格納したコンピュータ可読メモリで
    あって、 情報の配送先となるノードを示す配送情報が前記記憶手
    段に保持されていない場合、前記複数のノードの全てに
    対して情報の配送を行う第1配送工程のコードと、 前記第1配送工程による情報の配送の結果に基づいて、
    前記記憶手段へ配送情報を登録する登録工程のコード
    と、 前記記憶手段に配送情報が保持されている場合、該配送
    情報で指定されるノードに情報の配送を行う第2配送工
    程のコードとを備えることを特徴とするコンピュータ可
    読メモリ。
  23. 【請求項23】 前記第2配送工程による情報の配送の
    結果に基づいて、前記記憶手段に保持されている前記配
    送情報の更新を行う更新工程のコードを更に備えること
    を特徴とする請求項21に記載のコンピュータ可読メモ
    リ。
JP8031022A 1996-02-19 1996-02-19 情報処理装置及びシステム及びその制御方法 Withdrawn JPH09223115A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8031022A JPH09223115A (ja) 1996-02-19 1996-02-19 情報処理装置及びシステム及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8031022A JPH09223115A (ja) 1996-02-19 1996-02-19 情報処理装置及びシステム及びその制御方法

Publications (1)

Publication Number Publication Date
JPH09223115A true JPH09223115A (ja) 1997-08-26

Family

ID=12319901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8031022A Withdrawn JPH09223115A (ja) 1996-02-19 1996-02-19 情報処理装置及びシステム及びその制御方法

Country Status (1)

Country Link
JP (1) JPH09223115A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140485A (ja) * 2008-12-09 2010-06-24 Nvidia Corp 直列インターフェースバスにまたがってキャッシュコヒーレンシを維持するシステム及び方法
JP2013206395A (ja) * 2012-03-29 2013-10-07 Fujitsu Ltd 演算処理装置、演算処理装置の制御方法及び情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010140485A (ja) * 2008-12-09 2010-06-24 Nvidia Corp 直列インターフェースバスにまたがってキャッシュコヒーレンシを維持するシステム及び方法
JP2013206395A (ja) * 2012-03-29 2013-10-07 Fujitsu Ltd 演算処理装置、演算処理装置の制御方法及び情報処理装置

Similar Documents

Publication Publication Date Title
TWI391821B (zh) 在互連結構上發佈請求而無參照基於標籤快取狀態的低階快取之處理單元及資料處理系統與方法
US5706463A (en) Cache coherent computer system that minimizes invalidation and copyback operations
KR100465583B1 (ko) 판독 요청을 원격 처리 노드에 추론적으로 전송하는 비정형 메모리 액세스 데이터 처리 시스템 및 이 시스템에서의 통신 방법
JP3644587B2 (ja) 共用介入サポートを有する不均等メモリ・アクセス(numa)・データ処理システム
US5822763A (en) Cache coherence protocol for reducing the effects of false sharing in non-bus-based shared-memory multiprocessors
US7234029B2 (en) Method and apparatus for reducing memory latency in a cache coherent multi-node architecture
US6651145B1 (en) Method and apparatus for scalable disambiguated coherence in shared storage hierarchies
JP3661761B2 (ja) 共用介入サポートを有する不均等メモリ・アクセス(numa)データ処理システム
US9208092B2 (en) Coherent attached processor proxy having hybrid directory
CN102033715B (zh) 在本地代理的存储器镜像和迁移
US9547597B2 (en) Selection of post-request action based on combined response and input from the request source
US20110320738A1 (en) Maintaining Cache Coherence In A Multi-Node, Symmetric Multiprocessing Computer
JPH10154100A (ja) 情報処理システム及び装置及びその制御方法
JP2000250884A (ja) 不均等メモリ・アクセス・コンピュータ・システムにおいてエヴィクション・プロトコルを提供するための方法およびシステム
US6587922B2 (en) Multiprocessor system
KR101072174B1 (ko) 능동적 프리페치들로 향상된 호버 상태를 실시하는 시스템 및 방법
US6721852B2 (en) Computer system employing multiple board sets and coherence schemes
US20040111563A1 (en) Method and apparatus for cache coherency between heterogeneous agents and limiting data transfers among symmetric processors
JP5265827B2 (ja) ハイブリッドコヒーレンスプロトコル
US7159079B2 (en) Multiprocessor system
JPH09223115A (ja) 情報処理装置及びシステム及びその制御方法
JP5168800B2 (ja) マルチプロセッサシステム
US10489292B2 (en) Ownership tracking updates across multiple simultaneous operations
JPH1185615A (ja) 情報処理システム及び情報処理装置及びその制御方法
JPH09305489A (ja) 情報処理システム及びその制御方法

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20030506