JP4679522B2 - エラー訂正を利用した高度並列スイッチング・システム - Google Patents

エラー訂正を利用した高度並列スイッチング・システム Download PDF

Info

Publication number
JP4679522B2
JP4679522B2 JP2006538334A JP2006538334A JP4679522B2 JP 4679522 B2 JP4679522 B2 JP 4679522B2 JP 2006538334 A JP2006538334 A JP 2006538334A JP 2006538334 A JP2006538334 A JP 2006538334A JP 4679522 B2 JP4679522 B2 JP 4679522B2
Authority
JP
Japan
Prior art keywords
data
sub
payload
segment
segments
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006538334A
Other languages
English (en)
Other versions
JP2007528148A (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.)
Interactic Holdings LLC
Original Assignee
Interactic Holdings LLC
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 Interactic Holdings LLC filed Critical Interactic Holdings LLC
Publication of JP2007528148A publication Critical patent/JP2007528148A/ja
Application granted granted Critical
Publication of JP4679522B2 publication Critical patent/JP4679522B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0072Error control for data other than payload data, e.g. control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/50Circuit switching systems, i.e. systems in which the path is physically permanent during the communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Error Detection And Correction (AREA)

Description

本発明は、相互接続アーキテクチャに関し、詳細には、エラー検出及び/またはエラー訂正が可能な論理(logic、ロジック手段)を含む相互接続構造に関する。
計算/通信プロダクトは、スーパコンピュータからグリッドコンピューティングスイッチ、増え続けるルータまで多岐にわたるが、相互接続ネットワーク技術は、そのような計算/通信プロダクトの基本構成要素である。しかしながら、この技術に依存するシステムのスケーラビリティは、既存の相互接続技術の特性によってかなり制限されている。
例えば、過去10年間でスーパコンピュータは進歩したが、基礎物理の分野、気候及び環境モデリング、DNA塩基配列決定におけるパターンマッチングなどにおいて生じるデータ転送集約的な計算処理上の問題の要求を費用効果的に満たす能力は、スーパコンピュータ相互接続ネットワークの待ち時間により制限され続けている。
例えば、スーパコンピュータのクレイ(Cray)T3Eにおいては、プロセッサ群は、3次元の双方向トーラスで相互接続されている。集中的なデータ転送に関連するコンピュータ・カーネルのクラスでは、アーキテクチャの待ち時間が原因で、平均するとプロセッサの95%ないし98%がデータを待つ間アイドル状態にある。さらに、そのようなアーキテクチャにおいて、コンピュータ中の約半分のボードがネットワークボードである。必然的に、マシン上で実行される浮動小数点演算は、パーソナルコンピュータ上での浮動小数点演算より最大で100倍の費用がかかることがあり得る。
マイクロプロセッサの計算機能力及びパラレル・コンピューティングの費用が共に増大してきたので、代わりの並列処理プラットフォームを提供するためのハイエンド・ワークステーションのネットワーク化の概念が進化してきた。クラスタ・コンピューティングの費用効果的な解決には、バンド幅が大きくかつ待ち時間が短いスケーラブルな相互接続ネットワークを欠くことができない。今日まで、解決策は、ミリネット(Myrinet)及びQsNetなどの専用ハードウェアによって決まっていた。
ミリネット及びQsNetを用いる小型スイッチング・システムは、適度にバンド幅が大きくかつ中程度に待ち時間が短いが、スケーラビリティに関しては、費用及び待ち時間の点で、スーパコンピュータネットワークで見られるのと同じ問題を抱えている。というのも、両者は、Closネットワーク、ファット・ツリー(fat tree)、またはトーラスなどの複数ノード・コンフィギュレーションで接続される小さなクロスバ・ファブリックに基づくものであるからである。クロスバでできた大きな相互接続は、基本的に制限されている。
これと似たようなスケーラビリティの限界は、ライン速度がOC192に増加したので、最大32個のポートが基準であるような今日のインターネット・プロトコル(IP)ルータに到達した。
多くの産業にわたる次世代用途の絶え間なく増大する需要に対応することになる「スケーラブルな」相互接続アーキテクチャを捜し求めて多くの年月が研究開発に費やされてきた。しかしながら、アーキテクチャの能力が年月を重ねるにつれて大いに進化的に進歩したとしても、既存のアーキテクチャでは費用効果的な方法で増大する需要に対応することはできない。
米国特許第5,996,020号明細書 米国特許第6,289,021号明細書 米国特許第6,754,207号明細書 米国特許第6,687,253号明細書 米国特許出願第09/693,603号(発明の名称:"Scaleable Interconnect Structure for Parallel Computing and Parallel Memory Access"、発明者:John Hesse、Coke Reed) 米国特許出願番号第09/693,358号(特許番号第7,016,363号)明細書 米国特許出願第09/692,073号(発明の名称:"Scalable Method and Apparatus for Increasing Throughput in Multiple Level Minimum Logic Networks Using a Plurality of Control Lines"、発明者:Coke Reed、John Hesse) 米国特許出願番号第09/919,462号(出願公開番号第20030035371号)明細書 米国特許出願番号第10/123,382号(出願公開番号第20030193943号)明細書 米国特許出願番号第10/289,902号(出願公開番号第20040090964号)明細書 米国特許出願番号第10/798,526号(出願公開番号第20040264369号)明細書 米国特許出願番号第10/866,461号(出願公開番号第20040267958号)明細書 米国特許出願番号第10/887,762号(出願公開番号第20050008010号)明細書
そこで本発明は、上記従来の状況に鑑み、エラー検出及び/またはエラー訂正が可能な論理を含む相互接続構造を提供する。論理が、1つのデータ・ストリームを複数の固定サイズ・セグメントに配列(format)する。個々のセグメントには、少なくともセット・プレゼンス・ビットとターゲット・アドレスとを含むヘッダと、少なくともセグメント・データとターゲット・アドレスのコピーとを含むペイロードと、ペイロードのパリティを指定するパリティビットとが含まれ、論理が、複数のセグメントを多次元行列に配列する。論理は、セグメント・エラー、列エラー、ペイロード・エラーを検出するための分析を含めて、複数のスイッチをデータが通過した後でセグメント・データを多次元で分析する。
開示されているシステムは、限定されるものではないが、1)インターネット・プロトコル(IP)ルータを含むルータ、2)イーサネット・スイッチ、3)ATMスイッチ、4)記憶領域ネットワーク・システム(SANS)、5)クラスタ・コンピューティング・システム、6)スーパコンピュータを含むシステムにおいて複数の相互接続構造を用いてデータを転送する構造及び作動方法に関する。本明細書中の開示は、並列スイッチを通過させるために行うメッセージのスケジューリング、マルチキャスティングの実現、システムの種々の部分におけるエラー訂正の実現、及び、不具合の生じた構成要素を置換するために行う余分または余剰なシステム構成要素の使用、のための構造及び方法について説明する。
関連する特許及び特許出願に記載されている相互接続構造は、短い待ち時間及び大きなバンド幅が重要であるとき、多数のデバイスの相互接続において使用する場合に非常に優れている。参照される相互接続構造及びネットワークの被選択出力ポートに複数のパケットを同時に転送する能力及びセルフルーティング特性もまた、有利に利用することができる。
図4A及び4Bに示すのは、「多重レベル最小論理(Multiple Level Minimum Logic)」(MLML)ネットワークと呼ばれ、「データ・ボルテックス(Data Vortex)」とも呼ばれる、全く新しい相互接続構造のトポロジ、論理、及び使用の例である。図5Aないし図5F及び図6A、6Bに開示されているようなシステムにおいて、2つの型の多重レベル最小論理(MLML)相互接続構造を用いることができる。図4Aに開示されている1つの型の相互接続構造は、「データ・ボルテックス・スイッチ」と呼ぶこともでき、リング状の循環シフトレジスタに配列された多重レベルの構造を有する。図4Bに示され、本明細書中で「階段状相互接続」と呼ばれる第2の型の相互接続構造においては、各レベルが非循環シフトレジスタの一群を含むようにデータ・ボルテックス・スイッチ構造の各リングの一部が省略されている。
図5Aないし図5Fにおいては、図4Bに描写した型の階段状スイッチが、データを運ぶために用いられることがある。階段状スイッチはまた、図6A及び6Bに描写されているスケジュールされたデータ・スイッチにおいても、データを運ぶために用いられる。階段状スイッチの複数のコピーを用いて、各パケット・セグメントの最終ビットの待ち時間を減少させ、かつ相互接続構造のバンド幅を大きくすることもできる。複数のスイッチを用いた実施形態においては、図5Aないし図5Fがある技術を開示しており、それは、パケット・セグメントをサブセグメントに分解して、その後、これらのサブセグメントを1組の即ち1つのスタックを構成する階段状スイッチを通って同時に送信し、任意の2つのサブセグメントがその組内の同じスイッチを通過しないようにする技術である。組内の各階段状スイッチは、複数のクロスバ・スイッチからなる追加スイッチが後に続く。これと同じ構造、即ち、複数のクロスバ・スイッチが後に続くスタック構成の階段状スイッチを含む構造であって、階段状スイッチの出口レベルの各シフトレジスタに対して1つのクロスバを有するような構造は、図6A及び6Bにおいてスケジュールされたデータ・スイッチにおいて、データを運ぶために用いられることができる。
本明細書中で開示した構造及び作動方法は、データ・パケット・セグメントのペイロードにおけるエラーを訂正し、ミスルーティングされたデータ・パケット・サブセグメントに起因するエラーを訂正するためのエラー訂正能力を有する。いくつかの実施形態においては、例示のシステムは、スタック構成のネットワークであって、図4Bに示されている階段コンフィギュレーションを有するスタックにおいて個々のネットワークを有するネットワーク・スタックを含む該スタック構成のネットワークを通ってルーティングされるデータ・パケット・セグメントに対してエラー訂正を行う。他の実施形態において、例示のシステムは、図4Aに開示した多重レベル最小論理(MLML)即ちデータ・ボルテックス・コンフィギュレーションを有する個々のスタック・メンバ・ネットワークを有するネットワーク・スタックにおいてエラー訂正を実行する。
開示されたシステムの種々の実施形態は、スタック構成のネットワークを通ってルーティングされたデータ・パケット・セグメントにおけるエラーを訂正するが、スタック内の個々のネットワークは図4Bに示される階段デザインを有し、スタック内の個々のスイッチの後には、複数のクロスバ・スイッチが続く。クロスバ・スイッチは、スタックの階段状相互接続構造の個々の最下位シフトレジスタに対応している。
例示の構造及び作動方法のいくつかは、データ・パケット・セグメントをサブセグメント群に分解するシステムにおいて生じるエラーを訂正する。サブセグメントは、階段状相互接続構造の出力ポートから出ることができず、例えばサブセグメントはスイッチにより破棄される。種々の実施形態により、図5Aないし図5Fに開示されている要求/応答スイッチに入るパケットに対するエラーを訂正することができ、図6A及び6Bに教示されているコンピューティング/記憶領域ネットワークに描写されている無制御スイッチに入るパケットに対するエラーも訂正することができる。それゆえに、開示されている構造及び対応する作動技術が、データ・スイッチング能力を含む広範なクラスのシステムにおいて用いられることがある。そのようなシステムには、MLMLスイッチでも階段状スイッチでもいずれでもないスイッチが含まれることがある。この技術は、例えば、スタック構成のクロスバ・スイッチ群、またはスタック構成の環状ネットワーク群、Closネットワーク群、ファット・ツリー・ネットワーク群を含む複数のホップ・ネットワーク群に適用可能である。
図5Aないし図5Fは、データの入力が要求プロセッサにより制御されるようなデータ・スイッチにおける複数の階段状相互接続構造を含むシステムを説明している。図6A及び6Bには、スケジュールされたネットワークにおいて複数の階段状相互接続構造を有するシステムを開示している。そのようなシステムは、階段状相互接続構造のスタックに配列されたK・N個のスイッチと、K・N個のデータ・ストリームをスイッチ・スタックに挿入可能な入力デバイスを有する。そのようなシステムに対して多くの実施形態が可能である。一実施形態は、パケットをサブセグメントに分解せずに完全なデータ・パケット・セグメントで作動し、K・N個のセグメントをスタック構成の階段状相互接続構造に同時に挿入することができる入力デバイスを有するシステムである。各セグメントは、スタック内の個別スイッチに入る。別の実施形態において、データ・パケット・セグメントは各々が同じヘッダを有するN個のサブセグメントに分解され、入力デバイスは、相互接続構造に2つのパケット・セグメントを同時に挿入することができる。結果として生じるK・N個のサブセグメントの各々は、スタック内の個別スイッチへ挿入される。第3の実施形態において、データ・パケット・セグメントは各々が同じヘッダを有するK・N個のサブセグメントに分解され、入力デバイスは、特定のパケット・セグメントのK・N個のサブセグメント全てを同時に挿入することができる。各サブセグメントは、階段状スイッチのスタック内の個別スイッチ内に入る。階段状相互接続構造を通ってサブセグメントをルーティングするためにHヘッダビットを用いるシステムにおいて、第1の実施形態においては1パケット・セグメント当たりHヘッダビットが含まれ、第2の実施形態においては1パケット・セグメント当たりN・Hヘッダビットが含まれ、第3の実施形態においては1パケット・セグメント当たりK・N・Hヘッダビットが用いられている。従って、第1の実施形態は、ペイロード対ヘッダの比を最大にする。
入力コントローラ及び要求プロセッサを有するシステムを図5Aないし図5Fに開示する。入力コントローラは、要求プロセッサに要求を送信し、データ・スイッチを経由してデータをスケジュールする。図6A及び6Bにおいて、ターゲット出力ポートへデータをスケジュールする要求が、当該出力ポートに送信されるデータを制御する要求プロセッサに送信される。参考文献においてスイッチを経由してデータをスケジュールする要求は、相似または類似している。データ・パケット・セグメントをK・N個のサブセグメントに分解するシステム実施形態、例えば上記第3の実施形態において、要求は、K・N個のパケット・サブセグメントをスイッチに挿入することができる1組の使用可能時間を指定する。データ・パケット・セグメントをN個のサブセグメントに分解するシステム実施形態、例えば上記第2の実施形態において、要求は、2組のN個の階段状スイッチに1組ずつ、合計で2組の使用可能時間を指定する。完全なデータ・パケット・セグメントで作動するシステム実施形態、例えば上記第1の実施形態において、要求は、データ・パケット・セグメントに1組ずつ、合計でK・N組の使用可能時間を指定する。ゆえに、スタック構成の階段状スイッチを通ってデータをスケジュールするための論理は、第3の実施形態が最も簡単で、第1の実施形態が最も複雑である。第1の実施形態のより複雑な論理はまた、図5Aないし図5Fに開示されている要求/応答スイッチと図6A及び6Bに開示されているスケジュールされていないスイッチを通過するトラヒック量が、第1の実施形態で最大に、第3の実施形態で最小になるように、より多くのデータを含む要求パケットを有する。
図1Aを参照すると、2つの型の多重レベル最小論理(MLML)ネットワークを用いた被制御通信相互接続構造として構成されたシステム100の一実施形態が略ブロック図で示されている。データパケットは、システム100に入り、入力ライン102を経由して出入力デバイス104へ、その後ライン106を経由して入力コントローラ108へ送られる。メッセージパケットの到着に応えて、入力コントローラ108は、スタック構成のデータ・スイッチ130及びオプションのスタック構成の補助データ・スイッチ134を通ってターゲット出力ポートへデータパケットを送信するための要求をサブミットすることがある。入力コントローラ108は、パケットのターゲットである出力コントローラ112へのデータフローを決定する要求プロセッサ114へ要求スイッチ111を通って要求パケットを送信することによって、要求をすることができる。一実施形態において、要求スイッチ111は、スタック構成の要求スイッチ110のメンバであることがある。
通信ネットワーク・システムにおけるデータフロー制御
要求パケットは比較的短いので、要求パケット全体をスイッチ・スタック内の単一スイッチを経由して効率的に送信することができる。複数の入力コントローラ108が要求パケット群を同一要求プロセッサ114に同時に送信することがあるので、要求プロセッサに対してデータ・ボルテックス型のMLMLスイッチを用いることにより、パフォーマンスを大いに向上させることができる。同時にスイッチから出ることができるパケットよりも多くのパケットを、選択されたパケット挿入時間で要求スイッチ114に挿入することができる。その結果、要求パケットは、出て行く前にデータ・ボルテックスの回りを循環することがある。
要求プロセッサ114は、要求入力コントローラ108へ応答パケットを戻す。例えば、要求プロセッサ114は、場合によってはスタック構成の応答スイッチ118の一部として、応答スイッチ119を通って、また場合によってはオプションの2次応答スイッチ123を通って、応答パケットを送信することができる。応答スイッチ123は、スタック構成の応答スイッチ122の一部であることもある。要求スイッチにおいて要求パケットが通る応答スイッチ・スタックの同一レベルLで応答スイッチを経由するように応答パケットをルーティングすることにより、性能が向上することがある。ルーティングは、要求パケットデータにおいて整数Lを指定することによって達成できる。
要求プロセッサが所与の時間に活動状態にすることができる未応答の要求の数は、制限されることがある。この制限は、スイッチ・スタック110において個々のスイッチ111に対するカウンタCを維持する入力コントローラ108によって行われることができる。カウンタCは、入力コントローラの内部に設けられることができる。カウンタCは、初期設定を0とし、レベルLで要求スイッチに送信された各要求パケットによりインクリメントされ、レベルLで応答スイッチを通って戻った各応答パケットによりデクリメントされることができる。カウンタCは、ライン116、120、124のバンド幅が超過しないように所定の閾値Tの超過を防止するように管理されることができる。要求の管理は、レベルL応答スイッチが階段状相互接続コンフィギュレーションに存在することを可能にする。
一実施形態において、入力コントローラは、所与の応答パケットを受信するように指定されたビン(bin)を指定する。適切なビンへの転送は、補助スイッチ・スタック122における補助スイッチ123によって処理される。カウンタを用いてフローを制御する有効な代替案であるが、応答を待っていないビンが利用可能である場合に限り、要求を送信するために入力コントローラを制約することができる。ターゲット・ビンのコピーを応答パケットのペイロードに含めることができる。応答パケットにはエラー訂正ビットを含めることもでき、入力コントローラはエラーを検出及び訂正する能力を有する。物理ターゲット入力コントローラ及び入力コントローラ・ビンが、エラー訂正された応答パケットにおけるターゲット入力コントローラ及びビンのコピーと一致しなければ、入力コントローラは、要求の作り変えが保証されるかどうか決定することがある。応答パケット中のデータが訂正不可能なエラーを有することが決定されたら、入力コントローラは、要求の作り変えが保証されるかどうか決定することがある。要求プロセッサはデータ・スイッチを通ってパケットをスケジュールするが、応答パケットがミスルーティングされるかまたは訂正不可能であるために、対応する入力コントローラがパケットを送信しないならば、別のパケットをミスルーティングしない条件で、使用されていないデータ・スイッチに対して、スケジュールされたタイムスロットにギャップが生じることがある。
いくつかの実施形態は、要求パケットの送信に応えて応答パケットが到着するのを入力コントローラが待つ時間の量に制限TLIMを強いることがある。指定された制限時間の終了後、入力コントローラは適切なカウンタを1ずつ減少させ、適切なビンを空にする。要求パケットが送信される時を示す要求パケットにタイムスタンプTSが付加されることがある。要求プロセッサは、時間TS+TLIMの後に入力コントローラに到達するであろう応答パケットを送信しない。計算された到達時間が制限を超えたら、要求プロセッサは要求パケットを破棄する。いくつかの実施形態において、応答スイッチAS1 119及びAS2 123から応答パケットを送信するのに費やされる時間は決定性でかつ固定されており、応答パケットが入力コントローラに到達することになる時間を要求プロセッサが計算することと、要求プロセッサが制限時間をきちんと守らせることとを可能にする。第1の実施形態において、TLIMは全ての要求パケットに対して同一である。第2の実施形態において、TLIMはメッセージの優先順位に依存する。
いくつかの実施形態において、入力コントローラは、パケット全体を、データ・スイッチを通過するようにスケジュールする。パケットは、データ・スイッチが常に同じ長さのセグメントを送信するようにセグメント化される。パケットの各セグメントは、全てのサブセグメントが複数のデータ・スイッチを通って同時に送信されるようなサブセグメントに更に分解されることがある。エラー訂正のために、サブセグメントの長さに等しい長さの1若しくは複数のエラー訂正パケットがデータ・スイッチを通って送信されることもある。それゆえに、セグメント及び対応するエラー訂正データパケットが、データ・スイッチ・スタック130内のデータ・スイッチ131と、その後にデータ・スイッチ・スタック134中のオプションの補助データ・スイッチ135とを通過して、同時に送信される(例えば、エラー訂正データパケットは、ペイロードp が、サブセグメントs とは異なるサブセグメントs のペイロードp 中のデータに基づく少なくとも1つのエラー訂正ビットを含むものとしてもよい)。一実施形態において、スタック内のデータ・スイッチの数NSは、サブセグメントの数と対応するエラー訂正パケットの数の和に等しい。代わりの実施形態において、複数のセグメントがデータ・スイッチ・スタック134を同時に通過するように、スタック内のデータ・スイッチの数をNSより多くすることができる。
1つの例においては、あるパケット・セグメントに対するサブセグメント及びチェック・ビット・パケットの数はNに等しく、スタック130におけるデータ・スイッチの数はW・Nに等しい。例示の条件におけるデータ・スケジューリングを管理するための3つの実施形態が開示されている。第1の実施形態において、W・N個のデータ・スイッチは、各々がN個のスイッチを含む相互に排他的なW組に分けられる。入力コントローラは、パケットをデータ・スイッチへ送り込むための使用可能時間を、W組のスイッチの各々に対して1組の時間、合計でW組の時間を指定するような要求パケットを送信する。複数組の時間を指定することにより、十分な出力バッファ・スペースが確保され、また、データライン132及び136を通る経路が要求プロセッサにより保証される。ライン132及び136全体による妥当なバンド幅とW組のラインの各々においてデータラインによる十分なバンド幅とが利用可能である限り、リソースはデータを処理するのに十分である。
第2の実施形態において、入力コントローラがW組のスイッチの1つを選択し、その後、選択された組のスイッチを通ってパケットを送信するように要求する。要求が拒まれたら、入力コントローラは別の1組のスイッチを通って送信するように要求する。要求に対して1組を選ぶためのアルゴリズムは、ランダム処理、ラウンドロビン方式または他の方式に基づくことができる。
第3の実施形態は、Wの入力コントローラ群と、各群にそれぞれ割り当てられたN個のスイッチのサブスタックとを有する。スイッチを通るデータフローを管理するために他の実施形態が用いられることもある。
スイッチ出力インタフェース・コンフィギュレーション
スタック構成のスイッチ110の単一MLMLデータ・ボルテックス・スイッチ111を通って要求パケット全部をタイミングよく送信することができるように、要求パケットは比較的短い。図2を参照すると、データ・ボルテックス・スイッチからの2つの出力バッファレベルが略ブロック図に示されている。出力バッファは、2つのレベルの「水漏れするバケツ(leaky bucket)」を表している。1つのバージョンには、オンチップ出力バッファ210と、より大きなオフチップ出力バッファ220とが組み込まれている。これらのバッファを用いてトラフィック量におけるバーストを処理する。第1の実施形態において、バッファは、先入れ先出し(FIFO)方式で作動する。第2の実施形態において、バッファの一方または両方が、状況次第で優先順位の高いメッセージAがAの前にバッファに入る優先順位の低いメッセージBに先んじてバッファから出ることを可能にする戦略的アルゴリズムを用いる。
データ・セグメントは、一般的に要求パケットに比べて長い。よって、データ・セグメントをサブセグメント群に分解することにより、性能が向上することがある。例えば、各セグメントをN個のサブセグメントに分解することができる。要求プロセッサにより決定されたセグメント送信時間に、データ及び対応するエラー訂正ビットの両方とそれにプラスして追加のエラー訂正パケットとを含むN個のサブセグメントが、データ・スイッチ・スタック130を経由し、次に補助データ・スイッチ・スタック134を経由して同時に送信される。図3には、1つのMLML階段状スイッチ131及び複数のクロスバ・スイッチ314を含む第1のチップ310が示されているが、これらのスイッチは共同してオプションの第2のスイッチ135を構成する。例示のコンフィギュレーションはまた、階段状スイッチがスイッチAS1 119であり、第2のスイッチがスイッチAS2 123であるような図1Aに示される応答スイッチにおいて用いられることもある。バッファは応答スイッチになくてもよい。スイッチを通るデータフローは制御されるので、スイッチに負荷がかかり過ぎることは決してなく、正しくルーティングされたデータは、チップからの直接の経路において保証される。それゆえに、バッファを排除することができる。典型的な実施形態において、バッファは望まれていない。というのも、要求プロセッサが、応答パケットが応答スイッチを通過し、要求を発して結果的に中間バッファリングを回避するための時間の決定的性質を活用するためである。
図3に示すコンフィギュレーションは、階段状スイッチをスイッチDS1 131として含みかつ第2のスイッチがスイッチDS2 135である配列で図1Aに示されるデータ・スイッチに設けられることもある。スイッチを通るデータフローは制御されるので、バッファはデータ・スイッチにもなくてもよい。データ・スイッチに負荷がかかり過ぎることは決してなく、正しくルーティングされたデータは、チップの直接の経路を保証される。長さが出口段の出口カラムに依存するFIFOを用いる実施形態において、セグメントのエラーを訂正して再構築することができるオフチップ・デバイスに全てのサブセグメントが同時に到着することを容易にするためにバッファの排除は望ましい。図1A及び図3に示したコンフィギュレーションにおいて、特定のセグメントの全サブセグメントは、スイッチ・スタック134及び対応するFIFOから同時に出ることが保証されている。バッファの排除は、さもなければ第1のサブセグメントのミスルート(misroute)に続いて生じていたかもしれない第2のサブセグメントのミスルートの発生の回避を容易にする。さらに、サブセグメントのミスルートは、別のサブセグメントがスイッチ・スタック134から出る時間に影響することはない。
図1Aに示されているシステムにおいて、要求プロセッサ114は、過去にスケジュールされたパケットのみならず現在スケジュールされた他のパケットに関する情報に基づいてパケットのもっと後のスケジューリングを決定する。出力バッファ中のパケットは種々の時間に到着しており、出力バッファ中のパケットPを破棄する決定は、Pの到着後にシステム100に到着するパケットに関する情報に部分的に基づく。
図1Bを参照すると、略ブロック図は、クラスタ・コンピューティング及びメインフレーム・コンピューティングを含む幾つかの用途において有用であるシステム150を示している。図1Aに示したシステム100とは違って、システム150はパケットを破棄しない。
システム150には、構造及び機能が同じ型であり得るかまたは異なり得る複数のデバイス170が含まれる。デバイス170の機能は、計算、データの記憶及び検索、または計算とデータの記憶及び検索との組合せであることがある。デバイス170は、システム150の外部からライン172を経由してデータを受信し、ライン174を経由してデータをシステム外へ送信する。これらのデバイスは、相互接続ライン及びスイッチU160、S180、AS190を経由して相互に通信し合う。いくつかの実施形態において、スイッチUはMLMLデータ・ボルテックスであることもある。デバイス170は、許可を求めることなくデータをスイッチUに挿入することができる。複数のデバイスが、スイッチUを通って同一ターゲット・デバイスTへデータを送信することがあるので、ターゲット・デバイスTへのデータのボリュームは、ライン群162を経由するデバイスTへのバンド幅を超えることがある。よって、バッファ210は、データ・ボルテックス・スイッチの出力を受信し、入力バッファ220をコンピューティング/データ記憶装置に組み込むように配列されることができる。
スタック構成のスイッチ内のスイッチ群S180を通過するパケットは、例えば図6A及び6Bにおいて説明されている技術を用いて、過負荷を防止するためにスケジュールまたは制御されるので、階段型のMLMLスイッチの形でスイッチ群Sを用いるのが便利である。複数のクロスバ・スイッチを用いてスイッチ群AS180を構成することができる。サブセグメンテーションを利用して、データのスイッチ通過を可能にすることができる。スイッチ群Sと補助スイッチ群AS間のインタフェースを図3に示す。
1組のセグメントまたはサブセグメントが、スケジュールされた階段状相互接続構造内のスイッチ・スタックに入るか、またはスケジュールされたまたは制御された階段状構造内のスイッチ・スタックであってクロスバ・スイッチの一群が後に続くスイッチ・スタックに入ると、その1組のセグメント群の第1ビット群は同時にスイッチから出ることになる。セグメント群の1つのサブセグメントがヘッダにビットエラーを有するのであれば、そのサブセグメントはターゲット出力ポートでスイッチから出ることにはならない。その代わり、このサブセグメントは、ヘッダにより指定された誤った出力ポートから出ることになるか、または任意の出力ポートから出ることができずに階段状スイッチの最下段の末端部で破棄されることになるかのいずれかである。ミスルーティングされたサブセグメントは、同一スイッチにおいて他のサブセグメントのミスルートを発生させることがある。ミスルーティングされたサブセグメントが階段状スイッチを経由してメッセージの更なるミスルートを発生させることはないことに留意されたい。さらに、パケット・セグメントがスタック内のスイッチ上でバッファされなければ、ミスルーティングされたサブセグメントは任意の他のサブセグメントのミスルートを発生させることはない。ミスルーティングされたサブセグメントは、任意の後から挿入されるサブセグメントの終了時間(exit time)を変更することはできない。
スケジュールされた階段状構造を実現するシステムとは対照的に、スケジュールされていないデータ・ボルテックス・スイッチにおいてミスルーティングされたセグメントは、スイッチに挿入される更なるセグメントの終了時間を変更することができる。従って、パケット・セグメントは、サブセグメントに分解されることなく、単一のデータ・ボルテックス・スイッチを通って、またはスタック構成のスケジュールされていないデータ・ボルテックス・スイッチを通って、最も効率的に送信される。
本明細書中で開示したシステム及び作動方法は、セグメントのヘッダまたはペイロードのいずれかにおけるビットエラーの効率的な訂正を可能にする。例示の方法は、シングルビットエラー訂正及び2ビットエラー検出を確実にする。例の変形については、図面の考察において説明されている。1つの例において、Dはデータキャリー・サブセグメント・ペイロードのデータビットの数を指定し、Tはサブセグメントのターゲット・アドレス内のビットの数を指定する。ターゲット・アドレスには、階段状スイッチを通ってサブセグメントをルーティングするために用いられるビットと、階段状スイッチに続いて、もし存在するのであればクロスバ・スイッチを通ってサブセグメントをルーティングするために用いられるビットとが含まれる。この例では、エラー訂正のために追加ビットを用いることができ、追加ビットは各セグメントに付加される。結果として生じる長いセグメントは、N+1個のサブセグメントに分解される。図7A及び図7Bを参照すると、サブセグメントのうちN個がデータビットを運び、エラー訂正に用いられるビットも運ぶ。サブセグメントのうちの1つはエラー訂正ビットのみを運ぶ。スイッチへの挿入の前に、サブセグメントの各々は長さMを有し、このときM=1+T+T+D+1である。データキャリー型サブセグメントには幾つかのフィールドが含まれる。第1のフィールドは長さT+1のヘッダであるが、これには、いくつかの実施形態においてサブセグメントの存在を示すために常に1に設定されるプレゼンスまたは存在ビット702が含まれる。第1のフィールドには、ターゲット・アドレスを符号化するサブフィールドTA704も含まれる。第2のフィールドは、長さD+Tのペイロードであり、サブセグメント・ターゲット・アドレスのコピーを含むサブフィールドTC708と、サブセグメント・データ含むサブフィールドSUBSEG−DATA706とが含まれている。第3のフィールドは、1ビットチェックまたは存在ビット及びD+Tペイロードビットに対するパリティを指定するパリティビット714である。パリティビットを、存在ビットとD+Tペイロードビットの合計を2で割った余り(modulus 2)として定義することができる。N個のデータキャリー型サブセグメント(サブセグメント0、1、・・・、N−1)は、N行、M列のN×M行列Qに配列される。行列Qの項目Q(i,j)は、サブセグメントjのi番目のビットを指定する。非データキャリー型サブセグメントNのヘッダは、他のサブセグメント・ヘッダと同じである。サブセグメントNのi番目のビットがヘッダビットでない場合、[Q(i,0)+Q(i,1)+...+Q(i,N‐1)]の和を2で割った余り(mod 2)であると定義されるのがパリティビットである。サブセグメントNの最終ビットは、N個のデータキャリー型サブセグメントのN・(T+D+1)個のペイロード及び存在ビットの合計を2で割った余りである。サブセグメントNをQに加えると(N+1)×M行列Rが得られるが、これはスイッチング・システムを通過したセグメント・データを表している。
各サブセグメントがスイッチを通過するとき、先行のターゲット・アドレス・ビットは破棄され、結果として生じるサブセグメントは、長さT+D+2を有する。スイッチ通過後、N個のデータキャリー型サブセグメントは、長さを減らされ、例えば1に設定されたプレゼンスまたは存在ビットのみを有するシングル・ビット・ヘッダを含む。ヘッダのT個のターゲット・アドレス・ビットは、スイッチ通過中に取り除かれる。サブセグメントの第2フィールドは、長さD+Tのペイロードであり、サブセグメント・データ・ビットと、サブセグメントのターゲット・アドレスのコピーとを含む。第3フィールドは、ペイロードビット及び存在ビットを含むD+T+1ビットに対する1ビットのチェックビットまたはパリティビットである。非データキャリー型サブセグメントには、常に1に設定された単一の存在ビットが含まれ、その後にT+D+1パリティビットが続く。非データキャリー型サブセグメントを加えたN個のデータキャリー型サブセグメントは、図7Bに示すような(N+1)×(M−T)行列Vを形成する。N+1個のサブセグメントがN+1個のスイッチを通過した後、任意の生じ得るシングルビットエラーを検出及び訂正しかつ任意の2ビットエラーを検出する処理がデータに対して実行される。ターゲット・アドレス内のエラーはミスルーティングされたサブセグメントをもたらすことになるので、スイッチのうちの1つを通ってサブセグメントを送信するために用いられるターゲット・アドレス内のシングルビットエラーは、伝送されたサブセグメント・データにおいて複数のビットエラーとして検出されることがある。しかしながら、送信されそこなったデータビットの全てを正しいビットに置き換えることによって、そのようなシングルビットエラーを効率的に検出しかつ訂正することができる。
ある実施形態において、エラー検出及び訂正のための処理は複数の動作を有する。第1に、エラー検出のために複数の型の合計計算を実行することができる。第1の型の合計計算は、行列Vにおいて行エラーを検出する。N個の個々のデータキャリー型サブセグメント・ペイロードの各々に対して、全てのビットが加算されて2で割った余りが求められる。具体例においては、各サブセグメントKのT+Dペイロードビットと、プレゼンス・ビットと、チェックビットとが加算され、即ち、各サブセグメントに対してT+D+2ビットの加算が行われる。その結果即ちこれを2で割った余りが1であれば、サブセグメントKにおけるサブセグメント・エラー、即ち行列Vにおける行エラーの検出を指定する。結果が0であれば、サブセグメントKにおいてサブセグメント行エラーが検出されないことを示す。第2の型の合計計算は、行列Vにおいて列エラーを検出する。行列Vにおいて各列でビットが合計される。例えば、(T+1)<i≦(D+2T+2)のとき、行列Qの列iのビットの和を2で割った余りが計算され、行列RのN番目の行のi番目のビットが形成される。結果が1であれば、行列Vのi番目の列における列エラーの検出を指定する。結果が0であれば、行列Vのi番目の列における検出された列エラーを指定しない。第3の型の合計計算は、行列Vにおいて広域エラー(global error)を検出する。サブセグメント0からサブセグメント(N−1)までの行列VにおけるN・(T+D+1)非パリティビットに、サブセグメントNの最終ビットを足した合計を2で割った余りが計算される。結果1は、行列Vにおけるペイロード・エラーを示し、行列Vにおける広域エラーとも呼ばれる。0は広域エラーの検出を指定しない。
第2に、行列Vのデータキャリー・サブセグメントにおけるターゲット・アドレスのN個のコピーは、それらのうちの1つにおいて生じ得るビットエラーをチェックされる。ターゲット・アドレス・コピーにおけるシングルビットエラーは、4つの判定基準条件によって示される。第1の判定基準は、単一のサブセグメント・ペイロードに対するデータチェックビットによる、特に行列Vの行チェックビットによる、エラー表示である。第2の判定基準は、サブセグメントNにおける単一のデータチェックビットによるエラー表示であって、特に、コピーされたターゲット・アドレスを含むサブセグメントのセクションにおける行列Vの列チェックビットによるものである。第3の判定基準は、サブセグメント・ペイロードにおけるエラーを指定するサブセグメントNのM番目のビット、広域チェックビットによるエラー表示である。第4の判定基準は、行チェックビットエラー及び列チェックビットエラーの両方を用いることにより示されるサブセグメントのターゲット・アドレスのコピーにおけるシングルビットエラーの訂正が、サブセグメントのターゲット・アドレスのコピーを受信データポートのアドレスに一致させることである。
第3に、ターゲット・アドレスの各サブセグメントのコピーは、受信データポートとの一致をチェックされる。プレゼンス・ビットは、データが到達しない場合とデータが入力ポート0に向けられる場合とを区別する。Vのいくつかの行に対してプレゼンス・ビットが0であれば、その行に対応するサブセグメントはミスルーティングされていた。正確に1つのサブセグメントに対するT個のヘッダビットとポートIDが一致しない場合、サブセグメントはミスルーティングされていた。いずれにしても、単一のミスルーティングされたサブセグメント中のデータは、サブセグメントNからのチェックビットを用いることによってデータを正しいデータに置き換えることによって訂正されることができる。データ置換完了時には、他のエラーが存在しなければ、行ビット、列ビット、広域チェックビットを用いる処理は、エラーが存在しないことを示す。
第4に、N個のサブセグメント・ペイロードの各々は、シングルビットエラーをチェックされる。シングルビットエラーの存在は、3つの基準によって示される。第1の基準は、列の合計が行列Vにおける単一の列ビットエラーを検出することである。第2の基準においては、行の合計が行列Vにおける単一の行ビットエラーを検出する。そして第3の基準においては、広域の合計が行列Vにおける広域エラーを検出する。単一のエラーが検出される場合、エラーは、行列Vに、エラーを有する行とエラーを有する列とによって指定される独自の場所に配置される。シングルビットエラーは、訂正可能である。
第5に、唯一の行、列、または広域エラーが生じる状態では、そのような状態は、チェックビットのうちの1つにおけるシングルビットエラーにより生じる。エラーは無視される。
第6に、データが誤って2若しくはそれ以上のビットを含む状態が生じることがある。チェックビットと、サブセグメントアドレスのコピーとの検査が、結果的に、最初の5つの動作、例えば、行列Vにおける2つの行エラーの検出、行列Vにおける2つの列エラーの検出、行列Vにおける広域エラーの検出において記述されているものとは異なるエラー状態を生じさせるとき、複数ビットエラーが検出される。2ビットエラーは、いつでも検出可能である。エラー状態が示されなければ、データが訂正されているか、データが間違って2ビット以上を含み、一般的に検出可能ではないエラー状態であるかのいずれかである。
実施形態では、データキャリー・サブセグメントにおけるエラー訂正ビットはただ1つである。他のシステムは、追加のエラー訂正ビットを含むサブセグメントを有して構成されることがある。さらに、具体例において、1つのサブセグメントのみが、複数のサブセグメントからのデータビットによって決まるエラー訂正ビットを有する。他の実施形態は、複数のデータ・サブセグメントがミスルーティングされたとき、データの正しい再構築を可能にする複数のそのようなサブセグメントを有することがある。種々の実施形態において、サブセグメントは、サブセグメントsのペイロードp及びデータに基づく少なくとも1のエラー訂正ビットを含むことがあり、サブセグメントsとは異なるサブセグメントsのペイロードp中のデータに基づく少なくとも1のエラー訂正ビットを含む。
図4Aは、特許文献1で教示されている多重レベル最小論理(MLML)ネットワークを例証する4シリンダ、8段のネットワークを示す略絵図である。連続メッセージの形のデータが、図4Aの最上部にシリンダ3として示されるような、最も外側のシリンダに配置されたネットワークへの入力端末でネットワークに入り、メッセージのヘッダにおいて指定されるターゲット出力ポートに向かってノードからノードへ移動する。データは常に、1つの期間において次のアングルでノードへ移動する。メッセージは、図4Aの下位レベルに示される内側のシリンダに向かって移動し、そのような移動によってメッセージはターゲット・ポートに近付く。
ネットワークは、2種類の伝送経路を有する。1つはデータ用、もう1つは制御情報用である。実施形態において、ネットワーク中の全てのノードが同じデザインであることがある。
他の実施形態において、ノードは、相互に異なるデザイン及び特性を有することがある。ノードは、同一シリンダ上のノードから、またはノードのシリンダから外に向かうシリンダから、データを受け取り、同一シリンダ上のノードへ、またはノードのシリンダから内に向かうシリンダへ、データを送信する。メッセージは、所与のレベルでのメッセージの第1ビットがシリンダの周囲を一様に移動するという意味で中心軸の回りを一様な回転で移動する。メッセージビットが、あるシリンダからより内側のシリンダへ移動するとき、そのメッセージビットは内側のシリンダでメッセージと正確に同期する。データは、用途または実施形態に応じて、相互接続またはネットワークに1若しくは複数の列またはアングルで入ることができ、1若しくは複数の列またはアングルで出ることができる。
ノードは、より外側に位置するシリンダに制御情報を送信し、より内側に位置するシリンダから制御情報を受信する。制御情報は、同じアングルまたは列でノードに伝送される。制御情報はまた、最も外側のシリンダ上のノードから入力ポートへ伝送され、入力ポートからのメッセージを受信することができる最も外側のシリンダ上のノードがメッセージを受け取ることができないときを入力ポートに知らせる。同様に、出力ポートは、出力ポートがデータを受け取ることができないときはいつでも、制御情報を最も内側のシリンダ上のノードへ送信することができる。一般的に、任意のシリンダ上のノードは、制御信号送信ノードがメッセージを受信することができないことをノードまたは入力ポートに知らせるために制御信号を送信する。ノードは、より内側に位置するシリンダ上のノードまたは出力ポートから制御信号を受信する。制御信号は、受信者が受信者ノードのシリンダからそれより内側のシリンダ上の第3のノードにメッセージを送信することができるかどうかを制御信号の受信者に知らせる。
図4Aに示すネットワークにおいて、ノードAが同一シリンダ上のノードBへメッセージを送信したら、ノードBは外側のシリンダ上のノードJを経由してデータを受信し、その後、ノードAはノードJへ制御情報を独立して送信する。ノードBは、ノードA及びJを経由してメッセージを受信するが、ノードAとJの間の制御情報交換には関与しない。制御信号及びデータルーティング・トポロジ及びメッセージルーティング方式については詳細に後述する。
特許文献1では、位置に関して「シリンダ」及び「アングル」なる語が用いられている。これらの語は、特許文献2及び本明細書中で用いられている「レベル」及び「列」とそれぞれ類似している。データは1つのシリンダから次のシリンダへ水平または斜方向に移動し、制御情報は同じアングルでノードに外向き送信される。
図4Bは、階段状相互接続構造を示す概略図である。階段状相互接続構造には1つの入力列しかなく、右から左へ戻る接続もFIFOもない。この構造は、しかしながら、複数の出力列を有することがある。そのような相互接続のいくつかの実施形態の特性は、同一サイクル中にどの出力行にも複数のOUTLIMメッセージが送信されないときに各メッセージが入力ポートから出力ポートへのワームホール接続経路を確立するような整数OUTLIMの存在である。
階段状相互接続の別の実施形態において、メッセージのマルチキャスティングは、単一のペイロードに対する複数ヘッダの使用によってサポートされる。1つの時間サイクル中に単一の入力ポートからのペイロードが複数の出力ポートに送信されるとき、マルチキャスティングが発生する。各ヘッダはペイロードに対するターゲット・アドレスを指定し、アドレスは任意の出力ポートである場合がある。出力ポートは同一時間サイクル中に2以上の入力ポートからメッセージを受信できないという規則は尚も認められる。第1のヘッダは上記したように処理され、制御論理は、後に続くペイロードのフローを導く内部ラッチを設定する。第1のヘッダの直後に、第2のヘッダは、そのレベルに対するルートを決定するアドレスビットが異なるセルに到達するまで第1のヘッダの経路を辿る。ここで第2のヘッダは第1のヘッダとは異なる方向にルーティングされる。セル中の追加ラッチは1を表し、セルから流出する二分岐フローを制御する。別の言い方をすれば、第2のヘッダは、アドレスが異なる方向を示し、後に続くトラフィックがセルから両方向に出るようにセルが接続を行うまで、第1のヘッダの後に続く。同様に、第3のヘッダは、レベルを決定するヘッダビットが異なる方向に分岐を示すまで、最初の2つによって確立された経路を辿る。ヘッダがセルを通って左から右へ動くとき、ヘッダは常に、上からメッセージを受信することができないことを示すビジー信号を上向きに送信する。
第1のヘッダ、第2のヘッダ、及び任意の他のヘッダに対しては、常にこの規則に従う。別の言い方をすれば、セルがビジー信号を上向きに送信するとき、制御信号は全てのヘッダが処理されるまで維持され、第2のヘッダが、第1のヘッダが確立した経路を使用しないようにする。許容されるヘッダの数はタイミング信号の関数であり、タイミング信号はチップの外側にあることができる。階段状相互接続のマルチキャスティング実施形態は、外部タイミング信号の制御下で異なる時間に1、2、3、またはそれ以上のヘッダを有するメッセージを収容することができる。マルチキャストされないメッセージは、第2及び第3のヘッダの代わりに空のヘッダ(例えば全て0)が続くような単一のヘッダのみを有する。ひとたびあるサイクルにおいて全てのヘッダが処理されると、上記したように、ペイロードは最終ヘッダの直後に続く。他の実施形態において、メッセージのヘッダに特殊なマルチキャストフラグを含め、次々に上記ターゲット出力に対応する1組の宛先へメッセージのコピーを送信するターゲット出力へメッセージを送信することによって、マルチキャスティングが達成される。
ここでは種々の実施形態について開示してきたが、これらの実施形態は例示として理解されるべきものであり、特許請求の範囲を限定するものではない。記載されている実施形態に関して多くの変形、改変、付加及び改良が可能である。例えば、当業者は、本明細書中に開示されている構造及び方法を提供するのに必要なステップを容易に実現するであろうし、処理パラメータ、材料、及び次元が与えられているのは例示のためだけであることを理解するであろう。修正のみならず、所望の構造を得るために、特許請求の範囲内で、パラメータ、材料、構成要素、及び次元を変えることができる。特許請求の範囲を逸脱しないかぎり、本明細書中に開示されている実施形態の変形及び改変をなすこともできる。
複数のMLMLデータ・ボルテックス・ネットワークと、複数のMLML階段状相互接続との両方を含む通信システムを示す略ブロック図である。 複数のMLMLデータ・ボルテックス・ネットワークと、複数のMLML階段状相互接続との両方を有するコンフィギュレーションにおけるクラスタ・コンピューティング/記憶領域ネットワークのためのシステムを示す略ブロック図である。 MLMLデータ・ボルテックス・スイッチの出力セクションを示す略ブロック図である。 補助クロスバ・スイッチを含むMLML階段状スイッチの出力部分を示す略ブロック図である。 多重レベル最小論理(MLML)ネットワークを例証する4シリンダ、8段のネットワークを示す略絵図である。 階段状相互接続構造を示す概略図である。 インテリジェント制御による輻輳なしのスイッチング・システムの実施形態及び特徴を示す略ブロック図である。 インテリジェント制御による輻輳なしのスイッチング・システムの実施形態及び特徴を示す略ブロック図である。 インテリジェント制御による輻輳なしのスイッチング・システムの実施形態及び特徴を示す略ブロック図である。 インテリジェント制御による輻輳なしのスイッチング・システムの実施形態及び特徴を示す略ブロック図である。 インテリジェント制御による輻輳なしのスイッチング・システムの実施形態及び特徴を示す略ブロック図である。 インテリジェント制御による輻輳なしのスイッチング・システムの実施形態及び特徴を示す略ブロック図である。 スケジュールされたネットワーク及びスケジュールされていないネットワークの両方に接続された複数のコンピューティング/データ記憶デバイスを示す略ブロック図である。 図6Aに示したシステムにスケジュールされていないスイッチに対応する制御ラインを加えたシステムを示す略ブロック図である。 行列Qを形成し、その後非データキャリー型サブセグメントを付けて行列Rを形成するように配列されたデータキャリー型サブセグメントを示す略ブロック図である。 スイッチを通過した後のサブセグメント・データを含む行列Vを示す略ブロック図である。

Claims (7)

  1. 相互接続構造であって、
    複数のデータ・スイッチと、
    ヘッダH及びペイロードPを含むデータ・パケットのデータ・セグメントをサブセグメントの集合Cに配列し、該サブセグメントを前記複数のデータ・スイッチを通して同時に送信し得るように構成されたロジック手段とを含み、
    前記複数のデータ・スイッチの各データ・スイッチは、複数の入力ポート及び少なくとも1つの出力ポートを含み、
    個々のサブセグメントsが、ターゲット出力ポートに関する情報を含むヘッダhと、前記ヘッダH及び前記ペイロードPの関数であるペイロードpとを含み、但し、iは0からC−1までの値であり、
    前記ペイロードpが、前記サブセグメントsとは異なるサブセグメントsのペイロードp中のデータに基づく少なくとも1つのエラー訂正ビットを更に含み、
    前記ロジック手段がデータ・パケットと前記エラー訂正ビットを含み対応するエラー訂正データパケットとを前記複数のデータ・スイッチを通して同時に送信することを特徴とする相互接続構造。
  2. 前記ロジック手段が、選択された複数の入力ポートから前記サブセグメントsの前記集合Cを少なくとも1つのターゲット出力ポートへ送信しかつ前記ヘッダhによって指定された前記ターゲット出力ポートで受信された前記ペイロードpから前記ペイロードPを再構築し得るように構成され、
    前記ロジック手段が、更に、サブセグメント・エラー状態において前記ペイロードPを再構築し得るように構成されていることを特徴とする請求項1に記載の相互接続構造。
  3. 前記ロジック手段が、サブセグメントsのペイロードpにエラーが生じた場合には前記ペイロードPを再構築し得るように構成され、
    前記ロジック手段が、サブセグメントsのミスルートが発生した場合には前記ペイロードPを再構築し得るように構成され、
    前記ロジック手段が、サブセグメントs1のヘッダh1内のエラーが原因でサブセグメントs1のミスルートが発生した場合には、前記ペイロードPを再構築し得るように構成され、
    前記ロジック手段が、サブセグメントs1とは異なるサブセグメントs2のヘッダh2内のエラーが原因でサブセグメントs1のミスルートが発生した場合には、前記ペイロードPを再構築し得るように構成され、
    前記ロジック手段が、ハードウェア・エラーが原因でサブセグメントs1のミスルートが発生した場合には前記ペイロードPを再構築し得るように構成されていることを特徴とする請求項1に記載の相互接続構造。
  4. 前記サブセグメントの前記集合Cが、サブセグメントs1及びs2を含み、
    前記ロジック手段が、前記複数のデータ・スイッチ内の異なるデータ・スイッチを通して前記サブセグメントs1及びs2を送信し得るように構成されていることを特徴とする請求項1に記載の相互接続構造。
  5. 前記データ・セグメントが、データ・パケット及び複数のサブセグメントに分解されたデータ・パケットの中から選択されることを特徴とする請求項1に記載の相互接続構造。
  6. 相互接続構造であって、
    複数の入力ポート及び少なくとも1つの出力ポートを含むデータ・スイッチと、
    ヘッダH及びペイロードPを含むデータ・セグメントをサブセグメントの集合Cに配列し、かつ前記サブセグメントを前記データ・スイッチを通して同時に送信し得るように構成されたロジック手段とを含み、
    個々のサブセグメントsiが、ターゲット出力ポートに関する情報を含むヘッダhと、前記ヘッダH及び前記ペイロードPの関数であるペイロードpとを含み、但し、iは0からC−1までの値であり、
    前記ロジック手段が、サブセグメントsのミスルートが発生した場合には前記ペイロードPを再構築し得るように構成され、
    前記ペイロードpが、サブセグメントsとは異なるサブセグメントsのペイロードp中のデータに基づく少なくとも1つのエラー訂正ビットを更に含むことを特徴とする相互接続構造。
  7. 相互接続構造であって、
    複数の入力ポート及び少なくとも複数の出力ポートを含むデータ・スイッチと、
    ヘッダH及びペイロードPを含むデータ・セグメントをサブセグメントの集合Cに配列し得るように構成されたロジック手段とを含み、
    前記集合Cの中のサブセグメントsは、ヘッダーとペイロードとを有し、該ヘッダーはターゲット出力ポート並びにヘッダーH及びペイロードPの関数であるペイロードについての情報を含み、
    前記ロジック手段が、更に、集合Cの中の前記サブセグメントを前記相互接続構造の複数の入力ポートを通してターゲット出力ポートに同時に送信し得るように構成されており、
    前記ロジック手段が、集合Cの前記ターゲット出力ポートで受信したデータからペイロードPを再構築し、受信したセグメントのペイロードにエラーがある状態でペイロードPを再構築し、集合Cのセグメントの1つがミスルートされた状態でペイロードPを再構築し得るように構成されることを特徴とする相互接続構造。
