JPH0736842A - 並列計算機 - Google Patents

並列計算機

Info

Publication number
JPH0736842A
JPH0736842A JP5179271A JP17927193A JPH0736842A JP H0736842 A JPH0736842 A JP H0736842A JP 5179271 A JP5179271 A JP 5179271A JP 17927193 A JP17927193 A JP 17927193A JP H0736842 A JPH0736842 A JP H0736842A
Authority
JP
Japan
Prior art keywords
processor
message
transfer
destination
processors
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.)
Pending
Application number
JP5179271A
Other languages
English (en)
Inventor
Yasutsugu Kawakura
康嗣 川倉
Noboru Tanabe
昇 田邊
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP5179271A priority Critical patent/JPH0736842A/ja
Publication of JPH0736842A publication Critical patent/JPH0736842A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 相互結合した極めて多数のプロセッサ(P
E)を有する超並列計算機において、高速な大域通信手
段を提供すること。 【構成】 あるPEの持つ情報をある範囲のPEに転送
する並列計算機において、各PEは、隣接PEからの宛
先付情報を入力し宛先と自番号が同一なら取込みそれ以
外は宛先に応じ隣接PEに与える判定部と、得た情報を
格納する記憶手段と、送信元の場合情報を作る情報作成
部と、送信元と自身の位置関係により情報作成部又は判
定部からの情報を転送する宛先を選択し又は得た情報を
他には転送しない決定をする転送経路情報作成部と、宛
先を情報に付し出力する転送制御部と、宛先付情報を宛
先に応じ他の隣接PEに転送する送信部とを備え、転送
開始初期に情報を得たPEの転送経路情報作成部は情報
を得たPEを転送対象範囲に広く分布させるよう複数の
PEを介して接続されるPEの宛先を複数選択する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、並列計算機に関し、特
に、N(Nは正の整数)次元メッシュ結合網あるいはN
次元トーラス結合網により接続され、全プロセッサある
いはある範囲のプロセッサにデータを転送する大域通信
を実行する並列計算機に関する。
【0002】
【従来の技術】並列計算機において、全体あるいはある
範囲のプロセッサに同一データを送信する通信を放送と
呼ぶ。従来の並列計算機における放送方式としては、相
互結合網以外にグローバルバスなどの放送専用転送経路
を備えるものと、相互結合網を用いて隣接プロセッサ間
で転送を繰り返すものの2つが多用されている。
【0003】まず、グローバルバスを備える方式を図1
3を用いて説明する。図13は、16個のプロセッサ
P'11 〜P'44 が2次元メッシュ状の相互結合網により
接続されている並列計算機を示す。この並列計算機は、
相互結合網の他に全プロセッサに接続されるグローバル
バス100を備えている。プロセッサP'11から全プロセ
ッサに対する放送は、プロセッサP'11がグローバルバス
上に送出したメッセージをプロセッサP'11以外の15個
のプロセッサがそれぞれ受信することによって実行され
る。
【0004】次に、相互結合網を用いてプロセッサ間の
転送を繰り返すことにより放送を行う方式をP''11〜
P''44の16個のプロセッサが2次元メッシュ状の相互
結合網により接続されている並列計算機を例にとり、図
14を用いて説明する。この場合、各プロセッサは隣接
しているプロセッサのみと通信できるので、放送を行う
には相互結合網上に設定した転送経路に従って転送を繰
り返す。図中に示した矢印は、プロセッサP''11から
全プロセッサに対して放送を行う場合の転送経路の一例
である。まず、プロセッサP''11が隣接プロセッサで
あるプロセッサP''12とプロセッサP''21に送信す
ることで放送が開始される。メッセージを受け取ったプ
ロセッサP''12は、転送経路に従って、プロセッサ
P''13とプロセッサP''22に同一データを送信す
る。プロセッサP''21は、プロセッサP''31に同一
データを送信する。以下、同様に転送を繰り返す。そし
て、送信元プロセッサP''11から最も遠いプロセッサ
P''44にデータが届けば放送が完了する。上記したも
の以外にも複数通りの転送経路が存在するが、プロセッ
サP''11からプロセッサP''44までメッセージが転
送されることが必要なので、最低6回の転送が必要とな
る。
【0005】従来の並列計算機を構成するプロセッサ数
が少ない場合は前述の方式によって実用的な速度の放送
を行うことができるが、並列計算機のプロセッサ数は増
大する一方であり、数万から数百万もの多数のプロセッ
サを持ついわゆる超並列計算機に上記放送方式を適用す
ると、以下に示す問題点が発生する。
【0006】グローバルバスを備える方式では、システ
ム全体の性能に見合った転送速度を持つグローバルバス
を実装することが困難になる。ハードウェアの物理的な
大きさが大きくなると配線遅延も増大するためである。
ハードウェアを小さくして解決しようとしても、ハード
ウェア規模を減らすために転送路幅を小さくすることが
必要となり、やはり十分な転送速度が得られない。超並
列計算機において、全プロセッサに接続されて、かつ、
実用となる転送速度のグローバルバスを備えることは困
難である。
【0007】全プロセッサに接続するバスを構築するこ
とが困難でも、全プロセッサを相互結合網により接続す
ることは可能である。しかし、相互結合網を用いて隣接
プロセッサ間で通信を繰り返す方式では、放送に要する
時間の増大が問題となる。すなわち、放送に要する転送
回数は送信元プロセッサと送信元から最も遠くに位置す
るプロセッサとの距離で決まり、例えば、nプロセッサ
×nプロセッサ構成の2次元メッシュ相互結合網では2
(n−1)回の転送が必要となる。放送に要する時間は
(転送回数)×(1回の転送時間)であるので、プロセ
ッサ数の増加に伴う転送回数の増大が放送全体に要する
時間を増大させるという問題がある。加えて、プロセッ
サはメッセージを受信すると一旦メモリに格納し、次に
別のプロセッサに転送するかを判定し必要に応じて送信
するという処理過程をとるために、転送に時間がかかる
ので、1回の転送に要する時間が長いことも放送時間増
大の原因となっている。このように、従来の並列計算機
を構成するプロセッサ数が少い場合は転送回数が少いの
で実用的な時間内に放送を完了することがでるが、プロ
セッサ数が極めて多いいわゆる超並列計算機では転送回
数が増大し実用的な時間で放送を完了することができな
くなる。
【0008】一方、従来の並列計算機では上述した放送
の他に、各プロセッサが保持する値の総和や最大値を求
める場合のようにプロセッサ全体に分散して保持されて
いる値に対して大域演算を実行することがある。この場
合にも、上記放送と同様に実用的な実行速度が得られな
いという問題点があった。
【0009】
【発明が解決しようとする課題】以上説明したように、
従来の並列計算機においてプロセッサ数が極めて多くな
ると、放送や大域演算などのように大域通信を行う際、
グローバルバスを備えたものでは配線遅延の増大によっ
て実用的な転送速度が得られず、相互結合網を用いて隣
接プロセッサ間で通信を繰り返すものでは転送回数の増
大によって実用的な時間で大域通信を完了することがで
きなくなるという問題点があった。
【0010】本発明は、上記課題を解決するためになさ
れたものであり、相互結合した極めて多くのプロセッサ
により構成されているにもかかわらず、高速な大域通信
が可能な並列計算機を提供することを目的とする。
【0011】
【課題を解決するための手段】大域通信は、送信元プロ
セッサを出発点とする転送経路に従って、プロセッサ間
転送を繰り返すことで実現される。転送を行うプロセッ
サは、メッセージを受信しないと転送を始めることがで
きない。大域通信を短時間で完了するには、メッセージ
を受信してさらに別のプロセッサに転送可能な状態のプ
ロセッサの数をいかに速く増やすかが重要となる。転送
動作を行うプロセッサが大域通信の範囲内の狭い部分に
固まって位置すると、その領域と転送先のプロセッサと
を接続する転送路数が不足するので十分な転送動作を行
えない。
【0012】この点に着目し、本発明に係る並列計算機
では、メッセージを受け取って転送を行うプロセッサが
少い転送初期には、バイパス動作をして転送対象のプロ
セッサが近くに存在しても飛び越して遠くに位置するプ
ロセッサに転送する制御を行うことにより、大域通信を
行う範囲の中で広い範囲に転送を行うプロセッサを配置
し、広い範囲に行き渡った後にまだ転送していないプロ
セッサすべてにメッセージを転送するように構成すると
ともに、転送と取り込みの同時動作によりプロセッサが
メッセージを記憶するために要する時間を見かけ上隠す
ようにして、高速に放送を行うことができるように構成
したものである。
【0013】すなわち、上記課題を解決するために、本
発明では、相互結合網により接続された複数のプロセッ
サを有し、1つのプロセッサが保持している情報をメッ
セージとして他のすべてのプロセッサまたは特定の範囲
の複数のプロセッサに転送する大域通信を実行する並列
計算機において、前記プロセッサの各々は、隣接するプ
ロセッサから転送される宛先プロセッサ番号の付加され
たメッセージを入力し、前記宛先プロセッサ番号と自身
のプロセッサ番号とが一致する場合は前記メッセージを
取り込み、一致しない場合は前記宛先プロセッサ番号に
応じた他の隣接するプロセッサにそのまま転送する宛先
判定部と、この宛先判定部によって取り込まれた前記メ
ッセージを格納する受信メッセージ記憶手段と、自身が
前記大域通信における前記メッセージの送信元となるプ
ロセッサである場合に前記メッセージを作成する送信メ
ッセージ作成部と、前記送信元となるプロセッサと自身
のプロセッサとの間の前記相互結合網における相対的位
置関係に基づいて、前記送信メッセージ作成部または前
記宛先判定部から入力した前記メッセージを転送すべき
1つまたは複数のプロセッサの宛先プロセッサ番号を選
択すること、または前記宛先判定部によって取り込まれ
た前記メッセージを他のプロセッサには転送しないこと
を決定することのいずれかを実行する転送経路情報作成
部と、この転送経路情報作成部から与えられた前記宛先
プロセッサ番号を前記メッセージに付加して出力するこ
と、または前記メッセ−ジを出力しないことを実行する
転送制御部と、この転送制御部から与えられた前記宛先
プロセッサ番号の付加された前記メッセージを、前記宛
先プロセッサ番号に応じた他の隣接するプロセッサに転
送する送信処理部とを具備してなり、前記大域通信の開
始初期においては、前記送信元となるプロセッサおよび
前記メッセージを取り込んだプロセッサの前記転送経路
情報作成部は、前記メッセージを取り込んだプロセッサ
を前記大域通信の対象範囲に渡って広範に分布させるよ
うに、複数のプロセッサを介して遠方に接続されるプロ
セッサの宛先プロセッサ番号を複数選択することを特徴
とする。
【0014】
【作用】まず、送信元となるプロセッサが宛先プロセッ
サ番号を付したメッセージを送出することによって放送
が開始され、このメッセージは各プロセッサによって次
々と他のプロセッサに転送されていく。ここで、本発明
に係る並列計算機では、プロセッサにメッセージが到着
すると、宛先判定部において、宛先プロセッサ番号と自
身のプロセッサ番号とを比較して、プロセッサ内に取り
込むか、処理を全く行わずに隣接プロセッサに転送(バ
イパス)するかを判定する。バイパスすると判定した場
合は、直ちに相互結合網に送出する。プロセッサ内に取
り込むと判定したメッセージは、メッセージ記憶部に送
られて記憶されると同時に、転送制御部に送られる。転
送制御部は、転送経路情報作成部により作成された転送
経路情報に従って動作する。前記メッセージを転送する
場合には、宛先プロセッサ番号をメッセージ本体と共に
送信処理部に送り、送信処理部はメッセージとして形成
し相互結合網に送出する。
【0015】その際、メッセージを受け取ったプロセッ
サは、物理的に近い距離にあるプロセッサに転送するだ
けではなく、他プロセッサ宛メッセージを通過させる機
能を利用して、物理的に近い距離に存在するプロセッサ
を飛び越して遠くの別のプロセッサに転送する制御も行
う。
【0016】すなわち、メッセージを受け取って転送を
行うプロセッサが少い転送初期には、バイパス動作をし
て遠くに位置するプロセッサに転送する制御を行うこと
により、大域通信を行う範囲の中で広い範囲に転送を行
うプロセッサを配置し、広い範囲に行き渡った後にまだ
転送していないプロセッサすべてにメッセージを転送す
る。
【0017】これによって、本発明に係る並列計算機で
は、最大転送回数が少く、転送路の重複使用がない転送
経路に従って転送を行うことにより、プロセッサ台数が
数万から数百万台になっても実用的な時間で大域通信を
行うことができる。
【0018】
【実施例】図1に、本発明の第1の実施例に係る並列計
算機を構成する1つのプロセッサの概略構成を示す。こ
のプロセッサ2は、宛先判定部4、受信処理部6、転送
経路情報作成部8、受信メッセージ格納部10、転送制
御部12、送信制御部14、送信メッセージ作成部16
を用いて構成される。
【0019】宛先判定部4は、メッセージをこのプロセ
ッサ2内に取り込むか、あるいは処理を全く行なわずに
通過させるかを判定する。受信処理部6は、エラー検出
・訂正などの受信処理を行う。
【0020】転送経路情報作成部8は、プロセッサごと
に転送経路を決定する。メッセージ記憶部10は、メッ
セージを格納する。転送制御部12は、転送経路情報に
基づいて、受信メッセージを転送したり送信メッセージ
を送信メッセージ作成部から読み出して他プロセッサ宛
に送信する。
【0021】送信処理部14は、宛先情報やエラー制御
情報などを付加してメッセージを相互結合網に送出す
る。送信メッセージ作成部16は、放送を開始する唯一
のプロセッサである放送元プロセッサとなる場合に最初
のメッセージを作成する。
【0022】また、前記宛先判定部4の入力側は、複数
の転送路からなる入力転送路20により相互結合網に接
続されている。前記宛先判定部4の出力側と前記送信処
理部14の出力側は、複数の転送路からなる出力転送路
30により相互結合網に接続されている。
【0023】ここに、本実施例では複数のプロセッサ2
を接続する相互結合網の一例として、図2(a)に示す
ような2次元トーラス結合網を用いて説明する。2次元
トーラス結合網を適用する場合、図のようにn×n個の
プロセッサ2を格子状に並べて上下左右の4方向のプロ
セッサと接続し、最左端と最右端のプロセッサおよび最
上端と最下端のプロセッサをそれぞれ接続してドーナツ
状の構成にする。各プロセッサは、x方向とy方向の2
成分からなるプロセッサ番号を持つ。2次元トーラス結
合網を用いた場合、どのプロセッサからみても、他のプ
ロセッサが同一の結合構造を有するという利点がある。
【0024】以下の説明では、プロセッサP(x,y)
は、プロセッサP(x−1,y)、プロセッサP(x+
1,y)、プロセッサP(x,y−1)、プロセッサP
(x,y+1)の4プロセッサと接続されるという記述
を用いる。但し、プロセッサ番号の計算は、すべてmo
d(n)で行うものとする。
【0025】この場合、プロセッサ2は4方向のプロセ
ッサと接続されるので、入力転送路、出力転送路をそれ
ぞれ4系統ずつ備える。従って、入力転送路および出力
転送路を記述すると実際は図2(b)のような構成にな
るが、図2(a)ではこれを省略して接続関係のみ示し
ている。
【0026】次に、上記で説明したプロセッサ2を2次
元トーラス結合網によって接続した並列計算機において
放送を行う場合のプロセッサ2の動作について、図3〜
図6を用いて説明する。なお、図3〜図6では、図1の
プロセッサ2に対して図2の2次元トーラス結合網を適
用した例に対応して、入力転送路21〜24、出力転送
路31〜34を示してある。
【0027】プロセッサ2の動作には、以下に示すよう
に開始動作、バイパス動作、終端動作および転送動作の
4通りのものがある。 1)開始動作:放送元プロセッサの動作であり、転送経
路上では出発点に位置する。図3(a)において、転送
経路情報作成部8の指示によって、転送制御部12は送
信メッセージ作成部8において作成したメッセージを読
みだし、このメッセージを宛先プロセッサ番号と共に送
信処理部14に送る。宛先プロセッサ番号は複数あり、
転送経路情報作成部8から与えられる。送信処理部14
は、エラー検出用の符号化を行うなどの送信処理を行っ
た後、宛先プロセッサ番号に応じて、4本の出力転送路
31〜34の内の適切なもの、例えば出力転送路31、
に宛先プロセッサ番号の付加されたメッセージを送信す
る。なお、後述する説明に参照する図7、図8、および
図11では図3(b)に示す記号を用いる。
【0028】2)バイパス動作:放送開始初期に行われ
るものであり、隣接プロセッサから送られてきたメッセ
ージを処理せずに別のプロセッサに送信する動作であ
る。図4(a)において、入力転送路21〜24のいず
れか、例えば入力転送路21からメッセージが送られて
くると、宛先判定部4は自身のプロセッサ番号とメッセ
ージに含まれる宛先プロセッサ番号とを比較することに
より当該メッセージをバイパスすると判断し、出力転送
路31〜34の内の適切なもの、例えば出力転送路3
2、を選択して送出する。このバイパス動作は本発明の
特徴の1つとなっているものであり、バイパス動作に要
する時間が、プロセッサ内に一旦取り込んだ後に再度送
信する場合に比べて短いところに大きな利点がある。な
お、以下の説明では図4(b)に示す記号を用いる。
【0029】3)終端動作:隣接プロセッサから送られ
てきたメッセージを受信するものであり、当該放送にお
ける転送経路上で終端に位置するプロセッサの動作であ
る。図5(a)において、入力転送路21〜24のいず
れか、例えば入力転送路21、からメッセージが送られ
てくると、宛先判定部4は自身のプロセッサ番号とメッ
セージに付加された宛先プロセッサ番号とを比較するこ
とにより当該メッセージの宛先が自身であることを判断
し、この受信メッセージを受信処理部6に取り込む。受
信処理部6はエラー処理などの受信処理を施した後に受
信メッセージを受信メッセージ格納部10と転送制御部
12との両方に送る。転送制御部12は、転送経路情報
作成部8で作成された転送経路情報に基づいて、自身が
終端に位置するプロセッサであることを知り、他プロセ
ッサへの転送は行わない。なお、以降の説明では図5
(b)に示す記号を用いる。
【0030】4)転送動作:転送経路上では開始位置と
終端位置以外の中間に位置するプロセッサがメッセージ
を受信すると同時に他プロセッサに転送する動作であ
り、放送の中核となる動作である。図6(a)におい
て、宛先判定部4によって取り込まれたメッセージは受
信処理部6でエラー処理などの受信処理を施された後、
受信メッセージ格納部10に格納されると同時に転送制
御部12にも送られる。転送制御部12では、転送経路
情報作成部8で作成された転送経路情報に基づいて別プ
ロセッサに転送するために、宛先プロセッサ番号と共に
メッセージを送信処理部14に送る。宛先プロセッサ番
号は、当該プロセッサの転送経路の位置によって、1つ
の場合と複数の場合とがあり、転送経路情報作成部8か
ら与えられる。送信処理部14は、送信処理を行った
後、出力転送路31〜34の内の適切なものに宛先プロ
セッサ番号を含んだメッセージを送出する。なお、以降
の説明では図6(b)に示す記号を用いる。
【0031】次に、以上の動作を組み合わせて放送が行
われる様子を図7を用いて説明する。図7は並列計算機
の一部分のプロセッサ101〜106を示す。プロセッ
サ101から全プロセッサに向けて放送を行うには、転
送経路としてプロセッサ101を出発点とした木状の経
路を用いる。転送経路には複数の枝分れがあり、その中
のひとつの経路であるプロセッサ101→プロセッサ1
03→プロセッサ105→プロセッサ102に沿って、
プロセッサの動作を説明する。この経路上の転送回数は
3回である。
【0032】プロセッサ101は、送信元プロセッサで
あり、開始動作を行っている。宛先はプロセッサ103
であるが、直接接続されていないのでプロセッサ102
に向けて送信される。
【0033】プロセッサ102では、宛先が自プロセッ
サではないのでバイパス動作を行い、プロセッサ103
に送信する。プロセッサ103は、転送経路上で中間に
位置するので転送動作を行う。すなわち、メッセージを
受信メッセージ格納部に格納すると同時にプロセッサ1
04、プロセッサ105に向けて送信する。
【0034】プロセッサ105は、転送動作を行い、プ
ロセッサ102宛にメッセージを送信する。プロセッサ
106は、バイパス動作を行う。
【0035】プロセッサ102は、転送経路の終端に位
置するので終端動作を行う。すなわち、メッセージを受
信メッセージ格納部に格納する。プロセッサ101→プ
ロセッサ103の転送途中でバイパス動作を行っている
ように、プロセッサは、バイパス動作と終端動作の両動
作を行う場合がある。
【0036】次に、転送経路情報作成部8の動作の説明
する。転送経路情報作成部8は転送経路を作成するが、
転送経路を実際の相互結合網に対応付ける際に、転送路
を重複して使用しないように割り当てなければならな
い。重複した割り当てを行うと、一方のメッセージの転
送中は、他のメッセージが転送されずに待たされること
になる。メッセージの転送が滞ることになる。よって、
重複しないように割り当てることが、可能な転送経路を
求める必要がある。
【0037】転送経路の一例として、送信元プロセッサ
を開始点とする木構造の経路を用いる。木構造をメッシ
ュ上に割り当てるために、LSIチップに木構造結合網
を埋め込む手順として知られているH型割り当て手順を
流用する。格子上に木構造の経路を割り当てた様子を図
8に示す。本来のH型割り当て手順では、模様付きの丸
で示した位置にのみプロセッサを配置し、白抜きの丸で
示した位置にはプロセッサを配置しない。しかし、本実
施例では、あらかじめプロセッサが格子状に配置されて
いる状況において、転送経路を割り当てるためにH型割
り当て手順を用いる。図中では、転送経路として使われ
ないプロセッサ間転送路は示していない。送信元プロセ
ッサ111を開始点として転送経路112が延びてい
る。プロセッサ113のように模様付きの丸で示したプ
ロセッサは転送経路に含まれるが、プロセッサ114の
ように白抜きの丸で示したプロセッサには転送経路に含
まれていない。このようなH型手順では、結合できない
格子点が全格子点のほぼ半分あり、この手順をそのまま
放送のための転送経路とすることはできない。そこで、
全プロセッサを接続できるように割り当て手順を変更
し、転送経路決定手順とする。
【0038】詳細な手順の説明に先立って、転送経路を
概略的に説明する。H型手順を適用したときに接続され
ずに残るプロセッサの近傍には、必ず接続されているプ
ロセッサが存在することに着目する。近傍とは、x方向
プロセッサ番号の差とy方向プロセッサ番号の差が共に
1以内のプロセッサを指す。従って、本実施例では、H
型手順によって並列計算機全体にわたって大まかにメッ
セージを転送した後に、H型手順の終端部分で、全プロ
セッサにメッセージが行き渡るように修正を施した手順
を用いる。なお、転送経路を決定する手順は、全プロセ
ッサが独自に実行できる必要がある。
【0039】放送において各プロセッサ2は親プロセッ
サから送られたメッセージを子プロセッサに転送するこ
とから、概略的には転送経路情報作成部8の属するプロ
セッサ番号を(x,y)として親プロセッサと子プロセ
ッサを求めることにより各プロセッサの動作を決定す
る。親プロセッサや子プロセッサの有無によって転送制
御部の動作は以下のようになる。
【0040】1)親プロセッサあり、子プロセッサあ
り:転送動作を行う。 2)親プロセッサあり、子プロセッサなし:終端動作を
行う。 3)親プロセッサなし、子プロセッサあり:開始動作を
行う。
【0041】なお、親プロセッサとは当該プロセッサを
宛先としてメッセージを送信するプロセッサをいい、子
プロセッサとは当該プロセッサがメッセージを送信する
宛先となるプロセッサをいう。
【0042】ここで、図9および図10に、転送経路情
報作成部8で実行され、転送制御部12の動作のために
必要なプロセッサ(x,y)における転送経路情報を決
定する詳細なアルゴリズムの一例を示す。
【0043】ここで、プロセッサ番号を2進表現したと
きに、最も右にある1の右側に並ぶ0の個数をプロセッ
サのレベルと定義する。例えば、プロセッサP(4,
5)のプロセッサ番号(4,5)は,2進表現すると
(100,101)なので、 x方向のレベル u=level(x)=2 y方向のレベル v=level(y)=0 となる。ただし、x=0あるいはy=0の場合は、 level(0)=log2 (n) とする。nは、図2の結合網におけるx方向やy方向の
一行分あるいは一列分のプロセッサ数である。
【0044】また、親プロセッサや子プロセッサを求め
る手続きの一部として、ビット列aのビット位置bをc
(0または1)に変更する手続きsetbit(a,
b,c)を定義する。
【0045】例えば、 setbit(0000,0,1)→0001 setbit(1101,2,0)→1001 となる。
【0046】以下、図9および図10のアルゴリズムに
ついて説明する。まず、放送元プロセッサの固定プロセ
ッサ番号をプログラム等から獲得し、これと自身の固定
プロセッサ番号から放送元プロセッサのプロセッサ番号
を(n/2,n/2)としたときの自身の相対プロセッ
サ番号(x,y)を決定する(ステップ1)。
【0047】次に、u=level(x)、v=lev
el(y)を求める(ステップ2)。その後、図9に示
すように、n、u、v、xおよびyの関係に従って条件
分岐を実行していくと、図10に示すように13種類の
動作および宛先の組合せのいずれかが求められる(ステ
ップ3〜ステップ14)。
【0048】図10の各ステップ15〜27のうちの到
達したステップに従って当該プロセッサの動作が決定さ
れ、宛先となる子プロセッサのプロセッサ番号が算出さ
れる。
【0049】なお、図10の子と示された欄に示されて
いるA〜Iは、以下のような相対プロセッサ番号を示し
ている。 A=(setbit(setbit(x,u,0),u−1,1),
y) B=(setbit(setbit(x,u,1),u−1,1),
y) C=(setbit(setbit(x,u+1,1),u,0),
y) D=(x,setbit(setbit(y,v,0),v−1,
1)) E=(x,setbit(setbit(y,v,1),v−1,
1)) F=(x,setbit(setbit(y,v+1,1),v,
1)) G=(x−1,y) H=(x+1,y) I=(x,y−1) J=(x,y+1) 放送においては、この相対プロセッサ番号を用いても良
いし、固定プロセッサ番号に逆変換して用いても良い。
【0050】図10には親プロセッサの相対プロセッサ
番号も求められることを示しているが、本実施例では親
プロセッサは求めなくても良い。次に、8×8プロセッ
サ構成の並列計算機に対して上記の手順を適用した結果
を図11に示す。プロセッサ121は、送信元プロセッ
サである。H型手順だけを適用した場合に接続できるプ
ロセッサに模様を付けて表した。模様が付いていないプ
ロセッサ、すなわち、H型手順では接続できないプロセ
ッサも、転送路を重複して使用することなく転送経路に
組み込めていることがわかる。
【0051】このように、本発明では、プロセッサ内で
の転送処理時間を短くするプロセッサ構成をとり、か
つ、転送回数が少い転送経路、すなわち最長転送経路の
長さが短い転送経路を採用するように構成したので、プ
ロセッサ数が非常に多い場合であっても放送を高速化で
きる。
【0052】なお、本発明では、n×n個のプロセッサ
を格子状に並べた2次元トーラス結合網への適用例を示
したが、x方向のプロセッサ数nとy方向のプロセッサ
数mが異なる場合であっても、nおよびmを適宜選択
し、転送経路情報作成部8が実行する転送経路情報を決
定するアルゴリズムを適宜修正することによって、同様
の効果を得ることができる。また、本発明は、適宜修正
することによって、N次元メッシュ結合網にも適用する
ことができる。
【0053】また、受信処理部6および送信処理部14
の対応する部分を省くことは自由である。次に、本発明
の第2の実施例に係る並列計算機について説明する。こ
の実施例は、本発明を大域演算に適用したものである。
【0054】前述した放送においては一つのプロセッサ
が持つデータを全プロセッサに分散させるのに対して、
大域演算では各プロセッサが保持する値の総和や最大値
を求める場合のように、プロセッサ全体に分散して保持
されている値に対して演算を行う。すなわち、全プロセ
ッサが持つデータを一つのプロセッサに集める。第1の
実施例で述べたプロセッサ内のメモリに格納すると同時
に別プロセッサに転送する転送操作はメッセージの複製
というある種の演算と解釈することができるが、これに
対し、大域演算では受信したデータに対して加算や最大
値選択などの演算を施す。このように考えると、放送と
大域演算は、転送経路にメッセージを流す方向しか違わ
ないことになる。この点に着目し、実施例1で説明した
放送を多少変更することで、大域演算を実現することが
できる。
【0055】すなわち、本実施例の並列計算機を構成す
るプロセッサの構成は図1とほぼ同様であり、また第1
の実施例と同様に相互結合網の一例として図2(a)に
示すような2次元トーラス結合網を用る。
【0056】ここで、各プロセッサが保持する演算対象
のデータは、送信メッセージ作成部16に保持する。放
送を行う場合と異なるのは、転送制御部12が演算機能
も合わせ持つことと、図10に示す転送経路情報作成部
8のアルゴリズムにおける親プロセッサと子プロセッサ
とを入れ替えることだけである。
【0057】プロセッサの動作は、図3〜図6を用いて
説明した動作とほぼ同じである。ここでは、以下に示す
異なる2つの点についてのみ説明する。第1点は、第1
の実施例における開始動作と終端動作を行うプロセッサ
の転送経路における位置を入れ換える。すなわち、開始
動作を行うプロセッサを転送経路の出発点ではなく終端
に配置する。また、終端動作を行うプロセッサを転送経
路の終端ではなく出発点に配置する。バイパス動作、転
送動作をするプロセッサの位置は変更しない。
【0058】第2点は、転送動作や終端動作において、
送信メッセージ作成部に保持されている演算対象データ
と受信データとをオペランドとして演算を行うことであ
る。転送動作では、演算結果を転送する。終端動作で
は、演算結果が大域演算の最終的な結果となる。放送で
は、複数のプロセッサ宛にメッセージを送信する場合が
あったように、大域演算では、複数のプロセッサから送
られるデータとプロセッサ内に保持するデータのすべて
に対して演算を施す場合がある。
【0059】プロセッサ(x,y)における転送経路情
報を決定するアルゴリズムの条件分岐の部分は、第1の
実施例の説明で参照した図9と同一であり、図9に続く
部分は図12に示すごとくである。また、図12に示
す、親プロセッサあるいは子プロセッサのプロセッサ番
号を示すA〜Iは、前述したものと同一である。
【0060】
【発明の効果】以上述べたように、本発明に係る並列計
算機によれば、隣接するプロセッサから与えられたメッ
セージを取り込まずに即座に他の隣接するプロセッサに
バイパスする手段を設けて、大域通信開始初期には隣接
するプロセッサを飛び越して遠くに位置するプロセッサ
にメッセージを取り込ませる制御を行うことにより、最
大転送回数を少く抑え、且つ大域通信の間、転送路の重
複使用を回避した転送経路に従って転送制御を行って、
転送路使用のための待ち時間を削除するとともに、転送
と取り込みを同時に実行する手段を設けることによっ
て、各転送に要する時間を短縮するようにしたので、プ
ロセッサ台数が数万から数百万台になっても実用的な時
間で大域通信を行うことができる。
【図面の簡単な説明】
【図1】本発明の第1の実施例に係る並列計算機を構成
する1つのプロセッサの概略構成を示す図
【図2】図1のプロセッサをn×n個接続した2次元ト
ーラス結合網を説明するための図
【図3】図1のプロセッサの開始動作を説明するための
【図4】図1のプロセッサのバイパス動作を説明するた
めの図
【図5】図1のプロセッサの終端動作を説明するための
【図6】図1のプロセッサの転送動作を説明するための
【図7】図1のプロセッサの4種類の動作を組み合わせ
て放送が行われる様子を説明するための図
【図8】格子上に木構造の経路を割り当てた様子を説明
するための図
【図9】転送経路情報作成部8が実行する転送経路情報
決定アルゴリズムの一例の前半部分を示す図
【図10】図9アルゴリズムに続く部分のアルゴリズム
を示す図
【図11】8×8プロセッサ構成の並列計算機に対して
本発明を適用した結果を示す図
【図12】本発明の第2の実施例に係る転送経路情報決
定アルゴリズムの一部分を示す図
【図13】従来のグローバルバスを備える並列計算機の
概略構成を示す図
【図14】従来の2次元メッシュ状の相互結合網により
接続される並列計算機の概略構成を示す図
【符号の説明】
2…プロセッサ 4…宛先判定部 6…受信処理部 8…転送経路情
報作成部 10…受信メッセージ格納部 12…転送制御
部 14…送信制御部 16…送信メッ
セージ作成部 20…入力転送路 30…出力転送

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】相互結合網により接続された複数のプロセ
    ッサを有し、1つのプロセッサが保持している情報をメ
    ッセージとして他のすべてのプロセッサまたは特定の範
    囲の複数のプロセッサに転送する大域通信を実行する並
    列計算機において、 前記プロセッサの各々は、 隣接するプロセッサから転送される宛先プロセッサ番号
    の付加されたメッセージを入力し、前記宛先プロセッサ
    番号と自身のプロセッサ番号とが一致する場合は前記メ
    ッセージを取り込み、一致しない場合は前記宛先プロセ
    ッサ番号に応じた他の隣接するプロセッサにそのまま転
    送する宛先判定部と、 この宛先判定部によって取り込まれた前記メッセージを
    格納する受信メッセージ記憶手段と、 自身が前記大域通信における前記メッセージの送信元と
    なるプロセッサである場合に前記メッセージを作成する
    送信メッセージ作成部と、 前記送信元となるプロセッサと自身のプロセッサとの間
    の前記相互結合網における相対的位置関係に基づいて、
    前記送信メッセージ作成部または前記宛先判定部から入
    力した前記メッセージを転送すべき1つまたは複数のプ
    ロセッサの宛先プロセッサ番号を選択すること、または
    前記宛先判定部によって取り込まれた前記メッセージを
    他のプロセッサには転送しないことを決定することのい
    ずれかを実行する転送経路情報作成部と、 この転送経路情報作成部から与えられた前記宛先プロセ
    ッサ番号を前記メッセージに付加して出力すること、ま
    たは前記メッセ−ジを出力しないことを実行する転送制
    御部と、 この転送制御部から与えられた前記宛先プロセッサ番号
    の付加された前記メッセージを、前記宛先プロセッサ番
    号に応じた他の隣接するプロセッサに転送する送信処理
    部とを具備してなり、 前記大域通信の開始初期においては、前記送信元となる
    プロセッサおよび前記メッセージを取り込んだプロセッ
    サの前記転送経路情報作成部は、前記メッセージを取り
    込んだプロセッサを前記大域通信の対象範囲に渡って広
    範に分布させるように、複数のプロセッサを介して遠方
    に接続されるプロセッサの宛先プロセッサ番号を複数選
    択することを特徴とする並列計算機。
