JP2001101148A - 分散共有メモリ型並列計算機 - Google Patents
分散共有メモリ型並列計算機Info
- Publication number
- JP2001101148A JP2001101148A JP27529399A JP27529399A JP2001101148A JP 2001101148 A JP2001101148 A JP 2001101148A JP 27529399 A JP27529399 A JP 27529399A JP 27529399 A JP27529399 A JP 27529399A JP 2001101148 A JP2001101148 A JP 2001101148A
- Authority
- JP
- Japan
- Prior art keywords
- node
- state
- data
- shared memory
- request
- 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
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
コントローラと、キャッシュとを有するノードを複数有
し、各ノードは、各ノードに対応する相互結合網ルータ
により結合された分散共有メモリ型並列計算機におい
て、共有メモリとキャッシュのデータの一貫性を保ちつ
つ高速化を実現する。 【解決手段】相互結合網ルータに、ディレクトリ記憶
部、及び一貫性処理部を持たせ、ノード間のメモリアク
セス要求は、相互結合網ルータの一貫性処理部がディレ
クトリ記憶部を参照し、この内容に従ってメモリアクセ
ス要求転送処理、相互結合網ルータ間同期処理を行い、
共有メモリとキャッシュのデータの一貫性を保つことを
特徴とする。
Description
有メモリの一部と、キャッシュとを有するノードを複数
有し、各ノードは、各ノードに対応する相互結合網ルー
タにより結合される、分散共有メモリ型並列計算機に関
する。
全体構成例を示し、図10及び図11は、各々その構成要素
である、相互結合網ルータの構成例、及びノードの内部
構成例を示す。
相互結合網ルータと、共有メモリのデータ及びメモリア
クセス要求のやり取りをするためのインタフェースであ
る、パケットバッファと、クロスバと、メモリアクセス
要求に記載されたノードIDに従って次に送るべき相互結
合網ルータを決定するルーティングコントローラとを有
する。
部と、メモリコントローラと、キャッシュとを有し、キ
ャッシュは、共有メモリのブロック毎のデータのコピー
と、アドレスとを有する。
が、互いにメモリを共有する分散共有メモリ型並列計算
機におけるデータの一貫性管理の必要性を説明する。こ
の例では、メモリアクセス要求を送るべきノードは他方
のノードであり、一意に決まるため、相互結合網ルータ
は省略されている。
共有メモリのブロックのデータをキャッシュにコピーし
ている状況において、共有メモリを有するノードのプロ
セッサA、すなわちホームノードのプロセッサが当該デ
ータを更新しようとした場合、プロセッサBのノードの
キャッシュにある、当該ブロックのデータを同時に無更
新しなければ、プロセッサBが間違ったデータを読み出
してしまうということが起こる。
メモリ型並列計算機にディレクトリ方式を適用した例を
図13に示す。この例では、共有メモリのブロック毎に、
ブロックのデータのコピーを保持するキャッシュの属す
るノードIDを示すノード情報と、MSIプロトコル(
M: Modified、S: Shared、I: Invalid ) の3状態を
示す状態情報と、を有するディレクトリを設け、メモリ
コントローラに一貫性管理機能を持たせ、メモリコント
ローラとする。
オーナーノードとしてキャッシュの当該ブロックのデー
タを更新した状態、すなわち、共有メモリのデータと、
オーナーノードのキャッシュのデータとが一致していな
いことを表し、S状態であれば、1つ以上のノードが共
有ノードとして当該ブロックのデータを保持し、各々の
キャッシュのデータと、共有メモリのデータが一致して
いることを表し、I状態であれば、他に、共有メモリの
当該ブロックのデータを保持するノードはないことを表
す。
り、ノードIDとしてコードで表現されるが、共有ノード
は最大、全ノードがあり得るため、共有ノードはビット
マップで表しても良い。
が、更新された状態と共有された状態は、同時には発生
しないため、オーナーノードの情報は、共有ノードの情
報と同じフィールドに登録されても良い。以下オーナー
ノードの情報と、共有ノードの情報はノード情報として
説明する。
共有メモリ及び各キャッシュのデータの一貫性を保つ。
リアクセス要求が自ノードの共有メモリに対する読み出
し要求の場合、当該ブロックのディレクトリに保持され
た状態情報とノード情報を参照し、状態情報がS状態の
場合は、データを読み出し、要求元ノードにデータを送
ると共に、ノード情報に、要求元ノードIDを追加し、状
態情報がM状態の場合は、読み出し要求をオーナーノー
ドに転送し、状態情報をS状態とし、ノード情報とし
て、元のオーナーノードIDと、要求元ノードIDを登録す
る。
リアクセス要求が、自ノードの共有メモリに対する無効
化/更新要求の場合、当該ブロックのディレクトリに保
持された状態情報とノード情報を参照し、共有ノードが
ある場合には、共有ノードに無効化要求を送り、状態情
報をM状態とし、ノード情報として要求元ノードIDを登
録する。共有ノードがない場合には、状態情報をM状態
とし、ノード情報として要求元ノードIDを登録する。
リアクセス要求が、他ノードの共有メモリに対するメモ
リアクセス要求である場合、その共有メモリを有するノ
ードにメモリアクセス要求を転送する。
散共有メモリ型並列計算機では、各ノードは、メモリコ
ントローラの機能により、共有メモリと各キャッシュの
データの一貫性を保つ。
データの一貫性管理の動作について説明する。図14(1)
において、プロセッサAで、ノードAの共有メモリのア
ドレスadr に対するデータの読み出し要求が発生する
と、メモリコントローラはアドレスadr のディレクトリ
を参照する。この場合、ディレクトリの状態情報は無効
状態(Invalid:I) であるため、データを読み出し、プ
ロセッサAに送る。
タをノードAのキャッシュがコピーした状態となり、図
14(2) に示す如く、ディレクトリの状態情報に共有(Sha
red:S)状態が書き込まれ、ノード情報としてAが登録
される。このS状態は、データと同時にプロセッサAの
キャッシュに送られ、キャッシュの状態情報としても使
われる。
じアドレスadr のデータの読み出し要求が発生すると、
メモリコントローラはアドレスadr のディレクトリを参
照する。このとき、ディレクトリの状態情報はS状態で
あり、図14(4) に示す如く、メモリのデータと状態情
報、S状態がノードBのキャッシュに送られ、ノード情
報としてBが追加される( この時、ディレクトリの状態
情報はS状態のまま変わらない) 。
ドレスadr に対して更新要求が発生すると、メモリコン
トローラは、キャッシュのアドレスadr の状態情報がS
状態であることを確認し、共有メモリのアドレスadr の
ディレクトリを参照し、ディレクトリの状態情報がS状
態で、ノード情報としてA以外にBが保持されているこ
とを確認し、ノードBに無効化要求を送る。
クトリの状態情報を更新(Modified:M) 状態に変更し、
ノード情報としてAを登録する。これらの処理が完了す
ると、プロセッサAは自分のキャッシュを書き換え、プ
ロセッサBは、キャッシュのアドレスadr のデータを消
去する。
散共有メモリ型並列計算機における具体的な各動作モー
ドの全体の流れを説明する。
出し動作例を示し、図中の数字は、以下の各説明項目に
おける動作に対応する。初期状態では、ディレクトリの
状態情報はすべて無効状態(I状態)になっている。
リのアドレスadr に対するデータ読み出し要求により、
メモリコントローラは、アドレスadr のディレクトリを
参照しディレクトリの状態情報がI状態であることを確
認し、データを読み出し、ディレクトリの状態情報をS
状態に変更しノード情報としてAを登録し、ノードAの
キャッシュにデータと、状態情報S状態を送る。ノード
Aのキャッシュでは、アドレスadr のデータをS状態と
して登録する。
して無効化/更新要求が発生した場合、この無効化/更
新要求はノードBの相互結合網ルータを経由し、ホーム
ノードであるノードAの相互結合網ルータを経由し、ノ
ードAに送られる。ノードAでは共有メモリのディレク
トリを参照し、ディレクトリの状態情報がS状態、ノー
ド情報がAであることを確認し、ディレクトリの状態情
報をM状態に変更し、ノード情報としてBを登録し、キ
ャッシュのアドレスadr のデータを消去する。その後に
ノードBへ更新許諾を返す。ノードBでは、キャッシュ
のアドレスadr をM状態とし、更新したデータを登録す
る。
する読み出し要求が発生した場合、読み出し要求はホー
ムノードである、ノードAの相互結合網ルータを経由
し、ノードAに送られる。ノードAでは、ディレクトリ
の状態情報がM状態であり、ノード情報がBであること
を確認し、読み出し要求をノードBへ転送する。ノード
Bでは、キャッシュのアドレスadr をS状態とし、デー
タを読み出し、データと状態情報SをノードAとノード
Cに送る。ノードCでは、キャッシュにアドレスadr の
データを、状態情報をS状態として登録し、ノードAで
は、共有メモリのアドレスadr のデータを登録し、ディ
レクトリとして、ノード情報B、C、状態情報Sを登録
する。
効化/更新動作例を示す。1は、M状態のデータに対す
る読み出しの例と同様である。
して読み出し要求が発生した場合、この読み出し要求は
ホームノードであるノードAの相互結合網ルータを経由
し、ノードAに送られる。ノードAでは、ディレクトリ
の状態情報がS状態であることを確認し、ノード情報と
してBを追加し、アドレスadr のデータを読み出し、デ
ータと状態情報SをノードBに送る。ノードBでは、キ
ャッシュにアドレスadr のデータをS状態として登録す
る。
して無効化/更新要求が発生した場合、この無効化/更
新要求は、ホームノードであるノードAの相互結合網ル
ータを経由し、ノードAに送られる。
S状態で、ノード情報が、A及びBであることをを確認
し、ディレクトリの状態情報をM状態に更新し、ノード
情報としてCを登録する。その後に、キャッシュのアド
レスadr のデータを消去し、無効化要求をノードBに送
り、更新許諾をノードCに返す。ノードBでは、キャッ
シュのアドレスadr のデータを消去する。ノードCで
は、キャッシュにアドレスadr のデータをM状態として
登録する。
み出し動作例を示す。1〜2は、S状態のデータに対す
る無効化/更新の例と同様である。
する読み出し要求が発生した場合、読み出し要求はホー
ムノードであるノードAの相互結合網ルータを経由し、
ノードAに送られる。ノードAでは、ディレクトリの状
態情報がS状態であることを確認し、ノード情報として
Cを追加する。その後に、アドレスadr のデータを読み
出し、データと状態情報SをノードCに送る。ノードC
では、キャッシュにアドレスadr のデータをS状態とし
て登録する。
クトリ方式では、 1.自ノードのキャッシュに持っていないデータに対す
る読み出し要求は、図17に示すごとく、自ノードの近傍
のノードにデータがキャッシュされている場合でも、必
ずホームノードの共有メモリに送られるため、キャッシ
ュされているデータが有効活用できず、処理が遅い。
複数のノードで分散して処理する場合、処理を分散した
にもかかわらずこのデータのホームノードにメモリアク
セス要求が集中し、ホームノードでの処理がボトルネッ
クになって全体の速度を低下させる、という問題があ
る。
共有メモリとキャッシュのデータの一貫性を保ちつつ、
高速のメモリの無効化/更新要求、読み出し処理を実現
することが要求されている。
度をあげることを目的としている。
ルータに、ディレクトリ記憶部、及び一貫性処理部を持
たせ、ノード間のメモリアクセス要求は、相互結合網ル
ータの一貫性処理部がディレクトリ記憶部を参照し、こ
の内容に従ってメモリアクセス要求転送処理、相互結合
網ルータ間同期処理を行い、共有メモリとキャッシュの
データの一貫性を保つことを特徴とする。
のメモリアクセス要求に対応して、ディレクトリ記憶部
を参照し、メモリブロックのアドレスが保持されている
場合は、当該アドレスに付随するノードに、保持されて
いない場合はホームノードに、メモリアクセス要求を転
送するメモリアクセス要求転送する。
た場合、ホームノードには要求元ノードIDをノード情報
としてホームノードに転送し、ホームノードでは、要求
元ノードIDをノード情報として追加登録する。
求は、従来では、要求元ノード→相互結合網ルータ→・
・・ホームノードの相互結合網ルータ→ホームノード→
相互結合網ルータ→・・・相互結合網ルータ→共有ノー
ドという経路で送られていた。
に対する読み出し要求は、要求元ノード→相互結合網ル
ータ→共有ノードID参照→保持されている最寄りの共有
ノードの相互結合網ルータ→共有ノードという経路にな
る。すなわち、相互結合網ルータにノード情報が保持さ
れている場合は、保持されている最寄りの共有ノードか
らデータを読み出し、ホームノードを経由しないため、
速度が向上する。
処理を複数箇所、即ちメモリコントローラと、同じブロ
ックのディレクトリ情報を有する相互結合網ルータの一
貫性処理部と、で実行しても、以下の同期処理を行うこ
とで、一つのブロックのデータに対する更新が複数の場
所で同時に実行されることを防止し、データの一貫性を
保つ。
に対する無効化/更新要求が発生した場合、各ノードの
相互結合網ルータは、ホームノードの相互結合網ルータ
に無効化/更新要求を送る。ホームノードの相互結合網
ルータでは、最初に無効化/更新要求を受け取ったノー
ドに対し更新許諾の応答を返し、ホームノードには無効
化要求と無効化要求元のノードIDを、他の共有ノードに
は無効化要求を送る。
クトリを状態情報をM状態、ノード情報を要求元ノード
IDとして登録し、キャッシュのアドレスadr のデータを
消去し、他の共有ノードではキャッシュのアドレスadr
のデータを消去する。
ず、更新許諾ではなく、無効化要求を受け取ったノード
では、改めてアドレスadr のデータを読み出し、この値
に基づいた処理を行う。
部に第二のノード情報の記憶部として、読み出し要求元
のノードIDを登録する、転送ノード情報記憶を追加し、
一貫性処理部に読み出しデータ転送処理手段を追加し、
以下の読み出しデータ転送処理を行うことにより、共有
メモリとキャッシュのデータの一貫性を保ちつつ、相互
結合網ルータ間の同期処理を一部省略し、さらに速度が
向上する。
されたアドレスadr に対する読み出し要求を受け、ホー
ムノード以外の共有ノードに読み出し要求を転送した場
合、読み出し要求元ノードIDを転送ノード情報に登録す
る。
レスadr のデータを読み出し、要求元ノードに、データ
と状態情報Sを送る。この場合、ホームノードへのノー
ド情報の転送は省略され、処理が高速化される。
持されたノードは共有メモリのディレクトリに保持され
ていないが、あるノードで当該アドレスadr に対する無
効化/更新要求が発生した時点で、一貫性処理が以下の
如く行われる。
ドの相互結合網ルータに送られ、ホームノードの相互結
合網ルータは、ディレクトリ記憶部のアドレスadr に保
持されている全共有ノードに無効化要求を送る。
結合網ルータが、ホームノードからアドレスadr に対す
る無効化要求を受け取ると、保持された転送ノード情報
に従って、無効化要求を全転送ノードに転送し、全ての
共有ノードに対する無効化が完了する。
理する必要のないデータも含まれるため、一部の無駄な
処理を省き、さらに速度が向上する。
ルータの構成例を示す。本発明による相互結合網ルータ
は、通常のルーティング機能部分としての、パケットバ
ッファと、クロスバと、ルーティングコントローラと、
本発明の特徴である、ディレクトリ記憶部と、一貫性処
理部とを有する。
つのノードにひとつのプロセッサ・キャッシュの組を接
続した構成。 2.各ノードの相互結合網ルータのディレクトリ記憶部
に登録するディレクトリは、自ノードからメモリアクセ
ス要求を出したアドレスのディレクトリ、とするが、 1.相互結合網の構成として、ひとつのノードに複数の
プロセッサ・キャッシュの組が接続された構成。 2.各ノードの相互結合網ルータのディレクトリ記憶部
に登録するディレクトリは、メモリアクセス要求が経由
する、全相互結合網ルータ、あるいは、ホームノードの
相互結合網ルータ、あるいは、現在、データを保持して
いるノードの相互結合網ルータ、及び現在、データを更
新しているノードの相互結合網ルータ、あるいは、過去
にディレクトリを登録した履歴を持つ相互結合網ルー
タ、及び前記各相互結合網ルータの組み合わせ、であっ
てもよい。
し、図9の分散共有メモリ型並列計算機に本発明を適用
した実施例について説明する。
図15の従来例に対応した、M状態のデータに対する読み
出し動作例を示し、図3は、この場合の相互結合網ルー
タの動作のフローを示す。初期状態では、ディレクトリ
の状態情報はすべて無効状態になっている。
のアドレスadr に対するデータ読み出し要求により、メ
モリコントローラはアドレスadr のディレクトリを参照
し、状態情報がI状態であることを確認し、データを読
み出し、ノードAのキャッシュに送ると共に、ディレク
トリの状態情報をS状態に変更し、ノード情報としてA
を登録する。
のデータをS状態として登録し、ノードAの相互結合網
ルータでは、ディレクトリ記憶部に、アドレスadr の状
態をS状態として登録する。
して、無効化/更新要求が発生した場合、この無効化/
更新要求は、途中経由する各相互結合網ルータのディレ
クトリ記憶部を参照しつつ、ノードBの相互結合網ルー
タから、ノードAの相互結合網ルータに送られる。
クトリ記憶部を参照し、アドレスadr の状態情報がS状
態、ノード情報Aを確認し、状態情報をM状態に変更
し、ノード情報としてBを登録し、ノードBの相互結合
網ルータを経由し、ノードBに更新許諾の応答を返し、
ノードAにアドレスadr の無効化要求を送る。
クトリ記憶部にアドレスadr を状態情報をM状態、ノー
ド情報としてBを登録し、ノードBに応答を返す。ノー
ドBでは、キャッシュにadr をM状態で登録し、データ
を更新する。
を消去し、共有メモリの、アドレスadr のディレクトリ
の状態情報をM状態に変更し、ノード情報としてBを登
録する。
する読み出し要求が発生した場合、読み出し要求は、途
中経由する各相互結合網ルータのディレクトリ記憶部を
参照しつつ、ノードCの相互結合網ルータから、ノード
Aの相互結合網ルータに送られる。
トリ記憶部を参照し、アドレスadrの状態情報がM状
態、ノード情報Bを確認し、状態情報をS状態に更新
し、ノード情報として、B,Cを登録する。その後に、
読み出し要求をノードBの相互結合網ルータへ転送し、
ノードAに対し、読み出し要求が転送された旨を伝え
る。
要求を受け取ると、ディレクトリ記憶部を参照し、アド
レスadr の状態情報がM状態、ノード情報Bを確認し、
ノードBに読み出し要求を送る。
の状態情報をS状態とし、データを読み出し、データを
ノードBの相互結合網ルータを経由しノードCに送る。
クトリ記憶部のアドレスadr の状態情報をS状態、ノー
ド情報としてB,Cを登録し、データをノードCの相互
結合網ルータを経由し、ノードCに送る。
クトリ記憶部のアドレスadr の状態情報をS状態、ノー
ド情報としてB,Cを登録し、データをノードCに送
る。ノードCでは、キャッシュにアドレスadr のデータ
をS状態として登録する。
r のディレクトリ状態情報をS状態に変更しノード情報
としてB,Cを登録する。
を経由せず、ノードAの相互結合網ルータからノードB
に送られるため、処理速度が向上する。
ードBの相互結合網ルータを経由する場合、読み出し要
求はノードAの相互結合網ルータも経由せず、ノードB
の相互結合網ルータから、直接ノードBに送られるた
め、さらに速度が向上する。
図16の従来例に対応した、S状態のデータに対する無効
化/更新動作例を示し、図5は、相互結合網ルータの動
作のフローを示す。1は、M状態のデータに対する読み
出しの例と同様である。
して読み出し要求が発生した場合、この読み出し要求
は、途中経由する各相互結合網ルータのディレクトリ記
憶部を参照しつつ、ノードBの相互結合網ルータから、
ノードAの相互結合網ルータに送られる。
クトリ記憶部を参照し、アドレスadr の状態情報がS状
態、ノード情報Aを確認し、ノードAに読み出し要求を
送る。
のディレクトリ状態がS状態であることを確認し、ノー
ド情報としてBを追加するとともに、キャッシュのアド
レスadr からデータを読み出し、ノードAの相互結合網
ルータを経由し、ノードBに送る。
クトリ記憶部のアドレスadr のノード情報としてBを追
加し、データをノードBの相互結合網ルータを経由し、
ノードBに送る。
クトリ記憶部のアドレスadr の状態情報をS状態、ノー
ド情報としてA,Bを登録し、データをノードBに送
る。ノードBでは、キャッシュにアドレスadr のデータ
をS状態として登録する。
する無効化/更新要求が発生した場合、この無効化/更
新要求は、途中経由する各相互結合網ルータのディレク
トリ記憶部を参照しつつ、ノードCの相互結合網ルータ
から、ノードAの相互結合網ルータに送られる。
クトリ記憶部を参照し、アドレスadr の状態情報がS状
態、ノード情報A,Bを確認し、状態情報をM状態に変
更し、ノード情報としてCを登録し、ノードCに更新許
諾の応答を返し、ノードA,Bに無効化要求を送る。
クトリ記憶部のアドレスadr をM状態、ノード情報とし
てCを登録し、ノードCに更新許諾の応答を返す。ノー
ドCでは、キャッシュのアドレスadr の状態をMとしデ
ータを更新する。
を消去し、共有メモリのアドレスadr のディレクトリの
状態情報をM状態に変更し、ノード情報としてCを登録
する。
クトリ記憶部のアドレスadr をM状態に更新し、ノード
情報としてCを登録する。その後に、ノードBにアドレ
スadr の無効化要求を送る。ノードBではキャッシュの
adr のデータを消去する。
由せず、ノードAの相互結合網ルータからノードCに返
されるため、処理の高速化が実現できる。
ド情報記憶を追加した相互結合網ルータの他の構成例を
示す。図6の相互結合網ルータは、受け取った読み出し
要求が、ディレクトリ記憶部に保持されているブロック
に対する読み出し要求であった場合は、保持されている
共有ノードのうちの、最寄りの共有ノードに読み出し要
求を転送し、最寄りのノードがホームノード以外の場合
は、読み出し要求元ノードのIDを転送ノード情報に登録
する。
ドBがある構成例によるS状態のデータに対する読み出
し動作例を示し、図8 は、相互結合網ルータの動作のフ
ローを示す。1〜2 は、S状態のデータに対する無効化
/更新の例と同様である。
る読み出し要求が発生した場合、この読み出し要求は、
途中経由する各相互結合網ルータのディレクトリ記憶部
を参照しつつ、ノードCの相互結合網ルータからノード
Bの相互結合網ルータに送られる。
クトリ記憶部を参照し、状態情報がS状態、ノード情報
A,Bを確認し、最寄りの共有ノードBに読み出し要求
を転送するが、ノードBがホームノードでない為、転送
ノード情報として要求元ノードCを登録する。
出し、ノードBの相互結合網ルータを経由しノードCの
相互結合網ルータにデータを送る。
クトリ記憶部のアドレスadr を、状態情報をS状態、ノ
ード情報としてA,B,Cを登録し、データをノードC
に送る。ノードCではキャッシュにアドレスadr のデー
タをS状態として登録する。以上で、読み出し動作は完
了する。
の相互結合網ルータを経由せず、データがノードBの相
互結合網ルータから直接ノードCに送られるため、処理
の高速化が実現できる。
互結合網ルータのディレクトリ記憶部、及び共有メモリ
のディレクトリでは、アドレスadr のノード情報は、
A,Bとして保持されたままであり、一貫性処理動作は
完了していない。
ドAの相互結合網ルータが、次にアドレスadr に対する
無効化/更新要求を受け取った時点での後処理として、
以下の如く実行される。
adr に対する無効化/更新要求を、例えば、ノードDか
ら受け取ると、ディレクトリを参照し、状態情報がS状
態、ノード情報A,Bを確認し、状態情報をM状態に変
更し、ノード情報としてDを登録し、ノードA,Bに無
効化要求を送る。
クトリ記憶部のアドレスadr を参照し、S状態、転送ノ
ード情報Cを確認し、状態情報をM状態、ノード情報と
してDを登録し、キャッシュのアドレスadr を消去する
とともに、無効化要求をノードB及びノードCの相互結
合網ルータに送る。
クトリ記憶部のアドレスadr を参照し、状態情報がS状
態を確認し、状態情報をM状態として登録し、ノード情
報としてDを登録する。
ディレクトリ方式の、共有メモリとキャッシュのデータ
の一貫性処理方法を用いながら、データを保持するキャ
ッシュがある場合には、メモリアクセス要求がホームノ
ードを経由する必要がなく、相互結合網ルータ間で転送
することで、高速処理が可能になる。また、ホームノー
ドを経由しないことにより、ホームノードにアクセスが
集中してシステム全体の速度を低下させることがなくな
るという効果がある。
し動作例
/更新動作例
ロー
互結合網ルータ
し動作例
理
型並列計算機
タの一貫性管理
作例
新動作例
作例
Claims (2)
- 【請求項1】 プロセッサと、共有メモリの一部と、メ
モリコントローラと、キャッシュとを有するノードを複
数有し、 各ノードは、各ノードに対応する相互結合網ルータによ
り結合された分散共有メモリ型並列計算機であって、 共有メモリは、ブロック毎に、メモリのデータのコピー
を保持するキャッシュの属するノードIDを示すノード情
報と、保持状態を示す状態情報とからなるディレクトリ
を有し、 メモリコントローラは、相互結合網ルータから転送され
るメモリアクセス要求に従って、共有メモリのディレク
トリの参照/更新と、キャッシュへの無効化通知とを行
う一貫性管理手段を有し、 キャッシュは、共有メモリのブロック毎のデータのコピ
ーとアドレスと保持状態を示す状態情報とを有し、 相互結合網ルータは、共有メモリのブロックのデータの
コピーを保持するキャッシュの属するノードIDを示すノ
ード情報と、保持状態を示す状態情報と、メモリブロッ
クのアドレスとを保持するディレクトリ記憶部と、プロ
セッサからのメモリアクセス要求に対応してディレクト
リ記憶部を参照し、メモリブロックのアドレスが保持さ
れている場合は、当該アドレスに付随するノードに、保
持されていない場合は共有メモリの属するノードにメモ
リアクセス要求を転送するメモリアクセス要求転送手段
と、自ノードの共有メモリに対する無効化/更新要求に
対応してディレクトリ記憶部を参照し、最初に無効化/
更新要求を受け取った要求元ノードに対し更新許諾の応
答を返し、自ノードには無効化要求と無効化要求元ノー
ドIDを送り、ノード情報に保持された他のノードには無
効化要求を送る相互結合網ルータ間同期手段と、よりな
る一貫性処理部を有することを特徴とする、分散共有メ
モリ型並列計算機。 - 【請求項2】 請求項1に記載の分散共有メモリ型並列
計算機であって、 ディレクトリ記憶部は、転送ノード情報を有し、 一貫性処理部は、プロセッサからの読み出し要求に対応
して、ディレクトリ記憶部を参照し、ノード情報に保持
されたノードのうちの、最寄りのノードに読み出し要求
を転送し、最寄りのノードが共有メモリの属するノード
以外の場合、読み出し要求元のノードIDを転送ノード情
報として登録し、共有メモリの属するノードからの無効
化要求に対応し転送ノード情報を参照し、全転送ノード
に無効化要求を転送する、読み出しデータ転送処理手段
を有することを特徴とする分散共有メモリ型並列計算
機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27529399A JP4689783B2 (ja) | 1999-09-28 | 1999-09-28 | 分散共有メモリ型並列計算機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27529399A JP4689783B2 (ja) | 1999-09-28 | 1999-09-28 | 分散共有メモリ型並列計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001101148A true JP2001101148A (ja) | 2001-04-13 |
JP4689783B2 JP4689783B2 (ja) | 2011-05-25 |
Family
ID=17553422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27529399A Expired - Fee Related JP4689783B2 (ja) | 1999-09-28 | 1999-09-28 | 分散共有メモリ型並列計算機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4689783B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007183915A (ja) * | 2005-12-30 | 2007-07-19 | Internatl Business Mach Corp <Ibm> | マルチプロセッサ・システムのためのディレクトリ・ベースのデータ転送プロトコル(データ一貫性を維持する方法およびシステム) |
JP2013012235A (ja) * | 2001-06-04 | 2013-01-17 | Fujitsu Ltd | 複数ノード間での通信方法、相互接続ポートおよび相互接続システム |
JP2013515997A (ja) * | 2009-12-30 | 2013-05-09 | エンパイア テクノロジー ディベロップメント エルエルシー | マルチコアプロセッサアーキテクチャにおけるデータ記憶およびアクセス |
JP5435132B2 (ja) * | 2010-07-12 | 2014-03-05 | 富士通株式会社 | 情報処理システム |
-
1999
- 1999-09-28 JP JP27529399A patent/JP4689783B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013012235A (ja) * | 2001-06-04 | 2013-01-17 | Fujitsu Ltd | 複数ノード間での通信方法、相互接続ポートおよび相互接続システム |
JP2007183915A (ja) * | 2005-12-30 | 2007-07-19 | Internatl Business Mach Corp <Ibm> | マルチプロセッサ・システムのためのディレクトリ・ベースのデータ転送プロトコル(データ一貫性を維持する方法およびシステム) |
JP2013515997A (ja) * | 2009-12-30 | 2013-05-09 | エンパイア テクノロジー ディベロップメント エルエルシー | マルチコアプロセッサアーキテクチャにおけるデータ記憶およびアクセス |
JP2014149859A (ja) * | 2009-12-30 | 2014-08-21 | Emprie Technology Development LLC | マルチコアプロセッサアーキテクチャにおけるデータ記憶およびアクセス |
JP5435132B2 (ja) * | 2010-07-12 | 2014-03-05 | 富士通株式会社 | 情報処理システム |
Also Published As
Publication number | Publication date |
---|---|
JP4689783B2 (ja) | 2011-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5604882A (en) | System and method for empty notification from peer cache units to global storage control unit in a multiprocessor data processing system | |
JP3644587B2 (ja) | 共用介入サポートを有する不均等メモリ・アクセス(numa)・データ処理システム | |
JP4848771B2 (ja) | キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム | |
JP3661761B2 (ja) | 共用介入サポートを有する不均等メモリ・アクセス(numa)データ処理システム | |
US20010013089A1 (en) | Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol | |
EP1255201A1 (en) | Shared memory multiprocessing system employing mixed broadcast snooping and directory based coherency protocols | |
US7529893B2 (en) | Multi-node system with split ownership and access right coherence mechanism | |
JP2013058225A (ja) | マルチプロセッサ・システムにおけるキャッシュ・コヒーレンスにおいて用いるフォワード状態 | |
JP4959279B2 (ja) | マルチプロセッサ・システムのためのディレクトリ・ベースのデータ転送プロトコル(データ一貫性を維持する方法およびシステム) | |
US6922755B1 (en) | Directory tree multinode computer system | |
US20050010615A1 (en) | Multi-node computer system implementing memory-correctable speculative proxy transactions | |
JP4507563B2 (ja) | マルチプロセッサシステム | |
US20050013294A1 (en) | Multi-node computer system with active devices employing promise arrays for outstanding transactions | |
US20050044174A1 (en) | Multi-node computer system where active devices selectively initiate certain transactions using remote-type address packets | |
US20050027947A1 (en) | Multi-node computer system including a mechanism to encode node ID of a transaction-initiating node in invalidating proxy address packets | |
US7225298B2 (en) | Multi-node computer system in which networks in different nodes implement different conveyance modes | |
US8024526B2 (en) | Multi-node system with global access states | |
JP4689783B2 (ja) | 分散共有メモリ型並列計算機 | |
JP7277075B2 (ja) | スヌープリクエストに対する応答の転送 | |
US7606978B2 (en) | Multi-node computer system implementing global access state dependent transactions | |
US7360029B2 (en) | Multi-node computer system in which interfaces provide data to satisfy coherency transactions when no owning device present in modified global access state node | |
US7814278B2 (en) | Multi-node system with response information in memory | |
JP2002024198A (ja) | 分散共有メモリ型並列計算機 | |
US20040260886A1 (en) | Multi-node system with interface intervention to satisfy coherency transactions transparently to active devices | |
US20050005075A1 (en) | Multi-node computer system employing multiple memory response states |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060721 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080416 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080422 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080603 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090707 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110217 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140225 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |