JP2644134B2 - 並列プロセツサ・システム及びこのシステムに使用されるスイツチの待ち行列構造 - Google Patents

並列プロセツサ・システム及びこのシステムに使用されるスイツチの待ち行列構造

Info

Publication number
JP2644134B2
JP2644134B2 JP4099550A JP9955092A JP2644134B2 JP 2644134 B2 JP2644134 B2 JP 2644134B2 JP 4099550 A JP4099550 A JP 4099550A JP 9955092 A JP9955092 A JP 9955092A JP 2644134 B2 JP2644134 B2 JP 2644134B2
Authority
JP
Japan
Prior art keywords
memory
processor
group
switch
response
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 - Lifetime
Application number
JP4099550A
Other languages
English (en)
Other versions
JPH05189391A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH05189391A publication Critical patent/JPH05189391A/ja
Application granted granted Critical
Publication of JP2644134B2 publication Critical patent/JP2644134B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17393Indirect interconnection networks non hierarchical topologies having multistage networks, e.g. broadcasting scattering, gathering, hot spot contention, combining/decombining
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/205Quality of Service based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/552Prevention, detection or correction of errors by ensuring the integrity of packets received through redundant connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、高度な並列コンピユー
タ・システムと共に使用するための多重ノード相互結合
網アーキテクチヤ、より詳細に言えば、高度な並列コン
ピユータ・システムにおいて多段相互結合網(MIN)
の単一のネツトワークだけを用いた時、「デツドロツ
ク」の問題を減少する新規なスイツチの待ち行列構造に
関する。
【0002】
【従来の技術】高性能のコンピユータ・システムは、し
ばしば、複数の中央処理装置(CPU)を使用してお
り、各処理装置は、独立して動作するけれども、必要に
応じて、相互に通信を行ない、そして、データの交換を
必要とする時にはメモリ・モジユール(MM)と通信す
る。クロスバー・スイツチのようなスイツチ・システム
がCPUとMMとを相互に結合するために用いられてい
る。米国特許第4605928号は、独立した集積回路
(IC)上にある小さなクロスバー・スイツチのアレイ
で構成されたクロスバー・スイツチを開示している。米
国特許第4360045号はクロスバー・スイツチのコ
ントローラを記載している。この特定のコントローラ
は、クロスバー・スイツチを通る接続を要求する複数の
ポートに対して直列的に働かねばならない。米国特許第
4875704号は、通信システム中の1対のポート・
アダプタの間の接続を設定するために、ワンサイド・ク
ロスポイント・スイツチング・マトリツクスを用いたス
イツチング・システムを記載している。このスイツチン
グ・マトリツクスのコントローラは、その時点で使用可
能なポート・アダプタだけしか接続することができず、
待ち行列を設定することはできない。
【0003】ここで説明される形式の並列コンピユータ
・システムの例は、1985年8月の並列プロセツサに
関する国際会議の会報の「The IBM Research Parallel
Processor Prototype (RP3) : Introduction and Archi
tecture」と題するフイスター(G.F.Pfister)等の文献
の764頁乃至771頁に記載されているIBM社の研
究用並列プロセツサ試作機(RP3)のシステムであ
る。RP3はネツトワーク内において相互結合された複
数個のプロセツサ/メモリ・エレメント(PME)を含
んでいる。各PMEは、現在の技術状態にある高性能3
2ビツト・マイクロプロセツサと、2メガバイト乃至4
メガバイトのメモリと、32キロバイトの「インテリジ
エント」キヤツシユ・メモリと、浮動小数点をサポート
する機能と、入/出力(I/O)インターフエース及び
サポート・プロセツサのインターフエースとを含んでい
る。メモリ参照子は、ネツトワークのインターフエース
に与えられる大域アドレスに変換される。大域アドレス
は、参照されたデータが存在するPMEを特定する部分
を含んでいる。メモリ参照子は、その転送に応答するア
ドレスされたPMEにネツトワークを介して送られる。
この応答は、応答があたかも開始側のPMEのメモリに
よつて発生されたかのように取り扱われる開始側のPM
Eに、ネツトワークを通して返還される。
【0004】現在のRP3システムにおいては、図1に
示したような2つのネツトワーク10及び12はPME
141乃至PME148の間の通信用として使用される。
各PMEは、上述の文献に記載されているようなネツト
ワーク・インターフエース(NI)及びメモリ・コント
ローラ(MC)を含んでいる。順方向ネツトワークと呼
ばれるネツトワーク10は、開始側のPMEからアドレ
スされた側のPMEへ要求を差し向けるのに使用され、
そして逆方向ネツトワークと呼ばれるネツトワーク12
はアドレスされた側のPMEから開始側のPMEへ応答
を返還するのに使用される。
【0005】大型の並列プロセツサ・システムにおいて
は、1つのネツトワークは多数のチツプ、カード及びケ
ージ(cage)を含んでいる。例えば、512本のオリジ
ナル通路のRP3システムにおいては、1つのネツトワ
ークは、2304個の2×2スイツチング・チツプと、
114枚のカード(1枚のカード当り16個のチツプを
含むとして)と、8個のケージ(1個のケージ当り20
枚のカードを含むとして)とを必要とする。加えて、こ
れらすべてのチツプ、カード及びケージを接続するため
に、莫大な数に昇る配線が必要である。結局、大型の並
列システムにおいては、ネツトワークそれ自身は、PM
Eと同等、若しくはそれ以上の費用がかかることにな
る。更に、例えば1チツプ当りの電力消費量を1ワツト
として計算してみると、1つのネツトワークは2300
ワツトの電力を消費することになる。従つて、要求側及
び応答側の両方のPMEに対してただ1つのネツトワー
クを使用することが大変望ましい。
【0006】図2は入力バツフア20(I_BUF)に
接続されたIポートと、入力バツフア21(J_BU
F)に接続された入力バツフアの接続されたJポートと
を含む代表的なスイツチの待ち行列構造を示している。
入力バツフア20は、2つの先入れ先出し(FIFO)
レジスタ22及び23に入力を与え、そして、入力バツ
フア21は2つのFIFOレジスタ24及び25に入力
を与える。FIFOレジスタ22及び24の出力は第1
のマルチプレクサ(MUX)26に接続され、FIFO
レジスタ23及び25の出力は第2のマルチプレクサ2
7に接続されている。MUX26及び27の出力は、図
2においてREG_P及びREG_Qとして示されてい
る出力バツフア28及び29によつて別々にバツフアさ
れる。
【0007】図2に示されているように、若し、従来技
術に従つたネツトワークで使用されているスイツチの待
ち行列構造によつて要求側及び応答側の両方の側が同じ
ネツトワークを介してメツセージを送つたとすれば、デ
ツドロツクの可能性がある。図3は、図2のスイツチの
待ち行列構造で構成された3段のネツトワークにおい
て、1つのデツドロツクが生じた状態を示した図であ
る。デツドロツク問題の説明を簡明にするために、各待
ち行列は2つのメツセージを保持することができるもの
と仮定し、そして、入/出力(I/O)バツフア(つま
り、バツフア20、21、28及び29)はこの説明か
らは除外する。デツドロツクの発生は、4段以上の段を
持ち、かつ、3つ以上のメツセージ待ち行列を持つネツ
トワークにおいても一般化して表わすことができる。
【0008】従来のネツトワークにおいては、応答は地
域的に発生された要求の結果なので、プロセツサはネツ
トワークから常に応答を受け取ることができる。要求側
は、最終的には受け取るであろう応答のために、要求側
のスペースを保留している。プロセツサは、到来する応
答のために保持しているスペースよりも大きなスペース
の送り出し要求を発生せず、そして、プロセツサは、応
答の到着時間の順序とは無関係で、かつネツトワークの
状態とは独立して、到来する応答を受け取る。
【0009】他方、プロセツサのローカル・メモリの機
能は、到来する要求メツセージのパイプライン中のバツ
フアのスペースを制限する。パイプラインが排出される
べき応答メツセージを転送することができない時に、パ
イプラインは、ネツトワーク中に発生された応答メツセ
ージで一時、完全に一杯になつてしまうことがある。
【0010】この事態を考えれば、図3がデツドロツク
の例を示していることが理解できる。プロセツサ4は応
答を受け取り、そして、そのメモリはネツトワークの右
側上のポート4から要求を受け取る。プロセツサ4は要
求を送り、そして、そのメモリはネツトワークの左側の
ポート4の中に応答を送る。図3において、プロセツサ
4のローカル・メモリは、入力ポート4のネツトワーク
に入力するために待機する応答RES45(即ち、PME
4からPME5に送られる応答)を持つている。ネツトワ
ーク段0中の待ち行列Aは、要求REQ45(即ち、PM
4からPME5への要求)及び前の応答RES45によつ
て占領されているので、入力ポート4は応答を受け取る
ことができない。ネツトワーク段1中の待ち行列Bは応
答RES54及び要求REQ54によつて占領されているの
で、要求REQ45は進むことができない。ネツトワーク
段2中の待ち行列Cは要求REQ14及び応答RES14
よつて占領されているので、応答RES54は進むことが
できない。メモリ4の要求パイプラインのスペースは占
領されており、応答RES45がネツトワークにおいて転
送することができるようになるまで、占領を解くことが
できないので、要求REQ14はメモリ4により受け取る
ことができない。一たびこの状態になると、出口はな
い。
【0011】半導体技術は微小化され、回路密度は大き
く増加されている。然しながら、I/Oの数は回路密度
の増加と比例して増加することができない。この傾向の
結果として、論理機能を行なわせるためのシリコン領域
は、十分存在するのにも拘らず、それらの論理機能を行
なわせるシリコン領域にアクセスするために必要なI/
Oの数が形成できない問題が生じる。
【0012】
【発明が解決しようとする課題】
【0013】従つて、本発明の目的は、論理機能用の回
路を増加させる利益を享受し、しかもI/Oをそれ程増
加しない新規なスイツチの待ち行列構造を提供すること
にある。
【0014】本発明の他の目的は、並列プロセツサ・シ
ステムのために、ただ1つのネツトワークしか使用せ
ず、しかも、デツドロツクの可能性を回避する新規なス
イツチの待ち行列構造を提供することにある。
【0015】
【課題を解決するための手段】本発明に従つて、スイツ
チの待ち行列構造を有する相互結合された複数個のプロ
セツサ/メモリ・エレメント(PME)を含むタイプの
単一のネツトワークの並列プロセツサ・システムのため
のスイツチの待ち行列構造が与えられる。各PMEはプ
ロセツサ、メモリ及びスイツチの待ち行列構造のインタ
ーフエースを含んでいる。要求側のPMEからのメモリ
参照子は、参照されたデータが存在する特定のPMEに
転送され、そして、その応答メツセージが、あたかも要
求側のメモリによつて発生されたかのように取り扱われ
る要求側のPMEに応答メツセージが返還される。スイ
ツチの待ち行列構造は、並列プロセツサ・システム中の
PMEの数と等しい数の複数個の入力ポート及び複数個
の出力ポートを含んでいる。複数個の同じ種類の段が入
力ポートと出力ポートを相互接続する。
【0016】本発明の実施例においては、ネツトワーク
の段は2×2スイツチを含んでおり、段の数は3であ
る。各段は、応答メツセージをストアするための4個の
先入れ先出し(FIFO)レジスタから成る複数の第1
のグループと、要求メツセージをストアする4個のFI
FOレジスタから成る複数の第2のグループと、夫々が
4つの入力を持つマルチプレクサの複数の対とを含んで
いる。各マルチプレクサは、FIFOレジスタの第1の
グループ、即ち要求グループのFIFOレジスタに接続
された2つの入力と、FIFOレジスタの第2のグルー
プ、即ち応答グループのFIFOレジスタに接続された
2つの入力を持つている。応答グループからの入力は、
要求グループからの入力よりも高い優先度を持たせてあ
り、これにより、デツドロツクの可能性を減少する。同
じグループ内においては、奉仕されるのに同じ機会を与
えるために、ラウンド・ロビン優先を適用するのが望ま
しい。
【0017】図示し説明する実施例においては、2×2
個のスイツチング・ノードが用いられているが、実施例
の構造は、kを2よりも大きな正の整数としてk×k個
のスイツチに拡張することができる。
【0018】
【実施例】図4を参照すると、本発明の新規な待ち行列
構造の良好な実施例が示されている。この待ち行列構造
は単一ネツトワークを用いる並列プロセツサ・システム
のために設計されたものである。図示された実施例にお
いては、2×2スイツチが用いられているが、kを2よ
りも大きな正の整数とすると、このスイツチ構造はk×
kスイツチに拡張することができる。
【0019】図4から判るように、図2と同じような入
力バツフア40及び41(I_BUF、J_BUF)
と、出力バツフア42及び43(REG_P、REG_
Q)とがある。然しながら、図2のような入力バツフア
毎に2個のFIFOレジスタの代わりに、図4において
は4個のFIFOレジスタがある。これをより特定して
言えば、入力バツフア40と関連したFIFOレジスタ
44、45、46及び47(I_RES_P、I_RE
Q_P、I_RES_Q、I_REQ_Q)と、入力バ
ツフア41に関連したFIFOレジスタ48、49、5
0及び51(J_RES_P、J_REQ_P、J_R
ES_Q、J_REQ_Q)とがある。FIFOレジス
タ44、45、48及び49はマルチプレクサ、MUX
52によつて出力バツフア42に接続されており、FI
FOレジスタ46、47、50及び51はMUX53に
よつて出力バツフア43に接続されている。
【0020】FIFOレジスタ44乃至51は2つのグ
ループに分類することができる。I_RES_P、I_
RES_Q、J_RES_P、J_RES_Qは第1の
グループ、即ち応答グループに属し、返還された応答メ
ツセージをストアするのに用いられる。I_REQ_
P、I_REQ_Q、J_REQ_P及びJ_REQ_
Qは第2のグループ、即ち要求グループに属し、要求メ
ツセージをストアするのに用いられる。加えて、FIF
Oレジスタの各グループは、ネツトワークを通してメツ
セージを通過させる前に、LSSD(level sensitive
scan design)ロジツク・チエーンを通してユーザによ
りプログラムすることができる優先度が割り当てられ
る。
【0021】図4の左側に示されたI_RTR_RE
S、I_RTR_REQ、J_RTR_RES、J_R
TR_REQは、対応するFIFOレジスタがそれ以上
のメツセージを受け取るための十分なスペースを持つて
いることを知らせるために、前の段に送られる受信準備
完了(ready-to-receive-RTR)プロトコルを表示する。
I_RTR_RESのアサートは、I_RES_PのF
IFOレジスタ及びI_RES_QのFIFOレジスタ
の使用可能なスペースによつて決定される。同様に、I
_RTR_REQはI_REQ_P及びI_REQ_Q
のFIFOレジスタにより決定され、J_RTR_RE
Sは、J_RES_P及びJ_RES_QのFIFOレ
ジスタによつて決定され、そして、J_RTR_REQ
はJ_REQ_P及びJ_REQ_QのFIFOレジス
タによつて決定される。
【0022】図4に示された構造の機能は以下の通りで
ある。I及びJは入力ポートであり、P及びQは出力ポ
ートである。メツセージはIポート及びJポートの何れ
にでも入力することができ、出力ポートP、またはQの
何れにも経路指定されることができる。各メツセージ
は、幾つかの経路指定ビツト(経路指定ビツトの数はネ
ツトワークの大きさに依存する)と、そのヘツダ中の1
つのF−R(順方向−逆方向)ビツトを持つている。ヘ
ツダが入力バツフアの1つ(I_BUF、またはJ_B
UF)にラツチされた時、この段に対応する経路指定ビ
ツトは、メツセージがP出力ポートか、またはQ出力ポ
ートの何れに経路指定されるのかを調べるためにチエツ
クされる。加えて、メツセージが順方向の要求メツセー
ジなのか、あるいは逆方向の応答メツセージなのかを調
べるためにF−Rビツトもチエツクされる。次に、その
メツセージは、上述した経路指定ビツト及びF−Rビツ
トに従つて入力ポートと関連した4個のFIFOレジス
タの1つに経路指定される。
【0023】既に説明したように、FIFOレジスタの
各グループに対して優先度を割り当てることができる。
1つのネツトワークが転送方向の要求と返還方向の応答
との両方のために使用される場合には、FIFOレジス
タの応答グループに対して高い優先度を割り当て、そし
て、FIFOレジスタの要求グループに対しては低い優
先度を割り当てる。このようにして、返還される応答
は、常に、転送方向の要求よりも優先的に取り扱われ
る。FIFOレジスタの要求グループがメツセージで一
杯にされたとしても、返還される応答は別個のFIFO
レジスタに入れられており、かつより高い優先度を持つ
ているので、返還される応答は阻止されることなくプロ
セツサに到達することができる。このことはデツドロツ
クの可能性を除去することを意味する。図5を参照する
と、マルチプレクサ1811、1812乃至1881、1882
を通つてPME141乃至148と通信する1つのネツト
ワーク・スイツチ16を含む単一の相互結合網システム
が示されている。この単一の相互結合網は図4に示した
本発明の新規な待ち行列構造を使用している。
【0024】デツドロツクの可能性を除去するために、
ネツトワークの段の間のインターフエース・プロトコル
について注意を払うことは重要なことである。FIFO
レジスタの2つのグループは異なつた優先度を割り当て
て使用されるから、FIFOレジスタの各グループに対
する1つの入力ポートの各々に関連して少なくとも2つ
のプロトコル信号が必要である。このようにして、FI
FOレジスタの1つのグループの満杯の状態は、他のグ
ループに属するメツセージを、スイツチにタイミング付
けするのを妨害しない。このことは、I入力ポートのた
めのI_RTR_RES及びI_RTR_REQのプロ
トコルと、J入力ポートのためのJ_RTR_RES及
びJ_RTR_REQのプロトコルとが何故存在するの
かという理由である。若し、FIFOレジスタの要求グ
ループ(I_REQ_P及び/又はI_REQ_Q)が
一杯ならば、I_RTR_REQは不活性である。然し
ながら、FIFOレジスタの応答グループ(I_RES
_P及びI_RES_Q)は別個のRTR(受信準備完
了)プロトコルを使用しているので、応答メツセージは
問題なく受信することができる。このことは、図3に示
したデツドロツクが発生しないことを保障している。ス
イツチの待ち行列をより良く利用するために、レジスタ
のグループの代わりに、各FIFOレジスタを個々に制
御するためのより複雑なプロトコルを使用することが可
能であるけれども、何れにしてもアイデアは同じであ
る。加えて、出力レジスタが次段からアサートされたR
TR信号を受け取り、かつ、それが対応するFIFOレ
ジスタ中で待機しているメツセージを持つている時だけ
に限つて、出力レジスタは、次段へのメツセージの送信
を開始する。
【0025】受信装置がプロトコルをアサートすること
によつて、他のメツセージを取るために十分なスペース
を持つている旨の信号を送信装置に送つた時、最初のパ
ケツトが取り上げられた後にメツセージ全体を取り上げ
ることが要求される。このことは、メツセージが2段以
上に亙つて散布されないことを保障する。これは、送信
要求メツセージの残留部分が応答メツセージの通過を阻
止するのを回避し、また、この逆も真、つまり、応答メ
ツセージの残留部分が送信要求メツセージの通過を阻止
するのを回避する。更に、若し、入力及び出力バツフア
が図4のように用いられたならば、それらのレジスタは
メツセージの流れの間だけで使用される。これらのレジ
スタは待ち行列の一部であつてはならない。例えば、若
し、要求パケツトが入力バツフアの中に残留したなら
ば、その入力バツフアは、そのスイツチング・ノード中
に応答パケツトを完全に入れない。
【0026】図4の出力MUX52及び53は以下のよ
うに動作する。2つの入力が応答グループからの入力で
あり、2つの入力が要求グループからの入力である4つ
の入力が各MUX52及び53に設けられている。応答
グループからの入力は要求グループからの入力よりも高
い優先度を持つている。同じグループの中では、サービ
スするための機会を同等にするために、ラウンド・ロビ
ン優先が適用される。FIFOレジスタの各グループと
関連した優先度はユーザによつてプログラムすることが
できるので、チツプが2つのネツトワーク構成の中で使
用することができるように、すべてのFIFOレジスタ
に対して同じ優先度を割り当てることが可能である。更
に、必要があれば、FIFOレジスタの要求グループに
対してより高い優先度を割り当てることも可能である。
【0027】図6の3段相互結合網は、図4に示した本
発明の待ち行列構造の実施例を適用している。図6のネ
ツトワーク中の待ち行列は1つのメツセージ・スペース
に制限されており、従つて図3の従来例と対等に比較す
ることができる。両者の相異は、待ち行列A−RES、
B−RES及びC−RESは応答メツセージしか含むこ
とができず、待ち行列A−REQ、B−REQ及びC−
REQは要求メツセージしか含むことができないことで
ある。図3において用いられたメツセージと同じメツセ
ージの組が図6の中の待ち行列に割り当てられており、
図6では更に1つの応答(RES04)が加えられてい
る。上述したように、プロセツサ4は出力ポート4を介
してネツトワークから常に応答を受け取ることができ
る。これは、応答RES14をネツトワークから排出させ
て、待ち行列C−RESを自由にする。次のサイクルに
おいて、応答RES54は待ち行列C−RESに進むこと
ができ、待ち行列B−RESを自由にする。この処理
は、待ち行列A−RESが自由になり、メモリ4におけ
る応答がネツトワークに入力可能になるまで続く。この
時点で、要求REQ14はネツトワークを離れることがで
き、以下同様である。
【0028】本発明の新規な別個の待ち行列構造によつ
て要求メツセージ及び応答メツセージは常に、すべての
段とネツトワークの入力及び出力ポートとにおいて、独
立してアクセスが可能である。これは、要求メツセージ
及び応答メツセージの間のインターフエースの妨害を生
じる可能性を軽減する。応答メツセージは、PMEによ
つてネツトワークから常に排出させることができる。こ
れは、メモリの要求パイプラインを適宜に空にすること
ができ、これは転じて、要求ネツトワークを改良する。
【0029】本発明の新規な待ち行列構造が従来の待ち
行列構造を越えた利点は以下のように要約することがで
きる。 1. 返還された応答メツセージをストアするために使
用されるFIFOレジスタに高い優先度を割り当てるこ
とにより、そして、FIFOレジスタの各グループのた
めに別個のプロトコルを使用することによつてデツドロ
ツクが減少される。 2. 並列コンピユータ・システムに対して、単一のネ
ツトワークの使用を可能とする。これによつて、このネ
ツトワークに関連した(N/K)logK(N)個のチツプ
と、すべての配線、カード及びケージとを節約すること
ができる。この場合、Nはネツトワークのサイズであ
り、Kはスイツチング・ノードのサイズである。例え
ば、N=512で、K=2の場合には、2304個のチ
ツプと、144枚のカード(1枚のカード当り16個の
チツプとして)と、2304ワツトの電力(1チツプ当
りの消費電力を1ワツトとして)と、8個のケージ(1
ケージ当り20枚のカードとして)と、これらに関連し
た配線とを節約することができる。
【0030】以上、本発明の1実施例について説明を行
なつてきたが、当業者であれば、この実施例に自明な幾
多の変更を施すことができる。例えば、図7は従来の出
力スイツチの待ち行列構造を示しており、図8は本発明
に従つて修正された出力スイツチの待ち行列構造を示し
ている。図8において、RES_P及びRES_QのF
IFOレジスタは返還されたメツセージをストアするの
に用いられ、REQ_P及びREQ_QのFIFOレジ
スタは要求メツセージをストアするのに用いられる。経
路指定ビツト及びF−Rビツトの両方は、スイツチの待
ち行列の入力においてチエツクされる。
【0031】図9は従来の入力待ち行列構造を示してお
り、図10は、本発明の入力スイツチの待ち行列構造の
他の実施例を示している。図10において、I_RES
及びJ_RESのFIFOレジスタは応答メツセージを
ストアするのに用いられており、I_REQ及びJ_R
EQのFIFOレジスタは要求メツセージをストアする
のに用いられている。更に、F−Rビツトは入力におい
てチエツクされ、そして、経路指定ビツトは、FIFO
レジスタから出る時にチエツクされる。また、本発明の
技術思想は図11及び図12に示した共有待ち行列にも
拡張することができる。
【0032】再言すると、2×2個のスイツチング・ノ
ードがこれらの実施例に用いられているけれども、kを
2よりも大きな正の整数とした場合、これらの構造は任
意のk×k個のスイツチ・ノードに拡張することができ
る。
【0033】
【発明の効果】本発明は、並列プロセツサ・システムの
ために、ただ1つのネツトワークしか使用せず、しか
も、デツドロツクの可能性を回避する新規なスイツチの
待ち行列構造を与えて、ネツトワークに必要とするハー
ドウエアを大幅に節約することができる。
【図面の簡単な説明】
【図1】並列コンピユータ・システム用の従来の双方向
相互結合網を示すブロツク図である。
【図2】図1に示した相互結合網中で使用されるスイツ
チの待ち行列構造を示すブロツク図である。
【図3】従来のスイツチの待ち行列構造におけるデツド
ロツクの問題を説明するための図であつて、図2に示し
た待ち行列構造に基づく3段の相互結合網を示すブロツ
ク図である。
【図4】単一の相互結合網に適用した本発明のスイツチ
の待ち行列構造の実施例を示すブロツク図である。
【図5】並列コンピユータ・システムに用いた単一結合
網を示す図1と同様のシステムのブロツク図である。
【図6】図4に示したスイツチの待ち行列構造に基づい
て構成された3段の相互結合網のブロツク図である。
【図7】従来の出力スイツチの待ち行列構造を示すブロ
ツク図である。
【図8】本発明に従つた出力スイツチの待ち行列構造を
示すブロツク図である。
【図9】従来のスイツチの入力待ち行列構造を示すブロ
ツク図である。
【図10】本発明に従つた入力スイツチの待ち行列構造
を示すブロツク図である。
【図11】従来の共有スイツチの待ち行列構造を示すブ
ロツク図である。
【図12】本発明に従つた共有スイツチの待ち行列構造
を示すブロツク図である。
【符号の説明】
10 順方向ネツトワーク 12 逆方向ネツトワーク 141、148 プロセツサ/メモリ・エレメント(PM
E) 1811、1812、1881、1882、52、53 マルチ
プレクサ(MUX) 40、41 入力バツフア 42、43 出力バツフア 44、45、46、47 入力バツフアに関連した先入
れ先出しレジスタ 48、49、50、51 出力バツフアに関連した先入
れ先出しレジスタ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ロリイ・ダナ・ジャックソン アメリカ合衆国ニューヨーク州、イース トチェスター、ローレェイン・ドライブ 17番地 (56)参考文献 特開 昭63−172362(JP,A)

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】複数個のプロセツサ/メモリ・エレメント
    がスイツチの待ち行列構造によつて相互結合されたタイ
    プの単一ネツトワークを用いる並列プロセツサ・システ
    ムにおいて、各プロセツサ/メモリ・エレメントはプロ
    セツサ、メモリ及び上記スイツチの待ち行列のインター
    フエースを含んでおり、要求側のプロセツサ/メモリ・
    エレメントからのメモリ参照は、参照されたデータが存
    在する特定のプロセツサ/メモリ・エレメントに転送さ
    れ、かつ、あたかも上記参照されたデータがローカル・
    メモリによつて発生されたかのように取り扱われる上記
    要求側のプロセツサ/メモリ・エレメントに応答が返還
    される、上記単一ネツトワークを用いる並列プロセツサ
    ・システムのためのスイツチの待ち行列構造であって並
    列プロセツサ・システム中のプロセツサ/メモリ・エレ
    メントの数と同じ数の複数個の入力ポート及び複数個の
    出力ポートと、 上記複数個の入力ポート及び上記複数個の出力ポートを
    相互結合する複数個の同一の段とから成り、各段は、 応答メツセージをストアするための先入れ先出しレジス
    タの複数個の第1のグループと、 要求メツセージをストアするための先入れ先出しレジス
    タの複数個の第2のグループと、 先入れ先出しレジスタの上記第1及び第2のグループの
    各々は別個のプロトコルを使用することと、 アドレスされたプロセツサ/メモリ・エレメントからメ
    モリ要求に対する応答を要求側のプロセツサ/メモリ・
    エレメントへ経路指定し、かつ、プロセツサ/メモリ・
    エレメントからメモリ要求をアドレスされたプロセツサ
    /メモリ・エレメントへ経路指定するために、上記第1
    及び第2のグループの各々の先入れ先出しレジスタに接
    続された入力を有する複数個のマルチプレクサとを含む
    ことを特徴とするスイツチの待ち行列構造。
  2. 【請求項2】 デツドロツクの可能性を減少させるため
    に、先入れ先出しレジスタの上記第1のグループからの
    入力は、先入れ先出しレジスタの上記第2のグループか
    らの入力よりも高い優先度を持たせたことを特徴とする
    請求項1に記載のスイツチの待ち行列構造。
  3. 【請求項3】 先入れ先出しレジスタの上記第1及び第
    2のグループの間の優先度はプログラム可能であること
    を特徴とする請求項1に記載のスイツチの待ち行列構
    造。
  4. 【請求項4】 上記同一の複数個の段の各段は、 先入れ先出しレジスタの上記第1及び第2のグループ選
    択された1つのグループにメツセージをバツフアするた
    めに接続された複数個の入力バツフアと、 先入れ先出しレジスタの上記第1及び第2のグループの
    選択された1つのグループからのメツセージをバツフア
    するために上記マルチプレクサの出力に接続された複数
    個の出力バツフアとを含むことを特徴とする請求項1に
    記載のスイツチの待ち行列構造。
  5. 【請求項5】 上記複数個の同じ段は、複数個の2×2
    スイツチで構成され、上記スイツチの各々は上記第1の
    グループの4個の先入れ先出しレジスタ、上記第2のグ
    ループの4個の先入れ先出しレジスタ、及び2個のマル
    チプレクサを含み、該マルチプレクサの各々は上記第1
    のグループの2個の先入れ先出しレジスタに接続された
    2入力及び上記第2のグループの2個の先入れ先出しレ
    ジスタに接続された2入力を持つていることを特徴とす
    る請求項1に記載のスイツチの待ち行列構造。
  6. 【請求項6】 デツドロツクの可能性を減少させるため
    に、先入れ先出しレジスタの上記第1のグループからの
    入力は、先入れ先出しレジスタの上記第2のグループよ
    りも高い優先度を持つていることを特徴とする請求項5
    に記載のスイツチの待ち行列構造。
  7. 【請求項7】プロセツサ、メモリ及びインターフエース
    を含む複数個のプロセツサ/メモリ・エレメントと、上
    記インターフエースを介して上記複数個のプロセツサ/
    メモリ・エレメントを相互結合するとともに、要求側の
    プロセツサ/メモリ・エレメントからのメモリ参照を、
    参照されたデータが存在する特定のプロセツサ/メモリ
    ・エレメントに転送し、かつ、参照されたデータがあた
    かもローカル・メモリにおいて発生されたかのように取
    り扱われる上記要求側のプロセツサ/メモリ・エレメン
    トに応答を返還する、スイツチの待ち行列構造に基づい
    て構築される単一の結合網と、を有する並列プロセツサ
    ・システムにおいて、 上記スイツチの待ち行列構造に基づいて構築される単一
    の結合網は、 上記並列プロセツサ・システム中のプロセツサ/メモリ
    ・エレメントの数と各々同じ数の複数個の入力ポート及
    び複数個の出力ポートと、 上記複数個の入力ポート及び上記複数個の出力ポートを
    相互結合する複数個の同一段と、を備え、 上記の各段が、応答メツセージをストアするための先入
    れ先出し手段の複数個の第1のグループと、要求メツセ
    ージをストアするための先入れ先出し手段の複数個の第
    2のグループを有することと、先入れ先出し手段の上記
    第1及び第2のグループの各々は別個のプロトコルを使
    用することと、アドレスされたプロセツサ/メモリ・エ
    レメントからメモリ要求に対する応答を要求側のプロセ
    ツサ/メモリ・エレメントへ経路指定し、プロセツサ/
    メモリ・エレメントからのメモリ要求をアドレスされた
    プロセツサ/メモリ・エレメントへ経路指定し、かつ要
    求よりも高い優先度で応答を経路指定することを特徴と
    する並列プロセツサ・システム。
