JP3877186B2 - 並列計算機 - Google Patents
並列計算機 Download PDFInfo
- Publication number
- JP3877186B2 JP3877186B2 JP02972297A JP2972297A JP3877186B2 JP 3877186 B2 JP3877186 B2 JP 3877186B2 JP 02972297 A JP02972297 A JP 02972297A JP 2972297 A JP2972297 A JP 2972297A JP 3877186 B2 JP3877186 B2 JP 3877186B2
- Authority
- JP
- Japan
- Prior art keywords
- write
- main memory
- message
- mirror
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Multi Processors (AREA)
Description
【発明の属する技術分野】
本発明は、分散メモリ方式の並列計算機のメモリ機構に係わり、特に、並列計算機を構成する各要素プロセッサ間での主記憶内容の共有を実現するためのメモリ機構に関する。
【0002】
【従来の技術】
計算機に対する高速処理性能への要求は、演算プロセッサを複数台連携して使用する並列計算機の登場を促した。
科学技術計算などのいわゆるスーパーコンピューティング分野への適用を目的とする並列計算機は、数百から数千台の演算プロセッサを有し、その演算プロセッサが相互結合網で接続されるという形態をとる。
また、この形態の並列計算機は、各演算プロセッサがそれぞれ主記憶を有し、それを管理するという構成方式(一般に分散メモリ方式と呼ぶ)をとる。
分散メモリ方式の並列計算機では、各演算プロセッサが他の演算プロセッサが管理する主記憶上のデータを参照したい場合に、演算プロセッサ間の相互結合網を介したデータ転送によってこれを実現する。
【0003】
分散メモリ方式の並列計算機は、このデータ転送の実現方法の違いによって、分散共有メモリ型とメッセージパッシング型の2種類に分類される。
分散共有メモリ型の並列計算機では、他演算プロセッサの主記憶領域を指すアドレスへのロード/ストア命令(機械語命令)の実行によって自動的にデータ転送が発生する。
この時のデータ転送量は、ロード/ストア命令が対象とするワード(方式によっては数十ワード)程度である。
一方、メッセージパッシング型の並列計算機では、プログラム上の手続き(関数)により明示的にデータ転送機構を動作させてデータ転送を実現する。
この時のデータ転送量は、ハードウェア的な限界があるものの、その限界までの範囲内で任意であり、数キロワード以上といった多量のデータ転送も実現できる。
【0004】
上述のとおり、分散共有メモリ型とメッセージパッシング型では、データ転送起動のメカニズムや転送データ量に相違があるが、さらに演算プロセッサがキャッシュメモリを有する場合の制御機構が大幅に異なる。
分散共有メモリ型の並列計算機では、バス結合のマルチプロセッサ(シンメトリックマルチプロセッサ:SMP)と同様に、データ転送にともなって、キャッシュメモリと主記憶との内容一致制御(コヒーレンス制御)をハードウェアによって自動的に行う。
例えば、米国Stanford大学のDashという分散共有メモリ型の並列計算機では、ディレクトリ方式という方式でコヒーレンス制御を実現している。
しかし、このような制御機構を実現するのは、ハードウェアコストの面からは不利である。
【0005】
【発明が解決しようとする課題】
主記憶内容の共有に関しては、科学技術計算のような定型的な処理ではそれほど要求がなかった。
しかし、並列計算機の適用分野を広げるという面では、主記憶内容の共有が必要となる応用も考えられる。
また、並列計算機のOSは、基本的に各要素プロセッサ上で個別に動作し、個々の要素プロセッサの資源や状態を管理しており、システム全体の資源や状態に関する情報が必要な時には、各要素プロセッサ上のOS間で相互に情報を交換してデータベースを構築し、その情報を元に資源の割り当てやプロセス(ジョブ)のスケジューリングを行う。
例えば、IBMの並列計算機であるSP2のOSは、ロードレベラーという機能を提供し、各要素プロセッサの負荷状況を示すデータベースを構築し、その情報に基づいた負荷分散によって要素プロセッサ毎の負荷の均等化を実現する。
このような処理では、各要素プロセッサ上のOS間で多量の通信が発生するため、処理オーバヘッドが大きい。
この問題に対しても主記憶内容の共有が可能であれば、その共有領域にデータベースを構築することで上記のOS間通信による処理オーバヘッドが削減できる。
上記の主記憶内容の共有機構を、先述の米国Stanford大学のDashに代表されるような従来の分散共有メモリ機構ほどのハードウェアコストをかけずに実現するというのが本発明が解決しようとする課題である。
【0006】
【課題を解決するための手段】
上記課題を解決するために、本発明は、
相互結合網で接続される複数の要素プロセッサを有し、該各要素プロセッサが個別に主記憶を所有し、これを管理する分散メモリ方式をとる並列計算機において、
該要素プロセッサの記憶制御装置が、特定のアドレス領域への主記憶書き込み要求を検出する機構を持ち、該要素プロセッサの該記憶制御装置が、該特定アドレス領域への主記憶書き込み要求を検出した際に、該書き込み要求を主記憶に送出すると同時に、相互結合網へのインタフェース装置を介して、該書き込み要求を該要素プロセッサから相互結合網に送出する機構を備えるようにしている。
さらに、前記要素プロセッサの記憶制御装置が、前記特定アドレス領域への主記憶書き込み要求を検出するための該特定アドレス領域の先頭アドレス値を登録した参照表を備えるようにしている。
さらに、前記参照表は複数のエントリからなり、
各エントリは、エントリの有効/無効を示すフィールドと、前記特定アドレス領域の先頭アドレス値を示すフィールドと、該特定アドレス領域に対応する識別名を示すフィールドを有し、
該識別名は、システム全体で一元的に管理され、同じ識別名を有する特定アドレス領域を所有する該要素プロセッサは、同グループとして定義され、該グループの同じ識別名を有する特定アドレス領域は、該各要素プロセッサの主記憶上での存在するアドレスが異なっていても、該識別名によって一意に認識され、該要素プロセッサの記憶制御装置が前記特定アドレス領域への主記憶書き込み要求を検出し、前記相互結合網へのインタフェース装置を介して該書き込み要求を要素プロセッサ外に伝える機構によって、該グループの同じ該識別名を有する全該特定アドレス領域が同じ内容を維持するように制御されるようにしている。
【0007】
また、前記要素プロセッサの記憶制御装置が前記特定アドレス領域への主記憶書き込み要求を検出し、前記相互結合網へのインタフェース装置を介して該書き込み要求を要素プロセッサから相互結合網に送出する際に、該相互結合網に接続される全該要素プロセッサを対象として放送メッセージ機能を使用するようにしている。
さらに、前記放送メッセージ機能を使用する際に、通常の放送メッセージ機能と区別するために、該放送メッセージのメッセージ形式の中に特殊モードビットフィールドを設け、
前記要素プロセッサの記憶制御装置が前記特定アドレス領域への主記憶書き込み要求を検出し、前記相互結合網へのインタフェース装置を介して該書き込み要求を該要素プロセッサから該相互結合網へ送出する際には、該メッセージの該特殊モードビットフィールドを有効化し、該メッセージに主記憶への書き込みバイト位置を示す情報、書き込み先領域での相対アドレス、前記識別名、書き込みデータ、および、書き込みデータ長を登録するようにしている。
さらに、前記相互結合網へのインタフェース装置は、
複数のエントリからなり、各エントリはエントリの有効/無効を示すフィールドと、前記特定アドレス領域の先頭アドレス値を示すフィールドと、該特定アドレス領域に対応する識別名を示すフィールドを持つ参照表を有し、
前記特殊モードの放送メッセージを受信した際に、該メッセージ中の識別名情報を取り出し、該参照表から該識別名が一致するエントリを探索し、一致するエントリが存在しなければ、該メッセージを破棄し、一致するエントリが存在すれば、該エントリから該特定アドレス領域の先頭アドレス値を読み取り、該メッセージ中の該書き込み先領域での相対アドレス情報と組み合わせて書き込みアドレスを作成し、その他、該メッセージ中の書き込みデータ、書き込みデータ長、書き込みバイト位置を示す情報を組み合わせて主記憶アクセス要求を作成し、これを前記記憶制御装置に送出する機構を有するようにしている。
さらに、前記相互結合網へのインタフェース装置は、前記特殊モードの放送メッセージを受信した際に、該メッセージから主記憶への書き込みバイト位置を示す情報、前記書き込み先領域での相対アドレス、前記識別名、書き込みデータ、および、書き込みデータ長といった情報を取り出し、これらを外部からの該特定アドレス領域への書き込み要求として前記記憶制御装置に送出する機構を有し、
前記記憶制御装置は、該外部からの特定アドレス領域への書き込み要求を前記相互結合網へのインタフェース装置から受け取ると、該要求中の識別名情報を取り出し、該記憶制御装置が有する参照表から該識別名が一致するエントリを探索し、一致するエントリが存在しなければ、該要求を破棄し、一致するエントリが存在すれば、該エントリから該特定アドレス領域の先頭アドレス値を読み取り、該要求中の書き込み先領域での相対アドレス情報と組み合わせて書き込みアドレスを作成し、その他、該要求中の書き込みデータ、書き込みデータ長、書き込みバイト位置を示す情報を組み合わせて主記憶アクセス要求を作成し、これを該主記憶に送出する機構を有するようにしている。
【0008】
また、前記要素プロセッサの記憶制御装置が前記特定アドレス領域への主記憶書き込み要求を検出し、前記相互結合網へのインタフェース装置を介して該書き込み要求を要素プロセッサから該相互結合網へ送出する際に、特定のグループとして定義された複数の要素プロセッサの総てを対象とした放送メッセージの転送を行うグループ内放送メッセージ機能を使用するようにしている。
さらに、該グループ内放送メッセージ機能を使用する際に、通常のグループ内放送メッセージ機能と区別するために、該グループ内放送メッセージのメッセージ形式の中に特殊モードビットフィールドを設け、
該要素プロセッサの該記憶制御装置が前記特定アドレス領域への主記憶書き込み要求を検出し、前記相互結合網へのインタフェース装置を介して該書き込み要求を該要素プロセッサから該相互結合網へ送出する際には、該メッセージの該特殊モードビットフィールドを有効化し、該メッセージに主記憶への書き込みバイト位置を示す情報、書き込み先領域での相対アドレス、前記識別名、書き込みデータ、および、書き込みデータ長を登録するようにしている。
さらに、前記相互結合網へのインタフェース装置は、
複数のエントリからなり、各エントリはエントリの有効/無効を示すフィールドと、前記特定アドレス領域の先頭アドレス値を示すフィールドと、該特定アドレス領域に対応する識別名を示すフィールドを持つ参照表を有し、
前記特殊モードのグループ内放送メッセージを受信した際に、該メッセージ中の識別名情報を取り出し、該参照表から該識別名が一致するエントリを探索し、一致するエントリが存在しなければ、該メッセージを破棄し、一致するエントリが存在すれば、該エントリから該特定アドレス領域の先頭アドレス値を読み取り、該メッセージ中の該書き込み先領域での相対アドレス情報と組み合わせて書き込みアドレスを作成し、その他、該メッセージ中の書き込みデータ、書き込みデータ長、書き込みバイト位置を示す情報を組み合わせて主記憶アクセス要求を作成し、これを前記記憶制御装置に送出する機構を有するようにしている。
さらに、前記相互結合網へのインタフェース装置は、前記特殊モードの放送メッセージを受信した際に、該メッセージから主記憶への書き込みバイト位置を示す情報、前記書き込み先領域での相対アドレス、前記識別名、書き込みデータ、および、書き込みデータ長といった情報を取り出し、これらを外部からの該特定アドレス領域への書き込み要求として前記記憶制御装置に送出する機構を有し、
前記記憶制御装置は、該外部からの特定アドレス領域への書き込み要求を前記相互結合網へのインタフェース装置から受け取ると、該要求中の識別名情報を取り出し、該記憶制御装置が有する参照表から該識別名が一致するエントリを探索し、一致するエントリが存在しなければ、該要求を破棄し、一致するエントリが存在すれば、該エントリから該特定アドレス領域の先頭アドレス値を読み取り、該要求中の書き込み先領域での相対アドレス情報と組み合わせて書き込みアドレスを作成し、その他、該要求中の書き込みデータ、書き込みデータ長、書き込みバイト位置を示す情報を組み合わせて主記憶アクセス要求を作成し、これを該主記憶に送出する機構を有するようにしている。
【0009】
また、それぞれが主記憶を有する複数のプロセッサと、該複数のプロセッサを相互接続する相互結合網とを有する並列計算機において、
該プロセッサの記憶装置は、特定領域への主記憶書き込み要求を検出する機構と、該特定領域への主記憶書き込み要求を検出した際に、該書き込み要求を主記憶および該相互結合網へ送出する機構と、該書き込み要求を該相互結合網から伝えられた際に、該伝えられた書き込み要求に従って、該書き込み要求を伝えられたプロセッサの主記憶の特定領域を、該書き込み要求を送信したプロセッサの主記憶の特定領域と同じ内容にする機構とを有するようにしている。
さらに、前記並列計算機は、前記特定領域と対応する識別子を有し、前記記憶制御装置は、該識別子を参照して、前記書き込み要求の送信側の主記憶の特定領域の内容と該書き込み要求の受信側の主記憶の特定領域の内容を同じにし、前記各プロセッサの主記憶上での該特定領域は任意の主記憶のアドレスであるようにしている。
【0010】
【発明の実施の形態】
(実施の形態1)
本発明の実施の形態を図を用いながら説明する。
図2は、並列計算機の概略構成を示している。
並列計算機は、数十から数百、数千といった台数の要素プロセッサ201で構成され、要素プロセッサ201各々は、相互結合網202に接続し、その相互結合網202を介して他の要素プロセッサ201とデータの授受を行う。
相互結合網202の構成方法は様々であるが、本発明ではこの相互結合網202の構成方法を特に限定しない。
また、本発明が対象とする並列計算機は、先述のメッセージパッシング型を基本とする。
【0011】
要素プロセッサ201の構成方法もまた多種多様になるが、その一例を図3で概略的に示す。
要素プロセッサ201の主な構成要素は、命令プロセッサ101、命令プロセッサ101に付随するキャッシュメモリ(単にキャッシュと呼ぶ場合もある)302、命令プロセッサ101や後述のネットワークインタフェース108およびI/Oインタフェース303から発行されるデータアクセス要求にしたがって適当な記憶デバイスにアクセスを行うストレージコントローラ102、ストレージコントローラ102で制御される主記憶118、相互結合網202に接続しデータ転送を制御するネットワークインタフェース108、および、ストレージコントローラ102からの要求によってI/O装置にアクセスを行うI/Oインタフェース303などである。
なお、I/Oインタフェース303は構成によっては存在しないケースも考えられる。
【0012】
要素プロセッサ201中、命令プロセッサ101は、プログラム処理を行うユニットであり、ネットワークインタフェース108は、命令プロセッサ101からの指令にしたがって、メッセージパッシング型の並列計算機の特徴であるデータ転送(メッセージパッシング)を命令プロセッサ101のプログラム処理とは独立に行うユニットである。
命令プロセッサ101とネットワークインタフェース108が独立に動作するため、ストレージコントローラ102は、命令プロセッサ101からの主記憶118のアクセスを処理すると同時に、ネットワークインタフェース108からのデータ転送にともなう主記憶118へのアクセスも処理する。
本発明は、上記ストレージコントローラ102およびネットワークインタフェース108内に実現する機構に係わる。
本実施の形態では、ストレージコントローラ102およびネットワークインタフェース108内で実現する主記憶内容の共有機構について図1に基づき説明する。
なお、以降の記述において、I/Oインタフェース303がらみの動作は特に主題とする内容とは関係が無いため省略する。
また、図1についてもI/Oインタフェース303がらみの処理要素については記述を省略した。
【0013】
本発明に係わるストレージコントローラ102の主要構成要素は、命令プロセッサインタフェース103、アドレス解析部104、ミラーテーブル105、主記憶アクセスインタフェース106、および、データ転送インタフェース107である。
命令プロセッサインタフェース103は、命令プロセッサ101からの主記憶アクセスやネットワークインタフェース108へのコマンド発行(通常、ネットワークインタフェース108内の制御レジスタへのアクセスという形で実現する。制御レジスタとして、複数本のレジスタが設けられており、該レジスタをアクセスすることにより、データ転送を起動するとか、ステータスを確認するなどの処理が行われる。)というトランザクションをL101より受け取り、トランザクションへの返答(例えば主記憶読み出し結果など)や、ストレージコントローラ102やネットワークインタフェース108で検出した割り込み要因、および、データ転送に係わるキャッシュ制御コマンドなどをL102を介して命令プロセッサ101に伝える。
【0014】
アドレス解析部104は、命令プロセッサインタフェース103から伝えられた主記憶アクセス要求や、ネットワークインタフェース108へのコマンド(形式は主記憶アクセスと同様)を受け取り、そのアクセス先アドレスを解析して、主記憶アクセスはL104を介して主記憶アクセスインタフェース106へ伝え、ネットワークインタフェース108へのコマンドはL107を介してデータ転送インタフェース107へ伝える。
また、アドレス解析部104は、本発明の主記憶内容の共有機構(以降、ミラーページ機構と呼ぶ)を実現するための機能を持つ。
ミラーテーブル105は、アドレス解析部104がミラーページ機構サポート機能を実現する際に参照されるテーブルである。
【0015】
主記憶アクセスインタフェース106は、アドレス解析部104からの主記憶アクセスをL104を介して受理し、これをL105を介して主記憶118に伝える。
アクセスタイプが主記憶読み出しであった時には、読み出し結果がL106を介して主記憶118から伝えられる。
主記憶アクセスインタフェース106は、この読み出し結果を受け取り、L108を介して命令プロセッサインタフェース103に読み出し結果を伝える。
この読み出し結果は、L102を介して命令プロセッサ101に伝わる。
【0016】
さらに、主記憶インタフェース106は、データ転送に係わる主記憶アクセスも処理する。
データ転送に係わる主記憶アクセスは、データ転送インタフェース107からL110を介して伝えられる。
主記憶アクセスインタフェース106は、アドレス解析部104から主記憶アクセス要求が伝えられた時と同様に主記憶アクセスを主記憶118に対して発行し、読み出しアクセスに対しては、読み出し結果をL111を介してデータ転送インタフェース107に返送する。
【0017】
データ転送インタフェース107は、アドレス解析部104からL107を介して伝えられるネットワークインタフェース108へのコマンドを受け取り、これをL112を介してネットワークインタフェース108に伝える。
ネットワークインタフェース108からは、L113を介して前記コマンドに対する返答や、データ転送に係わる主記憶アクセス要求が伝わる。
データ転送インタフェース107は、前記コマンドに対する返答については、L109を介して命令プロセッサインタフェース103に伝え(さらにこれがL102を介して命令プロセッサ101に伝えられる)、主記憶アクセス要求については、L110を介して主記憶アクセスインタフェース106に伝える。
主記憶読み出し結果は、L111を介してデータ転送インタフェース107に伝わるので、データ転送インタフェース107は、これをL112を介してネットワークインタフェース108に伝える。
また、データ転送インタフェース107は、ネットワークインタフェース108内で発生した割り込み伝達要求を受ける場合もある。
この場合、その割り込み伝達要求は、L109を介して命令プロセッサインタフェース103に伝わり、そこから命令プロセッサ101に伝えられる。
【0018】
ストレージコントローラ102の中で、ミラーページ機構を実現する主な要素は、アドレス解析部104、ミラーテーブル105、およびデータ転送インタフェース107である。
これらの連携動作を説明する前に、本発明による主記憶内容の共有方式を説明する。
本発明では、共有主記憶(分散共有メモリ)を提供することで主記憶内容の共有を実現するというアプローチは採らない。
本発明では、同じ記憶内容を持つ主記憶ページ(本ページをミラーページと呼ぶ)を主記憶内容の共有を行いたい全プロセッサ(この全プロセッサをミラーグループとして定義し、それぞれのグループをidで識別する)に用意する。
個々のプロセッサ内での当該ミラーページに対する書き込みは、自らの主記憶に対して反映されると同時に、相互結合網202を介して前記ミラーグループ内の全プロセッサに対してブロードキャストされ、ミラーグループ内全プロセッサにおける各ミラーページに同じ書き込みとして反映される。
これによって、ミラーグループ内全プロセッサにおけるミラーページとして定義された主記憶領域が常に同じ内容をとるようになり、結果として記憶内容を共有しているのと同じ効果が得られる。
各ミラーページのページ先頭物理アドレスは、各要素プロセッサ毎に異なっていてもよい。
ミラーページの特定は、上記グループidによって行われる。
【0019】
ストレージコントローラ102内の上記ミラーページ機構を実現するためのアドレス解析部104、ミラーテーブル105、およびデータ転送インタフェース107の連携動作を以下に示す。
まず、ミラーテーブル105の構造を説明する。
ミラーテーブル105は、例えば図4に示す構造をとる。
本テーブルの主要フィールドは、有効ビットフィールド401、アドレスフィールド402、および、idフィールド403である。
有効ビットフィールド401は、当該テーブルエントリが有効な情報を持つことを示す。
アドレスフィールド402は、ミラーページとして定義した主記憶ページの先頭アドレスを示す。
idフィールド403は、同列のアドレスフィールド402が示すページが属するミラーグループのグループidを示す。
【0020】
アドレス解析部104は、命令プロセッサインタフェース103から主記憶書き込み要求を受け取ると、そのアクセス先アドレスに関して、ミラーテーブル105の有効エントリ(有効ビットフィールド401が「有効」を示しているエントリ)のアドレスフィールド402を検査し、ミラーページ領域に対するアクセスでないかどうかを調べる。
その検査結果に係わらず、主記憶書き込み要求は、主記憶アクセスインタフェース106に対して発行される。
【0021】
一方、検査の結果、当該主記憶書き込み要求がミラーページ領域に対するアクセスであった場合、アドレス解析部104は、アドレス領域が一致したミラーテーブル105のエントリのidフィールド403の内容を取り出し、当該書き込み要求とそのid情報を組とし、これをミラー要求としてデータ転送インタフェース107に伝える。
ミラー要求を受け取ったデータ転送インタフェース107は、これをミラー要求コマンドとしてネットワークインタフェース108に伝える。
この時、伝えられる内容は、ミラー要求コマンド、書き込みデータ、書き込みデータ長および書き込みバイトマーク(例えば、単位書き込み長が8バイトであった場合に、8バイトのどのバイト位置に書き込みを反映させるかを示す情報)、主記憶書き込み要求の指定アドレスのうちのページ内アドレス(ページの先頭からの相対アドレス)、および、id情報(ミラーグループid)である。
書き込み先ページの先頭アドレスは、各要素プロセッサ毎にid情報に基づいて決定されるため、伝達する必要がない。
【0022】
次に、本発明に係わるネットワークインタフェース108の構成を説明する。
本発明に係わるネットワークインタフェース108の主要な構成要素は、コマンド受信部109、コマンド送出部110、ミラー要求作成部111、メッセージ送信・コマンド処理部112、メッセージ受信部113、ミラー処理部114、ミラーテーブル115、パケット送信部116、および、パケット受信部117である。
コマンド受信部109は、ストレージコントローラ102からL112を介して、ネットワークインタフェース108内の制御レジスタへのアクセス、ミラー要求コマンド、および、ネットワークインタフェース108から要求した主記憶読み出し結果などを受け取る。
主記憶読み出し結果は、L115を介してメッセージ送信・コマンド処理部112に伝えられ、ネットワークインタフェース108の動作制御用データとしてネットワークインタフェース108内の制御レジスタにセットされたり、メッセージ送信のためのパケット作成データあるいは転送データそのものとして使用される。
ネットワークインタフェース108内の制御レジスタへのアクセスは、L115を介してメッセージ送信・コマンド処理部112に伝えられる。
そのアクセスが読み出しであった場合には、読み出し結果をL116を介してコマンド送出部110に伝える(この読み出し結果は、L113を介してストレージコントローラ102に伝わり、さらに、命令プロセッサ101に伝えられる)。
【0023】
アクセスが書き込みであった場合には、その書き込みはメッセージ送信・コマンド処理部112で処理される。メッセージ送信を起動するための書き込みコマンドも存在する。
そのようなコマンドを受け取ったメッセージ送信・コマンド処理部112は、メッセージ送信処理を開始する。
また、ミラー要求コマンドは、L114を介してミラー要求作成部111に伝わる。
メッセージ送信・コマンド処理部112は、コマンド受信部109から要求のあるネットワークインタフェース108内の制御レジスタへのアクセスと、メッセージ送信処理を行う。
制御レジスタ読み出しアクセスを受けた場合、メッセージ送信・コマンド処理部112は、読み出し結果をL116を介してコマンド送出部110に伝える。
レジスタ書き込みアクセスを受けた場合、メッセージ送信・コマンド処理部112は、その書き込みを実行する。
また、メッセージ送信・コマンド処理部112は、メッセージ送信処理を行う。
【0024】
メッセージ送信処理は、上記レジスタ書き込みアクセスがメッセージ送信起動用の制御レジスタを対象にした際に始まる。
メッセージ送信処理では、メッセージのヘッダを作成するための情報および転送データそのものを得るために主記憶アクセス要求が発生する。この主記憶アクセス要求はL116を介してコマンド送出部110に伝わる。
主記憶読み出し結果は、コマンド受信部109を介してストレージコントローラ102から受け取る。
メッセージ送信・コマンド処理部112は、主記憶読み出し結果から作成したメッセージのヘッダや転送データをL120を介してパケット送信部116に伝える。
【0025】
ミラー要求作成部111は、ミラー要求コマンドを受け取ると、コマンドのパラメータとして引き渡される書き込みデータ、書き込みデータ長、書き込みバイトマーク、書き込み先ページ内相対アドレス、および、id情報(ミラーグループid)を元にして、ミラー用ブロードキャストメッセージを作成する。
このミラー用ブロードキャストメッセージは、分散メモリ型並列計算機に一般的に提供されるブロードキャストメッセージと基本的には同形であり、その1タイプとして実装する。
具体的には、メッセージヘッダ中に、「ミラー用」を示す情報フィールドを追加し、ミラー用ブロードキャストメッセージの場合には、この「ミラー用」フィールドを有効化する。
そして、通常のブロードキャストメッセージでは書き込み先アドレスが指定されているフィールドに、書き込みバイトマーク、書き込み先ページ内相対アドレスやミラーグループidといったミラー用ブロードキャストメッセージ固有の情報を指定する。
書き込みデータ、および、書き込みデータ長は本来のブロードキャストメッセージと同様に指定する。
作成したミラー用ブロードキャストメッセージは、L119を介してパケット送信部116に伝える。
【0026】
ここで、上記ブロードキャスト機能について、さらに説明を加える。
本実施例において想定しているブロードキャスト機能は、並列計算機を構成する全要素プロセッサを対象とするものである。
これに対して、あらかじめグループ化した要素プロセッサ群のみを対象としてブロードキャストを実行する部分ブロードキャスト(あるいはグループ内ブロードキャスト)というハードウェア機能を持つ並列計算機も存在する。
例えば、日立のSR2201という並列計算機は、分割運転機能の一機能としてこの機能をサポートしている。
本実施例に関しては、上記ミラーグループと、グループ内ブロードキャストのグループを一致させれば、ミラーページ機能が効率良く実装できる。
全要素プロセッサを対象とするブロードキャスト機能を利用した場合の非効率な点は、ミラーグループ以外の要素プロセッサにもミラー用ブロードキャストメッセージが届いてしまい、これをその要素プロセッサが破棄する(詳細は後述するが、ネットワークインタフェース108内のミラーテーブル115を用いて、idを照合することで実現する)必要がある点である。
グループ内ブロードキャスト機能を利用すれば、このような非効率な動作をする要素プロセッサを減らす(場合によっては無くす)ことができる。
グループ内ブロードキャスト機能を利用する場合のミラー用ブロードキャストメッセージの実装方法も、上記ブロードキャスト機能を利用する場合と同様である(グループ内ブロードキャストメッセージのフォーマットを上記と同様に変更する)。
【0027】
次に、パケット送信部116について説明する。
パケット送信部116は、メッセージ送信・コマンド処理部112およびミラー要求作成部111からのメッセージ送信要求を受けて、伝えられたメッセージをL123を介して相互結合網202に送出する。
送出されたメッセージは、相互結合網202を介し、メッセージのヘッダ情報に基づいて宛先に転送される。
メッセージ送信・コマンド処理部112およびミラー要求作成部111からの要求は、それぞれの起動要求(コマンド)がネットワークインタフェース108に届いた順序にシリアライズされて処理される。
【0028】
パケット受信部117は、L124を介して相互結合網202からメッセージを受け取る。
パケット受信部117は、受け取ったメッセージのヘッダを解析し、そのメッセージの種類に応じてメッセージ受信部113またはミラー処理部114にメッセージを引き渡す。
メッセージの種類が通常のメッセージ(上記メッセージ送信・コマンド処理部112によって作成されたメッセージ)であれば、そのメッセージはL121を介してメッセージ受信部113に伝わる。
一方、メッセージの種類がミラー用ブロードキャストメッセージであれば、そのメッセージはL122を介してミラー処理部114に伝わる。
【0029】
メッセージ受信部113は、受信したメッセージの主記憶118への書き込み要求を発行する。
本処理部は、先述の日立SR2201などのメッセージパッシング型の分散メモリ方式並列計算機で一般に採用されている公知の技術によって実現可能であるため、本実施例では詳細な構成および動作説明を省略する。
メッセージ受信部113は、発行した主記憶書き込み要求をL117を介してコマンド送出部110に伝える。
【0030】
ミラー処理部114は、その処理においてミラーテーブル115を参照する。
ミラーテーブル115は、先に説明したストレージコントローラ102内のミラーテーブル105と同じ構造であり、同じ要素プロセッサ201内のストレージコントローラ102内ミラーテーブル105とネットワークインタフェース108内ミラーテーブル115は同じ内容となる。
ミラー処理部114は、ミラー用ブロードキャストメッセージを受け取ると、メッセージヘッダからミラーグループid情報を取り出し、このid情報とミラーテーブル115の有効な(有効ビットフィールド401が「有効」を示している)エントリのidフィールド403の値を照合する。
idが一致するエントリが存在しなかった場合、そのミラー用ブロードキャストメッセージは当該要素プロセッサ201を対象としたものでないと判断し、破棄する。
idが一致するエントリが存在した場合、ミラー処理部114は、そのエントリのアドレスフィールド402からミラーページの先頭アドレスを取り出し、ミラー用ブロードキャストメッセージ中の書き込み先ページ内相対アドレスと組み合わせて主記憶書き込み要求のターゲットアドレスを決定し、その他、ミラー用ブロードキャストメッセージ中の書き込みデータ、書き込みデータ長、書き込みバイトマークの各情報と組み合わせてストレージコントローラ102への主記憶書き込み要求を生成し、これをL118を介してコマンド送出部110に伝える。
この主記憶書き込み要求は、メッセージ受信部113で発行される要求と同形式である。
【0031】
コマンド送出部110は、L116を介して伝わるネットワークインタフェース108内の制御レジスタ読み出し結果、ネットワークインタフェース108の動作制御に係わる情報の主記憶118からの読み出し要求、および、メッセージ送信処理に伴う主記憶118の読み出し要求、L117およびL118を介して伝わる主記憶118への書き込み要求、さらには、ネットワークインタフェース108内で発生した割り込み要求をL113を介してストレージコントローラ102に伝える(ストレージコントローラ102に要求が伝わってからの処理は既に説明したとおりである)。
以上が本発明に係わる構成要素についての説明である。
【0032】
続いて、本発明のミラーページ機構に関する基本的な動作のフローを説明する。
まず、本機構を使用するにあたってのソフトウェア的な準備手続きについて説明する。
第一に、主記憶内容を共有したい要素プロセッサ201間で、ミラーグループを定義する。
ミラーグループは、ミラーグループidによって認識されるが、このミラーグループidの割り当ては、並列計算機全体でOS(特定のサーバ)が一元的に管理する。
ミラーグループを形成すべくミラーグループidを取得した各要素プロセッサ201のOSは、それぞれミラーページとして使用させる主記憶118上のページを用意し、これを初期化する。
そしてそのページの先頭アドレスをミラーグループidとともにミラーテーブル105および115の空きエントリに登録する。
このミラーテーブル105および115への登録にあたっては、ページの先頭アドレスをアドレスフィールド402に、ミラーグループidをidフィールド403にそれぞれ登録し、当該エントリの有効ビットフィールド401を「有効」を示す内容にセットする。
以上でミラーページが定義できたことになる。
各要素プロセッサ201上の同じミラーグループで定義されるミラーページの主記憶118上の先頭アドレスは、各要素プロセッサ201毎に異なっていても構わない。
これらは、ミラーグループidによって同じミラーページとして認識される。
【0033】
次に、ハードウェアの動作を説明する。
本機構が動作を開始するトリガとなるのが、要素プロセッサ201におけるミラーページを対象とした主記憶書き込み要求の発生である。
この主記憶書き込み要求は、命令プロセッサ101からL101を介して、ストレージコントローラ102内の命令プロセッサインタフェース103に伝わり、そこからL103を介してアドレス解析部104に到達する。
アドレス解析部104は、受け取った主記憶書き込み要求をL104を介して主記憶アクセスインタフェース106に伝える(その後、本要求はL105を介して主記憶118に伝えられ、書き込みが反映される)と同時に、受け取った主記憶書き込み要求のターゲットアドレスに関して、ミラーテーブル105を検査する。
検査の結果、主記憶書き込み要求のターゲットアドレスと一致する(ページ境界アドレスで比較する)値のアドレスフィールド402を持つエントリが存在すれば(このエントリの有効ビットフィールド401は、「有効」を示す)、そのエントリのidフィールド403の値(ミラーグループid)を取り出す。
さらに、主記憶書き込み要求のターゲットアドレスを元にページ境界アドレスからの相対アドレスを求め、このミラーグループid、相対アドレス、さらに、主記憶書き込み要求の書き込みデータ、書き込みデータ長、書き込みバイトマークを組としてミラー要求コマンドを生成する。
【0034】
ミラー要求コマンドは、L107を介してデータ転送インタフェース107に伝えられ、さらにL112を介してネットワークインタフェース108内のコマンド受信部109に伝えられる。
コマンド受信部109では、コマンドタイプがミラー要求コマンドであることを認識すると、L114を介してミラー要求作成部111にそのコマンドを伝達する。
ミラー要求作成部111では、ミラー要求コマンドを受け取ると、そのコマンドのパラメータであるミラーグループid、相対アドレス、主記憶書き込み要求の書き込みデータ、書き込みデータ長、および書き込みバイトマークを用いてミラー用ブロードキャストメッセージを生成し、これをL119を介してパケット送信部116に伝える。
パケット送信部116は、L123を介してミラー用ブロードキャストメッセージを相互結合網202に送出する。
相互結合網202は、ブロードキャスト機能(あるいはグループ内ブロードキャスト機能)を使用して、全要素プロセッサ201(グループ内ブロードキャスト機能を用いた場合にはグループ内全要素プロセッサ201)に対してミラー用ブロードキャストメッセージを配布する。
【0035】
各要素プロセッサ201は、L124を介してネットワークインタフェース108内のパケット受信部117で上記ミラー用ブロードキャストメッセージを受け取り、パケット受信部117は、これをミラー処理部114に伝える。
ミラー処理部114は、ミラー用ブロードキャストメッセージを受け取ると、メッセージヘッダからミラーグループid情報を取り出し、このid情報とミラーテーブル115の有効な(有効ビットフィールド401が「有効」を示している)エントリのidフィールド403の値を照合する。
idが一致するエントリが存在しなかった場合、そのミラー用ブロードキャストメッセージは当該要素プロセッサ201を対象としたものでないと判断し、破棄する。
idが一致するエントリが存在した場合、ミラー処理部114は、そのエントリのアドレスフィールド402からミラーページの先頭アドレスを取り出し、ミラー用ブロードキャストメッセージ中の書き込み先ページ内相対アドレスと組み合わせて主記憶書き込み要求のターゲットアドレスを決定し、その他、ミラー用ブロードキャストメッセージ中の書き込みデータ、書き込みデータ長、書き込みバイトマークの各情報と組み合わせてストレージコントローラ102へのミラーページ処理に係わる主記憶書き込み要求を生成し、これをL118を介してコマンド送出部110に伝える。
コマンド送出部110は、L118を介して伝わる主記憶118への書き込み要求をL113を介してストレージコントローラ102内のデータ転送インタフェース107に伝える。
【0036】
データ転送インタフェース107は、受理したミラーページ処理に係わる主記憶書き込み要求をL110を介して主記憶アクセスインタフェース106に伝える。
その後、この要求は、L105を介して主記憶118に伝わり、主記憶118のミラーページに対して書き込みが反映される。
以上の一連の動作によって、ミラーグループで定義したミラーページに対するミラーグループ内の任意の要素プロセッサ201での主記憶118への書き込み処理が、その書き込み処理が発生した要素プロセッサ201の主記憶118だけでなく、ミラーグループ内全要素プロセッサ201の主記憶118のミラーページに対して反映され、これによって、論理的な主記憶内容の共有が実現できる。
【0037】
説明の都合上、最後の記述となったが、本発明では、命令プロセッサ101に付随するキャッシュメモリ302の制御に関して2つの想定をしている。
1つ目の想定は、命令プロセッサ101内でのキャッシュメモリ302への書き込みを同時に主記憶118にも反映させるストアスルー方式をとる点である。
これまでに説明したとおり、本発明のミラーページ機構は、ミラーページを対象とした主記憶書き込み要求がストレージコントローラ102に伝わってはじめて動作を開始する。
したがって、主記憶118への書き込みがキャッシュメモリ302のみに反映され、キャッシュメモリ302からそのアドレス領域が追い出されるまでその書き込み内容が主記憶118に反映されないストアイン方式では、ミラーページアクセスに関する処理効率および使い勝手が低下する。
ストアイン方式を採る場合、主記憶118のミラーページへの書き込みが発生する度(あるいは一定のタイミング毎)に、ソフトウェア手段によってキャッシュメモリ302の内容を主記憶118に反映させるコマンドを発行することで、本発明のミラーページ機構を活用できる。
【0038】
次に、2つ目の想定について説明する。
ネットワークインタフェース108からの主記憶書き込み要求は、命令プロセッサ101の動作とは独立に行われる。
したがって、ネットワークインタフェース108からの主記憶書き込み要求が対象とするアドレス領域が、命令プロセッサ101に付随するキャッシュメモリ302に存在した場合、通常、命令プロセッサ101では、このネットワークインタフェース108からの主記憶書き込みを知ることができず、古い情報を参照し続けることになる。
この問題は、従来のメッセージパッシングにおけるメッセージ受信に関しても存在した。
例えば、日立の並列計算機SR2201では、ストレージコントローラ102内のデータ転送インタフェース107に相当する部分で、メッセージ受信に伴う主記憶書き込み要求に対して、対象とするアドレス領域に関して自動的にキャッシュ制御コマンドを命令プロセッサ101に対して発行する機構を実現してこの問題を解消している((社)電子情報通信学会・信学技報CPSY96−47「並列計算機SR2201の方式と評価」参照)。
本発明においても、同様の機構をデータ転送インタフェース107が有し、ミラーページへの書き込み要求も含めて、主記憶118への書き込み要求を受け付けると、命令プロセッサ101に対して、書き込み要求が対象とするアドレス領域に関するキャッシュ制御コマンドを発行することを想定した。
ただし、この2点目の想定も、1点目の想定同様、効率を気にしなければソフトウェア手段で回避可能である。
以上が、本発明に関わる実施の形態である。
【0039】
(実施の形態1の変形例1)
本発明の実施の形態1では、同じ要素プロセッサ201のストレージコントローラ102とネットワークインタフェース108の中に同じ構造でかつ同じ内容のミラーテーブル105および115を有していた。
本変形例1では、この2つのミラーテーブルのうちネットワークインタフェース108中のミラーテーブル115を用意しない場合の実施の形態を述べる。
図5を用いて本実施の形態を説明する。
本実施の形態において、図1で説明した実施の形態1と異なる部分は、ネットワークインタフェース108内のミラー処理部514およびコマンド送出部510と、ストレージコントローラ102内のデータ転送インタフェース507のみである。
これ以外の部分は、実施の形態1と全く同じである。
動作的には、ミラー用ブロードキャストメッセージをミラー処理部514が受理してから、ミラーページ処理に係わる主記憶118への書き込み要求がデータ転送インタフェース507から発行されるまでの動作および各動作ユニット間のインタフェースが異なっている。
本実施の形態では、以上の相違点についてのみ記述する。
【0040】
ミラー処理部514は、ミラー用ブロードキャストメッセージを受け取ると、ミラーグループid、書き込み先ページ内相対アドレス、書き込みデータ、書き込みデータ長、書き込みバイトマークといった情報をメッセージから取り出し、これらを組としてミラー書き込み要求コマンドを生成する。
ミラー書き込み要求コマンドは、L518を介してコマンド送出部510に伝わる。
コマンド送出部510は、実施の形態1には存在しなかったミラー書き込み要求コマンドを受け取り、これをL513を介してストレージコントローラ102内のデータ転送インタフェース507に伝える。
この点を除くと、コマンド送出部510の構成および動作は、実施の形態1と同じである。
データ転送インタフェース507は、ミラー書き込み要求コマンドを受け取ると、そのコマンドのパラメータであるミラーグループid情報を取り出し、このid情報とミラーテーブル105の有効な(有効ビットフィールド401が「有効」を示している)エントリのidフィールド403の値を照合する。
idが一致するエントリが存在しなかった場合、そのミラー書き込み要求コマンドは当該要素プロセッサ201を対象としたものでないと判断し、破棄する。
idが一致するエントリが存在した場合、データ転送インタフェース507は、そのエントリのアドレスフィールド402からミラーページの先頭アドレスを取り出し、ミラー書き込み要求コマンドのパラメータである書き込み先ページ内相対アドレスと組み合わせて主記憶書き込み要求のターゲットアドレスを決定し、このアドレスとミラー書き込み要求コマンドのその他のパラメータである、書き込みデータ、書き込みデータ長、書き込みバイトマークの各情報とを組み合わせて主記憶書き込み要求を生成し、これをL110を介して主記憶アクセスインタフェース106に伝える。
データ転送インタフェース507の上記以外の構成および動作については実施の形態1と同じである。
ミラーページ機構に関する動作フローについても、上記のとおり、ミラー用ブロードキャストメッセージをミラー処理部514が受理してから、ミラーページ処理に係わる主記憶118への書き込み要求がデータ転送インタフェース507から発行されるまでの部分が実施の形態1と異なるだけである。
以上が、本発明に関わる実施の形態1に対する変形例1である。
【0041】
【発明の効果】
本発明によれば、分散メモリ方式の並列計算機において、主記憶内容の共有を低コストで実現できる。
また、主記憶内容の共有機構を提供したことで、要素プロセッサ間の連携処理の効率向上や、適用アプリケーションの拡大が可能となる。
【図面の簡単な説明】
【図1】本発明に係わるストレージコントローラおよびネットワークインタフェースの構成を示す図である。
【図2】本発明に係わるメッセージパッシング型の分散メモリ方式並列計算機の概略構成を示す図である。
【図3】本発明に係わる要素プロセッサの概略構成を示す図である。
【図4】本発明に係わるミラーテーブルの構成を示す図である。
【図5】本発明に係わるストレージコントローラおよびネットワークインタフェースの他の構成を示す図である。
【符号の説明】
101 命令プロセッサ
102 ストレージコントローラ
103 命令プロセッサインタフェース
104 アドレス解析部
105、115 ミラーテーブル
106 主記憶アクセスインタフェース
107、507 データ転送インタフェース
108 ネットワークインタフェース
109 コマンド受信部
110、510 コマンド送信部
111 ミラー要求作成部
112 メッセージ送信・コマンド処理部
113 メッセージ受信部
114、514 ミラー処理部
116 パケット送信部
117 パケット受信部
118 主記憶
201a〜201n 要素プロセッサ
202 相互結合網
302 キャッシュメモリ
Claims (8)
- 相互結合網で接続される複数の要素プロセッサを有し、該各要素プロセッサが個別に主記憶を所有し、これを管理する分散メモリ方式をとる並列計算機において、
各々の要素プロセッサの記憶制御装置は、
複数のエントリを有し、各エントリが、エントリの有効無効を示すフィールドと、任意の主記憶アドレス領域の先頭アドレス値をミラーページの先頭アドレス値として保持するフィールドと、前記ミラーページに対応する識別名を記録するフィールドとを有する参照表と、
主記憶書き込み要求に含まれるアドレス情報と前記参照表に保持された先頭アドレス値との比較により、前記主記憶書き込み要求が前記ミラーページへの書き込み要求であることを検出する機構と、
前記主記憶書き込み要求がミラーページへの書き込み要求であることを検出した際に、該主記憶書き込み要求を主記憶に送出するとともに、該ミラーページに対応する識別名情報を有する他の要素プロセッサ向けの放送メッセージとして前記相互結合網に送出する機構と、
相互結合網から受信したメッセージが前記参照表の有効なエントリのいずれかに記録された識別名と一致する識別名情報を有することを検出した際に、該識別名に対応するミラーページへの外部からの書き込み要求を示すメッセージとして処理する機構とを有し、
もって同じ識別名を有するミラーページを所有する要素プロセッサは同じグループとして定義され、該グループの同じ識別名を有するミラーページは、各々の要素プロセッサの主記憶上での存在するアドレスが異なっていても、該識別名によって一意に認識され、該グループの同じ識別名を有する全てのミラーページが同じ内容を維持するように制御されることを特徴とする並列計算機。 - 請求項1記載の並列計算機において、
前記要素プロセッサの記憶制御装置が前記ミラーページへの主記憶書き込み要求を検出し、前記相互結合網へのインタフェース装置を介して該書き込み要求を要素プロセッサから相互結合網に送出する際に、該相互結合網に接続される全ての要素プロセッサを対象として放送メッセージ機能を使用することを特徴とする並列計算機。 - 請求項2記載の並列計算機において、
前記放送メッセージ機能を使用する際に、通常の放送メッセージ機能と区別するために、該放送メッセージのメッセージ形式の中に特殊モードビットフィールドを設け、
前記要素プロセッサの記憶制御装置が前記ミラーページへの主記憶書き込み要求を検出し、前記相互結合網へのインタフェース装置を介して該書き込み要求を該要素プロセッサから該相互結合網へ送出する際には、該メッセージの該特殊モードビットフィールドを有効化し、該メッセージに主記憶への書き込みバイト位置を示す情報、書き込み先領域での相対アドレス、前記識別名、書き込みデータ、および、書き込みデータ長を登録することを特徴とする並列計算機。 - 請求項3記載の並列計算機において、
前記相互結合網へのインタフェース装置は、前記記憶制御装置に備えた前記参照表と同一構造で同一の内容を保持する第2の参照表を備え、かつ前記特殊モードの放送メッセージを受信した際に、該メッセージ中の識別名情報を取り出し、前記第2の参照表から識別名が一致するエントリを探索し、一致するエントリが存在しなければ、該メッセージを破棄し、一致するエントリが存在すれば、該エントリから先頭アドレス値を読み取り、該メッセージ中の書き込み先領域での相対アドレスと組み合わせて書き込みアドレスを作成し、該メッセージ中の書き込みデータ、書き込みデータ長、書き込みバイト位置を示す情報を組み合わせて主記憶アクセス要求を作成し、これを前記記憶制御装置に送出する機構を有することを特徴とする並列計算機。 - 請求項4記載の並列計算機において、
前記相互結合網へのインタフェース装置は、前記特殊モードの放送メッセージを受信した際に、該メッセージから主記憶への書き込みバイト位置を示す情報、前記書き込み先領域での相対アドレス、前記識別名、書き込みデータ、および、書き込みデータ長を取り出し、これらを外部からのミラーページへの書き込み要求として前記記憶制御装置に送出する機構を有し、
前記記憶制御装置は、該外部からのミラーページへの書き込み要求を前記相互結合網へのインタフェース装置から受け取ると、該要求中の識別名情報を取り出し、該記憶制御装置が有する参照表から該識別名が一致するエントリを探索し、一致するエントリが存在しなければ、該要求を破棄し、一致するエントリが存在すれば、該エントリから先頭アドレス値を読み取り、該要求中の書き込み先領域での相対アドレス情報と組み合わせて書き込みアドレスを作成し、その他、該要求中の書き込みデータ、書き込みデータ長、書き込みバイト位置を示す情報を組み合わせて主記憶アクセス要求を作成し、これを該主記憶に送出する機構を有することを特徴とする並列計算機。 - 請求項1記載の並列計算機において、
前記要素プロセッサの記憶制御装置が前記ミラーページへの主記憶書き込み要求を検出し、前記相互結合網へのインタフェース装置を介して該書き込み要求を要素プロセッサから該相互結合網へ送出する際に、特定のグループとして定義された複数の要素プロセッサの総てを対象とした放送メッセージの転送を行うグループ内放送メッセージ機能を使用することを特徴とする並列計算機。 - 請求項6記載の並列計算機において、
前記グループ内放送メッセージ機能を使用する際に、通常のグループ内放送メッセージ機能と区別するために、該グループ内放送メッセージのメッセージ形式の中に特殊モードビットフィールドを設け、
前記要素プロセッサの記憶制御装置が前記ミラーページへの主記憶書き込み要求を検出し、前記相互結合網へのインタフェース装置を介して該書き込み要求を該要素プロセッサから該相互結合網へメッセージを送出する際には、該メッセージの該特殊モードビットフィールドを有効化し、該メッセージに主記憶への書き込みバイト位置を示す情報、書き込み先領域での相対アドレス、前記識別名、書き込みデータ、および、書き込みデータ長を登録することを特徴とする並列計算機。 - 請求項7記載の並列計算機において、
前記相互結合網へのインタフェース装置は、前記記憶制御装置に備えた前記参照表と同一構造で同一の内容を保持する第2の参照表を備え、かつ前記特殊モードのグループ内放送メッセージを受信した際に、該メッセージ中の識別名情報を取り出し、前記第2の参照表から該識別名が一致するエントリを探索し、一致するエントリが存在しなければ、該メッセージを破棄し、一致するエントリが存在すれば、該エントリから先頭アドレス値を読み取り、該メッセージ中の該書き込み先領域での相対アドレス情報と組み合わせて書き込みアドレスを作成し、その他、該メッセージ中の書き込みデータ、書き込みデータ長、書き込みバイト位置を示す情報を組み合わせて主記憶アクセス要求を作成し、これを前記記憶制御装置に送出する機構を有することを特徴とする並列計算機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02972297A JP3877186B2 (ja) | 1997-01-29 | 1997-01-29 | 並列計算機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02972297A JP3877186B2 (ja) | 1997-01-29 | 1997-01-29 | 並列計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10214259A JPH10214259A (ja) | 1998-08-11 |
JP3877186B2 true JP3877186B2 (ja) | 2007-02-07 |
Family
ID=12284013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02972297A Expired - Fee Related JP3877186B2 (ja) | 1997-01-29 | 1997-01-29 | 並列計算機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3877186B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011161787A1 (ja) | 2010-06-23 | 2011-12-29 | 富士通株式会社 | 通信装置、通信方法、および通信プログラム |
-
1997
- 1997-01-29 JP JP02972297A patent/JP3877186B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10214259A (ja) | 1998-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3512910B2 (ja) | 分散計算機システムにおける記憶空間管理方法、計算機及びデータ転送方法 | |
JP2625385B2 (ja) | マルチプロセッサシステム | |
US5991797A (en) | Method for directing I/O transactions between an I/O device and a memory | |
US6421769B1 (en) | Efficient memory management for channel drivers in next generation I/O system | |
US6971098B2 (en) | Method and apparatus for managing transaction requests in a multi-node architecture | |
JP3748774B2 (ja) | キャッシュコヒーレンス共用ディスクコンピュータシステムにおけるi/o転送 | |
CN112540941B (zh) | 一种数据转发芯片及服务器 | |
CN100430907C (zh) | 用于减小高速缓存架构中的延迟和窥探代价的方法 | |
US7747763B2 (en) | System and method for ensuring a device uses the correct instance of a network service | |
US8401000B2 (en) | Method of processing data packets | |
CN100552623C (zh) | 用于在系统处理器和协处理器之间进行消息传送的系统和方法 | |
WO2002041155A2 (en) | Method and apparatus for implementing pci dma speculative prefetching in a message passing queue oriented bus system | |
JP2000112910A (ja) | 非一様メモリ・アクセス・コンピュ―タ・システム及びその操作方法 | |
CN104571934B (zh) | 一种内存访问的方法、设备和系统 | |
JP4469911B2 (ja) | リクエスト生成装置、リクエスト処理システム及び制御方法 | |
JP2006164218A (ja) | ストレージシステム及びそのキャッシュ制御方法 | |
JP3877186B2 (ja) | 並列計算機 | |
JP2780662B2 (ja) | マルチプロセッサシステム | |
JPH10240695A (ja) | Sciシステムにおける複数の未処理要求の局所記憶装置を用いた操作 | |
CN117519955B (zh) | 一种加速设备的控制方法、系统、装置及加速设备 | |
JP2830780B2 (ja) | マルチプロセッサシステム | |
JP2003316589A (ja) | 実記憶利用方法 | |
JP3641837B2 (ja) | 分散メモリ型並列計算機のデータ転送方法 | |
JP2004199535A (ja) | 計算機システムおよびそのストレージの管理方法 | |
JP3307331B2 (ja) | ネットワークファイルシステムのデータ転送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040318 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050809 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051011 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060328 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060526 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061027 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |