JPH07262155A - 並列計算機およびメッセージ放送方法 - Google Patents

並列計算機およびメッセージ放送方法

Info

Publication number
JPH07262155A
JPH07262155A JP6053405A JP5340594A JPH07262155A JP H07262155 A JPH07262155 A JP H07262155A JP 6053405 A JP6053405 A JP 6053405A JP 5340594 A JP5340594 A JP 5340594A JP H07262155 A JPH07262155 A JP H07262155A
Authority
JP
Japan
Prior art keywords
message
broadcast
input
processor
circuit
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
JP6053405A
Other languages
English (en)
Inventor
Tatsuo Higuchi
達雄 樋口
Tadaaki Isobe
忠章 磯部
Junji Nakakoshi
順二 中越
Shigeo Takeuchi
茂雄 武内
Tatsu Toba
達 鳥羽
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.)
Hitachi Ltd
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi ULSI Engineering Corp
Hitachi 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 Hitachi ULSI Engineering Corp, Hitachi Ltd filed Critical Hitachi ULSI Engineering Corp
Priority to JP6053405A priority Critical patent/JPH07262155A/ja
Priority to US08/408,561 priority patent/US5822605A/en
Publication of JPH07262155A publication Critical patent/JPH07262155A/ja
Priority to US09/102,812 priority patent/US6330604B1/en
Priority to US09/846,261 priority patent/US6502136B1/en
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 デッドロックを発生せず複数プロセッサに高
速な放送機能を実現する。 【構成】 複数プロセッサへのデータ放送時に送信プロ
セッサでは放送要求メッセージを示すBRビットを新た
に設け、このビットを1にした放送要求メッセージをネ
ットワークに送信する。BEXではBRビットを0にB
Cビットを1にして放送メッセージに変換してから拡張
XBーX0に転送する。XBーX0はEX00〜EX0
3に放送し、さらにここからY方向XBを使って全ての
EXに放送する。そして、これらEXに対応するPEへ
メッセージを放送する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数のプロセッサ間で
ネットワークを介してメッセージを放送する並列計算機
に関する。
【0002】
【従来の技術】複数のプロセッサ間でネットワークを介
してメッセージ転送を行なう並列計算機において、重要
なデータ転送機能にブロードキャストがある。キューブ
型のネットワークを持ち、あるプロセッサから他のプロ
セッサへの転送経路が短く、データを高速に転送できる
並列計算機において、ブロードキャスト機能を実現する
方法としては、例えば特開平1ー267763に開示さ
れている方式がある。
【0003】上記特開平1ー267763に開示されて
いる方式は、n台のプロセッサをn=n1×n2×n3
×……×nnと因数分解し、これらの因数の各々を一辺
の格子点とするn次元格子空間上にプロセッサを並べ、
その各辺をクロスバスイッチからなる部分ネットワーク
で結合してパケット転送経路を構成し(以下、このトポ
ロジィのネットワークをHXBと呼ぶ。)、1つのプロ
セッサから全プロセッサへデータを並列に転送するブロ
ードキャスト機能を実現している。
【0004】並列計算機におけるデータ転送機能とし
て、ブロードキャストの他に、ある限定された範囲のプ
ロセッサの集まりであるプロセッサグループ内のプロセ
ッサにのみデータを転送する、部分ブロードキャスト機
能がある。部分ブロードキャスト機能を実現する方法と
しては、例えば特開平5ー28122に開示されている
方式がある。
【0005】上記特開平5ー28122に開示されてい
る方式は、部分ブロードキャストすべきプロセッサ群に
より定まる転送制御情報をネットワークに予め記憶し、
ネットワーク途中の複数箇所(転送制御点)に部分ブロ
ードキャストメッセージが到着した場合に、その転送制
御情報に従って、そのメッセージを下流に転送するか否
かを制御して、転送不要な経路へのデータ転送がなるべ
く生じないように部分ブロードキャストを実現してい
る。
【0006】上記に示したブロードキャストおよび部分
ブロードキャスト方式の実施例では、システムの唯一の
プロセッサから全プロセッサへデータを並列に転送する
方法が述べられている。クロスバスイッチからなる複数
の部分ネットワークからなるネットワークを介して複数
のプロセッサ間でメッセージ転送を行なう並列計算機で
は、複数のプロセッサから同時にブロードキャストメッ
セージが転送されると、転送経路を取り合うことにより
デッドロックが発生する。そのため、従来の方法では、
複数のプロセッサから同時にブロードキャストを実現で
きなかった。
【0007】これを解決する方法として、電子情報通信
学会技術研究報告Vol93、No320では、ブロー
ドキャストを実行するプロセッサをシステム中で唯一に
制限する方法が紹介されている。
【0008】
【発明が解決しようとする課題】上記、電子情報通信学
会技術研究報告Vol93、No320では、ブロード
キャストを実行するプロセッサをシステム中で唯一に制
限することで、デッドロックを回避している。この場
合、他のブロードキャストを実行したいプロセッサは、
一旦ブロードキャストを実行するプロセッサにメッセー
ジ(ブロードキャスト依頼メッセージ)を送り、ブロー
ドキャストの代行をしてもらう。
【0009】しかし、プロセッサにブロードキャストの
代行を行なわせるためのソフトウエアオーバヘッドが発
生する。
【0010】また、唯一のプロセッサにブロードキャス
ト依頼メッセージが集中するために、そのプロセッサへ
のメッセージが集中し、このプロセッサの負荷が極端に
大きくなる可能性がある。それゆえ、このプロセッサが
全体の処理速度を律速し、並列計算機の性能が低下する
恐れがある。
【0011】本発明の目的は、複数のプロセッサからブ
ロードキャストメッセージ及び部分ブロードキャストメ
ッセージを転送する場合に、デッドロックを回避し、特
定プロセッサへのメッセージの集中を緩和するブロード
キャスト方式を提供することにある。
【0012】
【課題を解決するための手段】本発明の目的は、並列プ
ロセッサを構成するn台のプロセッサ要素をn=n1×
n2×…×nmと因数分解し、これらの因数の各々を一
辺の格子点数とするn次元格子空間上にプロセッサ要素
を並べ、このプロセッサ要素に対応して、(m+1)入
力(m+1)出力クロスバスイッチで構成される中継ス
イッチによってその各辺をクロスバスイッチで結合し
て、メッセージ転送経路を構成し、前記メッセージ転送
経路の内、放送メッセージを受け取らない少なくとも1
つの特定の中継スイッチを指定する手段と、前記メッセ
ージ内に、そのメッセージを複数のプロセッサに転送す
る放送モードを指定する手段と、前記メッセージ内に、
前記特定の中継スイッチに対する放送の要求を指定する
手段と、前記特定の中継スイッチに設けられ、放送の要
求モードが指定されているメッセージを放送モードに変
更する手段とにより実現される。
【0013】
【作用】放送を要求するためのメッセージを示すための
手段と、放送メッセージが伝達されない中継スイッチで
この放送を要求するためのメッセージを放送メッセージ
に変換する手段によって、並列計算機を構成するプロセ
ッサが複数プロセッサにメッセージを放送する際に、放
送メッセージが必ずこの中継スイッチを放送の起点とし
て分配されるためにネットワークでのデッドロックが発
生せず、放送を依頼するためのメッセージの変換時にプ
ロセッサの処理が発生せず高速な放送を行なうことがで
きる。
【0014】
【実施例】
<第1の実施例>第1の実施例を図面を参照して説明す
る。
【0015】図1において100はプロセッサ(以下P
Eと略す)、132〜135はX方向のクロスバスイッ
チ(以下XBーXと略す)である。この内、132は本
実施例の特徴であるBEX(後述)を接続するための拡
張ポートを持つため、他のXBーXと区別するためX方
向の拡張ポート付クロスバスイッチ(以下、拡張XBー
Xと略す)と呼ぶ。136〜139はY方向のクロスバ
スイッチ(以下XBーYと略す)である。この内、13
9は本実施例の特徴であるBEXを接続するための拡張
ポートを持つため、他のXBーYと区別するためY方向
の拡張ポート付クロスバスイッチ(以下、拡張XBーY
と略す)と呼ぶ。116は各XBーXとXBーYの交点
に設けられた中継スイッチ(以下EXと略す)である。
以下では、これらのクロスバスイッチを区別しないで言
うときには、単にXBと言うことがある。140はホス
ト計算機またはサービスプロセッサ(SVP)である。
各PEは2次元座標空間の1つの格子点のX座標、Y座
標をそのPE番号として与えられている。各XBーXは
同一のY座標を有するPEに対して設けられ、そのY座
標iをつけてXBーXiと呼ぶ。各XBーYは同一のX
座標を有するPEに対して設けられ、そのX座標jをつ
けてXBーYjと呼ぶ。
【0016】したがって、拡張XBーXは拡張XBーX
0と呼び、拡張XBーYは拡張XBーY3と呼ぶ。各E
Xは1つのPEに対応して設けられ、以下では対応する
PEの番号と同じ番号をつける。ここでは、X方向の4
つのクロスバスイッチ、Y方向の4つのクロスバスイッ
チを示しているが、こららの数はあくまで一例である。
【0017】120は本実施例の特徴であるブロードキ
ャストの逐次化を行なう中継スイッチ(以下では、BE
Xと略す)であり、拡張XBーX0、拡張XBーY3に
接続されるが、他のEXと異なり対応するPEがない。
また、本実施例で特徴的であるが、BEXには2次元構
成の場合ネットワークの番号を2つ持ち、本実施例では
BEXのネットワークのおける番号として、拡張XBー
X0と拡張XBーY3に接続されていることから、「0
4」と「43」が割り当てられている。BEXが2つの
アドレスを持つ理由については、本実施例のブロードキ
ャストルーティングのデッドロック回避手法に特徴的で
あるため、動作説明の中で詳しく述べる。
【0018】本実施例では、各PEはBEXのアドレス
(ネットワーク中での番号)を生成するBEXアドレス
生成回路208を有し、このBEXアドレスを含んだ放
送要求メッセージを送信するようになっている。
【0019】各EXは対応するXBーX又はXBーYか
ら転送された放送メッセージをさらにXBーY、又はP
Eに転送するものである。
【0020】BEXは放送メッセージの逐次化のため
に、対応する拡張XBーX0又は拡張XBーY3から転
送された放送要求メッセージを放送メッセージに変更
し、この放送メッセージを拡張XBーX0に転送するも
ので、CTL変更回路を有する。
【0021】さらに各XBは、いずれかの入力ポートか
ら入力された放送メッセージを複数の出力ポートに並列
に転送するもので、経路決定回路を有する。
【0022】拡張XBーX0及び拡張XBーY3は、い
ずれかの入力ポートから入力された放送メッセージをB
EXに対応する拡張ポート以外の複数の出力ポートに並
列に転送するもので、拡張ポート対応経路決定回路を有
する。
【0023】図9に従来技術(特開平5ー28122)
で示されている並列計算機における複数の放送メッセー
ジが同時に転送される様子を示す。図9および以下で説
明する図10では転送経路の説明のためPEを省略して
記述している。
【0024】特開平5ー28122には、複数の放送メ
ッセージが同時に転送されることは記述されていない
が、図9のように2つ以上の送信元から放送メッセージ
が転送されるとデッドロックを生じる。この様子を説明
する。
【0025】特開平5ー28122に従えば、図9にお
いて送信元1はXBーX0を用いてX方向のEX00〜
EX03に放送メッセージを転送し、さらに各EXがY
軸方向にXBーY0〜XBーY3を用いて放送メッセー
ジをEX00〜EX33まで転送し、全てのPEに放送
メッセージを転送する。
【0026】一方、送信元2はXBーX1を用いてX方
向のEX10〜EX13に放送メッセージを転送し、さ
らに各EXがY軸方向にXBーY0〜XBーY3を用い
て放送メッセージをEX00〜EX33まで転送し、全
てのPEに放送メッセージを転送する。このように、各
放送メッセージが同時に発生しなければ各放送メッセー
ジは全PEに転送される。
【0027】しかし、ほぼ同時に放送メッセージが送信
元PEから転送されるとX方向のXBは競合しないため
同時にメッセージを転送するが、Y方向のXBは競合
し、例えば送信元1の放送メッセージがXBーY0、X
BーY1を確保し、送信元2の放送メッセージがXBー
Y2、XBーY3を確保すると、それぞれが、XBーY
2とXBーY3、XBーY0とXBーY1を確保できず
にメッセージの転送が停止し、デッドロック状態とな
る。
【0028】この原因は、放送メッセージの転送はネッ
トワーク全体を使用する必要があるにも関わらず、複数
の経路からネットワークを独立に同時に確保し始めるこ
と、すなわち同時に複数の放送メッセージを転送するこ
と、から生じている。
【0029】本実施例は、ネットワークにおける放送メ
ッセージの転送経路を1つに限定し、この放送経路とこ
の放送経路の頂点(BEX)への放送要求メッセージの
転送経路が競合しないようにすることで、複数の放送メ
ッセージを逐次的に転送することでデッドロックを回避
する。
【0030】図10に本実施例の放送メッセージの転送
経路を示す。図10において、放送メッセージの転送経
路は送信元の如何にかかわらず、すべてBEXを起点と
してX方向には拡張XBーX0を使ってEX00〜EX
03に転送し、これらEX00〜EX03からY方向に
XBーY0〜XBーY3を使って転送する。
【0031】そして、本実施例に特徴的なのが各送信元
からBEXに放送要求メッセージを転送する経路に2種
類あることである。図10のように送信元1ではBEX
のネットワーク上のアドレスとして「04」を用いて拡
張XBーX0のみを用いてBEXへ放送要求メッセージ
を転送する。一方、送信元2ではBEXのネットワーク
上のアドレスとして「43」を用いて、まずXBーX1
でX方向を転送し、Y方向には拡張XBーY3を用いて
BEXへ放送要求メッセージを転送する。
【0032】このように2つのアドレスを用いる理由は
「04」はX方向に5つのポートを持っているXBーX
は拡張XBーX0しかないためで、PE00〜PE03
以外のPEでは用いることができない。一方、PE00
〜PE03が「43」を用いると、EX03でBEXか
らの放送メッセージの転送経路と放送要求メッセージの
転送経路が競合し、デッドロックを生じるからである。
【0033】以下では、この実施例1のデッドロック回
避機構を実現するための動作を詳しく述べる。
【0034】本実施例では特定のPEへ送るメッセージ
(通常のメッセージ)と、BEXへ送る放送要求メッセ
ージと、全PEに送るメッセージ(放送メッセージ)を
転送できるようになっている。
【0035】まず、メッセージのフォーマットを図8に
示す。いずれのメッセージも、図8(a)に示すよう
に、受信PE番号、CTL(コントロール)ビット、デ
ータをそれぞれ保持するフィールドにより構成される。
CTLビットはメッセージの持つ属性を示すもので、ブ
ロードキャストであることを示すビット(BCビッ
ト)、ブロードキャスト要求であることを示すビット
(BRビット)を内部に持っている。受信PE番号はメ
ッセージを受け取るPEの番号である。本実施例に関連
する放送要求メッセージの場合には図8(b)に示すよ
うにBC=0、BR=1であり、受信PE番号にはBE
Xのアドレス、ここでは「04」または「43」が設定
される。
【0036】そして、BEXが放送要求メッセージを受
取り、CTLビットを変換した後の放送メッセージの場
合には図8(c)に示すようにBC=1、BR=0であ
り、受信PE番号にはBEXのアドレス、ここでは「0
4」または「43」が設定されている。
【0037】なお、通常のメッセージの場合には図8
(d)に示すように受信PE番号が有意となるがBC=
BR=0である。BC、BRの各ビットの生成方法、使
い方については、後述する。
【0038】図2は各PEの構成を示している。200
はプログラムを実行するデータ処理装置、201はデー
タと命令列を格納するメモり、202はそのPEに対応
するEXからメッセージを受信し、メモリ201に転送
する受信制御回路、203は送信制御回路である。送信
制御回路203は、メモリ201から読み出したメッセ
ージ内容を保持するレジスタ204〜206、ブロード
キャスト要求の場合にBEXのアドレスを生成するBE
Xアドレス生成回路208、メッセージを生成し、その
PEに対応するEXに転送するメッセージ生成回路20
9から構成される。
【0039】なお、レジスタ204〜206に保持され
るメッセージ内容は、受信PE番号、CTLビット、デ
ータフィールドからなる。
【0040】BEXアドレス生成回路208は、そのP
Eから放送要求メッセージを送信するとき動作するもの
で、そのPEから放送要求メッセージを行なうときに用
いるBEXのアドレスを保持するレジスタ210とレジ
スタ205に格納されたCTLビットのうちBRビット
が1の場合には受信PE番号の代わりにレジスタ210
に格納されたBEXのアドレスを選択し、これ以外の場
合には受信PE番号を選択するセレクタ211から構成
される。
【0041】図1の構成では、PE00〜PE03のレ
ジスタ210には「04」が、これら以外のPEのレジ
スタ210には「43」が事前(システムをスタートし
たときなど)に外部(例えば、ホスト計算機またはSV
P140)から設定される。
【0042】放送メッセージを送信するPEでは、デー
タ処理装置200によって必要な情報がメモリ201か
ら読み出され、レジスタ204〜206にセットされた
後、メッセージ生成回路209に送られる。このうち、
受信PE番号は放送要求メッセージであるため、CTL
ビット205内にBCビットとして0、BRビットとし
て1がセットされているため、BEXアドレス生成回路
208によって、レジスタ210に格納されたBEXの
アドレスがセレクタ211によって選択され、メッセー
ジ生成回路209に送られる。
【0043】メッセージ生成回路209は204〜20
6および208から送られる情報を元に、図8の(b)
または(d)の形式のメッセージを生成し、EXに送信
する。
【0044】図3は各EXの構成を示している。
【0045】いずれのEXもハードウエアの構成は同じ
である。各EXの3つの入力ポート30はそれぞれP
E、XBーX、またはXBーYに接続されている。それ
らの入力ポート30に入力されたメッセージはそれぞれ
入力バッファ300〜302に一時的に保持される。3
03〜305はそれぞれXBーX、XBーY、PEへメ
ッセージを送り出す出力ポートである。
【0046】400〜402はそれぞれ入力バッファ3
00〜302に入力されたメッセージM(PE)、M
(X)、M(Y)が通常のメッセージまたは放送要求メ
ッセージの場合に、その中の受信PE番号をデコード
し、メッセージの送信先を決めるアドレスデコーダで、
そのメッセージ中のBC=0のときに動作する。信号M
(PE)、M(X)、M(Y)はそれぞれEXが接続さ
れたPE、XBーX、XBーYから入力されたメッセー
ジの信号(受信PE番号、ブロードキャストビットB
C、ブロードキャスト要求ビットBR)を示す。また、
出力信号PX、PY、PPはそれぞれPEから入力され
たメッセージをPEへ送信することを示す。同様に、出
力信号XX、XY、XPはXBーXから入力されたメッ
セージをXBーX、XBーY、PEへ送信することを、
出力信号YY、YPはXBーYから入力されたメッセー
ジをXBーY、PEへ送信することを示している。この
うち、XBーYから入力されたメッセージをXBーXに
送信することを示すYXが無いのは、本実施例では、従
来技術電子情報通信学会技術研究報告Vol。93、N
o。320で述べられているように通常メッセージのデ
ッドロックを回避するため、全てのメッセージをX方向
から先にY方向へ転送する固定ルーティングを行なうた
め、逆にY方向からX方向への転送すなわち、XBーY
から入力されたメッセージをXBーYに送信することが
無いからである。
【0047】307〜309はプライオリティ回路であ
る。このプライオリティ回路は入力された3つのメッセ
ージの1つを選択するもので、いずれを選んだかを示す
信号SX、SY、SPを出す。ここでは到着順にメッセ
ージを選ぶことにしている。
【0048】310はメッセージを選択するセレクタで
あり、プライオリティ回路307からの信号SXにより
送信すべきメッセージが選択される。312は選択され
たメッセージを一時的に保持しておく出力バッファであ
る。出力ポート304および305も303と同様の構
成となる。
【0049】PEから入力されたメッセージは必ず通常
メッセージ(BC=BR=0)または放送要求メッセー
ジ(BC=0、BR=1)であり、受信PE番号をアド
レスデコーダ400でデコードして、送信先を決める。
他のアドレスデコーダ401、402も同様である。
【0050】入力されたメッセージが放送メッセージ
(BC=1、BR=0)の場合、本実施例では次のよう
になっている。
【0051】(1)XBーXから入力された放送メッセ
ージはXBーYに送る。
【0052】(2)XBーYから入力された放送メッセ
ージはPEに送る。
【0053】このため、各EXでは放送メッセージの場
合(BC=1)には、ORゲート410によって、XB
ーXからXBーYにメッセージを送信する信号XYが1
になり、XBーXからXBーYに放送メッセージを転送
でき、ORゲート411によって、XBーYからPEに
メッセージを送信する信号YPが1になり、XBーYか
らPEに放送メッセージを転送できる。
【0054】ところで、本実施例とは異なるが、EX0
0〜EX03は拡張XBーX0から受け取った放送メッ
セージをXBーYに送信するのと同時にPEにも送信
し、XBーYからはEX00〜EX03に戻さない方式
も考えられる。しかし、本実施例ではEX00〜EX0
3が拡張XBーX0から受け取った放送メッセージを一
旦XBーYに送信し、XBーYから送られてきたメッセ
ージをPEに送信する。これは以下の2つの理由によ
る。
【0055】上述したようにEX00〜EX03の制御
を他のEXと分ける場合、XBではこれらのEXに対応
するポートのみ特別な制御が必要になり、ハードウエア
の構成が複雑になるという欠点をもつ。(理由1) また、EX00〜EX03を含むすべてのEXが放送メ
ッセージをXBーYからPEに転送することをもって、
放送の終了を判定することができ、ハードウエアを簡単
に構成することができるという利点がある。(理由2) 図4はBEXの構成を示している。BEXの2つの入力
ポート40はそれぞれ拡張XBーX0、または拡張XB
ーY3に接続されている。それらの入力ポート40に入
力されたメッセージはそれぞれ入力バッファ450〜4
51に一時的に保持される。452は拡張XBーX0へ
メッセージを送り出す出力ポートである。BEXはEX
とは異なり、対応するPEがないためPEへの出力バッ
ファは無く、また、X方向及びY方向からメッセージで
あってもX方向にのみ転送するためY方向の出力バッフ
ァを備えていない。
【0056】452はそれぞれ入力バッファ450〜4
51に入力されたメッセージM(PE)、M(X)、M
(Y)は必ず放送要求メッセージであるため、M
(X)、M(Y)はそれぞれBEXが接続された拡張X
BーX0、拡張XBーY3から入力されたメッセージの
信号(受信PE番号、ブロードキャストビットBC、ブ
ロードキャスト要求ビットBR)を示す。また、信号X
X、YXはそれぞれ拡張XBーX0、拡張XBーY3か
ら入力されたメッセージを拡張XBーX0へ送信するこ
とを示す。
【0057】454はプライオリティ回路である。この
プライオリティ回路は入力された2つのメッセージの1
つを選択するもので、いずれを選んだかを示す信号SX
を出す。ここでは到着順にメッセージを選ぶことにして
いる。
【0058】453はメッセージを選択するセレクタで
あり、プライオリティ回路454からの信号SXにより
送信すべきメッセージが選択される。452は選択され
たメッセージを一時的に保持しておく出力バッファであ
る。
【0059】455は本実施例で付加された回路でCT
L変更回路であり、ORゲート456とANDゲート4
57から構成される。セレクタ453で選択されたメッ
セージのうちBCビットとBRビットをそれぞれORゲ
ート456、ANDゲート457によって1、0に変更
し、出力信号BC’、BR’を出力バッファ452に伝
達する。これにより、放送要求メッセージを放送メッセ
ージに変更する。
【0060】図5にX方向クロスバスイッチXBーXi
(i=1、2、3)の構成を示す。Y方向クロスバスイ
ッチXBーYj(j=0、1、2)も同様である。図の
入出力信号EX0〜EX3はそのクロスバスイッチに接
続されたEXi0〜EXi3からの信号を示す。例え
ば、XBーX1の場合、入力信号EX0〜EX3はEX
10〜EX13に置き換えられる。500〜503は4
つの入力ポートの1つを選択するスイッチである。XB
はクロスバスイッチであるため、入力EX0〜EX3の
いずれもがそのままスイッチ500〜503の入力につ
ながっていて、いずれかの入力ポートから入力されたメ
ッセージはそのままスイッチ500〜503に供給され
る。経路決定回路504〜507は、入力されたメッセ
ージをどのスイッチに転送するかを決めるものである。
出力信号D00、D01、D02、D03は入力された
メッセージをEX0へ出力することを指示する信号であ
り、それぞれEX0、EX1、EX2、EX3から入力
されたメッセージから生成される。またD10、D1
1、D12、D13はEX1へ、D20、D21、D2
2、D23はEX2へD30、D31、D32、D33
はEX3へそれぞれメッセージを出力することを指示す
る信号であり、それぞれEX0、EX1、EX2、EX
3から入力されたメッセージから生成され、プライオリ
ティ回路508〜511に入力される。これらのプライ
オリティ回路508〜511は入力された4つのメッセ
ージの送出順序を決定するもので、ここでは到着順にメ
ッセージを選ぶことにしている。
【0061】経路決定回路504は、アドレスデコーダ
600とORゲート601〜604からなる。アドレス
デコーダ600は、XBに入力されたメッセージが通常
メッセージ、またはブロードキャスト要求メッセージの
場合には、その中の受信PE番号をデコードし、そのメ
ッセージの送信先を決め、ORゲート601〜604を
介してD00〜D30のうち1つに1を出力する。一
方、EX0から入力されたメッセージが放送メッセージ
(BC=1)である場合には、ORゲート601〜60
4の出力がすべて1になり、出力信号D00〜D30の
すべてに1を出力する。これにより、XBーXに接続さ
れるEX0〜EX3に同一のメッセージを放送すること
ができる。
【0062】経路決定回路505〜507も同様の構成
である。
【0063】たとえば、EX0から入力されたメッセー
ジが通常メッセージの場合、そのメッセージ内の受信P
E番号がアドレスデコーダ600でデコードされ、ユニ
ークに送信先が決められる。アドレスデコーダ600は
各出力ポートに対する4つの信号線からなり、受信先P
E番号に応じてそれらの1つが1にされると、D00、
D10、D20、D30のいずれかが1になる。その入
力されたメッセージがブロードキャストメッセージの場
合、すなわちBC=1、BR=0の時にはD00、D1
0、D20、D30のすべてが1となり、EX0〜EX
3の全てが送信先となる。以上の動作は入力ポートから
入力されたメッセージについても同様である。
【0064】図6に拡張ポート付X方向クロスバスイッ
チ拡張XBーX0の構成を示す。拡張ポート付Y方向ク
ロスバスイッチ拡張XBーY3も同様である。
【0065】図の入出力信号EX0〜EX3はそのクロ
スバスイッチに接続されたEX00〜EX03からの信
号を示し、EX4はBEXからの信号を示す。700〜
504は5つの入力ポートの1つを選択するスイッチで
ある。XBはクロスバスイッチであるため、入力EX0
〜EX4のいずれもがそのままスイッチ700〜504
の入力につながっていて、いずれかの入力ポートから入
力されたメッセージはそのままスイッチ700〜704
に供給される。経路指示回路705は、入力されたメッ
セージをどのスイッチに転送するかを決めるものであ
り、拡張ポート対応経路決定回路706〜710があ
り、出力信号S0〜S4はそれぞれセレクタ700〜7
04に入力され、それぞれEX0〜EX4のうちどのメ
ッセージを出力するかを決定する。
【0066】図7に経路指示回路705の詳細を示す。
この回路は、拡張ポート対応経路決定回路706〜71
0とプライオリティ回路711〜715からなる。
【0067】拡張ポート対応経路決定回路706はアド
レスデコーダ750とORゲート751〜754から構
成される。
【0068】出力信号D00、D01、D02、D0
3、D04は入力されたメッセージをEX0へ出力する
ことを指示する信号である。またD10、D11、D1
2、D13、D14はEX1へ、D20、D21、D2
2、D23、D24はEX2へD30、D31、D3
2、D33、D34はEX3へ、D40、D41、D4
2、D43、D44はEX4へ、それぞれメッセージを
出力することを指示する信号であり、それぞれEX0、
EX1、EX2、EX3、EX4から入力されたメッセ
ージから生成され、プライオリティ回路711〜715
に入力される。これらのプライオリティ回路711〜7
15は入力された5つのメッセージの送出順序を決定す
るもので、ここでは到着順にメッセージを選ぶことにし
ている。
【0069】拡張ポート対応経路決定回路706は、ア
ドレスデコーダ750とORゲート751〜754から
なる。アドレスデコーダ750は、XBに入力されたメ
ッセージが通常メッセージ、またはブロードキャスト要
求メッセージの場合には、その中の受信PE番号をデコ
ードし、そのメッセージの送信先を決め、ORゲート7
51〜754を介してD00〜D40のうち1つに1を
出力する。一方、EX0から入力されたメッセージが放
送メッセージ(BC=1)である場合には、ORゲート
751〜754の出力がすべて1になり、出力信号D0
0〜D30のすべてに1を出力する。このとき、D40
には対応するORゲートがなく放送メッセージを転送す
ることを示すD40が0のままである。これにより、拡
張ポートEX4に接続されたBEXにはメッセージを放
送することなく、XBーXに接続されるEX0〜EX3
に同一のメッセージを放送することができる。
【0070】これにより、BEXへいたる放送要求メッ
セージの転送経路とBEXから始まる放送メッセージの
転送経路のBEXでの競合がないことを保証している。
これは、BEXに入力されるメッセージは放送要求メッ
セージだけであり、BEXから出力されるメッセージは
放送要求メッセージを変更した放送メッセージだけであ
るためである。
【0071】拡張ポート対応経路決定回路707〜71
0も同様の構成である。
【0072】たとえば、EX0から入力されたメッセー
ジが通常メッセージまたは放送要求メッセージの場合、
そのメッセージ内の受信PE番号がアドレスデコーダ7
50でデコードされ、ユニークに送信先が決められる。
アドレスデコーダ750は各出力ポートに対する5つの
信号線からなり、受信先PE番号に応じてそれらの1つ
が1にされると、D00、D10、D20、D30、D
40のいずれかが1になる。その入力されたメッセージ
が放送メッセージの場合、すなわちBC=1、BR=0
の時にはD00、D10、D20、D30のすべてが1
となり、EX0〜EX3の全てが送信先となる。このと
き、D40は0のままである点に特徴がある。以上の動
作は入力ポートから入力されたメッセージについても同
様である。
【0073】こうして、1つの放送メッセージの転送が
できる。さらに、本実施例においては複数の送信元から
同時に放送要求があった場合にも、デッドロックが発生
することなく放送ができるのが特徴である。
【0074】以下ではこの動作がどのようにして実現さ
れるかを説明する。
【0075】図10の送信元1(PE01)と送信元2
(PE12)から同時に放送要求メッセージがネットワ
ークに送られる場合について説明する。
【0076】まず、各送信元からBEXへ放送要求メッ
セージが転送される動作を説明する。
【0077】送信元1であるPE01からは既に説明し
たように受信PE番号として「04」が設定された放送
要求メッセージがEX01に送信される。この放送要求
メッセージはEX01の入力ポートPEから入力され、
アドレスデコーダ400で受信PE番号がデコードさ
れ、PX=1になることにより、プライオリティ回路3
07の出力SXによって、セレクタ310でM(PE)
が選ばれ、このメッセージが拡張XBーX0に出力され
る。
【0078】拡張XBーX0ではEX1から入力された
メッセージがBC=0であることから、アドレスデコー
ダ750で受信PE番号がデコードされ、D41が1に
なることにより、プライオリティ回路715の出力S4
によって、スイッチ704で入力EX1がEX4に接続
される。これにより、放送要求メッセージは送信元1
(PE01)からBEXへ転送される。
【0079】一方、送信元2であるPE12からは既に
説明したように受信PE番号として「43」が設定され
た放送要求メッセージがEX12に送信される。そし
て、送信元1と同様にしてXBーX1に出力される。そ
して、XBーX1からEX13に転送され、ここから拡
張XBーY3に転送される。
【0080】拡張XBーY3ではEX1から入力された
メッセージがBC=0であることから、アドレスデコー
ダ750で受信PE番号がデコードされ、D41が1に
なることにより、プライオリティ回路715の出力S4
によって、スイッチ704で入力EX1がEX4に接続
される。これにより、放送要求メッセージは送信元2
(PE12)からBEXへ転送される。
【0081】このようにして、同時に放送要求を行なっ
た2つの送信元から放送要求メッセージがBEXの入力
ポートXBーXとXBーYからそれぞれ入力バッファ4
50と451に入力され、XXとXYが1になる。プラ
イオリティ回路454はどちらか1つを選択し、出力信
号SXによって、例えばM(X)を選択し、CTL変更
回路455によって、BC=1、BR=0が設定された
のち出力バッファ452に出力する。(つまり、送信元
1からの放送要求メッセージが先に処理された。送信元
2からの放送要求メッセージが先に選択された場合も同
じである。)このポートは拡張XBーX0の入力EX4
に接続されている。
【0082】このとき、送信元2からの放送要求メッセ
ージは入力バッファ451で待たされる。たとえば、入
力バッファ451の容量がメッセージの大きさよりも小
さい場合には送信元2からBEXまでの経路を確保した
まま待っていることに注意されたい。
【0083】次ぎにプライオリティ回路454で選択さ
れた送信元1からの放送要求メッセージがBEXで放送
メッセージへ変更された後の動作を説明する。
【0084】BEXの出力XBーXから拡張XBーX0
の入力EX4にメッセージが入力されると図7のEX4
のアドレスデコーダ750はBC=1であることからす
べての出力を0にする。そして、ORゲート751〜7
54の出力はBC=1であることからすべて1になり、
拡張ポート対応経路決定回路710の出力D04、D1
4、D24、D34が1になる。このとき既に説明した
ようにD44は0のままである。そして、プライオリテ
ィ回路711〜714によってスイッチ700〜703
を制御し、入力EX4から出力EX0〜EX3へ接続す
る。これにより、BEXからEX00〜EX03まで放
送メッセージが転送される。
【0085】次ぎにEX00〜EX03の動作を説明す
るが、すべて同じ動作をするためEX00のみ説明す
る。EX00では入力ポートXBーXから放送メッセー
ジが入力されると一旦メッセージは入力バッファ301
に格納され、アドレスデコーダ401はBC=1である
ためすべての出力を0にする。一方、BC=1であるこ
とからORゲート410の出力は1になり、XX=XP
=0、XY=1になる。これにより、プライオリティ回
路308の出力信号SYの制御で、出力ポート304で
はセレクタ310により、M(Y)が選ばれ、M(X)
が出力バッファ312に格納され、XBーYに出力され
る。このXBーYはXBーY0に対応している。
【0086】XBーY0ではEX00から入力された放
送メッセージを経路決定回路504のアドレスデコーダ
600ではBC=1であるためすべての出力を0にし、
一方ORゲート601〜604はBC=1であるため、
出力D00〜D30がすべて1になる。そして、プライ
オリティ回路508〜511によりS0〜S3が出力さ
れ、スイッチ500〜503によって放送メッセージが
EX0からEX0〜EX3に転送される。これらはEX
00、EX10、EX20、EX30に対応している。
【0087】これらEXはこの後同じ動作をするためE
X00について説明する。EX00ではXBーY0から
入力された放送メッセージを入力バッファ302に格納
する。そして、アドレスデコーダ402はBC=1であ
るため全ての出力を0にする。一方、BC=1であるこ
とからORゲート411の出力は1になる。この結果、
プライオリティ回路309により、出力信号SPを介し
て305出力ポート(3)のセレクタ310によってM
(Y)を選択し、出力バッファ312にM(Y)を格納
し、PEに送信する。これにより、EX00では放送メ
ッセージを対応するPE00に送信する。PE00では
EX00から受信制御回路202が放送メッセージを受
信し、メモリ201に格納する。
【0088】EX00以外のEX01〜EX33でも同
様の動作を行なうことにより、すべてのPEに放送メッ
セージを転送することができる。このとき、図10から
分かるように待たされている送信元2からの放送要求メ
ッセージの転送経路と送信元1からの放送要求メッセー
ジがBEXから放送メッセージとしてすべてのPEに配
られる経路が競合していない点に特徴があり、これによ
りデッドロックを回避している。
【0089】一方、BEXで待たされていた送信元2か
らの放送要求メッセージは送信元1からの放送メッセー
ジが転送されると、同じ様にすべてのPEに転送され
る。
【0090】また、放送メッセージ、放送要求メッセー
ジのいずれでもない通常のメッセージの場合、EX内の
アドレスデコーダ400〜402と、XB内のアドレス
デコーダ600ないしは750によって、メッセージ中
の受信PE番号のPEへ選択的に転送される。
【0091】<第1の実施例の3次元構成>第1の実施
例の変形として3次元の場合について説明する。PE及
びEXの番号としては3次元の座標を用いてPEij
k、EXijkと表す。また、XBについては例えば、
EXij0、EXij1、EXij2、EXij3が接
続されるX方向のXBをXBーXijと表す。同様にE
Xi0k、EXi1k、EXi2k、EXi3kが接続
されるY方向のXBをXBーYik、同様にEX0j
k、EX1jk、EX2jk、EX3jkが接続される
Z方向のXBをXBーZjkと表す。
【0092】3次元構成の場合、2次元の拡張としてB
EXを接続するために、Z方向のうち1つを拡張ポート
付XBとする。例えば、XBーZ03が拡張ポート付X
Bとして、拡張XBーZ03となっている。
【0093】各EXの構成は2次元ではPE、X方向、
Y方向の3入力3出力で構成されていたが、3次元では
さらにZ方向の入力ポートと出力ポートが追加になる。
さらに、固定ルーティングとしてはX方向、Y方向、Z
方向の順番に経路を確保する。これも2次元を3次元に
拡張したに過ぎない。
【0094】BEXの構成は2次元ではX方向とY方向
の2入力とX方向の出力があったが、さらにZ方向の入
力を追加する。そして、BEXへ転送されてきたメッセ
ージは放送要求メッセージであるためZ方向からX方向
への転送ができる。これも、2次元のBEXを3次元に
拡張したに過ぎない。
【0095】次ぎに3次元構成における放送の動作を説
明する。3次元ではBEXに対してさらにもう1つネッ
トワーク中のアドレスが追加される点が2次元の場合と
異なる。これは、拡張XBがY=0以外ではY方向に存
在しないためである。そこで、システムの起動時にホス
ト計算機またはSVPによって、各PEに対して次ぎの
3つのグループに分けてBEXのアドレスを設定する。
【0096】 (1)PE00k(k=0、1、2、3):「004」 (2)PE0jk(j=1、2、3、k=0、1、2、
3):「043」 (3)PEijk(i=1、2、3、j=0、1、2、
3、k=0、1、2、3):「403」 これにより、グループ(1)のPEは放送要求メッセー
ジを拡張XBーX00のみを用いてBEXへ転送でき、
グループ(2)のPEはXBーX0jと拡張XBーY0
3を用いてBEXへ転送できる。グループ(3)のPE
はXBーXijとXBーYikそして、拡張XBーZ0
3を用いてBEXへ転送できる。
【0097】この様にして全てのPEからBEXへの放
送要求メッセージの経路は決まる。そして、BEXから
全てのPEへの放送メッセージの転送経路も2次元の拡
張で実現される。すなわち、まず拡張XBーX00でE
X000〜EX003へ放送され、ここからXBーY0
0〜XBーY03を用いてEX000〜EX033の全
てのZ=0なるEXへ転送される。そして、最後にすべ
てのZ方向XBを用いて全てのEXへ放送され、ここか
ら各PEへ転送される。この放送メッセージの転送経路
と前述した放送要求メッセージのBEXへの転送経路の
間で競合が発生しないため、複数の送信元から同時に放
送要求メッセージが送信されてもデッドロックが発生し
ない。
【0098】一般的にn次元になっても同様であり、各
次元軸方向に1つだけ拡張XBを割り当て、拡張ポート
をBEXへ接続して、PEをnグループに分割し、それ
ぞれBEXへ転送できるようにBEXのアドレスをホス
ト計算機またはSVPから起動時に設定しておけばよ
い。
【0099】<第2の実施例>本発明の第2の実施例を
図11を用いて説明する。
【0100】図11に第2の実施例のシステム構成を示
す。第2の実施例は第1の実施例のX方向のXBをすべ
て拡張ポート付XBとし、拡張XBーX1〜拡張XBー
X3にEX14〜EX34を接続し、各EXに対応して
主としてシステムのI/O処理を行なうI/Oプロセッ
サ(以下ではIOEと略する)が接続されている点と、
BEXにもIOEが接続され、BEXのY方向が拡張ポ
ート付XBではなく、XBに接続されている点に特徴が
ある。以下では、第1の実施例との相違点に絞って説明
する。
【0101】図11において、PE00〜PE33はプ
ロセッサであり、主として演算を並列に行なうことと主
目的としている。一方IOE04〜IOE34は主とし
て外部とのI/O処理を行なうことを主目的としており
PEとは役割が異なる。このように、並列計算機の中で
演算を行なうプロセッサとI/O処理を行なうIOEを
区別することにより、PEでI/O処理を行なうことに
よる演算性能の低下を避けることにより並列計算機の性
能を向上させる並列計算機がある。例えば、特開平5ー
081216で論じられている並列計算機がこれに相当
する。
【0102】このような並列計算機では、演算で必要な
データをPE間でブロードキャストにより転送する場合
に、演算を行なわないIOEに転送してしまうと不必要
なメッセージをIOEが受取り、余分な処理をIOEが
行なわなければならず、I/O処理速度を低下させ、並
列計算機の性能を低下させる可能性がある。
【0103】したがって、図11のようにPEとIOE
を区別して配置した並列計算機ではPEのみに放送メッ
セージを転送し、IOEには転送しないことが望まし
い。第2の実施例では放送メッセージはPEのみに転送
することを特徴とする。
【0104】IOE04〜IOE34の構成はPEと変
わらないが、データ処理装置200で実行される処理が
I/O処理である点だけが異なる。
【0105】XBおよび拡張ポート付XB、EXは第1
の実施例と同じ構成である。BEX121は、第1の実
施例とは異なり、対応するIOE04が接続されてい
る。
【0106】図12に第2の実施例に関わるBEXの構
成を示す。BEXの3つの入力ポート470はそれぞれ
IOE、XBーX、またはXBーYに接続されている。
それらの入力ポート470に入力されたメッセージはそ
れぞれ入力バッファ471〜473に一時的に保持され
る。474〜476はそれぞれXBーX、XBーY、I
OEへメッセージを送り出す出力ポートであり、475
と476は同一の構成であるが、474はBEXの特徴
であるCTL変更回路487があるため異なる。
【0107】477〜479はそれぞれ入力バッファ4
71〜473に入力されたメッセージM(IOE)、M
(X)、M(Y)が通常のメッセージまたは放送要求メ
ッセージの場合に、その中の受信PE番号をデコード
し、メッセージの送信先を決めるアドレスデコーダで、
そのメッセージ中のBR=0時に動作する。ここで、他
のEXではBC=0のときに動作するのだが、BEXに
は放送メッセージが送信されないことを拡張ポート付X
Bで保証しているため必要としていないからである。ま
た、BEXには対応するIOEのPE番号と一致するメ
ッセージに通常メッセージと放送要求メッセージの2つ
の場合があり、このうちIOEに送信しなければならな
いのは通常メッセージの場合のみであり、放送要求メッ
セージは必ず放送メッセージに変換されXーXBに転送
されるからである。このため、BR=1の場合にはOR
ゲート480でXXが1になり、EXにはなかったYX
がBRが1の場合に1になる。
【0108】信号M(IOE)、M(X)、M(Y)は
それぞれBEXが接続されたIOE、拡張XBーX、X
BーYから入力されたメッセージの信号(受信PE番
号、ブロードキャストビットBC、ブロードキャスト要
求ビットBR)を示す。また、出力信号PX、PY、P
PはIOEから入力されたメッセージをIOE、XBー
X、XBーY、IOEへ送信することを示す。同様に、
出力信号XX、XY、XPはXBーXから入力されたメ
ッセージをXBーX、XBーY、IOEへ送信すること
を、出力信号YX、YY、YPはXBーYから入力され
たメッセージをXBーX、XBーY、IOEへ送信する
ことを示している。
【0109】ここで、BEXではEXと異なりYーXB
からXーXBへメッセージを転送することを示すYXが
あり、これは放送要求メッセージすなわちBR=1のと
きのみである。
【0110】482〜484はプライオリティ回路であ
る。このプライオリティ回路は入力された3つのメッセ
ージの1つを選択するもので、いずれかを選んだことを
示す信号SX、SY、SPを出力する。ここでは、到着
順にメッセージを選ぶことにしている。
【0111】486および490はメッセージを選択す
るセレクタであり、プライオリティ回路482または4
83からの信号SXまたはSYにより送信すべきメッセ
ージが選択される。491は選択されたメッセージを一
時的に保持しておく出力バッファである。出力ポート4
75と476は同様の構成となっている。
【0112】出力ポート474のみは放送要求メッセー
ジを放送メッセージへ変換するため、他の出力ポートと
異なる。487はCTL変更回路であり、ORゲート4
88とANDゲート489から構成される。CTL変換
回路487ではセレクタ486で選択されたメッセージ
が放送要求メッセージすなわちBR=1のときに、OR
ゲート488の出力BC’が1となり、ANDゲートの
出力BR’が0となり、出力バッファ485に伝えられ
る。出力バッファ485ではセレクタ486とCTL変
更回路487の出力からメッセージを組み立てて、XB
ーXへ送信する。このように動作するため、放送要求メ
ッセージは放送要求メッセージに変更されるが、他のメ
ッセージは変更されずにXBーXへ送信される。
【0113】図13を使って第2の実施例のブロードキ
ャスト動作を説明する。ここでは、第1の実施例との違
いに絞ってBEXを中心に説明する。図13で送信元1
と送信元2がほぼ同時に受信PE番号を「04」として
放送要求メッセージを送信する。このBEXを示す受信
PE番号が全て「04」でよいことが第1の実施例と異
なる。
【0114】これにより、第1の実施例と同様にそれぞ
れEX21と拡張XBーX2、EX13と拡張XBーX
1を介してXBーY4にメッセージが並行して送信され
る。ここまでの2つの経路には共有する部分がないため
同時に進行する。XBーY4では受信PE番号がどちら
も04であるため、たとえば送信元1のメッセージが優
先されるとXBーY4からBEXの入力ポートXBーY
の入力バッファ473に一時的に格納される。このメッ
セージはBR=1の放送要求メッセージのためアドレス
デコーダ479の出力はすべて0になり、YXが1とな
る。そして、プライオリティ回路482によってこのメ
ッセージが選択されSXにより出力ポート474のセレ
クタ486により、M(Y)が選ばれる。そして、M
(Y)のBR=1のためCTL変更回路487により、
ORゲート488の出力BC’が1になり、ANDゲー
ト489の出力BR’が0になり出力バッファ485に
伝えられる。出力バッファ485ではセレクタ486の
出力とBC’、BR’よりメッセージを再構築する。こ
れにより、放送要求メッセージが放送メッセージに変更
される。そして、XBーXへこのメッセージを送信す
る。
【0115】このあと、拡張XBーX0では第1の実施
例と同様にポート0〜ポート3にメッセージを放送し、
そしてXBーY0〜XBーY3によりPE00〜PE3
3に対して放送メッセージを転送する。このとき、拡張
XBーXの説明から明らかなように、拡張ポートすなわ
ちポート4に接続されたIOEにはメッセージが転送さ
れない。
【0116】そして、BEXのXBーYポートの入力バ
ッファ473が空くと、XBーY4のプライオリティ回
路で待たされていた送信元2から放送要求メッセージが
BEXへ転送され、同様にPE00〜PE33に転送さ
れる。
【0117】このように第1の実施例と同様に、第2の
実施例でも放送要求メッセージの送信元からBEXへの
転送経路とBEXからの放送メッセージの転送経路の間
で競合が発生しないため、デッドロックが発生しない。
【0118】<第2の実施例の3次元構成>第2の実施
例の変形として3次元構成の場合を説明する。PE及び
EXの番号としては3次元の座標を用いてPEijk、
EXijkと表す。また、XBについては例えば、EX
ij0、EXij1、EXij2、EXij3が接続さ
れるX方向のXBをXBーXijと表す。同様にEXi
0k、EXi1k、EXi2k、EXi3kが接続され
るY方向のXBをXBーYik、同様にEX0jk、E
X1jk、EX2jk、EX3jkが接続されるZ方向
のXBをXBーZjkと表す。
【0119】そして、3次元ではX方向のXBがすべて
拡張ポート付XBとなったため、この拡張ポートに接続
されるEXに対応したPEはすべてIOEとなり、放送
メッセージの転送対象外となる。つまり、アドレスij
4(i=0、1、2、3、j=0、1、2、3)がすべ
てIOEである。
【0120】3次元構成の場合、2次元の拡張としてす
べてのX方向のXBを拡張ポート付XBとする。
【0121】各EXの構成は2次元ではPE、X方向、
Y方向の3入力3出力で構成されていたが、3次元では
さらにZ方向の入力ポートと出力ポートが追加になる。
さらに、固定ルーティングとしてはX方向、Y方向、Z
方向の順番に経路を確保する。これも2次元を3次元に
拡張したに過ぎない。
【0122】BEXの構成は2次元ではPE、X方向、
Y方向の3入力出力があったが、さらにZ方向の入出力
を追加する。そして、BEXへ転送されてきたメッセー
ジのうち、放送要求メッセージはZ方向からX方向への
転送ができる。これも、2次元のBEXを3次元に拡張
したに過ぎない。
【0123】次ぎに3次元構成における放送の動作を説
明する。ここでは、BEXのアドレスは「004」にな
っており、ホスト計算機またはSVPによって、全ての
PEに予め設定されている。そして、各PEijkから
送信された放送要求メッセージは拡張XBーXijを用
いてIOEが接続されるX=4平面に転送され、ここか
らXBーYi4、XBーZj4などを用いてBEXへ転
送される。
【0124】この様にして全てのPEからBEXへの放
送要求メッセージの経路は決まる。そして、BEXから
全てのPEへの放送メッセージの転送経路も2次元の拡
張で実現される。すなわち、まず拡張XBーX00でE
X000〜EX003へ放送され、ここからXBーY0
0〜XBーY03を用いてEX000〜EX033の全
てのZ=0なるEXへ転送される。そして、最後にすべ
てのZ方向XBを用いて全てのEXへ放送され、ここか
ら各PEへ転送される。この放送メッセージは拡張ポー
ト付XBの機能により拡張ポートに接続されたすべての
IOEには転送されない。この放送メッセージの転送経
路と前述した放送要求メッセージのBEXへの転送経路
の間で競合が発生しないため、複数の送信元から同時に
放送要求メッセージが送信されてもデッドロックが発生
しない。
【0125】一般的にn次元になっても、X方向のXB
のみはすべて拡張ポート付XBで構成し、この拡張ポー
トに接続されるEXに対応するPEを全てIOEにすれ
ば、同様にデッドロックが発生しない。
【0126】<第3の実施例>第3の実施例は第1の実
施例で部分放送を実現する方法をしめすものである。部
分放送を行なうため、第1の実施例とPEの構成及びメ
ッセージフォーマットのみが異なる。
【0127】図15にメッセージフォーマットを示す。
いずれのメッセージも図15(a)に示すように、受信
PE番号、CTL(コントロール)ビット、データを保
持するフィールドより構成される。CTLビットはメッ
セージの持つ属性を示すもので、第1の実施例のメッセ
ージフォーマット図8(a)に加えて部分放送を示すビ
ットPBビットとPEグループ番号が新たに追加されて
いる。このうち、PBビットはメッセージが部分放送で
あることを示す。PEグループ番号はメッセージが転送
されるべきPEのグループを示す識別子である。これら
新たに追加された2つのフィールドはPEでのみ使われ
EX、XB、BEXでは無視される。
【0128】本実施例に関わる部分放送要求メッセージ
の場合には図15(b)に示すように、BC=0、BR
=1、PB=1そして、PEグループ番号には有効なグ
ループ識別子が設定され、受信PE番号にはBEXのア
ドレスが設定される。
【0129】部分放送メッセージの場合には図15
(c)に示すように、BC=1、BR=0、PB=1そ
して、PEグループ番号には有効なグループ識別子が設
定される。
【0130】放送要求メッセージ、放送メッセージ、通
常のメッセージはそれぞれ図15(d)(e)(f)に
示すように、PB=0、PEグループ番号には特に何も
設定されない点を除いて、図8(b)(c)(d)と同
じである。ここでPEグループ番号に*があるが、これ
は特に何も設定されていないことを示す。
【0131】図14にPEの構成を示す。第1の実施例
の図2と異なるのは送信制御回路内にPEグループ番号
生成回路270が有る点と、受信制御回路内に比較回路
262及びANDゲート261そして、ANDゲートか
らメッセージ書込回路260への制御線があることであ
る。
【0132】まず、PEグループ番号生成回路270に
はレジスタ272があり、ホスト計算機またはSVP1
40から予め、PEが所属するPEグループ番号が設定
されている。
【0133】PEから部分放送要求メッセージを送信す
るときには、レジスタ205のPBが1であるため、セ
レクタ271によってCTLフィールドのPEグループ
番号にはレジスタ272の内容がメッセージ生成回路2
80に出力され、ここでメッセージが構成される。通常
のメッセージと放送要求メッセージではPBが0である
ため、特に何も設定されないためセレクタ271によっ
て’*’が出力される。
【0134】一方、部分放送メッセージを受信した場合
には、比較回路262によってメッセージ中のPEグル
ープ番号とレジスタ272の内容が比較され、一致して
いる場合、すなわち受信すべきメッセージである場合に
は0を出力し、ANDゲート261を介して0がメッセ
ージ書込回路260に伝えられる。そして、メッセージ
書込回路260によってメモリ201にメッセージが書
き込まれる。一方、不一致の場合、すなわち受信すべき
でないメッセージである場合には比較回路262は1を
出力し、ANDゲート261を介して1がメッセージ書
込回路260に伝えられる。そして、メッセージ書込回
路260はこの信号が1であることからメッセージのメ
モリ201への書込を抑止し、入力バッファ263を解
放する。これにより、受信すべきでないメッセージを受
信しない。
【0135】また、通常のメッセージと放送メッセージ
ではPBが0であるため、ANDゲート261の出力は
常に0であり、メッセージ書込回路260はメッセージ
の書込を抑止しないため、必ず受信する。
【0136】このように、PEの構成を変更することに
より、EX、XB、BEXは変更すること無しに部分放
送を実現することができる。
【0137】<第4の実施例>第4の実施例は第2の実
施例で部分放送を実現する方法をしめすものである。
【0138】部分放送を行なうため、第2の実施例とP
Eの構成及びメッセージフォーマットのみが異なり、こ
れは第3の実施例と同じであるため省略する。
【0139】
【発明の効果】本発明によれば、ネットワークを構成す
る中継スイッチのうち放送パケットが伝達されない中継
スイッチを設け、放送を依頼するためのパケットを示す
ための手段とこの中継スイッチで放送を依頼するための
パケットを放送パケットに変換する手段とすくなくとも
この中継スイッチには放送パケットを配らずに他の複数
のプロセッサにこの放送パケットを分配する手段によ
り、並列計算機を構成するプロセッサが複数プロセッサ
にパケットを放送する際に、放送パケットが必ずこの中
継スイッチを放送の起点として分配されるためにネット
ワークでのデッドロックが発生せず、放送を依頼するた
めのパケットの変換時にプロセッサの処理が発生せず高
速な放送を行なうことができる。
【図面の簡単な説明】
【図1】本発明に関わる第1の実施例の並列計算機の構
成図。
【図2】本発明に関わる第1の実施例のPEの構成図。
【図3】本発明に関わる第1の実施例のEXの構成図。
【図4】本発明に関わる第1の実施例のBEXの構成
図。
【図5】本発明に関わる第1の実施例のXBの構成図。
【図6】本発明に関わる第1の実施例の拡張ポート付X
Bの構成図。
【図7】本発明に関わる第1の実施例の拡張ポート付X
Bの経路指示回路の構成図。
【図8】本発明に関わる第1の実施例のメッセージフォ
ーマット。
【図9】従来技術における複数放送メッセージの転送経
路を示す図。
【図10】本発明に関わる第1の実施例の複数放送メッ
セージの転送経路を示す図。
【図11】本発明に関わる第2の実施例の並列計算機の
構成図。
【図12】本発明に関わる第2の実施例のBEXの構成
図。
【図13】本発明に関わる第2の実施例の複数放送メッ
セージの転送経路を示す図。
【図14】本発明に関わる第3の実施例のPEの構成
図。
【図15】本発明に関わる第3の実施例のメッセージフ
ォーマット。
フロントページの続き (72)発明者 磯部 忠章 神奈川県秦野市堀山下1番地 株式会社日 立製作所汎用コンピュータ事業部内 (72)発明者 中越 順二 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 武内 茂雄 東京都小平市上水本町5丁目20番1号 日 立超エル・エス・アイ・エンジニアリング 株式会社内 (72)発明者 鳥羽 達 東京都小平市上水本町5丁目20番1号 日 立超エル・エス・アイ・エンジニアリング 株式会社内

Claims (8)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサ要素と、 該複数のプロセッサ要素を接続し、該プロセッサ要素間
    で複数のメッセージを並列に転送するためのネットワー
    クとを有し、 該ネットワークは、 該複数のプロセッサ要素から他のプロセッサ要素に宛て
    たメッセージが該複数のプロセッサ要素から該ネットワ
    ークに入力される複数の入力端と異なる少なくとも一つ
    の特定の入力端と、 該複数のプロセッサ要素から転送された複数のメッセー
    ジが該複数のプロセッサ要素に該ネットワークから出力
    される出力端と異なる一つの特定の出力端と、 該特定の出力端に出力されたメッセージを該特定の入力
    端に転送する特定の中継回路と、 該特定の入力端に接続され、そこから入力された放送メ
    ッセージを並列に転送し、該複数のプロセッサ要素に該
    複数の出力端を経由して転送する第1の経路と、 該複数の入力端の任意の一つから該ネットワークに入力
    された、放送を該特定の中継回路に依頼するメッセージ
    を該少なくとも一つの出力端を経由して該特定の中継回
    路に転送する第2の経路と、 該特定の中継回路内に設けられ、該少なくとも一つの出
    力端を経由して該ネットワークから該特定の中継回路に
    転送された放送依頼メッセージを、そこに含まれた放送
    すべき情報を含む放送メッセージに変換し、該特定の入
    力端を経由して該ネットワークにメッセージ変換回路
    と、 各プロセッサ要素に設けられ、放送すべき情報を含む放
    送依頼メッセージを、そのプロセッサ要素に対応する入
    力端から該ネットワークに転送する回路とを有する並列
    計算機。
  2. 【請求項2】該ネットワークは、該少なくとも一つの特
    定の出力端として、複数の出力端を有し、 該変換回路は、該複数の特定の出力端から並列に入力さ
    れた放送依頼メッセージを、順次放送メッセージに変換
    して、該変換で得られた複数の放送メッセージを順次該
    特定の入力端を経由して該ネットワークに転送する回路
    を有する請求項1記載の並列計算機。
  3. 【請求項3】該ネットワークは、 該複数のプロセッサ要素の間のメッセージの転送に使用
    する複数のクロスバスイッチと、 それぞれ該複数のプロセッサ要素の内の一つのプロセッ
    サ要素に対応して設けられ、その一つのプロセッサ要素
    を該複数のクロスバスイッチの内の少なくとも複数に接
    続する複数の中継スイッチと、 少なくとの一つの他のクロスバスイッチと、 該他のクロスバスイッチを該複数のクロスバスイッチの
    一部の複数のクロスバスイッチに接続するための他の複
    数の中継スイッチとを有し、 該特定の中継回路は、該他のクロスバスイッチと該一部
    の複数のクロスバスイッチの一つに続されている請求項
    1記載の並列計算機。
  4. 【請求項4】並列計算機を構成するn台のプロセッサ要
    素であって、n=n1×n2×…×nmと因数分解し、
    これらの因数の各々を一辺の格子点数とするn次元格子
    空間上に並べられたものと、 これらのプロセッサ要素に対応して、(m+1)入力
    (m+1)出力クロスバスイッチで構成される中継スイ
    ッチによって、その各辺をクロスバスイッチで結合し
    て、メッセージ転送経路を構成し、 前記メッセージ転送経路の内、放送メッセージを受け取
    らない少なくとも1つの特定の中継スイッチを指定する
    手段と、 前記メッセージ内に、そのメッセージを複数のプロセッ
    サ要素に転送する放送モードを指定する手段と、 前記メッセージ内に、前記特定の中継スイッチに対する
    放送の要求モードを指定する手段と、 前記特定の中継スイッチに設けられた、放送の要求モー
    ドが指定されているメッセージを放送モードに変更する
    手段を有する並列計算機。
  5. 【請求項5】各プロセッサ要素は、放送要求メッセージ
    に、該特定の中継スイッチのアドレスを含む該特定の中
    継スイッチに関する情報を付加して、該メッセージ転送
    経路に送出する手段を有する請求項4記載の並列計算
    機。
  6. 【請求項6】複数のプロセッサ要素と、プロセッサ要素
    間を結合する複数の経路を持つメッセージ転送経路とを
    有する並列計算機において、 送信元のプロセッサ要素から放送要求メッセージを、特
    定のメッセージ変更回路に宛てて該メッセージ転送経路
    に送信し、 該メッセージ変更回路により受信した放送要求メッセー
    ジを放送メッセージに変更して 該メッセージ転送経路
    に送信し、 該メッセージ転送経路により該メッセージ転送回路に接
    続された複数のプロセッサ要素に該放送メッセージを並
    列に転送するメッセージ放送方法。
  7. 【請求項7】該変更回路に同時に複数の放送要求メッセ
    ージが同時に複数の送信元プロセッサ要素から送信され
    た場合に、該変更回路により該複数のメッセージ放送要
    求を順次放送メッセージに変更し、変更で得られた複数
    の放送メッセージを順次該メッセージ転送経路に転送す
    る請求項6記載のメッセージ放送方法。
  8. 【請求項8】送信元プロセッサ要素ではそのプロセッサ
    要素が所属するプロセッサグループに選択的に部分放送
    を行なう場合に、該プロセッサグループの番号と部分放
    送要求メッセージであることを識別する情報を付した放
    送依頼メッセージを、該メッセージ変更回路に宛てて、
    該メッセージ転送経路に送信し、 該メッセージ変更回路により、該放送要求メッセージを
    部分放送メッセージに変更して、該メッセージ転送回路
    に転送し、 該メッセージ転送回路によりで該複数のプロセッサ要素
    に該部分放送メッセージを転送し、 各プロセッサ要素では、該部分放送メッセージを受信し
    たときに、その部分放送メッセージに設定されているプ
    ロセッサグループと自プロセッサグループ番号を比較
    し、 一致している場合にこの部分放送メッセージを有効なメ
    ッセージとして処理する請求項7記載のメッセージ放送
    方法。
JP6053405A 1994-03-24 1994-03-24 並列計算機およびメッセージ放送方法 Pending JPH07262155A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP6053405A JPH07262155A (ja) 1994-03-24 1994-03-24 並列計算機およびメッセージ放送方法
US08/408,561 US5822605A (en) 1994-03-24 1995-03-22 Parallel processor system with a broadcast message serializing circuit provided within a network
US09/102,812 US6330604B1 (en) 1994-03-24 1998-06-23 Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage
US09/846,261 US6502136B1 (en) 1994-03-24 2001-05-02 Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6053405A JPH07262155A (ja) 1994-03-24 1994-03-24 並列計算機およびメッセージ放送方法

Publications (1)

Publication Number Publication Date
JPH07262155A true JPH07262155A (ja) 1995-10-13

Family

ID=12941926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6053405A Pending JPH07262155A (ja) 1994-03-24 1994-03-24 並列計算機およびメッセージ放送方法

Country Status (1)

Country Link
JP (1) JPH07262155A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774731A (en) * 1995-03-22 1998-06-30 Hitachi, Ltd. Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage
JP2004506265A (ja) * 2000-08-04 2004-02-26 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 分散処理システムにおけるロックの実行
WO2008114440A1 (ja) * 2007-03-20 2008-09-25 Fujitsu Limited 一意情報集団通信プログラム、コンピュータ、一意情報集団通信方法、および記録媒体
JP2010218364A (ja) * 2009-03-18 2010-09-30 Fujitsu Ltd 情報処理システム、通信制御装置および方法
US10616140B2 (en) 2017-06-27 2020-04-07 Fujitsu Limited Information processing system and information processing method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6330604B1 (en) 1994-03-24 2001-12-11 Hitachi, Ltd. Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage
US6502136B1 (en) 1994-03-24 2002-12-31 Hitachi, Ltd. Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage
US5774731A (en) * 1995-03-22 1998-06-30 Hitachi, Ltd. Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage
JP2004506265A (ja) * 2000-08-04 2004-02-26 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 分散処理システムにおけるロックの実行
WO2008114440A1 (ja) * 2007-03-20 2008-09-25 Fujitsu Limited 一意情報集団通信プログラム、コンピュータ、一意情報集団通信方法、および記録媒体
US8185656B2 (en) 2007-03-20 2012-05-22 Fujitsu Limited Process and computer for collectively transmitting unique messages, and recording medium storing a program for collectively transmitting unique messages
JP5056844B2 (ja) * 2007-03-20 2012-10-24 富士通株式会社 一意情報集団通信プログラム、計算ノード、および一意情報集団通信方法
JP2010218364A (ja) * 2009-03-18 2010-09-30 Fujitsu Ltd 情報処理システム、通信制御装置および方法
US10616140B2 (en) 2017-06-27 2020-04-07 Fujitsu Limited Information processing system and information processing method