JP4099550A 1991-05-28 1992-04-20 並列プロセツサ・システム及びこのシステムに使用されるスイツチの待ち行列構造 Expired - Lifetime JP2644134B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US706136 1991-05-28
US07/706,136 US5313649A (en) 1991-05-28 1991-05-28 Switch queue structure for one-network parallel processor systems

Publications (2)

Publication Number Publication Date
JPH05189391A JPH05189391A (ja) 1993-07-30
JP2644134B2 true JP2644134B2 (ja) 1997-08-25

Family

ID=24836355

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4099550A Expired - Lifetime JP2644134B2 (ja) 1991-05-28 1992-04-20 並列プロセツサ・システム及びこのシステムに使用されるスイツチの待ち行列構造

Country Status (2)

Country Link
US (1) US5313649A (ja)
JP (1) JP2644134B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608870A (en) * 1992-11-06 1997-03-04 The President And Fellows Of Harvard College System for combining a plurality of requests referencing a common target address into a single combined request having a single reference to the target address
US5453978A (en) * 1994-04-04 1995-09-26 International Business Machines Corporation Technique for accomplishing deadlock free routing through a multi-stage cross-point packet switch
US5790848A (en) * 1995-02-03 1998-08-04 Dex Information Systems, Inc. Method and apparatus for data access and update in a shared file environment
KR0150072B1 (ko) * 1995-11-30 1998-10-15 양승택 병렬처리 컴퓨터 시스템에서의 메모리 데이타 경로 제어장치
US5742823A (en) * 1996-01-17 1998-04-21 Nathen P. Edwards Total object processing system and method with assembly line features and certification of results
US5812549A (en) * 1996-06-25 1998-09-22 International Business Machines Corporation Route restrictions for deadlock free routing with increased bandwidth in a multi-stage cross point packet switch
US5781546A (en) * 1996-06-25 1998-07-14 International Business Machines Corporation Route restrictions for deadlock free routing with increased bandwidth in a multi-stage cross point packet switch
JP3456398B2 (ja) 1998-02-02 2003-10-14 日本電気株式会社 プロセッサ間ネットワークのフロー制御方法および装置
US6473827B2 (en) * 1998-12-22 2002-10-29 Ncr Corporation Distributed multi-fabric interconnect
US6754739B1 (en) * 2000-08-31 2004-06-22 Hewlett-Packard Development Company Computer resource management and allocation system
CN1190076C (zh) * 2001-08-06 2005-02-16 松下电器产业株式会社 数据流处理器
FR2863377B1 (fr) * 2003-12-09 2006-02-17 Arteris Procede de gestion d'un dispositif de memorisation de donnees organisees en file d'attente, et dispositif associe
US7720017B2 (en) * 2005-03-11 2010-05-18 Qualcomm Incorporated Parallel turbo decoders with multiplexed output
FR2890766B1 (fr) * 2005-09-12 2007-11-30 Arteris Sa Systeme et procede de communication asynchrone sur circuit, entre des sous-circuits synchrones
FR2899413B1 (fr) * 2006-03-31 2008-08-08 Arteris Sa Systeme de commutation de message
FR2900017B1 (fr) * 2006-04-12 2008-10-31 Arteris Sa Systeme d'interconnexions de blocs fonctionnels externes sur puce muni d'un unique protocole parametrable de communication
FR2901437B1 (fr) * 2006-05-16 2008-08-08 Arteris Sa Procede de realisation d'un circuit de synchronisation de donnees echangees de maniere asynchrone entre deux blocs synchrones, et circuit de synchronisation elabore a partir d'un tel procede
FR2902957B1 (fr) * 2006-06-23 2008-09-12 Arteris Sa Systeme et procede de gestions de messages transmis dans un reseau d'interconnexions
FR2904445B1 (fr) * 2006-07-26 2008-10-10 Arteris Sa Systeme de gestion de messages transmis dans un reseau d'interconnexions sur puce

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4757529A (en) * 1986-02-28 1988-07-12 American Telephone And Telegraph Company, At&T Bell Laboratories Call distribution arrangement
US4985832A (en) * 1986-09-18 1991-01-15 Digital Equipment Corporation SIMD array processing system with routing networks having plurality of switching stages to transfer messages among processors
US4914653A (en) * 1986-12-22 1990-04-03 American Telephone And Telegraph Company Inter-processor communication protocol
US4763122A (en) * 1987-03-18 1988-08-09 International Business Machines Corporation Parallel switching with round robin priority
US4924380A (en) * 1988-06-20 1990-05-08 Modular Computer Systems, Inc. (Florida Corporation) Dual rotating priority arbitration method for a multiprocessor memory bus
US4856100A (en) * 1988-06-30 1989-08-08 Honeywell Inc. Reply rate limiting
US4920484A (en) * 1988-10-05 1990-04-24 Yale University Multiprocessor/memory interconnection network wherein messages sent through the network to the same memory are combined
US5107489A (en) * 1989-10-30 1992-04-21 Brown Paul J Switch and its protocol for making dynamic connections
US5235689A (en) * 1990-06-11 1993-08-10 Storage Technology Corporation Interface circuit for dual port disk drive systems
US5144293A (en) * 1990-12-18 1992-09-01 International Business Machines Corporation Serial link communication system with cascaded switches
US5165021A (en) * 1991-01-18 1992-11-17 Racal-Datacom, Inc. Transmit queue with loadsheding

