JP3532037B2 - 並列計算機 - Google Patents

並列計算機

Info

Publication number
JP3532037B2
JP3532037B2 JP20227196A JP20227196A JP3532037B2 JP 3532037 B2 JP3532037 B2 JP 3532037B2 JP 20227196 A JP20227196 A JP 20227196A JP 20227196 A JP20227196 A JP 20227196A JP 3532037 B2 JP3532037 B2 JP 3532037B2
Authority
JP
Japan
Prior art keywords
barrier synchronization
request message
synchronization request
node
message
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
Application number
JP20227196A
Other languages
English (en)
Other versions
JPH1049507A (ja
Inventor
健志 堀江
雅明 長塚
健一 小林
長武 白木
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP20227196A priority Critical patent/JP3532037B2/ja
Priority to US08/764,109 priority patent/US5928351A/en
Publication of JPH1049507A publication Critical patent/JPH1049507A/ja
Application granted granted Critical
Publication of JP3532037B2 publication Critical patent/JP3532037B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、並列計算機に関
し、特に、1対1通信ネットワークを備え、その通信ネ
ットワークによってバリア同期を実現する並列計算機に
関する。
【0002】
【従来の技術】並列計算機では、複数の計算機ノードに
よって、演算処理が並行して進められる。各計算機ノー
ドは、必要がある場合には、全ての計算機ノードに接続
された通信ネットワークを用いて他の計算機ノードとの
間で通信を行うことにより、他の計算機ノードが保持し
ているデータを獲得し、そのデータを用いて演算処理を
続ける。このような並列計算機では、各計算機ノード
は、自身が必要とするデータが他の計算機ノードによっ
て算出されるまで、そのデータの獲得を待機する必要が
ある。また、他の計算機ノードが必要とするデータを保
持している計算機ノードは、そのデータが当該他の計算
機ノードによって参照されるまで、そのデータを更新す
る演算を実行してはならない。
【0003】多数の計算機ノードに、このような協調動
作を行わせなければならない場合、バリア同期と呼ばれ
る同期が取られている。
【0004】
【発明が解決しようとする課題】従来の並列計算機で
は、バリア同期を実現するために、1つあるいは複数個
の物理的なトリー(木構造)からなるバリア同期専用ネ
ットワークを用いていた。このため、バリア同期に参加
させる計算機ノードを任意に選択することができないと
うい問題が生じていた。また、設定できるバリア同期の
数も、バリア同期専用ネットワークの形状によって一義
的に決まってしまう。
【0005】そこで、本発明の課題は、バリア同期に参
加する計算機ノードを任意に選択でき、しかも、複数の
計算機ノードからなる任意の数のノードグループにおい
て、独立にバリア同期を必要とする処理を実行させるこ
とができる並列計算機を提供することにある。
【0006】
【課題を解決するための手段】本発明の並列計算機は、
複数のノードと、複数のノードのそれぞれに接続される
複数のルーティングコントローラによって形成された通
信ネットワークとを有する並列計算機であり、各ルーテ
ィングコントローラは、他のルーティングコントローラ
からバリア同期要求メッセージを受信する第1バリア同
期要求メッセージ受信手段と、自身に接続されたノード
からのバリア同期要求メッセージを受信する第2バリア
同期要求メッセージ受信手段と、第1バリア同期要求メ
ッセージ受信手段に受信されるべきバリア同期要求メッ
セージの数である受信予定数と、バリア同期要求メッセ
ージを送信すべきノードの識別情報である第1ノード識
別情報と、バリア同期成立メッセージを送信すべきノー
ドの識別情報である第2ノード識別情報とを記憶する記
憶手段と、第1バリア同期要求メッセージ受信手段が記
憶手段に記憶されている受信予定数と等しい数のバリア
同期要求メッセージを受信し、かつ、第2バリア同期要
求メッセージ受信手段がバリア同期要求メッセージを受
信したときに、記憶手段に第1ノード識別情報が記憶さ
れていた場合には、第1ノード識別情報で識別されるノ
ードに対してバリア同期要求メッセージを送信し、記憶
手段に第1ノード識別情報が記憶されていなかった場合
には、自身が接続されているノードに対してバリア同期
が成立した旨を通知するとともに、記憶手段内の第2ノ
ード識別情報で識別されるノードに対してバリア同期成
立メッセージを送信する第1送信手段と、自身に接続さ
れたノードに対するバリア同期成立メッセージを他のル
ーティングコントローラから受信したときに、自身に接
続されたノードに対してバリア同期が成立した旨を通知
するとともに、記憶手段内の第2ノード識別情報で識別
されるノードに対してバリア同期成立メッセージを送信
する第2送信手段とを備える。
【0007】すなわち、本発明の並列計算機は、自身に
接続されたノード(自ノードと表記する)からのバリア
同期要求メッセージ、あるいは、他のルーティングコン
トローラからのバリア同期要求メッセージに対して、記
憶手段に記憶された受信予定数、第1ノード識別情報、
第2ノード識別情報に応じた応答を行う複数のルーティ
ングコントローラによって形成された通信ネットワーク
を有する。
【0008】このため、本発明の並列計算機では、バリ
ア同期に参加させるべき各ノードに対応するルーティン
グコントローラの記憶手段内の第1ノード識別情報に、
バリア同期要求メッセージの通知順に応じて、バリア同
期に参加させる他ノードのノード識別情報を設定すると
ともに、第2ノード識別情報に、バリア同期成立メッセ
ージの通知順に応じて、ノード識別情報を設定しておけ
ば、それらのノード間でバリア同期を実現できることに
なる。
【0009】本発明の並列計算機では、記憶手段に、幾
つかの第2ノード識別情報を記憶させておくとともに、
第1バリア同期要求メッセージ受信手段が記憶手段に記
憶されている受信予定数と等しい数のバリア同期要求メ
ッセージを受信し、かつ、第2バリア同期要求メッセー
ジ受信手段がバリア同期要求メッセージを受信したとき
に、記憶手段に第1ノード識別情報が記憶されていなか
った場合には、記憶手段に記憶されている各第2ノード
識別情報で識別される各ノードに対してバリア同期成立
メッセージを送信する第1送信手段を用いることができ
る。
【0010】また、本発明の並列計算機には、第1バリ
ア同期要求メッセージ受信手段がバリア同期要求メッセ
ージを受信した際に、その内容がカウントアップされる
カウンタと、そのカウンタの値と記憶手段に記憶されて
いる受信予定数とが一致しているときにその旨を示す情
報を出力する情報出力手段をさらに備え、その情報出力
手段が出力する情報に基づき、第1バリア同期要求メッ
セージ受信手段が記憶手段に記憶されている受信予定数
と等しい数のバリア同期要求メッセージを受信したか否
かを判定する第1送信手段を有するルーティングコント
ローラを用いることが出来る。
【0011】また、記憶手段に、幾つかの第1ノード識
別情報を記憶させておくとともに、第1送信手段とし
て、記憶手段に1つ以上の第1ノード識別情報が記憶さ
れていた場合には、各第1ノード識別情報で識別される
各ノードに対してバリア同期要求メッセージを送信する
手段を用いることもできる。
【0012】また、各ルーティングコントローラに、自
身が接続されたノードに対するバリア同期成立メッセー
ジを受信したときに、そのバリア同期成立メッセージを
送信したルーティングコントローラに対して、バリア同
期成立メッセージを受信したことを示すバリア同期成立
メッセージACKを送信する第2送信手段を採用すると
ともに、第1バリア同期要求メッセージ受信手段によっ
てバリア同期要求メッセージが受信されたときに、その
バリア同期要求メッセージを送信したルーティングコン
トローラに対して、バリア同期要求メッセージを受信し
たことを示すバリア同期要求メッセージACKを送信す
る第3送信手段と、バリア同期成立メッセージACKと
バリア同期要求メッセージACKの受信状況を監視する
ことにより、バリア同期成立メッセージとバリア同期要
求メッセージに対する処理の進行の程度を認識する認識
手段とを付加することも出来る。
【0013】また、認識手段を付加してルーティングコ
ントローラを構成する場合には、受信したバリア同期要
求メッセージが正当なものであった場合には、そのバリ
ア同期成立メッセージを送信したルーティングコントロ
ーラに対してバリア同期要求メッセージACKを送信
し、そのバリア同期成立メッセージが正当なものでなか
った場合には、その旨を示すバリア同期要求メッセージ
NAKを送信する第2送信手段、並びに、受信したバリ
ア同期成立メッセージが正当なものであった場合には、
そのバリア同期成立メッセージを送信したルーティング
コントローラに対してバリア同期成立メッセージACK
を送信し、そのバリア同期成立メッセージが正当なもの
でなかった場合には、バリア同期成立メッセージNAK
を送信する第3送信手段、バリア同期要求メッセージN
AKとバリア同期成立メッセージNAKの受信状況をも
監視し、バリア同期要求メッセージNAKとバリア同期
成立メッセージNAKのいずれかを受信したことを検出
したときには、自身が接続されたノードに対して異常が
発生したことを通知する認識手段を用いることもでき
る。
【0014】また、ノードとして、グループ識別情報を
含むバリア同期要求メッセージを第2バリア同期要求メ
ッセージ手段に対して送信するノードを用いるととも
に、記憶手段に、それぞれ、グループ識別情報に対応づ
けられた、受信予定数と第1ノード識別情報と第2ノー
ド識別情報とを含む複数のバリア同期情報を記憶させて
おき、第1送信手段並びに第2送信手段が、メッセージ
に含まれるグループ情報に応じて、各メッセージに対す
る処理内容を決定するように各ルーティングコントロー
ラを構成すれば、1つのノードを複数のバリア同期グル
ープで共通して使用できる並列計算機が得られることに
なる。
【0015】また、ノードとして、内部に備えるメモリ
上の所定のアドレスに記憶されたデータに基づき、バリ
ア同期が成立したか否かを判断するノードを用いる場合
には、各ルーティングコントローラ内の第1送信手段お
よび第2送信手段として、それぞれ、自身が接続されて
いるノードに対してバリア同期が成立した旨を通知する
際に、そのノード内に備えられているメモリの所定のア
ドレスに記憶されたデータを書き換える手段を採用する
ことが望ましい。
【0016】このように、並列計算機を構成した場合、
各ノードが、割り込みによるバリア同期成立の通知に比
して、バリア同期が成立したことを高速に認識すること
ができることになる。
【0017】また、ノードに、バリア同期が成立したか
否かを示すデータの、内部に備えるメモリ上での格納位
置を示すアドレス情報を含むバリア同期要求メッセージ
を送信させて、第1送信手段および第2送信手段が、そ
れぞれ、自ノードに対してバリア同期が成立した旨を通
知する際に、自ノードのメモリ内の、受信されたバリア
同期要求メッセージに含まれるアドレス情報で指定され
るデータを書き換えるように、並列計算機を構成するこ
ともできる。
【0018】また、本発明の並列計算機を構成する際に
は、受信した情報および送信すべき情報を一時的に記憶
するための幾つかのバッファを備え、各送信手段とし
て、それらのバッファを利用することによって、通信ネ
ットワーク上に仮想的なチャネルを設定し、そのチャネ
ルを用いてバリア同期関係の各メッセージを送信する手
段を採用したルーティングコントローラを用いることが
望ましい。このように並列計算機を構成した場合には、
バリア同期のためのメッセージの交換が、他のメッセー
ジ交換の影響を受けずに行えるので、高速にバリア同期
を実現できることになる。
【0019】
【発明の実施の形態】以下、図面を参照して、本発明の
実施形態を説明する。図1に、本発明の一実施形態によ
る並列計算機の概略構成を示す。図示したように、実施
形態の並列計算機は、複数の計算機ノード11(以下、
「ノード」と表記する)と、各ノード11に接続された
複数のルーティングコントローラ12とから構成されて
おり、各ルーティングコントローラ12は、2次元メッ
シュ状の通信ネットワークが形成されるように、他の4
つのルーティングコントローラ12とそれぞれ物理チャ
ネル(伝送路)によって接続されている。
【0020】ノード11は、図示せぬプロセッサとメモ
リとを有するユニットであり、各ノード11は、他のノ
ード11とは独立に、演算処理を実行する。また、ノー
ド11は、必要がある場合には、ルーティングコントロ
ーラ12によって形成されている通信ネットワークを用
いて他のノード11との間で通信を行う。
【0021】各ルーティングコントローラ12は、自身
に接続されたノード11(以下、自ノードと表記する)
からメッセージ(通信情報)を受け取ったとき、そのメ
ッセージを、メッセージのヘッダに含まれる送信先ノー
ド番号に応じたルーティングコントローラ12に送出す
る。また、各ルーティングコントローラ12は、他のル
ーティングコントローラ12から、送信先ノード番号が
自ノードのノード番号ではないメッセージを受信したと
きにも、そのメッセージを、送信先ノード番号に応じた
ルーティングコントローラ12に送信する。そして、各
ルーティングコントローラ12は、他のルーティングコ
ントローラ12から、送信先ノード番号が自ノードのノ
ード番号と一致するメッセージを受信したときに、受信
したメッセージを自ノードに渡す。
【0022】また、各ルーティングコントローラ12内
には、メッセージを一時的に記憶するためのバッファが
設けられており、ルーティングコントローラ12間でメ
ッセージを転送する際には、そのバッファを利用して物
理チャネル上に仮想チャネルを設定し、その仮想チャネ
ルによってメッセージを転送する、いわゆる、仮想チャ
ネルフロー制御が行われる。
【0023】このような通常の1対1通信機能に加え、
ルーティングコントローラ12は、並列計算機を構成す
る任意の数のノード11間でバリア同期を実現するため
の機能を備えている。以下、当該機能を具体的に説明す
る。なお、バリア同期は、バリア同期に参加する各ノー
ド11からバリア同期要求メッセージが出され、それに
より複数のルーティングコントローラ12間で各種のメ
ッセージが送受信されることによって実現されるのであ
るが、説明の便宜上、まず、ルーティングコントローラ
12の単独での動作内容を説明することにする。
【0024】図2は、ルーティングコントローラ12の
概略構成を示す。図示したように、ルーティングコント
ローラ12は、第1受信部141〜144と第2受信部1
5とスイッチ16と第1送信部171〜174と第2送信
部18とバリア同期制御部19とを備える。なお、ルー
ティングコントローラ12は、LSI(大規模集積回
路)によって実現されている。
【0025】スイッチ16は、第1受信部14あるいは
第2受信部15からの通信情報(メッセージ)を、第1
送信部171〜174と第2送信部18とのいずれかに供
給するための機構である。
【0026】第1受信部141〜144は、それぞれ、他
の4つのルーティングコントローラ12内に備えられて
いる第1送信部171〜174のいずれかが送信したメッ
セージを受信する。第1受信部141〜144は、他のル
ーティングコントローラ12からのメッセージを受信し
た場合、そのメッセージのヘッダに含まれる宛先ノード
番号に基づき、メッセージを転送すべきノードを識別す
る。そして、第1受信部141〜144は、入力されたメ
ッセージが、識別したノードに転送されるようにスイッ
チ16を制御するとともに、そのメッセージをスイッチ
16に供給する。
【0027】例えば、第1受信部141〜144は、自ノ
ード(自身に接続されているノード)に対するメッセー
ジを受信した場合、スイッチ16を制御することによっ
て、受信したメッセージを第2送信部18に供給する。
また、他ノード(自ノードを除くノード)へ転送すべき
メッセージを受信した場合、第1受信部141〜14
4は、スイッチ16を制御することによって、受信した
メッセージを第1送信部171〜174のいずれかに供給
する。なお、第1受信部141〜144には、それぞれ、
前述した仮想チャネルフロー制御に使用されるバッファ
が設けられている。
【0028】第2受信部15は、自ノードから通常のメ
ッセージが供給された場合、そのメッセージのヘッダに
含まれる宛先ノード番号に基づき、メッセージを転送す
べきノードを識別する。そして、第2受信部15は、供
給されたメッセージがそのノードに転送されるようにス
イッチ16を制御するとともに、自ノードからのメッセ
ージをスイッチ16に供給する。また、第2受信部15
は、自ノードからのバリア同期要求メッセージを受信し
た場合、そのメッセージのスイッチ16への供給を行う
ことなく、バリア同期要求メッセージ受信通知をバリア
同期制御部19に送出する。
【0029】なお、自ノードからのバリア同期要求メッ
セージには、バリア同期が成立しているか否かを表すフ
ラグであるバリア同期フラグの、ノード内のメモリ上で
の記憶位置を示すアドレス情報が含まれている。バリア
同期制御部19は、バリア同期要求メッセージ受信通知
時に、このアドレス情報も受け取り、バリア同期が成立
したことを検出した際、自ノードのメモリ上の、そのア
ドレス情報で識別されるデータを更新することによっ
て、自ノードに対してバリア同期の成立を通知する。
【0030】第2受信部15は、バリア同期制御部19
から送信を依頼された各種のメッセージをスイッチ16
に供給する処理も行う。また、第2受信部15は、バリ
ア同期制御部19から依頼されたメッセージのスイッチ
16への供給を終えた際、バリア同期制御部19に対し
て、メッセージ送信完了通知を出力する。なお、バリア
同期制御部19が第2受信部15に対して送信を依頼す
るメッセージには、バリア同期要求メッセージ、バリア
同期成立メッセージ、バリア同期要求メッセージAC
K、バリア同期成立メッセージACK、バリア同期要求
メッセージNAK、バリア同期成立メッセージNAKな
どがある。各メッセージの詳細に関しては後ほど説明を
行うが、バリア同期要求メッセージACK/NAK、バ
リア同期成立メッセージACK/NAKは、それぞれ、
バリア同期要求メッセージ、バリア同期成立メッセージ
の受信を検出したバリア同期制御部19が、各メッセー
ジを送信したルーティングコントローラに対して返す応
答メッセージである。
【0031】第1送信部171〜174は、スイッチ16
から供給されたメッセージを、自身と接続された他のル
ーティングコントローラへ、送信する。第2送信部18
は、スイッチ16から供給されたメッセージが通常のメ
ッセージであった場合、そのメッセージを自ノードへ供
給する。一方、スイッチ16から供給されたメッセージ
が、上記したバリア同期関係のメッセージであった場
合、第2送信部18は、そのメッセージの受信通知をバ
リア同期制御部19に送出する。
【0032】また、第2送信部18は、バリア同期制御
部19から、自ノードへのバリア同期成立メッセージ送
信が指示された場合には、その指示中に含まれる、バリ
ア同期フラグに関するアドレス情報(自ノードがバリア
同期要求メッセージ中で指定したアドレス情報)に基づ
き、自ノード内のメモリ上のバリア同期フラグの更新を
行う。
【0033】以下、図3及び図4を用いて、バリア同期
制御部19の構成、動作を説明する。なお、図3は、バ
リア同期制御部19のブロック図であり、図4は、バリ
ア同期制御部19内に設けられているシーケンサ28の
状態遷移図である。
【0034】図3に示したように、バリア同期制御部1
9は、バリア同期要求メッセージ受信数レジスタ21と
バリア同期要求メッセージ送信数レジスタ22と4つの
宛先レジスタ231〜234とバリア同期要求メッセージ
受信カウンタ25とバリア同期成立メッセージ受信カウ
ンタ26とバリア同期メッセージACKカウンタ27と
シーケンサ28と比較器31、32とを備える。
【0035】各レジスタ21、22、231〜234
は、バリア同期を必要とするプロセスの実行に先駆け
て、それぞれ、以下のようなデータが設定される。バリ
ア同期要求メッセージ受信数レジスタ21には、他ノー
ドから受信することになるバリア同期要求メッセージ数
が設定される。バリア同期要求メッセージ送信数レジス
タ22には、バリア同期要求メッセージを送信すべき他
ノードの数が設定される。宛先レジスタ231〜234
うち、宛先レジスタ231から宛先レジスタ23m(m
は、バリア同期要求メッセージ受信数レジスタ21に設
定された数値;0≦m≦4)までのm個のレジスタに
は、バリア同期成立メッセージを送信すべきノードのノ
ード番号が設定される。また、宛先レジスタ234から
宛先レジスタ235-n(nは、バリア同期要求メッセー
ジ送信数レジスタ22に設定された数値;0≦n、n+
m≦4)までのn個のレジスタには、バリア同期要求メ
ッセージを送信すべきノードのノード番号が設定され
る。
【0036】バリア同期要求メッセージ受信カウンタ2
5は、第2送信部18からバリア同期要求メッセージ受
信通知を受けた際に、内部に保持している数値を“1”
だけ増加させる。すなわち、バリア同期要求メッセージ
受信カウンタ25は、他のルーティングコントローラ1
2から受けたバリア同期要求メッセージの総数をカウン
トする。
【0037】バリア同期要求メッセージ受信カウンタ2
5の値と、バリア同期要求メッセージ受信数レジスタ2
1の値は、比較器31に入力されており、比較器31
は、両入力の値が一致している場合、その旨を表す信号
を、シーケンサ28に出力する。
【0038】バリア同期成立メッセージ受信カウンタ2
6は、第2送信部18からバリア同期成立メッセージ受
信通知を受けた際に、内部に保持している数値を“1”
だけ増加させる。すなわち、バリア同期成立メッセージ
受信カウンタ26は、他のルーティングコントローラ1
2から受けたバリア同期成立メッセージの総数をカウン
トする。
【0039】バリア同期成立メッセージ受信カウンタ2
6の値と、バリア同期要求メッセージ送信数レジスタ2
2の値は、比較器32に入力されており、比較器32
は、両入力の値が一致している場合には、その旨を表す
信号を、シーケンサ28に出力する。
【0040】バリア同期メッセージACKカウンタ27
は、第2受信部15から、メッセージの送信完了通知を
受けた際に、内部に保持している数値を“1”だけ増加
させる。また、バリア同期メッセージACKカウンタ2
7は、第2送信部18から、バリア同期要求メッセージ
ACKあるいはバリア同期成立メッセージACKの受信
通知を受けた際には、内部に保持している数値を“1”
だけ減少させる。また、バリア同期メッセージACKカ
ウンタ27は、自身が保持している値が“0”であった
場合、その旨を示す信号をシーケンサ28に出力する。
【0041】以下、図4を用いて、シーケンサ28の動
作を詳細に説明する。シーケンサ28は、通常、アイド
ル状態S1にあり、第2受信部15から、バリア同期要
求メッセージ受信通知を受けたとき(I)に、バリア同
期要求メッセージ受信待ち状態S2に遷移する。すなわ
ち、シーケンサ28は、自ノードがバリア同期要求メッ
セージを出力したときに、バリア同期要求メッセージ受
信待ち状態S2に遷移する。
【0042】状態S2において、シーケンサ28は、比
較器31からの信号に基づき、バリア同期要求メッセー
ジ受信カウンタ25の値とバリア同期要求メッセージ受
信数レジスタ21の値が一致しているか否かの判断を行
う。状態S2に遷移した段階で両者の値が一致していて
いた場合(II)、すなわち、バリア同期要求メッセージ
受信数レジスタ21に設定されている数値分のバリア同
期要求メッセージが既に受信されていた場合、シーケン
サ28は、即座に、バリア同期要求メッセージ送信S3
を行う。また、両者の値が一致していなかった場合、シ
ーケンサ28は、それらの値が一致するのを待機し、そ
れらの値が一致したとき(II)に、バリア同期要求メッ
セージ送信S3を行う。
【0043】状態S3において、シーケンサ28は、第
2受信部15に対して、バリア同期要求メッセージ送信
数レジスタ22に設定されている数値分のバリア同期要
求メッセージの送出を依頼する。この際、シーケンサ2
8は、宛先レジスタ235-n〜234(nは、バリア同期
要求メッセージ送信数レジスタ22に設定されている数
値)に記憶されているノード番号を第2受信部15に通
知することによって、バリア同期要求メッセージの宛先
を指定する。
【0044】なお、既に説明したように、第2受信部1
5は、バリア同期要求メッセージの送信を行った際、メ
ッセージの送信完了通知をバリア同期制御部19に対し
て出力する。また、バリア同期メッセージACKカウン
タ27は、その送信完了通知を受けて、内部に保持して
いる数値のインクリメントを行う。このため、状態S3
の終了時、バリア同期メッセージACKカウンタ27に
は、ルーティングコントローラから送信されたバリア同
期要求メッセージの総数が保持されることになる。
【0045】バリア同期要求メッセージの送信依頼後、
シーケンサ28は、バリア同期メッセージACKカウン
タ27からの信号(バリア同期メッセージACKカウン
タ27の値)を監視する状態であるバリア同期要求メッ
セージACK受信待ち状態S4に遷移する(III)。そ
して、シーケンサ28は、バリア同期メッセージACK
カウンタ27が“0”になったことを検出したとき(I
V)に、バリア同期成立メッセージ待ち状態S5に遷移
する。すなわち、送信したバリア同期要求メッセージ数
と同数のバリア同期要求メッセージACKが受信された
ときに、シーケンサ28は、バリア同期成立メッセージ
待ち状態S5に遷移する。
【0046】状態S5において、シーケンサ28は、比
較器32からの信号に基づき、バリア同期成立メッセー
ジ受信カウンタ26の値とバリア同期要求メッセージ送
信数レジスタ22の値が一致しているか否かの判断を行
う。そして、シーケンサ28は、それらの値が一致した
とき、すなわち、送信したバリア同期要求メッセージ数
と同数のバリア同期成立メッセージが受信されたとき
(V)に、バリア同期成立メッセージ送信S6を行う。
【0047】状態S6において、シーケンサ28は、第
2受信部15に対して、バリア同期要求メッセージ受信
数レジスタ21に記憶されている数値分のバリア同期成
立メッセージの送出を依頼する。この際、シーケンサ2
8は、宛先レジスタ231〜23mに記憶されているノー
ド番号を、第2受信部15に通知することによって、バ
リア同期成立メッセージの宛先を指定する。なお、この
状態S6の終了時には、状態S3の終了時と同様に、バ
リア同期メッセージACKカウンタ27に、自己のルー
ティングコントローラ12から送信されたバリア同期成
立メッセージの総数が記憶されることになる。
【0048】その後、シーケンサ28は、バリア同期成
立メッセージACK受信待ち状態S7に遷移し(VI)、
バリア同期メッセージACKカウンタ27の値の監視を
開始する。そして、バリア同期メッセージACKカウン
タ27が“0”になったことを検出したとき(VII)、
シーケンサ28は、自ノードに対するバリア同期成立メ
ッセージ送信S8を行い、アイドル状態S1に戻る(VI
II)。
【0049】また、シーケンサ28は、上記動作と並行
して、ルーティングコントローラ12に受信された各種
メッセージに含まれるバリア同期グループ識別子(詳細
は後述)、送出元ノード番号等を用いて、そのメッセー
ジが正常なものであるか否かの判断を行う。そして、シ
ーケンサ28は、受信したメッセージが、正常なメッセ
ージであった場合には、第2受信部15に、そのメッセ
ージに対するメッセージACKの送信を依頼する。一
方、受信したメッセージが、正常なメッセージでなかっ
た場合、シーケンサ28は、第2受信部15に、そのメ
ッセージに対するメッセージNAKの送信を依頼する。
【0050】このため、シーケンサ28は、状態S4、
S7において、バリア同期要求メッセージNAK、バリ
ア同期成立メッセージNAKを受信することもある。シ
ーケンサ28は、状態S4において、バリア同期要求メ
ッセージNAKを受信したことを検出したとき(IV′)
と、状態S7において、バリア同期成立メッセージNA
Kを受信したことを検出したとき(VII′)には、自ノ
ードへのエラー発生通知S9を行い、アイドル状態S1
に戻る。
【0051】次に、上述のように動作するルーティング
コントローラ12を用いて構成されている本並列計算機
全体の動作ならびに各ルーティングコントローラ12内
の各レジスタ21、22、231〜234へのデータの設
定手順を説明する。
【0052】本並列計算機によってバリア同期を必要と
する処理を実行させる場合、まず、バリア同期をとるこ
とが必要とされる複数のノード11(ルーティングコン
トローラ12)に対して、バリア同期要求メッセージの
通知手順を定めるトリーであるバリア同期要求トリーを
決定しておく。
【0053】例えば、図1に示される16個のノード間
でバリア同期をとる場合、それらのノード11(ルーテ
ィングコントローラ12)に対して、図5に模式的に示
したようなバリア同期要求トリーを決定しておく。そし
て、決定したバリア同期要求トリーが構成されるよう
に、各ルーティングコントローラ12内のレジスタ21
〜23にデータを設定する。この図に示したバリア同期
要求トリーを実現するためには、ルーティングコントロ
ーラAが、ルーティングコントローラBに対してバリア
同期要求メッセージを送出する必要がある。このため、
ルーティングコントローラA内の宛先レジスタ234
は、バリア同期要求メッセージを送出すべきノードのノ
ード番号として、ノードBのノード番号を設定する。ま
た、ルーティングコントローラAは、ルーティングコン
トローラBだけにバリア同期要求メッセージを送出すれ
ば良いので、バリア同期要求メッセージ送信数レジスタ
22には、ルーティングコントローラAが送出すべきバ
リア同期要求メッセージの総数である“1”を設定す
る。また、ルーティングコントローラAは、バリア同期
要求メッセージを他のルーティングコントローラから受
けないので、バリア同期要求メッセージ受信数レジスタ
21には、“0”を設定する。
【0054】ルーティングコントローラCは、2つのル
ーティングコントローラB、Dからバリア同期要求メッ
セージを受け、ルーティングコントローラEにバリア同
期要求メッセージを送出する必要がある。このため、ル
ーティングコントローラC内のバリア同期要求メッセー
ジ受信数レジスタ21には、“2”を設定する。また、
宛先レジスタ231、232には、バリア同期成立メッセ
ージを送出すべきノードであるノードBとノードDのノ
ード番号を設定する。また、ルーティングコントローラ
C内のバリア同期要求メッセージ送信数レジスタ22に
は、“1”を設定し、宛先レジスタ234には、ノード
Eのノード番号を設定する。
【0055】ルーティングコントローラFは、その周囲
の4つのルーティングコントローラからバリア同期要求
メッセージを受けるが、他のルーティングコントローラ
にバリア同期要求メッセージを送出する必要はない。こ
のため、ルーティングコントローラF内のバリア同期要
求メッセージ受信数レジスタ21には、“4”を設定
し、宛先レジスタ231〜234には、ノードFの周囲の
4つのノードのノード番号を設定する。また、バリア同
期要求メッセージ送信数レジスタ22には、“0”を設
定する。
【0056】このような設定の結果、ルーティングコン
トローラA内のシーケンサ28は、比較器31から常に
レジスタ21の値とカウンタ25の値とが一致している
ことを通知されることになる。このため、シーケンサ2
8は、自ノードからのバリア同期要求メッセージを受信
した結果、アイドル状態S1からバリア同期要求メッセ
ージ受信待ち状態S2に遷移したとき、状態S2におい
て、他ノードからのバリア同期要求メッセージが受信さ
れるのを待つことなく、バリア同期要求メッセージ送信
S3を行う。すなわち、ルーティングコントローラA
は、自ノードからのバリア同期要求メッセージを受信し
た際に、即座に、ルーティングコントローラBに対して
バリア同期要求メッセージを送信する。
【0057】また、ルーティングコントローラC内のバ
リア同期要求メッセージ受信数レジスタ21には、
“2”が設定されている。このため、ルーティングコン
トローラC内のシーケンサ28は、自ノードからのバリ
ア同期要求メッセージを受けてバリア同期要求メッセー
ジ受信待ち状態S2に遷移したときに、ノードB、Dか
らのバリア同期要求メッセージが受信されていなかった
場合には、それらのノードによるバリア同期要求メッセ
ージの送信を待機する。そして、シーケンサ28は、比
較器31からの信号によって、ノードB、Dからのバリ
ア同期要求メッセージの受信が確認できたときに、ルー
ティングコントローラEに対して、バリア同期要求メッ
セージを送出する。なお、自ノードからのバリア同期要
求メッセージの受信以前に、ノードB、Dからのバリア
同期要求メッセージが受信されていた場合、シーケンサ
28は、状態S2において、バリア同期要求メッセージ
の受信を待機することなく、状態S3に移行する。
【0058】すなわち、ルーティングコントローラC
は、ノードA〜ノードDが全てバリア同期要求メッセー
ジを送信した時点で、ルーティングコントローラEに対
して、バリア同期要求メッセージを送信する。
【0059】ルーティングコントローラF内のシーケン
サ28は、バリア同期要求メッセージ受信数レジスタ2
1に“4”が保持されているので、自ノードからのバリ
ア同期要求メッセージを受信してアイドル状態S1から
バリア同期要求メッセージ受信待ち状態S2に遷移した
際、比較器31からの信号に基づき、他の4つのノード
からのバリア同期要求メッセージが受信されているか否
かを判断する。そして、シーケンサ28は、他の4つの
ルーティングコントローラからのバリア同期要求メッセ
ージが既に受信されていた場合には、即座に、状態S3
に遷移する。また、シーケンサ28は、未受信のバリア
同期要求メッセージがあった場合には、それらのバリア
同期要求メッセージの受信が完了したときに、状態S3
に遷移する。ただし、ルーティングコントローラF内の
バリア同期要求メッセージ送信数レジスタ22には、
“0”が設定されているため、シーケンサ28は、状態
S3〜S5において、特に処理を実行せずに、バリア同
期成立メッセージ送信S6を開始する。
【0060】すなわち、ルーティングコントローラF内
のシーケンサ28は、4つのノードからのバリア同期要
求メッセージ及び自ノードからのバリア同期要求メッセ
ージの受信により、バリア同期に関係する全てのノード
がバリア同期要求メッセージを送出したこと(バリア同
期が成立したこと)を認識する。そして、ルーティング
コントローラF内のシーケンサ28は、図6に模式的に
示したように、自身に対してバリア同期要求メッセージ
を送出した4つのルーティングコントローラ(宛先レジ
スタ231〜234にノード番号が記憶されているノード
に対応するルーティングコントローラ)に対してバリア
同期成立メッセージを送信する。次いで、シーケンサ2
8は、それら4つのルーティングコントローラからバリ
ア同期成立メッセージACK(あるいはNAK)が送信
されてくるのを待機し(状態S7)、4つのバリア同期
成立メッセージACKを受信したときに、自ノードに対
して、バリア同期が成立した旨を通知する。
【0061】ルーティングコントローラFからバリア同
期成立メッセージを受信した各ルーティングコントロー
ラは、バリア同期要求メッセージ受信数レジスタ21に
設定されている数値分のルーティングコントローラに対
するバリア同期成立メッセージの送出を行うとともに、
自ノードに対して、バリア同期が成立した旨を通知す
る。
【0062】本並列計算機では、このような処理が、各
ルーティングコントローラ12において行われることに
よって、バリア同期に関係する全てのノード11にバリ
ア同期成立が通知される。そして、バリア同期の成立が
通知されたノード11間でメッセージの送受信が実行さ
れる。
【0063】なお、上述したように、本並列計算機で
は、バリア同期要求トリーのルートに位置するルーティ
ングコントローラが、バリア同期に参加する全てのノー
ドにおけるバリア同期要求メッセージの送出を監視して
いる。このため、バリア同期要求メッセージを最も遅く
送出するノードを、バリア同期要求トリーのリーフ
(葉)に対応づけた場合、そのノードからバリア同期要
求メッセージが送出された段階で、バリア同期を成立さ
せるための条件が満たされるにもかかわらず、実際にバ
リア同期成立メッセージの送出が開始されるまでには、
さらに、そのバリア同期要求メッセージがルート(バリ
ア同期成立メッセージを最初に出力するルーティングコ
ントローラ)に到達するまでの時間が必要とされること
になる。このため、バリア同期要求メッセージを最も遅
く送出するノードに対応するルーティングコントローラ
がルートとなるようにバリア同期要求トリーの形状を定
めておくことが望ましい。
【0064】以上詳細に説明したように、実施形態の並
列計算機を構成する各ルーティングコントローラは、バ
リア同期要求メッセージの送出先、バリア同期成立メッ
セージの送出先(バリア同期要求トリー、バリア同期成
立トリーの形状)を設定できるように構成されている。
【0065】このため、図7に模式的に示したように、
並列計算機を構成する複数のノード11を、幾つかのバ
リア同期グループに分類し、各バリア同期グループにそ
れぞれバリア同期を必要とする処理を実行させることも
できる。なお、図7では、ルーティングコントローラ1
2内に表示してある“a”、“b”、“c”といった符
号によって、そのルーティングコントローラ12に対応
するノード11が属するノードグループを示してある。
【0066】そして、ノード110のように、いずれの
ノードグループにも属さない管理用ノードを用意してお
き、各バリア同期グループに属するノードからバリア同
期を必要とする処理が終わったことを通知された際に、
ノード110によって、新たなノード同期グループが設
定されるように、並列計算機を動作させることもでき
る。また、ノード110における処理が少ない場合に
は、ノード110が他のノードグループのいずれかに参
加するように設定することも可能である。
【0067】実施形態の並列計算機は、各種の変形が可
能である。例えば、バリア同期要求トリーとは別形状の
バリア同期成立トリーによって、バリア同期成立メッセ
ージが各ノードに通知されるように、並列計算機を構成
することが出来る。この場合、自ノードに対して、バリ
ア同期要求メッセージを送信してくるノードのノード識
別情報と、バリア同期成立メッセージを送信すべきノー
ドのノード識別情報を記憶するための宛先レジスタを別
に用意する。また、各ルーティングコントローラ内に、
バリア同期制御部相当の処理をバリア同期グループ単位
で並列的に実行する制御部を設ければ、1つのノードを
複数のバリア同期グループ内で同時期に使用できる並列
計算機が構成できることになる。
【0068】また、実施形態の並列計算機では、メッシ
ュ状にルーティングコントローラを接続することによっ
て通信ネットワークを形成してあるが、トーラス状等の
他の接続方法によって通信ネットワークを構成しても良
いことは当然である。
【0069】また、実施形態の並列計算機では、各ルー
ティングコントローラがそれぞれノードに接続されてい
るが、各ルーティングコントローラがノード内部に内蔵
されるように構成しても良い。
【0070】また、実施形態の並列計算機では、ルーテ
ィングコントローラとノードに接続されているが、各ル
ーティングコントローラがノード内部に内蔵されるよう
に構成しても良い。
【0071】また、実施形態の並列計算機は、ルーティ
ングコントローラとノードが別個に設けられているが、
ルーティングコントローラを内蔵するノードを組み合わ
せて並列計算機を構成しても良い。
【0072】また、特定の仮想チャネルを、バリア同期
関係の各メッセージを送信するためのチャネルとして用
いても良いことは当然である。
【0073】
【発明の効果】以上、詳細に説明したように、本発明の
並列計算機では、バリア同期に参加するノードを任意に
選択できる。また、並列計算機内の複数のノードを幾つ
かのノードグループに分類し、各ノードグループにおい
て、独立にバリア同期を必要とする処理を実行させるこ
ともできる。このため、本発明の並列計算機を用いれ
ば、各種の演算処理を極めて効率的に実行することがで
きる。
【図面の簡単な説明】
【図1】本発明の一実施形態による並列計算機の全体構
成を示すブロック図である。
【図2】実施形態の並列計算機が備えるルーティングコ
ントローラの構成を示すブロック図である。
【図3】ルーティングコントローラが備えるバリア同期
制御部の構成を示すブロック図である。
【図4】バリア同期制御部が備えるシーケンサの状態遷
移図である。
【図5】実施形態の並列計算機に対して設定するバリア
同期要求トリーを説明するための模式図である。
【図6】図5に示したバリア同期要求トリーを用いた際
に、設定されるバリア同期成立トリーを説明ための模式
図である。
【図7】実施形態の並列計算機の使用形態を説明するた
めのブロック図である。
【符号の説明】
11 ノード 12 ルーティングコントローラ 14 第1受信部 15 第2受信部 16 スイッチ 17 第1送信部 18 第2送信部 19 バリア同期制御部 21 バリア同期要求メッセージ受信数レジスタ 22 バリア同期要求メッセージ送信数レジスタ 23 宛先レジスタ 25 バリア同期要求メッセージ受信カウンタ 26 バリア同期成立メッセージ受信カウンタ 27 バリア同期メッセージACKカウンタ 28 シーケンサ 31、32 比較器
───────────────────────────────────────────────────── フロントページの続き (72)発明者 白木 長武 神奈川県川崎市中原区上小田中4丁目1 番1号富士通株式会社内 (56)参考文献 特開 平5−342174(JP,A) 特開 平7−234841(JP,A) 特開 平2−116954(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 15/80 G06F 15/16 - 15/177

Claims (12)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のノードと、前記複数のノードのそ
    れぞれに接続される複数のルーティングコントローラに
    よって形成された通信ネットワークとを有する並列計算
    機であって、前記ルーティングコントローラは、他のル
    ーティングコントローラからバリア同期要求メッセージ
    を受信する第1バリア同期要求メッセージ受信手段と、
    自身に接続されたノードからのバリア同期要求メッセー
    ジを受信する第2バリア同期要求メッセージ受信手段
    と、前記第1バリア同期要求メッセージ受信手段に受信
    されるべきバリア同期要求メッセージの数である受信予
    定数と、バリア同期要求メッセージを送信すべきノード
    の識別情報である第1ノード識別情報と、バリア同期成
    立メッセージを送信すべきノードの識別情報である第2
    ノード識別情報とを記憶する記憶手段と、前記第1バリ
    ア同期要求メッセージ受信手段が前記記憶手段に記憶さ
    れている前記受信予定数と等しい数のバリア同期要求メ
    ッセージを受信し、かつ、前記第2バリア同期要求メッ
    セージ受信手段がバリア同期要求メッセージを受信した
    ときに、前記記憶手段に第1ノード識別情報が記憶され
    ていた場合には、第1ノード識別情報で識別されるノー
    ドに対してバリア同期要求メッセージを送信し、前記記
    憶手段に第1ノード識別情報が記憶されていなかった場
    合には、自身が接続されているノードに対してバリア同
    期が成立した旨を通知するとともに、前記記憶手段内の
    第2ノード識別情報で識別されるノードに対してバリア
    同期成立メッセージを送信する第1送信手段と、自身に
    接続されたノードに対するバリア同期成立メッセージを
    他のルーティングコントローラから受信したときに、自
    身に接続されたノードに対してバリア同期が成立した旨
    を通知するとともに、前記記憶手段内の第2ノード識別
    情報で識別されるノードに対してバリア同期成立メッセ
    ージを送信する第2送信手段とを備えることを特徴とす
    る並列計算機。
  2. 【請求項2】 前記記憶手段は、幾つかの第2ノード識
    別情報を記憶し、前記第1送信手段は、前記第1バリア
    同期要求メッセージ受信手段が前記記憶手段に記憶され
    ている前記受信予定数と等しい数のバリア同期要求メッ
    セージを受信し、かつ、前記第2バリア同期要求メッセ
    ージ受信手段がバリア同期要求メッセージを受信したと
    きに、前記記憶手段に第1ノード識別情報が記憶されて
    いなかった場合には、前記記憶手段に記憶されている各
    第2ノード識別情報で識別される各ノードに対してバリ
    ア同期成立メッセージを送信することを特徴とする請求
    項1に記載の並列計算機。
  3. 【請求項3】 前記ルーティングコントローラは、前記
    第1バリア同期要求メッセージ受信手段がバリア同期要
    求メッセージを受信した際に、その内容がカウントアッ
    プされるカウンタと、そのカウンタの値と前記記憶手段
    に記憶されている前記受信予定数とが一致しているとき
    にその旨を示す情報を出力する情報出力手段を、さらに
    備え、前記第1送信手段は、前記情報出力手段が出力す
    る情報に基づき、前記第1バリア同期要求メッセージ受
    信手段が前記記憶手段に記憶されている前記受信予定数
    と等しい数のバリア同期要求メッセージを受信したか否
    かを判定することを特徴とする請求項1または請求項2
    記載の並列計算機。
  4. 【請求項4】 前記記憶手段は、幾つかの第1ノード識
    別情報を記憶し、前記第1送信手段は、前記第1バリア
    同期要求メッセージ受信手段が前記記憶手段に記憶され
    ている前記受信予定数と等しい数のバリア同期要求メッ
    セージを受信し、かつ、前記第2バリア同期要求メッセ
    ージ受信手段がバリア同期要求メッセージを受信したと
    きに、前記記憶手段に1つ以上の第1ノード識別情報が
    記憶されていた場合には、各第1ノード識別情報で識別
    される各ノードに対してバリア同期要求メッセージを送
    信することを特徴とする請求項1ないし請求項3のいず
    れかに記載の並列計算機。
  5. 【請求項5】 前記ルーティングコントローラ内の第2
    送信手段は、自身が接続されたノードに対するバリア同
    期成立メッセージを受信したときに、そのバリア同期成
    立メッセージを送信したルーティングコントローラに対
    して、バリア同期成立メッセージを受信したことを示す
    バリア同期成立メッセージACKを送信し、前記ルーテ
    ィングコントローラは、さらに、前記第1バリア同期要
    求メッセージ受信手段によってバリア同期要求メッセー
    ジが受信されたときに、そのバリア同期要求メッセージ
    を送信したルーティングコントローラに対して、バリア
    同期要求メッセージを受信したことを示すバリア同期要
    求メッセージACKを送信する第3送信手段と、前記バ
    リア同期成立メッセージACKとバリア同期要求メッセ
    ージACKの受信状況を監視することにより、バリア同
    期成立メッセージとバリア同期要求メッセージに対する
    処理の進行の程度を認識する認識手段とを備えることを
    特徴とする請求項1ないし請求項4のいずれかに記載の
    並列計算機。
  6. 【請求項6】 前記第送信手段は、受信したバリア同
    期要求メッセージが正当なものであった場合には、その
    バリア同期要求メッセージを送信したルーティングコン
    トローラに対してバリア同期要求メッセージACKを送
    信し、そのバリア同期要求メッセージが正当なものでな
    かった場合には、その旨を示すバリア同期要求メッセー
    ジNAKを送信し、前記第送信手段は、受信したバリ
    ア同期成立メッセージが正当なものであった場合には、
    そのバリア同期成立メッセージを送信したルーティング
    コントローラに対してバリア同期成立メッセージACK
    を送信し、そのバリア同期成立メッセージが正当なもの
    でなかった場合には、バリア同期成立メッセージNAK
    を送信し、前記認識手段は、バリア同期要求メッセージ
    NAKとバリア同期成立メッセージNAKの受信状況を
    も監視し、バリア同期要求メッセージNAKとバリア同
    期成立メッセージNAKのいずれかを受信したことを検
    出したときには、自身が接続されたノードに対して異常
    が発生したことを通知することを特徴とする請求項5記
    載の並列計算機。
  7. 【請求項7】 前記受信したバリア同期要求メッセージ
    が正当なものか否かを判定する判定手段を備え、 前記第1送信手段は、ルーティングコントローラが属す
    るバリア同期グループを示すグループ識別情報を含むバ
    リア同期要求メッセージを送信し、 前記判定手段は、受信したバリア同期要求メッセージに
    含まれるグループ識別情報を用いて、そのバリア同期要
    求メッセージが正当であるか否かを判断することを特徴
    とする請求項6記載の並列計算機。
  8. 【請求項8】 前記第1送信手段は、ルーティングコン
    トローラが属するバリア同期グループを示すグループ識
    別情報を含むバリア同期成立メッセージを送信し、 前記判定手段は、受信したバリア同期要求メッセージに
    含まれるグループ識別情報を用いて、そのバリア同期成
    立メッセージが正当であるか否かを判断することを特徴
    とする請求項7記載の並列計算機。
  9. 【請求項9】 前記ノードは、グループ識別情報を含む
    バリア同期要求メッセージを前記第2バリア同期要求メ
    ッセージ受信手段に対して送信し、前記記憶手段は、そ
    れぞれ、グループ識別情報に対応づけられた、前記受信
    予定数と前記第1ノード識別情報と前記第2ノード識別
    情報とを含む複数のバリア同期情報を記憶し、前記第1
    送信手段は、グループ識別情報毎に、前記第1バリア同
    期要求メッセージ受信手段によって受信されたバリア同
    期要求メッセージの数と受信予定数が一致しているか否
    かの判定と、前記第2バリア同期要求メッセージ受信手
    段によるバリア同期要求メッセージが受信されたか否か
    の判定とを行うとともに、その判定結果に基づき、前記
    グループ識別情報を含むバリア同期要求メッセージの送
    信と、前記グループ識別情報を含むバリア同期成立メッ
    セージの送信とを行い、前記第2送信手段は、他のルー
    ティングコントローラを介して自身が接続されたノード
    に対するバリア同期成立メッセージを受信したときに、
    そのバリア同期成立メッセージに含まれるグループ識別
    情報に対応するバリア同期が成立した旨を自身が接続さ
    れたノードに対して通知するとともに、そのグループ識
    別情報に対応する前記記憶手段内のバリア同期情報に含
    まれる各第2ノード識別情報で識別される各ノードに対
    してバリア同期成立メッセージを送信することを特徴と
    する請求項1記載の並列計算機。
  10. 【請求項10】 前記ノードは、内部に備えるメモリ上
    の所定のアドレスに記憶されたデータに基づき、バリア
    同期が成立したか否かを判断し、前記第1送信手段およ
    び第2送信手段は、それぞれ、自身が接続されているノ
    ードに対してバリア同期が成立した旨を通知する際に、
    そのノード内に備えられているメモリの前記所定のアド
    レスに記憶されたデータを書き換えることを特徴とする
    請求項1ないし請求項8のいずれかに記載の並列計算
    機。
  11. 【請求項11】 前記ノードは、前記第2バリア同期要
    求メッセージ受信手段に対して、バリア同期が成立した
    か否かを示すデータの、内部に備えるメモリ上での格納
    位置を示すアドレス情報を含むバリア同期要求メッセー
    ジを送信し、前記前記第1送信手段および第2送信手段
    は、それぞれ、自身が接続されているノードに対してバ
    リア同期が成立した旨を通知する際に、前記メモリ内
    の、受信されたバリア同期要求メッセージに含まれるア
    ドレス情報で指定されるデータを書き換えることを特徴
    とする請求項1ないし請求項9のいずれかに記載の並列
    計算機。
  12. 【請求項12】 前記ルーティングコントローラは、受
    信した情報および送信すべき情報を一時的に記憶するた
    めのバッファを備え、各送信手段は、前記バッファを利
    用することによって、前記通信ネットワーク上に仮想的
    なチャネルを設定し、そのチャネルを用いてバリア同期
    関係の各メッセージを送信することを特徴とする請求項
    1ないし請求項11のいずれかに記載の並列計算機。
JP20227196A 1996-07-31 1996-07-31 並列計算機 Expired - Fee Related JP3532037B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP20227196A JP3532037B2 (ja) 1996-07-31 1996-07-31 並列計算機
US08/764,109 US5928351A (en) 1996-07-31 1996-12-06 Parallel computer system with communications network for selecting computer nodes for barrier synchronization

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP20227196A JP3532037B2 (ja) 1996-07-31 1996-07-31 並列計算機

Publications (2)

Publication Number Publication Date
JPH1049507A JPH1049507A (ja) 1998-02-20
JP3532037B2 true JP3532037B2 (ja) 2004-05-31

Family

ID=16454781

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20227196A Expired - Fee Related JP3532037B2 (ja) 1996-07-31 1996-07-31 並列計算機

Country Status (2)

Country Link
US (1) US5928351A (ja)
JP (1) JP3532037B2 (ja)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349378B1 (en) * 1999-03-31 2002-02-19 U.S. Philips Corporation Data processing using various data processors
JP3571976B2 (ja) * 1999-11-08 2004-09-29 富士通株式会社 デバッグ装置及び方法並びにプログラム記録媒体
DE19957594B4 (de) 1999-11-30 2004-08-26 OCé PRINTING SYSTEMS GMBH Verfahren zum Synchronisieren von threads eines Computerprogramms
US6658478B1 (en) * 2000-08-04 2003-12-02 3Pardata, Inc. Data storage system
US7836329B1 (en) 2000-12-29 2010-11-16 3Par, Inc. Communication link protocol optimized for storage architectures
CA2438195C (en) * 2001-02-24 2009-02-03 International Business Machines Corporation Optimized scalabale network switch
US7100021B1 (en) * 2001-10-16 2006-08-29 Cisco Technology, Inc. Barrier synchronization mechanism for processors of a systolic array
US6986022B1 (en) * 2001-10-16 2006-01-10 Cisco Technology, Inc. Boundary synchronization mechanism for a processor of a systolic array
JP4381655B2 (ja) * 2002-05-31 2009-12-09 株式会社日立製作所 ストレージシステム、ストレージ装置、及び該ストレージ装置を利用した情報共有方法
US7464115B2 (en) * 2005-04-25 2008-12-09 Silicon Graphics, Inc. Node synchronization for multi-processor computer systems
US7584342B1 (en) 2005-12-15 2009-09-01 Nvidia Corporation Parallel data processing systems and methods using cooperative thread arrays and SIMD instruction issue
US7788468B1 (en) * 2005-12-15 2010-08-31 Nvidia Corporation Synchronization of threads in a cooperative thread array
US7861060B1 (en) 2005-12-15 2010-12-28 Nvidia Corporation Parallel data processing systems and methods using cooperative thread arrays and thread identifier values to determine processing behavior
US8108659B1 (en) 2006-11-03 2012-01-31 Nvidia Corporation Controlling access to memory resources shared among parallel synchronizable threads
US8478834B2 (en) 2007-07-12 2013-07-02 International Business Machines Corporation Low latency, high bandwidth data communications between compute nodes in a parallel computer
US8959172B2 (en) * 2007-07-27 2015-02-17 International Business Machines Corporation Self-pacing direct memory access data transfer operations for compute nodes in a parallel computer
US20090031001A1 (en) * 2007-07-27 2009-01-29 Archer Charles J Repeating Direct Memory Access Data Transfer Operations for Compute Nodes in a Parallel Computer
US7689541B1 (en) 2007-08-09 2010-03-30 Nvidia Corporation Reordering data using a series of offsets
US8094157B1 (en) * 2007-08-09 2012-01-10 Nvidia Corporation Performing an occurence count of radices
US7624107B1 (en) 2007-08-09 2009-11-24 Nvidia Corporation Radix sort algorithm for graphics processing units
US9009350B2 (en) * 2008-04-01 2015-04-14 International Business Machines Corporation Determining a path for network traffic between nodes in a parallel computer
US9225545B2 (en) * 2008-04-01 2015-12-29 International Business Machines Corporation Determining a path for network traffic between nodes in a parallel computer
JP5304194B2 (ja) * 2008-11-19 2013-10-02 富士通株式会社 バリア同期装置、バリア同期システム及びバリア同期装置の制御方法
EP2359237A4 (en) * 2008-11-28 2012-04-25 Siemens Ag AUTOMATIC CONTROL SYSTEM AND METHOD FOR PARALLELLY EXECUTING A CONTROL PROGRAM
WO2011058640A1 (ja) * 2009-11-12 2011-05-19 富士通株式会社 並列計算用の通信方法、情報処理装置およびプログラム
JP5673554B2 (ja) * 2009-12-07 2015-02-18 日本電気株式会社 オンチップ並列処理システム及び通信方法
JP5780157B2 (ja) * 2010-01-14 2015-09-16 日本電気株式会社 計算機、並列計算機システム、同期方法、及びコンピュータプログラム
US8544026B2 (en) * 2010-02-09 2013-09-24 International Business Machines Corporation Processing data communications messages with input/output control blocks
JP5664039B2 (ja) * 2010-09-08 2015-02-04 富士通株式会社 リダクション演算装置、処理装置及びコンピュータシステム
US8949453B2 (en) 2010-11-30 2015-02-03 International Business Machines Corporation Data communications in a parallel active messaging interface of a parallel computer
JP5549574B2 (ja) 2010-12-17 2014-07-16 富士通株式会社 並列計算機システム、同期装置、並列計算機システムの制御方法
JP5549575B2 (ja) * 2010-12-17 2014-07-16 富士通株式会社 並列計算機システム、同期装置、並列計算機システムの制御方法
US8904118B2 (en) 2011-01-07 2014-12-02 International Business Machines Corporation Mechanisms for efficient intra-die/intra-chip collective messaging
US20120179896A1 (en) 2011-01-10 2012-07-12 International Business Machines Corporation Method and apparatus for a hierarchical synchronization barrier in a multi-node system
US9195550B2 (en) 2011-02-03 2015-11-24 International Business Machines Corporation Method for guaranteeing program correctness using fine-grained hardware speculative execution
US8949328B2 (en) 2011-07-13 2015-02-03 International Business Machines Corporation Performing collective operations in a distributed processing system
CN102929214A (zh) * 2011-08-11 2013-02-13 西门子公司 一种嵌入式多处理单元并行处理系统及其运行方法
US8930962B2 (en) 2012-02-22 2015-01-06 International Business Machines Corporation Processing unexpected messages at a compute node of a parallel computer
JP6074932B2 (ja) * 2012-07-19 2017-02-08 富士通株式会社 演算処理装置及び演算処理方法
US20140281429A1 (en) * 2013-03-14 2014-09-18 Qualcomm Incorporated Eliminating redundant synchronization barriers in instruction processing circuits, and related processor systems, methods, and computer-readable media
US9405724B2 (en) * 2013-06-28 2016-08-02 Intel Corporation Reconfigurable apparatus for hierarchical collective networks with bypass mode
JP6221498B2 (ja) * 2013-08-15 2017-11-01 富士通株式会社 情報処理システム及び情報処理システムの制御方法
JP6152786B2 (ja) * 2013-11-29 2017-06-28 富士通株式会社 通信制御装置、情報処理装置、並列計算機システム、制御プログラム、及び並列計算機システムの制御方法
JP6323243B2 (ja) 2014-08-07 2018-05-16 富士通株式会社 システム及び異常検知方法
JP6464739B2 (ja) * 2014-12-26 2019-02-06 富士通株式会社 情報処理システムの制御プログラム,情報処理装置,及び情報処理システム
GB2569775B (en) 2017-10-20 2020-02-26 Graphcore Ltd Synchronization in a multi-tile, multi-chip processing arrangement
GB2569271B (en) 2017-10-20 2020-05-13 Graphcore Ltd Synchronization with a host processor
GB2569844B (en) 2017-10-20 2021-01-06 Graphcore Ltd Sending data off-chip
GB2575294B8 (en) * 2018-07-04 2022-07-20 Graphcore Ltd Host Proxy On Gateway
GB2579412B (en) 2018-11-30 2020-12-23 Graphcore Ltd Gateway pull model
GB2580314B (en) 2018-12-27 2021-01-13 Graphcore Ltd Exchange of data between processor modules
CN112416053B (zh) * 2019-08-23 2023-11-17 北京希姆计算科技有限公司 多核架构的同步信号产生电路、芯片和同步方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5127092A (en) * 1989-06-15 1992-06-30 North American Philips Corp. Apparatus and method for collective branching in a multiple instruction stream multiprocessor where any of the parallel processors is scheduled to evaluate the branching condition
JPH0640324B2 (ja) * 1989-10-26 1994-05-25 インターナショナル・ビジネス・マシーンズ・コーポレーション マルチプロセッサ・システムおよびそのプロセス同期方法
US5365228A (en) * 1991-03-29 1994-11-15 International Business Machines Corporation SYNC-NET- a barrier synchronization apparatus for multi-stage networks
JPH04283850A (ja) * 1991-03-13 1992-10-08 Fujitsu Ltd 並列計算機
US5519877A (en) * 1993-01-12 1996-05-21 Matsushita Electric Industrial Co., Ltd. Apparatus for synchronizing parallel processing among a plurality of processors
US5434995A (en) * 1993-12-10 1995-07-18 Cray Research, Inc. Barrier synchronization for distributed memory massively parallel processing systems
JPH07234842A (ja) * 1994-02-22 1995-09-05 Fujitsu Ltd 並列データ処理システム
US5682480A (en) * 1994-08-15 1997-10-28 Hitachi, Ltd. Parallel computer system for performing barrier synchronization by transferring the synchronization packet through a path which bypasses the packet buffer in response to an interrupt
US5721921A (en) * 1995-05-25 1998-02-24 Cray Research, Inc. Barrier and eureka synchronization architecture for multiprocessors

Also Published As

Publication number Publication date
JPH1049507A (ja) 1998-02-20
US5928351A (en) 1999-07-27

Similar Documents

Publication Publication Date Title
JP3532037B2 (ja) 並列計算機
US8792508B2 (en) Subscriber and communication controller of a communication system and method for implementing a gateway functionality in a subscriber of a communication system
EP0110569B1 (en) Multiprocessor multisystem communications network
US6453406B1 (en) Multiprocessor system with fiber optic bus interconnect for interprocessor communications
CN106688208A (zh) 利用机架规模架构中的池化存储器进行的网络通信
JPH07507173A (ja) ホスト指示結合式の装置
JP5895153B2 (ja) インタフェース装置およびバスシステム
CN101938409A (zh) 数据处理装置和数据处理方法
JPS60500117A (ja) バス競合の解決のための方法と装置
CN105794161A (zh) 用于飞行器的数据通信网络
JP5821624B2 (ja) 通信制御装置、並列計算機システム及び通信制御方法
US9185026B2 (en) Tagging and synchronization for fairness in NOC interconnects
JPH0345042A (ja) データ伝送装置
US8589593B2 (en) Method and apparatus for processing protocol messages for multiple protocol instances
US5442631A (en) Communication control device
CN100361084C (zh) 用于利用门管理器维护实体顺序的方法和装置
US9665518B2 (en) Methods and systems for controlling ordered write transactions to multiple devices using switch point networks
JP4117721B2 (ja) 並列計算機のバリア同期制御方法
JP3683211B2 (ja) ノード間データ転送方法及びノード間データ転送装置
CN108737265A (zh) 控制器协调系统
JP3374628B2 (ja) トークンパス方式データ転送システム
JPH0736370A (ja) データ授受システムおよびその方法
JPH02244852A (ja) パケット処理装置
JP2001175618A (ja) 並列計算機システム
JPH01157143A (ja) トークンパッシングバス方式を用いたネットワークシステム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040130

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: 20040224

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040302

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: 20080312

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090312

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100312

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100312

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110312

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110312

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120312

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 10

LAPS Cancellation because of no payment of annual fees