JP2006538334A 2003-10-29 2004-10-27 エラー訂正を利用した高度並列スイッチング・システム Expired - Fee Related JP4679522B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US51593703P 2003-10-29 2003-10-29
PCT/US2004/036069 WO2005043328A2 (en) 2003-10-29 2004-10-27 Highly parallel switching systems utilizing error correction

Publications (2)

Publication Number Publication Date
JP2007528148A JP2007528148A (ja) 2007-10-04
JP4679522B2 true JP4679522B2 (ja) 2011-04-27

Family

ID=34549465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006538334A Expired - Fee Related JP4679522B2 (ja) 2003-10-29 2004-10-27 エラー訂正を利用した高度並列スイッチング・システム

Country Status (7)

Country Link
US (1) US7397799B2 (ja)
EP (1) EP1687686A4 (ja)
JP (1) JP4679522B2 (ja)
KR (1) KR20070007769A (ja)
CN (1) CN101416446A (ja)
CA (1) CA2544319A1 (ja)
WO (1) WO2005043328A2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7918730B2 (en) * 2002-06-27 2011-04-05 Igt Trajectory-based 3-D games of chance for video gaming machines
KR20070007769A (ko) * 2003-10-29 2007-01-16 인터랙틱 홀딩스 엘엘시 에러 정정을 이용하는 높은 병렬 스위칭 시스템
EP1836503A4 (en) * 2004-12-20 2009-09-23 Interactic Holdings Llc CONTROLLED CONTROLLED INTERCONNECTION COMPRISING OPTICAL AND WIRELESS APPLICATIONS
US20070097970A1 (en) * 2005-11-01 2007-05-03 Georgios Margaritis Packet retransmitter
US7496551B1 (en) * 2006-03-28 2009-02-24 Emc Corporation Methods and apparatus associated with advisory generation
EP2092436A4 (en) 2006-10-26 2010-03-24 Coke S Reed NETWORK INTERFACE CARD FOR USE IN PARALLEL DATA PROCESSING SYSTEMS
JP5573491B2 (ja) * 2010-08-23 2014-08-20 日本電気株式会社 データ転送システム、スイッチ及びデータ転送方法プロセッサ間ネットワーク
IT1403031B1 (it) * 2010-11-19 2013-09-27 Eurotech S P A Apparecchiatura di rete unificata per sistemi di supercalcolo scalabili
US9357275B2 (en) * 2011-09-06 2016-05-31 Qualcomm Incorporated Network streaming of coded video data
US9049233B2 (en) 2012-10-05 2015-06-02 Cisco Technology, Inc. MPLS segment-routing
US10397101B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products for mapping identifiers
US10411997B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Routing methods, systems, and computer program products for using a region scoped node identifier
US10404582B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using an outside-scope indentifier
US10404583B1 (en) 2012-12-27 2019-09-03 Sitting Man, Llc Routing methods, systems, and computer program products using multiple outside-scope identifiers
US10419335B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Region scope-specific outside-scope indentifier-equipped routing methods, systems, and computer program products
US10397100B1 (en) 2012-12-27 2019-08-27 Sitting Man, Llc Routing methods, systems, and computer program products using a region scoped outside-scope identifier
US10447575B1 (en) 2012-12-27 2019-10-15 Sitting Man, Llc Routing methods, systems, and computer program products
US10419334B1 (en) 2012-12-27 2019-09-17 Sitting Man, Llc Internet protocol routing methods, systems, and computer program products
US10411998B1 (en) 2012-12-27 2019-09-10 Sitting Man, Llc Node scope-specific outside-scope identifier-equipped routing methods, systems, and computer program products
US10476787B1 (en) 2012-12-27 2019-11-12 Sitting Man, Llc Routing methods, systems, and computer program products
US10587505B1 (en) 2012-12-27 2020-03-10 Sitting Man, Llc Routing methods, systems, and computer program products
US10904144B2 (en) 2012-12-27 2021-01-26 Sitting Man, Llc Methods, systems, and computer program products for associating a name with a network path
US10374938B1 (en) 2012-12-27 2019-08-06 Sitting Man, Llc Routing methods, systems, and computer program products
US10212076B1 (en) 2012-12-27 2019-02-19 Sitting Man, Llc Routing methods, systems, and computer program products for mapping a node-scope specific identifier
GB2511089A (en) 2013-02-22 2014-08-27 Ibm All-to-all message exchange in parallel computing systems
US9537718B2 (en) 2013-03-15 2017-01-03 Cisco Technology, Inc. Segment routing over label distribution protocol
US9762488B2 (en) 2014-03-06 2017-09-12 Cisco Technology, Inc. Segment routing extension headers
US9690678B2 (en) * 2014-03-19 2017-06-27 Siemens Energy, Inc. Fault tolerant systems and method of using the same
US9807001B2 (en) 2014-07-17 2017-10-31 Cisco Technology, Inc. Segment routing using a remote forwarding adjacency identifier
US10341221B2 (en) 2015-02-26 2019-07-02 Cisco Technology, Inc. Traffic engineering for bit indexed explicit replication
US10263881B2 (en) 2016-05-26 2019-04-16 Cisco Technology, Inc. Enforcing strict shortest path forwarding using strict segment identifiers
US11108500B2 (en) 2016-07-05 2021-08-31 Idac Holdings, Inc. Latency reduction by fast forward in multi-hop communication systems
US11032197B2 (en) 2016-09-15 2021-06-08 Cisco Technology, Inc. Reroute detection in segment routing data plane
US11140074B2 (en) 2019-09-24 2021-10-05 Cisco Technology, Inc. Communicating packets across multi-domain networks using compact forwarding instructions

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003013061A1 (en) * 2001-07-31 2003-02-13 Interactic Holdings, Llc Scalable switching system with intelligent control
JP2003233469A (ja) * 2001-12-28 2003-08-22 Network Appliance Inc 1つの対角パリティグループと複数の行パリティグループとの組み合わせを用いたストレージアレイにおける複数ブロックデータ損失の訂正

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5996020A (en) * 1995-07-21 1999-11-30 National Security Agency Multiple level minimum logic network
US6289021B1 (en) * 1997-01-24 2001-09-11 Interactic Holdings, Llc Scaleable low-latency switch for usage in an interconnect structure
ATE218778T1 (de) * 1997-12-12 2002-06-15 3Com Corp Ein vorwärtsfehlerkorrektionssystem für packetbasierte echtzeitmedien
US6754207B1 (en) * 1998-01-20 2004-06-22 Interactic Holdings, Llc Multiple-path wormhole interconnect
US6484207B1 (en) * 1998-11-17 2002-11-19 Cisco Technology, Inc. Switching system having interconnects dedicated to store and retrieve data including management of dedicated memory segments allocated when a general memory is depleted
GB9828144D0 (en) * 1998-12-22 1999-02-17 Power X Limited Data switching apparatus
US6956861B2 (en) * 2002-04-16 2005-10-18 Interactics Holdings, Llc Controlled shared memory smart switch system
US20040264369A1 (en) * 2003-03-11 2004-12-30 Interactic Holdings, Llc Scalable network for computing and data storage management
KR20070007769A (ko) * 2003-10-29 2007-01-16 인터랙틱 홀딩스 엘엘시 에러 정정을 이용하는 높은 병렬 스위칭 시스템
ATE465600T1 (de) * 2004-03-08 2010-05-15 Interactic Holdings Llc Hochparallele schaltsysteme mit fehlerkorrektur ii
US20060171386A1 (en) * 2004-09-01 2006-08-03 Interactic Holdings, Llc Means and apparatus for a scaleable congestion free switching system with intelligent control III

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003013061A1 (en) * 2001-07-31 2003-02-13 Interactic Holdings, Llc Scalable switching system with intelligent control
JP2003233469A (ja) * 2001-12-28 2003-08-22 Network Appliance Inc 1つの対角パリティグループと複数の行パリティグループとの組み合わせを用いたストレージアレイにおける複数ブロックデータ損失の訂正