JP5179271A 1993-07-20 1993-07-20 並列計算機 Pending JPH0736842A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5179271A JPH0736842A (ja) 1993-07-20 1993-07-20 並列計算機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5179271A JPH0736842A (ja) 1993-07-20 1993-07-20 並列計算機

Publications (1)

Publication Number Publication Date
JPH0736842A true JPH0736842A (ja) 1995-02-07

Family

ID=16062927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5179271A Pending JPH0736842A (ja) 1993-07-20 1993-07-20 並列計算機

Country Status (1)

Country Link
JP (1) JPH0736842A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009110497A1 (ja) * 2008-03-04 2009-09-11 日本電気株式会社 Simd型プロセッサアレイシステム及びそのデータ転送方法
US8832413B2 (en) 2002-06-26 2014-09-09 Coherent Logix, Incorporated Processing system with interspersed processors and communication elements having improved wormhole routing

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03102455A (ja) * 1989-09-18 1991-04-26 Fujitsu Ltd 並列計算機を構成する計算機ノード

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03102455A (ja) * 1989-09-18 1991-04-26 Fujitsu Ltd 並列計算機を構成する計算機ノード

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8832413B2 (en) 2002-06-26 2014-09-09 Coherent Logix, Incorporated Processing system with interspersed processors and communication elements having improved wormhole routing
US9535877B2 (en) 2002-06-26 2017-01-03 Coherent Logix, Incorporated Processing system with interspersed processors and communication elements having improved communication routing
WO2009110497A1 (ja) * 2008-03-04 2009-09-11 日本電気株式会社 Simd型プロセッサアレイシステム及びそのデータ転送方法
JP5370352B2 (ja) * 2008-03-04 2013-12-18 日本電気株式会社 Simd型プロセッサアレイシステム及びそのデータ転送方法
US8635432B2 (en) 2008-03-04 2014-01-21 Nec Corporation SIMD processor array system and data transfer method thereof

Similar Documents

Publication Publication Date Title
US9870204B2 (en) Algorithm to achieve optimal layout of instruction tables for programmable network devices
US5826049A (en) Partial broadcast method in parallel computer and a parallel computer suitable therefor
US5689722A (en) Multipipeline multiprocessor system
USRE38650E1 (en) System for performing deadlock free message transfer in cyclic multi-hop digital computer network using a number of buffers based on predetermined diameter
US20020083308A1 (en) Data processing device with a configurable functional unit
CN1997987A (zh) 用于在互连网络路由器内进行分组合并的方法和设备
JPH08185380A (ja) 並列計算機
JPH05181821A (ja) 非バイナリ・ハイパーキューブ形式のコンピュータ・システムおよびネットワークにおける複数ノードの接続方法
JPH05504644A (ja) 超並列処理システム用の通信構成の生成
CN110945481B (zh) 跨网络执行元组图程序的方法
CN110998531B (zh) 元组图程序中子图内优化的方法
JP2007505383A (ja) 複数のプログラム可能なプロセッサを有する集積データ処理回路
US20030140214A1 (en) Pipelined completion for asynchronous communication
US5999961A (en) Parallel prefix operations in asynchronous processors
CN117176638A (zh) 一种路由路径确定方法及相关组件
CN110945474A (zh) 用于元组图程序的类型推理的系统、跨网络执行元组图程序的方法
JPH10293755A (ja) ネットワーク内のノード間でメッセージを転送する方法
JPH0736842A (ja) 並列計算機
US7644190B2 (en) Method and apparatus for pipelined processing of data packets
US10104202B2 (en) Collectively loading programs in a multiple program multiple data environment
JPH1078932A (ja) リコンフィグラブル・ネットワークコンピュータ
JP2002007359A (ja) Simd制御並列処理方法および装置
JP2000349816A (ja) パケットデータ処理装置及びそれを用いたパケット中継装置
US11372791B2 (en) Embedding rings on a toroid computer network
CN110928692A (zh) 一种任务处理方法、装置及电子设备