Similar Documents

Publication Publication Date Title
US11640362B2 (en) Procedures for improving efficiency of an interconnect fabric on a system on chip
US5175733A (en) Adaptive message routing for multi-dimensional networks
US5822605A (en) Parallel processor system with a broadcast message serializing circuit provided within a network
JPH08185380A (ja) 並列計算機
US10282338B1 (en) Configuring routing in mesh networks
US7889725B2 (en) Computer cluster
US8050256B1 (en) Configuring routing in mesh networks
JP4818920B2 (ja) 複数のプログラム可能なプロセッサを有する集積データ処理回路
JP2004533035A (ja) クラス・ネットワーク経路指定
JP2001184321A (ja) 主記憶共有型並列計算機及びそれに用いるノード制御装置
JP2010218364A (ja) 情報処理システム、通信制御装置および方法
EP2288084B1 (en) Network system, information processing apparatus, and control method for network system
WO2008057830A2 (en) Using a pool of buffers for dynamic association with a virtual channel
JPH09297746A (ja) プロセッサ間通信方法及びそれに用いるプロセッサ
JPH07262155A (ja) 並列計算機およびメッセージ放送方法
US20050036445A1 (en) Processing data packets
EP1463999A1 (en) An efficient timeout message management in ieee 1394 bridged serial bus network
US11621923B2 (en) Queueing system with head-of-line block avoidance
JP3504033B2 (ja) プロセッサ間データ転送方法及び並列計算機
JP3409862B2 (ja) 並列プロセッサシステム
JP2853652B2 (ja) プロセッサ間通信におけるパケット送信方法およびその装置
US6909710B1 (en) Method of operating a buffered crossbar switch
JP3609908B2 (ja) 計算機接続装置
JPH0887480A (ja) プロセッサ間ルーティング方式
US20050038902A1 (en) Storing data packets

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040203