Also Published As

Publication number Publication date
US7397799B2 (en) 2008-07-08
KR20070007769A (ko) 2007-01-16
WO2005043328A3 (en) 2009-03-26
EP1687686A4 (en) 2010-09-15
CA2544319A1 (en) 2005-05-12
JP2007528148A (ja) 2007-10-04
US20050105515A1 (en) 2005-05-19
EP1687686A2 (en) 2006-08-09
CN101416446A (zh) 2009-04-22
WO2005043328A2 (en) 2005-05-12

Similar Documents

Publication Publication Date Title
JP4679522B2 (ja) エラー訂正を利用した高度並列スイッチング・システム
US6950428B1 (en) System and method for configuring adaptive sets of links between routers in a system area network (SAN)
EP3087708B1 (en) Method to route packets in a distributed direct interconnect network
US7088710B1 (en) Method of transmitting information through data switching apparatus and apparatus therefor
US7046633B2 (en) Router implemented with a gamma graph interconnection network
US20020051427A1 (en) Switched interconnection network with increased bandwidth and port count
US7205881B2 (en) Highly parallel switching systems utilizing error correction II
KR20140139032A (ko) 패킷플로우 상호연결 패브릭
EP2297903A1 (en) Method of data delivery across a network
WO2006017158A2 (en) Self-regulating interconnect structure
EP1187402A2 (en) Switching apparatus, communication apparatus, and communication system
US7907606B2 (en) Multi-plane cell switch fabric system
US10630607B2 (en) Parallel data switch
KR100459036B1 (ko) 에이티엠 스위치 시스템의 트레인 패킷 구성 방법
US20210112019A1 (en) Method and apparatus for improved data transfer in big data graph analytics
Smit et al. Multicast and Broadcast in the Rattlesnake ATM Switch.
US20150023367A1 (en) Parallel data switch
Jones The network designer's handbook
Horn et al. Switched SCI systems
Demaine et al. Routing algorithms on static interconnection networks: A classification scheme
Davis et al. R2: A damped adaptive router design
Al-Mahadeen et al. A Broadcast Algorithm for All-Port Wormhole-Routed Mesh-Hypercube Network
Happe et al. Improving TCP/IP Multicasting with Message Segmentation.
Chan et al. Fault tolerance in Clos–Knockout multicast ATM switch
Lee et al. Performance analysis of STC104 interconnection networks

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070702

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100223

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100524

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101118

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101202

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110201

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees