JP3704367B2 - スイッチ回路 - Google Patents
スイッチ回路 Download PDFInfo
- Publication number
- JP3704367B2 JP3704367B2 JP00191394A JP191394A JP3704367B2 JP 3704367 B2 JP3704367 B2 JP 3704367B2 JP 00191394 A JP00191394 A JP 00191394A JP 191394 A JP191394 A JP 191394A JP 3704367 B2 JP3704367 B2 JP 3704367B2
- Authority
- JP
- Japan
- Prior art keywords
- message
- fifo buffer
- transfer
- input
- output port
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
Description
【産業上の利用分野】
本発明は、多数台のプロセサからなる並列プロセサなどを接続するネットワークを構成するスイッチ回路に関する。
【0002】
【従来の技術】
科学技術計算処理分野において、多数台の要素プロセサを結合し、台数分の性能向上をねらう並列プロセサが商用化しつつある。並列プロセサでは、この多数台のプロセサを接続するプロセサ間結合方式が重要である。現在、このプロセサ間結合方式は、いくつかのm入力n出力スイッチ(m,nは整数)を複数接続した多段ネットワークが一般的である。
【0003】
図4に代表的な多段ネットワークであるベネスネットワークを示す。もちろん、格子結合やハイパキューブ結合などのキューブ系結合や、トリー結合などもm入力n出力スイッチを複数接続した多段ネットワークである。図4のベネスネットワークでは、4入力4出力のスイッチを3段接続することにより、16台のプロセサを接続している。このうち、最初の一段分は冗長なスイッチであり、このような冗長な段を持つことにより、転送先プロセサが重ならない時のすべての組み合わせのデータ転送をネットワーク内で衝突なしに行う経路を確保することができる。
【0004】
なお、以下では、プロセサ間のデータ転送をメッセージ転送と呼ぶ。メッセージとは、メッセージ情報として、転送すべきデータにあて先のプロセサ番号,転送データ量(メッセージ長)などを転送データに付加したもので、このメッセージ内のメッセージ情報を用いて、メッセージは能動的に各スイッチ内で経路を判断して、受信先のプロセサに送るべきデータを転送する。
【0005】
図5にメッセージの構成の例を示す。転送先プロセサ番号およびメッセージ長などのメッセージ構成情報は、一般にメッセージの最初の部分に保持されている。メッセージは、物理的な信号線数の制約により、複数回に分けて送られる。そのため、各部分を送るごとにデータ線の有効性を示す制御信号が必要となる。また、メッセージの転送先情報はメッセージの先頭にのみしかないため、通過し始めたメッセージがすべて通りきるまで通過中の経路はかならず確保しておく必要がある。
【0006】
並列計算機の対象とする応用は、もともと大規模科学技術計算処理が考えられていたが、非数値処理として、推論処理などの知識処理の分野やデータベースやオンライントランザクション処理などと応用範囲が拡大されつつある。また、このような分野では、大規模科学技術計算処理と違って、一回に転送する転送データ量はあまり長くないと考えられる。さらに、最近実用化されだした、すべてのプロセサ内の記憶装置のアドレス空間を一元化する分散型共有記憶方式の並列計算機では、いままで以上に他のプロセサへのアクセスが必要となり、このデータアクセス単位は、一つのデータ(数バイト単位)からキャッシュのライン相(数10〜数100バイト単位)と非常に小さい。
【0007】
一方、ハードウェアの状況を見ると、LSI高集積化は非常に進み、1チップあたりのゲート数は飛躍的に高まっている。しかし、信号ピン数は、ゲート数程には集積化が進んでおらず、ゲート/ピン比率は高まる方向にある。
【0008】
【発明が解決しようとする課題】
ベネスネットワークでは、冗長なスイッチを設けることにより、転送先プロセサが重ならない時のすべての組み合わせのデータ転送をネットワーク内で衝突なしに行う経路を確保することができる。しかし、定形的な科学技術計算処理での静的なプロセサ間のメッセージ転送(つまり、事前にメッセージ転送手段が分かっている場合)を除いては、転送先プロセサが重ならないことを保証する事は困難である。また、仮りに転送先プロセサが重ならないとしても各プロセサが独立に動作するような(いわゆるMIMD型:Multiple Instruction Mutiple Data)並列計算機システムでは、各プロセサの処理の進み方に差が生じる。このような場合、どうしてもネットワーク内のスイッチ上でメッセージ間で競合が発生し、メッセージの転送時間がどんどん延びてしまう。
【0009】
たとえば、同じ入力ポートから続けて異なる転送先プロセサへの複数のメッセージ転送があったとする。もし、最初のメッセージが他の入力ポートからのメッセージとの競合調停の結果、待つことになった場合、その次のメッセージが要求する転送先プロセサにつながる出力ポートが空いていても、この次のメッセージを送ることができない。このことは特に小さな単位のデータを転送する(つまり、メッセージ長が短い)場合、その転送時間が性能に与える影響は大きい。
【0010】
本発明の目的は、このような場合にも、競合待ちしているメッセージのある入力ポートを解放し、その次のメッセージを転送することを可能とする多段スイッチネットワークを構成するスイッチを提供することにある。
【0011】
【課題を解決するための手段】
上記課題を解決するためには、ネットワーク上のスイッチ内にメッセージの転送単位より、大きいFIFO(First In First Out)バッファを設けて、競合により待たせられたメッセージを一時的にこのFIFOバッファに退避することにより、入力ポートを解放し、次のメッセージの競合調停への参加および転送を可能とする。
【0012】
【作用】
上記、FIFOバッファを設けることにより、入力ポートの解放を可能とし、次のメッセージの転送を早めることができる。また、FIFOに一時的に退避したメッセージは、優先度を高くして、次の選択に用いるようにすれば、特にFIFOに退避したメッセージが必要以上に待されることはない。
【0013】
【実施例】
図1に本発明のスイッチ構成の一例を示す。図中、10Aないし10Dは各入力ポートに対応する入力バッファ、11はメッセージ選択処理部、12はセレクタ、13は本発明により採用したFIFOバッファ、14Wないし14Zはセレクタ、15Wないし15Zは各出力ポートに対応する出力バッファである。また、線L20Aないし線L20Dは、前段のスイッチないしプロセサからのメッセージの入力、線L21Aないし線L21Dは、入力バッファ10Aないし10Dがメッセージの待合せにより、これ以上メッセージの格納が不可能になったことを前段のスイッチないしプロセサに対して知らせるメッセージ送信抑止出力信号、線L23Wないし線L23Zは、後段のスイッチないしプロセサへのメッセージの出力、線L24Wないし線L24Zは、後段のスイッチないしプロセサからのメッセージ送信抑止信号である。
【0014】
前段のスイッチないしプロセサからの入力メッセージを線L20Aあるいは線L20Dを介して受け取った入力バッファ10Aあるいは10Dは、入力メッセージから転送先プロセサ番号およびメッセージ長などのメッセージ構成情報を取り出し、線L22Aあるいは線L22Dを介してメッセージ選択処理部11に送り、また、メッセージ本体をセレクタ14Wあるいは14Zに送る。
【0015】
図1では、入力ポート4,出力ポート4としたが、もちろん、これ以外での数でも構わない。さらに、入力ポート数と出力ポート数は異なっていても良い。
【0016】
メッセージ競合調停部11では、複数の入力ポートからのメッセージ転送要求から、出力ポートごとに、線L29Wないし線L29Zを介してセレクタ14Wないし14Zを切り替えることにより、メッセージ転送要求のある一つの入力ポートを選択する。この選択の時には、各出力ポートに対応する出力バッファ15Wないし15Zの使用状況(出力バッファがメッセージ取り込み可能か否か)の情報が線L30Wないし線L30Zを介してメッセージ競合調停部11に対して送られており、この情報もメッセージ選択の時に用いられる。
【0017】
メッセージ競合調停部11でセレクタ14Wないし14Zの切り替えで選択されたメッセージは出力バッファ15Wないし15Zに蓄えられ、線L23Wないし線L23Zを介して、後段のプロセサあるいはスイッチの入力ポートに転送される。線L24Wないし線L24Zは後段からのメッセージ転送抑止信号であり、この信号が出ているときは、後段へのメッセージ転送は抑止される。
【0018】
このスイッチには、本発明で用いるFIFOバッファ13が設けられており、複数の入力ポートから同一の出力ポートへの転送要求による競合のため、一時待機を余儀なくされたメッセージをセレクタ12を介して取り込むことができる。この時の制御として、メッセージ競合調停部11から
(1)線L25を介してセレクタ12の切り替え、
(2)線L26からFIFOバッファへの書き込み場所の指示、
(3)線L27からFIFOバッファからの読みだし場所、
の指示が送られてくる。
【0019】
FIFOバッファ13からの出力としてのメッセージは、線L28を介して、各出力ポートに対応するセレクタ14Wないし14Zに送られると同時に、メッセージ競合調停部11にもメッセージ内の転送先プロセサ番号情報を送り、メッセージ競合調停部11での出力ポートごとの入力ポート選択候補の一つとして扱う。この時、FIFOからの要求はできるだけ優先度を高くする方がよい。
【0020】
図2にメッセージ競合調停部11の内部構成を示す。図において、40はOR回路、41Wないし41Zは出力ポート対応競合調停部、42はFIFOバッファ制御部である。
【0021】
出力ポート対応競合調停部41Wないし41Zは、それぞれ出力ポートごとに対応するメッセージ競合調停部である。これらの競合調停部はすべて同じ構成をしている。入力は、各入力バッファ10Aないし10D(図1)から線L22Aないし線L22Dを介したメッセージ送信要求と、各出力バッファ15Wないし15Z(図2)から線L30Wないし線L30Zを介した出力バッファの使用状況情報である。一方、出力は、線L29Wないし線L29Zを介したセレクタ
14Wないし14Z(図1)の切り替え信号と、線L19Aないし線19Dを介した各入力バッファ10Aないし10D(図1)への競合調停結果の回答である。
【0022】
出力ポート対応競合調停部41Wないし14Zは、後述するようにFIFOバッファを第5の優先度の高い入力とし、(1)FIFOバッファ制御部42からFIFOバッファ上のメッセージ情報を受け取ること、(2)競合調停に負けたメッセージ転送要求のある入力ポートに関するメッセージ情報をFIFOバッファ制御部42に転送すること以外は、通常のスイッチのメッセージ競合調停をそのまま用いることができるので、ここでは、詳細な記述は行わない。
【0023】
次に、FIFOバッファ制御部42について説明する。FIFOバッファ制御部42は、FIFOバッファ13(図1)の制御を行う。
【0024】
入力は、各出力ポート対応競合調停部41Wないし41Zからのメッセージ情報として、線L50Wないし線50Zを介してFIFOバッファへのメッセージ格納要求が、線L51Wないし線51Zを介してメッセージ格納要求を行う送信元の入力ポート番号が、線L52Wないし線52Zを介して送り込んでいるメッセージの終了情報が、線L53Wないし線53Zを介してメッセージの有効情報が、それぞれ送られてくる。
【0025】
これらの情報を元に、FIFOバッファ制御部42は、取り込むべきメッセージを決定し、線L25を介して、セレクタ12(図1)を該当する入力バッファ10Aあるいは10Dからの入力に切り替え、線L26を介してFIFOバッファ13(図1)の書き込むべき場所を設定する。
【0026】
さらに、FIFOバッファ制御部42は、FIFOバッファ13(図1)上に格納してあるメッセージを送りだすために、メッセージ内のメッセージ情報としての転送先プロセサ番号を線L28を介して取り込み、線L55Wないし線
L55Zを介して出力ポート対応競合調停部41Wないし41Zに対して、調停の依頼をし、その結果を線L54Wないし線L54Zにより受信し、それに応じて、線L27を介してFIFOバッファ13(図1)の読みだすべき場所を指示する。
【0027】
FIFOバッファ制御部の詳細な構成と動作を図3を用いて説明する。図3において、50は競合調停部、51,52は状態を保持するレジスタ、53,54はセレクタ、55はAND回路、56はFIFOバッファの書き込みポインタ
WP、57はFIFOバッファの読みだしポインRP、58はOR回路、59はFIFOバッファの空き領域の計算部、60は要求信号生成部である。
【0028】
まず、出力ポート対応競合調停部41Wないし41Z(図2)からの要求により、FIFOバッファ13(図1)へのメッセージの取り込みについて説明する。出力ポート対応競合調停部41Wないし41Z(図2)からのメッセージ情報として、線L50Wないし線50Zを介して、FIFOバッファへのメッセージ格納要求が、線L51Wないし線L51Zを介して、メッセージ格納要求を行う送信元の入力ポート番号が入力され、競合調停部50に送られる。競合調停部
50では、要求のあった入力ポートの中から、一つを選択する。このとき、FIFOバッファがメッセージ転送途中に、バッファの容量があふれてはいけないので、この競合調停時の入力ポート選択の基準のひとつとして、FIFOバッファの空き領域情報を後述するFIFOバッファの空き領域の計算部59から読み込む。それ以外の競合調停部50の動作は、通常の競合調停と同様であり、ここでは省略する。
【0029】
競合調停の結果は、まず、新しくFIFOバッファ13(図1)に書き込むメッセージがあることを線L71を介して、レジスタ51ないし52に送り込む。レジスタ51では、また線L70を介して、新しく選択された入力ポート番号を、線L71の指示により格納する。このレジスタ51の情報は、線L25を介して、セレクタ12に送られる。もう一つのレジスタ52は、現在、FIFOバッファ13(図1)への読み込みが行われている否かの状態を示す。
【0030】
このレジスタ52のSET(FIFOバッファへの読み込み開始)は、線L71を介して行われ、RESET(FIFOバッファへの読み込み終了)は、出力ポート対応競合調停部41Wないし41Z(図2)から線L52WないしL52Zを介して送り込まれたメッセージ情報の一つであるメッセージの終了指示からセレクタ53で選択された情報を用いて行う。
【0031】
FIFOバッファ13(図1)の書き込む場所の設定は次のように行う。出力ポート対応競合調停部41Wないし41Z(図2)から線L53WないしL53Zを介して送り込まれたメッセージ情報の一つであるメッセージの有効情報からセレクタ54で選択された情報を、レジスタ52の内容により現在FIFOへの読み込みを行っていることを確認しつつ、FIFOバッファの書き込みポインタ
WP56に送る。WP56では、保持しているWPの値を+1(メッセージの1サイクルでの転送単位を1とする)し、その結果を線L26を介して、FIFOバッファ13(図1)に送り込む。
【0032】
次に、FIFOバッファ13(図1)上に格納してあるメッセージを出力バッファ15Wないし15Z(図1)に送りだすための処理について説明する。まず、FIFOバッファ13(図1)上に格納してあるメッセージからメッセージ情報としての転送先プロセサ番号を、線L28を介して取り込み、要求信号生成部60に送り込む。要求信号生成部60は、FIFOバッファの空き領域の計算部59によりFIFOバッファ13(図1)上にメッセージが格納されていることを確認し、線L55Wないし線L55Zを介して、出力ポート対応競合調停部
41Wないし41Z(図2)に対して、調停の依頼をする。出力ポート対応競合調停部41Wないし41Z(図2)では、FIFOバッファ上のメッセージを各入力バッファ上のメッセージと同様に扱うが、競合時の優先度は、FIFOバッファの方を高くするべきである。
【0033】
この調停結果は、線L54Wないし線L54Zにより受信し、OR回路58を介して、FIFOバッファの読みだしポインタRP57に送り込む。RP57は保持しているRPの値を+1(メッセージの1サイクルでの転送単位を1とする)し、その結果を線L27を介して、FIFOバッファ13(図1)に送り込む。
【0034】
FIFOバッファの空き領域の計算部58は、書き込みポインタWP56と読みだしポインタRP57を入力とし、FIFOバッファ13(図1)上に、メッセージが格納されているか、あるいは、次に格納すべきメッセージのためにどの程度の余裕があるかを計算し、その結果を、それぞれ要求信号生成部60と競合調停部50に送り込む。
【0035】
本発明のFIFOバッファは、一つのFIFO構成としたが、複数のFIFOを準備することも考えられる。また、さらに、このFIFOを出力ポート対応に設置することにより、一つの出力ポートが複数の入力ポートからの複数のメッセージを同時に受け付けることも可能になる。また、FIFOの容量は大きいほど効果的である。これらは、すべてスイッチを構成するLSIあるいはLSI群のゲート規模により決定される。
【0036】
【発明の効果】
本発明によれば、競合調停により、待つことを強いられたメッセージを一時的に格納するFIFOバッファに格納することにより、入力ポートを解放することができ、次のメッセージを競合調停の対象とすることができる。そのため、空いている出力ポートを少なくすることができ、スイッチの稼働率を高めることができる。
【図面の簡単な説明】
【図1】スイッチの一実施例を示すブロック図。
【図2】メッセージ調停制御部の一実施例を示すブロック図。
【図3】FIFOバッファ制御部の一実施例を示すブロック図。
【図4】並列計算機のプロセサ間ネットワーク一実施例を示すブロック図。
【図5】メッセージの構成の一実施例を示す説明図。
【符号の説明】
50…競合調停部、51,52…レジスタ、53,54…セレクタ、55…AND回路、56…書き込みポインタWP、57…読みだしポインタRP、58…OR回路、59…FIFOバッファ空き領域計算部、60…要求信号生成部。
Claims (3)
- 多段ネットワークを構成するm入力n出力のデータ転送用スイッチ回路であって、各入力ポート、出力ポート対応にそれぞれ入力バッファ、出力バッファを有し、各入力ポートからの転送データ間の競合調停を出力ポート対応に行い、前記出力ポートの競合で選択されなかった前記転送データは、通過し始めた複数ブロックからなる転送メッセージのすべてのブロックが通過して前記出力ポートが空くまで、前記入力バッファで待たせられる制御を行うデータ転送用スイッチにおいて、前記出力ポートの競合で選択されなかった転送メッセージを一時、保持するFIFOバッファを更に有し、転送メッセージが通過中の入力ポートを解放することを特徴とするスイッチ回路。
- 請求項1において、前記FIFOバッファ上に前記転送メッセージが一時保持されているときの前記出力ポートの競合調停には、前記FIFOバッファ上のメッセージをm+1番目の入力として扱うスイッチ回路。
- 請求項2において、前記FIFOバッファ上に前記転送メッセージが一時保持されているときの前記出力ポートの競合調停には、前記FIFOバッファ上のメッセージの優先度を高くするスイッチ回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00191394A JP3704367B2 (ja) | 1994-01-13 | 1994-01-13 | スイッチ回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP00191394A JP3704367B2 (ja) | 1994-01-13 | 1994-01-13 | スイッチ回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07210528A JPH07210528A (ja) | 1995-08-11 |
JP3704367B2 true JP3704367B2 (ja) | 2005-10-12 |
Family
ID=11514828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP00191394A Expired - Lifetime JP3704367B2 (ja) | 1994-01-13 | 1994-01-13 | スイッチ回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3704367B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5293233B2 (ja) * | 2009-02-03 | 2013-09-18 | 日本電気株式会社 | データ入出力装置 |
-
1994
- 1994-01-13 JP JP00191394A patent/JP3704367B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH07210528A (ja) | 1995-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11609769B2 (en) | Configuration of a reconfigurable data processor using sub-files | |
US5093920A (en) | Programmable processing elements interconnected by a communication network including field operation unit for performing field operations | |
US7047370B1 (en) | Full access to memory interfaces via remote request | |
EP0460599B1 (en) | Massively parallel processor including queue-based message delivery system | |
EP0198010B1 (en) | Packet switched multiport memory nxm switch node and processing method | |
US7487302B2 (en) | Service layer architecture for memory access system and method | |
Frazier et al. | The design and implementation of a multi-queue buffer for VLSI communication switches. | |
EP0172038B1 (en) | Information processor | |
JP4128447B2 (ja) | 並列演算及び並列メモリーアクセスのためのスケーラブルなインターコネクト構造 | |
JP3704367B2 (ja) | スイッチ回路 | |
EP1035479A2 (en) | System for processing vector data | |
JP2001297074A (ja) | データ駆動型情報処理装置の実行制御装置 | |
JP3982077B2 (ja) | マルチプロセッサシステム | |
JP2976700B2 (ja) | プロセッサ間同期制御方式 | |
JPH0496172A (ja) | データ格納方法,ベクトルデータバッファ装置およびベクトルデータ処理装置 | |
JP3609908B2 (ja) | 計算機接続装置 | |
JP2744152B2 (ja) | データ駆動型データ処理装置 | |
JP2869100B2 (ja) | 並列計算機の要素プロセッサ | |
JP3791463B2 (ja) | 演算装置及びデータ転送システム | |
JP2657090B2 (ja) | 計算機のデータ通信システム | |
JP2663417B2 (ja) | 記憶回路 | |
JPS644218B2 (ja) | ||
JPH1091589A (ja) | プロセッサ間同期制御装置 | |
JPH06110855A (ja) | マルチ・プロセッサ | |
JPH08263459A (ja) | マルチプロセッサシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050307 |
|
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: 20050712 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050725 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080729 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090729 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090729 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100729 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100729 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110729 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110729 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120729 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130729 Year of fee payment: 8 |
|
EXPY | Cancellation because of completion of term |