Also Published As

Publication number Publication date
US5313649A (en) 1994-05-17
JPH05189391A (ja) 1993-07-30

Similar Documents

Publication Publication Date Title
JP2644134B2 (ja) 並列プロセツサ・システム及びこのシステムに使用されるスイツチの待ち行列構造
KR900006793B1 (ko) 패킷 스위치 다중 대기행렬 NxM 스위치 노오드 및 처리 방법
US4630258A (en) Packet switched multiport memory NXM switch node and processing method
US8036243B2 (en) Single chip protocol converter
JP4024875B2 (ja) 異なるデータ・レートで動作するネットワーク・ポートに関して、共用メモリへのアクセスを調停する方法および装置
EP0405208B1 (en) Multistage network with distributed pipelined control
EP0721164A2 (en) Crossbar switch apparatus and protocol
US6490630B1 (en) System and method for avoiding deadlock in multi-node network
US6697362B1 (en) Distributed switch memory architecture
JPH02228762A (ja) 並列処理コンピュータシステム
JP3206126B2 (ja) 分散クロスバー・スイッチ・アーキテクチャにおけるスイッチング・アレイ
US20070297437A1 (en) Distributed switch memory architecture
US7370127B2 (en) High-speed internal bus architecture for an integrated circuit
US20020172197A1 (en) System interconnect with minimal overhead suitable for real-time applications
EP1187422B1 (en) Method and device for tunable packet arbitration
Chi et al. Decomposed arbiters for large crossbars with multi-queue input buffers
Lee A virtual bus architecture for dynamic parallel processing
US20050289280A1 (en) Switching fabric bridge
JP2882304B2 (ja) マルチプロセッサシステム
Shermi et al. A novel architecture of bidirectional NoC router using flexible buffer
Williams et al. Communication mechanisms for parallel DSP systems on a chip
SHERMI et al. A Novel Architecture of Bidirectional NoC Router with Flexible Buffer
Pachange et al. Design and Implementation of Cross Bar NoC Architecture
JP3791463B2 (ja) 演算装置及びデータ転送システム
Pan et al. Short circuits in buffered multi-stage interconnection networks