JP4796149B2 - 相互接続の待ち時間を低減するための方法及びシステム - Google Patents

相互接続の待ち時間を低減するための方法及びシステム Download PDF

Info

Publication number
JP4796149B2
JP4796149B2 JP2008541283A JP2008541283A JP4796149B2 JP 4796149 B2 JP4796149 B2 JP 4796149B2 JP 2008541283 A JP2008541283 A JP 2008541283A JP 2008541283 A JP2008541283 A JP 2008541283A JP 4796149 B2 JP4796149 B2 JP 4796149B2
Authority
JP
Japan
Prior art keywords
output
packet
arbitration
speculative
routing structure
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
JP2008541283A
Other languages
English (en)
Other versions
JP2009516478A (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.)
Corning Inc
Original Assignee
Corning Inc
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 Corning Inc filed Critical Corning Inc
Publication of JP2009516478A publication Critical patent/JP2009516478A/ja
Application granted granted Critical
Publication of JP4796149B2 publication Critical patent/JP4796149B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/62Wavelength based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/58Changing or combining different scheduling modes, e.g. multimode scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • 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/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • H04L49/508Head of Line Blocking Avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

優先権の主張
本願は、2005年11月14日に出願された「相互接続の待ち時間を低減するための方法及びシステム(METHOD AND SYSTEM TO REDUCE INTERCONNECT LATENCY)」という名称の米国特許仮出願第60/736,779号による優先権を主張する。
本発明はパケットスイッチングの分野に関し、具体的には、特にコンピュータ相互接続ネットワークに適用性を有する、入力キューイングを伴うパケットスイッチングアーキテクチャの分野に関する。
本発明は、DOE/NNSAより与えられた契約番号W−7405−ENG48の下、米国政府の支援を受けてなされたものである。米国政府は本発明に一定の権利を有する。
伝送技術並びに通信及び計算の並列処理の進歩により、情報データの転送に利用可能な帯域幅の限界が高まり続けている。例えば、波長分割多重(WDM)や高密度WDM(DWDM)等といった進歩により、単一のファイバ上に多数のチャネルを多重化することで、利用可能な帯域幅が非常に増加する。個々のチャネルは、光キャリア(OC−x)速度OC−48(2.5Gb/秒)、OC−192(10Gb/秒)、又はOC−768(40Gb/秒)で動作する。最新のDWDM技術を用いれば、単一のファイバで、5テラビット/秒を超えるデータを搬送可能である。
同時に、そのような進歩によって提供されるますますの高速化と、入手可能なスイッチがスイッチング可能な速度とのギャップが広がっている。光スイッチは、自由区間を通したルーティング、長い距離にわたる最小限の信号減衰、並びに、光学領域から電気領域への及び電気領域から光学領域への変換をなくす等といった、理論的な長所を提供するが、現在の全光学型のスイッチは、比較的動作が遅いか、又は非常に高価である。更に、情報の光ストレージは非常に面倒であり、しばしば実用的でない。この光スイッチングの短所が克服されるまでは、パケットスイッチング方式では、電気的なスイッチが主要な役割を果たし続けるであろう。
ボードの相互接続には、バックプレーンスイッチ、より一般的にはルーティング構造を用いるのが一般的である。ネットワーキングシステムでは、これらのボードはラインカードと呼ばれ、コンピューティング及びストレージにおいては、これらはしばしばアダプタやブレードと呼ばれる。電気通信交換器、マルチサービス・プロビジョニング・プラットホーム、アド/ドロップマルチプレクサ、デジタル交差接続、ストレージスイッチ、ルータ、大企業規模スイッチ、埋め込みプラットフォーム、マルチプロセッサシステム及びブレードサーバ等の広範囲のシステムが、バックプレーンを用いてボードを接続している。
発信元から宛先に相互接続システムを介して情報データが伝送される際には、情報はまず、複数のデータパケットに分割されることが多い。一般的に、各データパケットはヘッダー部、ペイロード部及び最後尾部を含み、更により小さい単位に分割される。データパケットは、他の発信元から発信された他のデータパケットと同時に、ルーティング構造を介してスイッチングされる。並列コンピュータ、インターネットルータ、S(t)ANネットワーク、非対称転送モード(ATM)ネットワーク、及び特に光ネットワークの相互接続に用いられるものを含む現在の多くのパケットスイッチシステムは、入力キューイング構成を用いており、各ラインカードの出力毎にソートされたキュー(しばしば仮想出力キューイング(VOQ)と呼ばれるこのような構成は、FIFOキューの使用に特有の行頭ブロッキングを解消する)、クロスバールーティング構造、並びに、スイッチングリソースの割り当て及びキュー間の調停を行う中央集中型スケジューラ(例えば、アービター又は調停部)を含む。
図1は、VOQアーキテクチャを用いた従来のスイッチング構成を示す。図1の構成では、個々のラインカード102のN個のデータリンク2a〜2aの各々からデータパケット(例えば、セル、フレーム又はデータグラム)が受信される。データパケットは、ルーティング構造106(N×Nクロスバーとして示されている)の各出力3〜3毎に、マルチプレクサ105aを介して、N個のバッファグループ121のN個のバッファの1つにソートされる。即ち、各入力ラインカード102では、各出力3〜3に対して個別のキューが維持され、その結果、ルーティング構造106の入力側ではN個のVOQが生じる。ルータ構造106の同じ出力を求めるデータパケット間の競争を管理し、入力を出力にマッチさせるためのアービター107が設けられている。アービター107は、制御パス108、109に沿って各ラインカードと通信し、制御パス112に沿ってルーティング構造106にスイッチング構成を提供する。アービター107は、物理的にルーティング構造106の近くに位置するのが一般的である。
アービター107は、バッファグループ121の各バッファで待機しているパケットに、衝突が生じないように入力ポート及び出力ポートを割り当てることを含む処理を行う。これらの処理は、割り当て及び調停を含む。割り当ては、最多で1つの出力リソースへの出力に対して、各バッファグループ121から最多で1つのパケットが選択されるように、ルーティング構造106の入力2b〜2bNと出力3〜3との間のマッチングを決定する。調停は、単一の各出力リソース3〜3に対する複数の要求を解決し、これらの出力の1つを1グループの要求者の1つに割り当てる。図1の従来の構成では、アービター107は、制御パス108上でラインカード102からのスイッチアクセス要求を受信する。アービター107は、受信した要求及び適切なマッチングアルゴリズムに基づいてマッチングを計算し、多くのタイムスロットの各々において、入力2b〜2bNのどれに、どの出力へのデータパケットの転送を許可するかを決定する。アクセスを勝ち得た(即ち、アクセスを許可された)各ラインカード102には、制御パス109に沿って、特定のタイムスロット又はスイッチングサイクルにおける指定された出力へのパケット等のデータ単位の送信が許可されたことをそのラインカード102に知らせる制御メッセージが送信される。そのタイムスロットの間に、アービター107は、計算したスイッチング構成をルーティング構造106に送信し、勝ち抜いた各ラインカード102は、そのバッファグループ121内のキューから一単位のデータパケットをデマルチプレクサ105bを介して放出し、そのデータ単位を2b〜2bのいずれかの対応する入力に沿ってルーティング構造106に伝送する。次に、各データパケットは、ルーティング構造106を介して、アービター107によって構成されたパスに沿って、出力3〜3のうちの要求された1つへと伝送される。
図面からわかるように、このような入力キューイングシステムには、ラインカードからアービターへの制御情報の流れ(例えば要求)とラインカードに戻る制御情報の流れ(例えば許可)を含む制御パスと、入力ラインカードからクロスバーを介して出力ラインカードに至るデータパケットの流れを含むデータパスとの、2つの基本的な通信パスが存在する。
尚、図1に示されている従来のパケットスイッチング構成は、一方向通信パスのみを有するルーティング構造6を示すものであるが、この一般的な概念は、双方向データ及び制御パスも含む。例えば、図1に示されている各データリンク2b〜2b及び個々の出力3〜3は、各バッファグループ121と関連付けられたラインカードが入力(ingress)バッファ及び出力(egress)バッファの両方を含むような、双方向リンクとして表わされ得る。この場合には、ラインカード102は、ルーティング構造を用いてデータパケットを伝送するための発信元位置及び宛先位置の両方とみなすことができる。同様に、要求、許可、及びリンク2a〜2aも、双方向リンクとして表わされ得る。
容量の増加と共に、パケットスイッチの物理的なサイズも増加している。同時に、ライン速度は増加しても、パケットサイズはほぼ一定のままであるので、単一のパケット又はセルの持続時間(T=L/B。ここで、Lはビット単位のパケット長であり、Bはビット/秒単位のリンク速度である)は短くなっている。これらの傾向は、パケット時間で測定されるスイッチ内のラウンドトリップ(RT)が、かなり跳ね上がることを直接暗示するものである。中央集中型の調停が行われる入力キューイング型スイッチでは、最小通過待ち時間は(1)アービターに要求を提出して対応する許可が到着するまで待機する待ち時間(アービターへの及びアービターからの飛行時間(time-of-flight)及び調停のための時間を含む)と、(2)シリアル化/逆シリアル化(SerDes)、伝送、及びスイッチを介してパケットを送信するための飛行時間の待ち時間との2つの待ち時間からなるので、この影響は2倍になる。ざっと述べれば、これらの待ち時間は最小でも2・(RT)パケット時間となり、これは、類似のスイッチ(バッファ付きルーティング構造を有するものを除く)の2倍である。
これらの待ち時間が問題となったのは最近であるので、これまでほとんど注目されていなかった。実際上の好ましい解決法は、入力キュー(一般的にVOQ式に組織される)を有するラインカード等のボードを、ルーティング構造(例えば、クロスバー及びアービターを含むスイッチコア)の物理的に近くに配置することであった。しかし、現在のパッケージ化及び電力の制約により、スイッチコアの近くに多数のラインカードを配置することはできない。その結果、従来の構成では、単にルーティング構造に配置されるラインカードの数を増やすだけでは、より多くの帯域幅を求める増大し続ける要求に対処できない。
特許文献1では、ルーティング構造からラインカードを物理的に分けることにより、ラインカードの数を増やすことで、合計システム帯域幅を増やす試みがなされている。バッファリング及び処理の大半は、物理的に遠隔のラインカード上で実施される。図2Aは、この手法によるシステムを示す。
図2に示されるように、このシステムは、スイッチコア210と、スイッチコア210から物理的に離れた位置に設けられた複数のラインカード202とを含む。各ラインカード202は、入力VOQバッファグループ(キュー)221及び出力バッファ222を含む。スイッチコア210は、複数のポートモジュール280(即ち、「スイッチポート」)と、並列スライス自己ルーティングクロスバー型構造モジュール206と、中央集中型アービターモジュール207とを含む。データパケットは、ラインカード202とスイッチポート280との間のデータリンク231、及びスイッチポート280とクロスバー型ルーティング構造206との間のデータリンク203に沿って送受信される。各ラインカード202は、順方向パスを伝送されているパケットを格納するバッファグループ221と、リターンパスのパケットを格納する出力バッファ222とを含む。制御メッセージは、ラインカード202とスイッチポート280との間の制御パス232、及びスイッチポート280とアービターモジュール207との間の制御リンク204に沿って送受信される。アービター207は、各タイムスロットに対する適切な構成を決定し、その構成を構成リンク212に沿ってルーティング構造207に供給する。VOQ221とアービター207との間のRTを最小限にするために、スイッチコア210の各入力ポートにつき、VOQを有する小型バッファ281がスイッチコア210の近くに配置されている。これは、ラインカード202とスイッチポート280との間の損失の無い通信を可能にするラインカード対スイッチ(LCS)プロトコルを用いて達成される。
特許文献1の手法の主な短所は、スイッチポート280で必要なのは、少量、即ち、1回のRTをカバーするのに十分な数のパケットのバッファリングのみであるにも関わらず、ラインカード202及びスイッチポート280の両方がバッファを含むことである。これらのバッファ付きスイッチポートは、コスト、カードスペース、電力、及び待ち時間(例えば、追加のSerDes及びバッファリング)を増加させる。これらはまた、ラインカード202に既に存在する機能性を二重にするものである。
たとえ特許文献1に記載されている手法を用いても、スイッチポート280とアービターモジュール207との間のラウンドトリップ時間を1セル時間より短くするのは実際上困難である。更に、(ラインカードからスイッチコアまでの長い距離をカバーするための)ラインカードからスイッチコアへの光リンク及び光ルーティング構造を備えるスイッチ構造の具体的なケースでは、光バッファは現在のところ実用的でないか又は経済的に実現可能ではないため、スイッチポート280は、更に、電気的/CMOSチップでのバッファリングのための電気から光への及び光から電気への変換を要する。このような変換回路の追加は、システムのコスト及び複雑さをかなり高めることになる。
非特許文献1に示されている相互接続ネットワークの待ち時間を低減するための別の手法は、「先読み投機(speculation with lookahead)」を含むものである。非特許文献1に記載されているように、ルータのマッチングアービターは、先読み投機を用いて、入力VOQのキューを最初の要素(行頭、即ちHoL)よりも深く調べ、一部のスイッチリソースに、それらの後続のパケットに許可が与えられるという期待(希望)を前もって割り当てる。この手法は、ルータが何らかのマッチング及び設定タスクを並列して行えるようにすることにより、パイプラインのステージ数をできるだけ少なくすることを試みるものである。先読み投機は、キューに加えられて入力VOQ内に存在するパケット及び既に送信要求がなされアービターが直ちに対応できないパケットには利点があるが、検討されるべき送信要求がまだアービターに受信されていないパケット、及び/又は、入力VOQに到着したばかりのパケットの伝送速度を高めることはない。
更に、先読み投機は、主にアービターのアルゴリズムにおける待ち時間に対処するものであり、通常はこれより大きい送信器からスイッチ構造までの伝送時間の待ち時間には対処しない。本願より前の、内部スイッチの速度増加及び軽いスイッチ負荷に頼って、スイッチのリソースをより多く投機的に割り当てる、二重及び三重の投機的実行の概念(例えば、非特許文献1の317頁を参照)は、ほとんどの適用例で失敗している。従来の厳密な非ブロッキングスイッチ構造の多くのものでは、内部構造が複数の連続したスイッチングステージに内部的に区分されている。二重及び三重の投機的実行では、これらのステージは投機的な負荷に対して増分的に設定される(割り当てられる)。これらの手法では、速度増加が極端又は負荷が軽い場合にのみ投機的実行を行い、多ステージ構造の全体を通る送信を許可することに通常は成功する。負荷が増大すると、この投機的割り当ての手法は、良好に調停された要求に割り当てた方がよいリソースを無駄に予約するため、性能を損なう。
更に、上述のシステムの全てには、依然として、ラインカードが出力リソースに対する要求を提出してから許可が到着するまで待たなければならない最初のRT待ち時間の問題がある。
従って、当該技術分野には、相互接続システムのルーティング構造に関連する待ち時間を低減するための、より効率的で、さほど複雑ではなく、低コストの方法の必要性が残っている。
米国特許第6647019号明細書 W. J. Dally et al., "Principles and Practices of Interconnection Networks," Morgan Kaufman, 2004, pp. 316-318
従って、本発明は、関連技術の限界及び欠点に起因する短所や問題の1つ以上を実質的に取り除く方法及び装置の提供を目的とするものである。
本発明は、ルーティング構造を用いるシステムにおいて計画的調停によって生じる全体的な待ち時間を低減する、情報単位を伝送するためのシステム及び方法を含む。この方法は、計画的調停を行って又は行わずに複数の発信元からルーティング構造の複数の入力にデータパケットが送信され、入力パケットを指定されたルーティング構造の出力にスイッチングする、スイッチング構造を含むシステムに特に適している。
本発明の1つの態様において、1つの方法は、計画的調停の結果が存在する場合には、事前の調停(即ち、計画的調停)の結果に従って、少なくとも1つのデータパケットを送信し、計画的調停の結果が存在しない場合には、投機的に送信するデータパケットを選択する工程を含む。この方法は、選択されたデータパケットの出力識別子を含む投機的要求を発行することと、選択されたパケットをルーティング構造に送信することとを同時に行う工程も含む。
本発明の別の態様において、計画的(事前の)調停を行って又は行わずに、ルーティング構造の複数の入力から複数の出力にデータパケットを送信するシステムは、事前調停の結果が存在する場合に、計画的調停の結果に従って、少なくとも1つのデータパケットを送信する機構と、計画的調停の結果が存在しない場合に、投機的に送信するデータパケットを選択し、選択されたデータパケットの出力識別子を含む投機的要求を発行することと、選択されたパケットをルーティング構造に送信することとを同時に行う機構とを含む。
本発明の別の態様は、複数の位置間の情報単位の流れを管理するシステムを含む。このシステムは、複数の発信元位置から複数の宛先位置に情報単位を送信するためのスイッチング構造への複数のアクセス要求を受信する複数の入力を含む。このアクセス要求は、計画的調停によるアクセス許可の要求と、計画的調停による許可がない投機的アクセスの要求とを含む。各要求は、関連付けられた情報単位を転送すべき宛先位置の標識も含む。システムは、計画的調停によるアクセス許可の要求のグループ又はサブグループに対する、スイッチング構造のリソースの衝突が生じない割り当てを決定するアービターを含む。システムは、決定がなされたグループがスイッチング構造に次に適用されるべきものである時に、投機的アクセスの要求を受信し、決定された割り当てに基づき受信した投機的要求を許可又は拒否する投機的アービターを含む。
本発明の更に別の態様は、最終的に許可が拒否された場合には無駄になる事前割り当て又はスイッチングリソースの予約を必要とせずに、入力キューに到着したばかりのデータパケットの伝送速度の増加を容易にするものである。
本発明の別の態様は、パケットの発信元とルーティング構造との間のラウンドトリップ伝送の量を低減することにより、平均的な待ち時間を低減することを含む。例えば、1つのパケットの投機的送信が成功すると、ルーティング構造を通してパケットを送るために必要な少なくとも1つのラウンドトリップ(即ち、要求の送信から許可を受信するまで)が省かれる。
本発明の更なる態様及び長所は、以下の記載で述べられ、その一部はその記載から自明であり、或いは本発明の実施から分かり得るものである。本発明の態様及び長所は、本願明細書及び特許請求の範囲並びに添付の図面において特に指摘されるシステム及び方法によって実現され達成される。
上述の概括的な説明及び以下の詳細な説明は例示的なものに過ぎず、特許請求される本発明を限定するものではないことを理解されたい。
本発明の更なる理解を提供するために含まれ、本願明細書に組み込まれてその一部を構成する添付の図面は、本発明の原理を記載と共に説明する役割を果たす本発明の例示的な実施形態を示す。
以下、本発明の上記態様及び他の態様を、添付の図面に示されている例に関連してより詳細に述べる。
関連技術に関して上述したように、中央集中型調停構成は高い最大スループットを達成するが、特に低〜中程度の使用率では、調停待ち時間の不利益を招く。本発明は、投機的送信(STX)と呼ぶ新規な種類の投機的実行を用いて、そのような待ち時間に対処する。本願明細書に記載するSTXの概念は、ALOHA及びイーサネットの背後の基本的な概念に関係するものであり、その概念では、事前の調停なしに(即ち、所与の伝送の成功を見越して)パケットがシェアードメディアを介して伝送される。しかし本発明では、調停待ち時間を解消するために、この概念をスイッチドメディアの文脈に適用する。投機的送信のみを用いてパケットスイッチを動作させると、頻繁なパケット衝突が生じ、その結果、中〜高程度の使用率では壊滅的な性能悪化を生じるので、本発明は、投機的送信と調停とを組み合わせて、両方の概念の長所、即ち、高い最大スループットと、低〜中程度の使用率における低い待ち時間とを得る。
本発明は、ルーティング構造(ファブリック)の近くに追加のバッファ・ステージを実装せずに、ルーティング構造の調停と組み合わせて、事前の調停を行わずにSTXを用いて、調停待ち時間を低減する。更に、本発明は、パケット持続時間より(遥かに)大きいラウンドトリップに効果的に対処できるような、投機的処理の非常に深いパイプライン化を可能にする。本発明は、スイッチング構造における調停によって生じる平均的な待ち時間を実質的に低減又は解消することにより、全体的な待ち時間を50%又はそれより低く減少させることができる。
しばしば無駄になるスイッチリソースの事前割り当てを含む従来技術の投機的実行方式とは対照的に、本願明細書で説明するルーティング構造の効率的な非ブロッキング型の単一ステージ送信の性質は、そのようなリソースの事前割り当てを行わない。換言すれば、構造(ファブリック)リソースは実際には投機的に設定されないので、本発明は、スイッチング構造に単一ステージセレクタを実装することにより、スイッチリソースの無駄を回避する。
本発明は、STX選択ポリシー、衝突、再送、順序が乱れた配信、再シーケンス化、二重配信、再送及び再シーケンス化のウィンドウサイズ決定に関係する問題に対処する。しかし、本発明の任意の特定の適用例に関するスイッチング構造に関係する他の問題及び特殊性も、当業者には容易にわかることを理解されたい。
図3は、本発明による例示的なシステムを示す。図3に示されるように、このシステムは、N個のラインカード302に接続されたN個の双方向全二重型入力/出力データリンク301を備える。ペイロード情報を有するデータパケット及び要求されたパケットの宛先を示す情報を含むヘッダーは、データリンク301を介して送受信される。各ラインカード302は、双方向全二重型構造内データリンク303を介してスイッチコア310に接続されている。スイッチコア310は、N個の入力ポート及びN個の出力ポートを有するクロスバーとして例示されているルーティング構造306を有する。各ラインカード302は、ラインカード302とアービター307との間で制御メッセージ(例えば、要求及び許可を含む)をやりとりする専用双方向制御リンク304で、中央集中型割り当て/調停部307にも接続されている。アービター307は、構成リンク312を介してクロスバー306に接続される。各ラインカード2は、入力バッファ部321及び出力バッファ部322を更に有する。以下、アービター307、入力バッファ部321及び出力バッファ部322の構成及び機能を、図4〜図7を参照して更に詳細に述べる。
本発明は、他のタイプのルーティング構造と共に用いられてもよい。しかし、本発明は、クロスバーに基づくスイッチに特に適している。従って、好ましい例を示す目的で、図3に示されているシステムを、クロスバーに基づくスイッチを含むスイッチコアに関連して説明するが、当業者には、本発明が多くのスイッチング構造アーキテクチャに適用可能であることがわかるであろう。
クロスバー型スイッチの特性は、常に、1つの入力は1つの出力のみに接続可能であり、1つの出力は1つの入力のみに接続可能なことである。即ち、スイッチの入力と出力とは一対一でマッチングする。待ち時間及びスループットに関する良好な性能を得るために、マッチングは、一般的に、中央集中型割り当て/調停部によって計算される。更に、割り当て/調停部は、スイッチの1つの出力リソースをめぐる競争を解決する。図3に示されている例示的なシステムでは、アービター307は、これらの割り当て及び調停機能を実行する。図3では、アービター307は単一のユニットとして示されているが、割り当て及び調停機能は、プログラム命令と連動して動作する2つ以上のハードウェア装置及び/又は1つ以上のハードウェア装置によって実行されてもよいことを理解されたい。
アービター307は、ラインカード302からの出力リソース要求を受信する。要求は、その要求を発信したラインカード302が特定の出力ポートへのパケットの伝送を望んでいることを示す出力ポート識別子を含む。アービター307は、受信した要求に基づき、入力ポートと出力ポートとの適切な一対一マッチングを計算する。これは、二部グラフマッチング問題に相当する。アービター307は、計算されたマッチングに基づき、対応する許可をラインカード302に返す。許可は、この許可を受信したラインカード302が特定の出力ポートにパケットを伝送できることを意味する出力ポート識別子を含む。オプションとして、特定の要求に対して使用可能な出力リソースが無い場合には、アービター307は、拒否された要求に対応する応答を返してもよい。ラインカード302が許可を受信すると、ラインカード302は、入力バッファ部321の対応するVOQから1つのパケットを取り出し、そのパケットをデータリンク303上でクロスバー306に送信する。クロスバー306は、アービター307によって計算され構成リンク312を介して適用された構成(即ち、マッチング)に従って、着信したパケットをデータリンク303にルーティングする。
図4は、入力バッファ部321をより詳細に示す図である。入力バッファ部321は、入力デマルチプレクサ410、各出力に対して1つずつ対応する複数の仮想出力キュー(VOQ)411、各出力に対して1つずつ対応する複数の再送(RTX)キュー412、各VOQ411に対して1つずつ対応する複数のデマルチプレクサ413(これらのデマルチプレクサは、実際には、ルーティング機能に加えて複製機能も有する)、各VOQ411に対して1つずつ対応する複数のマルチプレクサ414、出力マルチプレクサ415、及び制御部416を含む。
動作においては、パケットは、入力バッファ部321に接続された入力データリンク301上で到着し、デマルチプレクサ410は、着信したパケットを、それぞれの宛先(出力ポート)に従って、対応するVOQ411にルーティングする。パケットの到着は、制御部416にも伝えられる。制御部416は、アービター部307に要求を送信し、アービター部307から制御チャネル304を介して許可を受信する。高信頼性配信方式のためにシーケンス番号が必要な場合には、制御部416は、同じ出力を宛先とする後続のパケットに後続のシーケンス番号を割り当てる。計画的調停要求及び投機的要求、並びに許可及び応答は全て、出力識別子を含む。投機的要求、許可及び応答は、更に、シーケンス番号を含み得る。例えば、特定のタイプの高信頼性配信(RD)方法(その一部については後述する)は、計画的調停の結果として伝送されたデータパケット及び投機的に伝送されたデータパケットの各々がシーケンス番号を有することを必要とし得る。
このシステムは、2つの送信モード、即ち、調停送信(即ち、計画的調停によって生じる送信)及び投機的送信(STX)を有する。計画的調停送信モードは従来技術で公知である。例えば、ミンケンバーグら(C. Minkenberg et al.),IP.com,2004年6月3日,記事番号IPCOM000028815Dを参照されたい(その全内容をここに参照して組み込む)。本発明は、投機的送信モード及び、計画的調停送信モードと投機的送信モードとの間の相互作用に対応する。これは、計画的調停要求及びそれに対応する許可と、投機的要求及びそれに対応する肯定的及び否定的応答とを区別することによって達成される。
図4に戻ると、好ましい実施形態において、ラインカード302は、所与のタイムスロットにおける計画的調停送信に対するいかなる許可も受信していない場合にのみ、投機的送信を行う資格がある。許可が受信されていない時は、制御部416は、所与のポリシーに従って、空ではないVOQ411を選択し、そこから、投機的送信のために1つのパケットが取り出される。このポリシーは、例えば、ランダム、ラウンド・ロビン、最も早く到着したセルを優先(OCF:oldest cell first)、最も遅く到着したセルを優先(YCF:youngest cell first)等であり得る。好ましい実施形態では、ポリシーは、待ち時間のゲインが最大になるよう選択される。例えば、最も遅く到着したセルを優先等といった、より新しい到着を優先するポリシーでは、待ち時間のゲインが最大になる傾向がある。
選択されたパケットは、マルチプレクサ413を介して再送バッファ412に格納され、マルチプレクサ413、414、415を介してデータリンク303上をクロスバー306に向かって伝送される。同時に、制御部416は、制御リンク304を介してアービター307に、出力識別子を含む対応する投機的送信要求を送信する。パケットを再送バッファ412に格納する目的は、投機的送信が失敗した場合にパケットの再送を可能にするためである。ラインカード302は、許可を求める計画的調停要求と投機的要求とを同時に発行してもよい。好ましい実施形態では、再送キュー412に格納されたパケットは、既に一旦投機的に送信されているので、投機的送信の資格はない。即ち、潜在的な待ち時間の利点が既に失われている可能性が高いので、失敗したSTXパケットを投機的に再送信することには利点はほとんど又は全くない。
ラインカード302が、所与のタイムスロットにおける所与の出力に対する計画的調停による許可を受信した場合には、このラインカード302は、現在のタイムスロットにおいて、この出力にパケットを送信する資格がある。制御部は、まず、対応する再送キュー412の使用率をチェックする。対応する再送キュー412が空でない場合には、この再送キュー412から1つのパケットが取り出され、マルチプレクサ414及び415を介して、データリンク303上をクロスバー306へと再送される。再送キュー412が空である場合には、制御部は、対応するVOQ411の使用率をチェックする。再送キュー411が空でない場合には、このVOQ411から1つのパケットが取り出され、マルチプレクサ413、414及び415を介して、データリンク303上をクロスバー306へと伝送される。許可が到着した場合には、RTXキュー412内で待機しているパケットは、通常、対応するVOQ411内のパケットよりも優先されることを理解されたい。これは、失敗したSTXパケットが迅速にその宛先に配信されることを確実にするためである。しかし、優先順位は、キュー411内に待機又は到着しているデータの性質(例えば、スピーチやビデオ等の待ち時間に敏感な着信データ)等といった他の要因にも依存し得る。投機的動作モードのせいで、空のVOQ411に対して許可が到着することがあり得る。このような許可は、無駄になると見なされる。好ましい実施形態では、ラインカード302は、無駄になる許可を受信した任意のタイムスロットにおいて、投機的パケットを送信する資格がある。
以下に説明する本発明の例示的な実施形態では、ラインカード302が応答を受信した場合に、ラインカード302は、応答に含まれるシーケンス番号を有するパケットが、同じく応答に含まれる出力識別子によって示される再送キュー412内に存在するか否かをチェックする。このパケットが存在しない場合には、応答は無視される。このパケットが存在する場合には、本発明の特定の適用例(例えば、高信頼性配信方式を統合した適用例(「高信頼性配信」の節を参照))に応じたアクションがとられる。例えば、選択的再試行(SR:Selective Retry)を用いる例示的な実施形態では、応答されたパケット(存在する場合)は、再送キュー412内のどの位置からも取り出される。別の例示的な実施形態(例えば、Go−Back−N(GBN)、ストップ・アンド・ウェイト(S&W))では、応答されたパケットは、それが再送キュー(GBN)又はVOQ(S&W)の先頭にある場合にのみ取り出される。
出力で再シーケンス化を行わない場合
図5は、再シーケンス化が行われない、ラインカード302の出力バッファ部322aの例を示す。バッファ部322aは、ストップ・アンド・ウェイトやGo−Back−N(後述する)等の再シーケンス化を必要としないRD方式と共に用いられ得る。出力バッファ部322aは、エンキュー部521と、出力キュー526と、デキュー部527と、制御部528とを含む。
動作においては、パケットは、データリンク303に沿って出力バッファ部322aに到着する。制御部528は、パケットのヘッダーを調べ、エンキュー部521が、そのパケットを出力キュー526に格納すべきか又は落とすべきかを決定する。ストップ・アンド・ウェイト又はGo−Back−NのRD方式が用いられる場合には、パケットは正しい順序でのみ受け入れられる。しかし、たとえストップ・アンド・ウェイトを用いても、二重配信は生じ得るものであり、一方、GBNを用いても、二重配信や順序が乱れた配信が生じ得るものであることを理解されたい。従って、制御部528は、各入力に対する次の期待されるシーケンス番号を維持する。制御部528は、受信したパケットのシーケンス番号が、対応する入力に対する次の期待されるシーケンス番号と等しいか否かをチェックする(例えば、最新の良好に受信したパケットのシーケンス番号+1)。肯定された場合(即ち、期待されるシーケンス番号と受信したシーケンス番号が等しい場合)には、そのパケットは、出力キュー526に加えられる。否定された場合には、そのパケットは、二重配信(例えば、シーケンス番号が低すぎる)又は順序が乱れた配信(例えば、シーケンス番号が高すぎる)であるために落とされる。
デキュー部527は、出力キュー526にパケットが存在する場合には、出力キュー526からパケットを取り出し、そのパケットを外部のデータリンク301上で伝送する。
出力で再シーケンス化を行う場合
図6aは、ラインカード302の出力バッファ部322bの別の例示的な実施形態を示す。この実施形態は、選択的再試行(SR)等といった、再シーケンス化を必要とするRD方式と共に用いられるべきである。出力バッファ部322bは、デマルチプレクサ621と、デマルチプレクサ622と、各入力に対して1つずつ対応する複数の再シーケンス化(RSQ)キュー623と、マルチプレクサ624と、マルチプレクサ625と、出力キュー626と、デキュー部627と、制御部628とを有する。
動作においては、出力バッファ部322bは、データリンク303上のパケットを受信する。制御部628は、到着しているパケットが順序通りであるか否か(即ち、そのシーケンス番号が、対応する入力に対する次の期待されるシーケンス番号と等しいか否か)をチェックする。肯定された場合には、そのパケットは、デマルチプレクサ621及びマルチプレクサ625を介してルーティングされ、直接、出力キュー626に加えられ、期待される次のシーケンス番号が増分される。次の期待される番号の値は、選択された特定のタイプのシーケンス化方式によって異なることを理解されたい。例えば、以下に説明する例示的な一実施形態では、パケットのシーケンス番号は、期待される順序の次のパケット毎に1ずつ増分される整数を用いてつけられる。当然ながら、再シーケンス化は、シーケンス順に数が減分される方式、及び/又は、パケットのシーケンス番号が1以外の値で増分若しくは減分される方式等といった、他の多くのシーケンス化方式の任意のものを用いて行われ得る。パケットの順序が乱れて到着した場合(例えば、そのシーケンス番号が、対応する入力に対する次の期待されるシーケンス番号より大きい場合)には、そのパケットは、デマルチプレクサ621及びデマルチプレクサ622を介して、その入力に対応する再シーケンス化キュー623にルーティングされる。従って、再シーケンス化キュー625は、順序が乱れて到着した全てのパケットを格納する。これらのパケットは、先行する全てのパケットが正しく受信された場合にのみ、出力キュー626に進むことが可能である。そのパケットが二重配信である場合(例えば、そのシーケンス番号が、対応する入力に対する次の期待されるシーケンス番号より小さい場合)には、そのパケットは落とされる。再シーケンス化キュー内の二重配信されたパケットは、このポリシーに従って落とされるのではなく、既に格納されている同じパケットに単に上書きされる。
順序通りのパケットが到着すると常に、制御部628は、この順序通りの到着によって、対応する再シーケンス化キュー623からのパケットの取り出しが可能になるか否かをチェックする。肯定された場合には、このようなパケットの1つ以上が再シーケンス化キュー623から取り出され、マルチプレクサ624及びマルチプレクサ625を介してルーティングされ、出力キュー626に加えられると共に、対応する入力に対する次の期待されるシーケンス番号が更新される。
図6bは、出力バッファ部322bにおける再シーケンス化の例を示す。データリンク301及び特定の入力ラインカード302に対して、シーケンス番号3までを含む全てのパケットが正しく受信されている。更に、5、6及び8の番号のパケットが正しく受信されているが、これらは順序が乱れている。従って、パケット5、6及び8は、データリンク301に対する再シーケンス化キュー623に格納される。次に、パケット4が到着し、これは次の期待されるシーケンス番号に対応するので、直ちに出力キュー626へとルーティングされる。更に、パケット8を除くパケット5及び6が、この時点で再シーケンス化バッファ623から取り出し可能となり、出力キュー626に加えられる。これが完了したら、データリンク301に対する次の期待されるシーケンス番号は7となる。
デキュー部627は、出力キュー626にパケットが存在すれば、出力キュー626からパケットを取り出し、そのパケットを外部のデータリンク301上で伝送する。
図7は、例示的なアービター部307を模式的に示す図である。アービター部307は、各入力制御リンク304aに対して1つずつ対応する複数の制御メッセージ受信部761と、マッチング部762と、各入力に対して1つずつ対応する複数のマッチング遅延ライン763と、投機的要求調停部764と、各出力制御リンク304bに対して1つずつ対応する複数の制御メッセージ送信部765とを含む。
図7に示されるように、アービター部307は、制御リンク304aから制御メッセージを受信する。制御メッセージ受信部761は、着信した制御メッセージをデコードする。デコードされた計画的調停要求はマッチング部762に送られ、デコードされた投機的要求は投機的要求調停部764に送られる。マッチング部762は、PIM、i−SLIP(N. McKeown, “Scheduling Algorithms for Input-Queued Switches,” PhD. Thesis, University of California at Berkeley, 1995を参照)、又はデュアル・ラウンド・ロビン・マッチング(DRRM)アルゴリズム等といった適切な公知のマッチングアルゴリズムに従って、入力と出力との間の一対一マッチングを計算する。このようなアルゴリズムは当業者に周知であるので、その詳細な説明は簡潔のために省略する。新たに計算されたマッチングは、制御メッセージ送信部765及びマッチング遅延ライン763に送られる。遅延ライン763は、クロスバーの構成設定を対応するパケットの到着と同期させるために、マッチングを所定の時間だけ遅延させる。実際には、この遅延はラウンドトリップ時間と等しい。ラウンドトリップ時間とは、許可がラインカードまで伝わるのにかかる時間と、パケットがクロスバーまで伝わるのにかかる時間(シリアル化及び逆シリアル化遅延、伝送遅延、並びに飛行時間を含む)とを加え、これから、構成情報をルーティング構造に送りそれに従ってルーティング構造を構成するのにかかる時間を差し引いた時間である。
投機的要求調停部764は、クロスバーに適用されるべき計画的調停送信要求の現在のマッチングと現在の投機的要求とを入力として受信する。投機的要求調停部764は、現在のマッチングで既にマッチングが決定している出力に対応する全ての投機的要求を拒否する。即ち、高い最大スループットを確保するために、計画的調停送信は常に投機的送信よりも優先して行われる。少なくとも1つの投機的要求がきていてマッチングが未決定の各出力に対して、投機的要求調停部764は、何らかのポリシー(例えば、ラウンド・ロビン)に従って、許可を与えるものを選択し、他の全てのものを拒否する。投機的要求調停部764は、成功した各投機的送信要求に対応する応答(ACK)を、その要求を送信した入力に対応する制御メッセージ送信部765に送信する。オプションとして、投機的要求調停部764は、拒否された各投機的送信要求に対応する否定的な応答(NAK)を送信する。成功した投機的送信要求はマッチングに加えられ、その結果がクロスバー構成リンク312を介してクロスバーに適用される。
各制御メッセージ送信部765は、対応するラインカード302に対する制御メッセージをアセンブルし、その制御メッセージを、制御リンク304bを介してラインカード302に送信する。制御メッセージは、調停による新たな許可(存在する場合)及び成功した投機的送信(存在する場合)に関する応答を含み得る。
一般的に、投機的送信を使用すると、飛行中の投機的パケットがシーケンスから外れるため、出力バッファ部322に到着するパケットの順序の乱れが生じ得る。衝突によって1つ以上のパケットが失われることもあり得る。従って、具体的なRD方式によっては、出力バッファ部322は、シーケンスチェック及び/又は再シーケンス化を行う必要があり得る。
高信頼性配信
STX動作モードでは、投機的調停によって送信されたパケットが、他の投機的パケットや計画的調停によって送信されたパケットと衝突し得る。衝突が生じた場合には、1つ以上のパケットが落とされなければならず、その結果、たとえ誤差が無い場合でも、損失の多いスイッチング処理となる。信頼性が高く、正しく、各単一のコピーが順序通りに届く配信を確実にするために、更なる対策をとることができる。例えば、本発明は、システムの信頼性を高めるために、多くの高信頼性配信(RD)方式と統合され得る。一般的に、このような方式は、受信側が特定のパケットを正しく受信したことを示す応答(ACK)が受信されるまで、パケットを送信側に格納しておくことによって行われる。再送は、一般的に、タイムアウトによって暗示的に又は否定的な応答(NAK)によって明示的にトリガされる。具体的な実装例によっては、特定のパケットを識別するためのシーケンス番号が必要となるか、それに加えて/又は、出力に、正しいパケット順を復元するための再シーケンス化バッファが必要となる。
例えば、投機的送信の存在下でも信頼性の高い順序通りの配信を強化するために、計画的調停と組み合わせたSTX調停を、公知のストップ・アンド・ウェイト(S&W)、Go−Back−N(GBN)、及び選択的再試行(SR)RD方式と統合してもよい。以下、これらの例示的な方式を説明する。
ストップ・アンド・ウェイト
ストップ・アンド・ウェイト(S&W)の場合には、任意の所与の時間に、各入力において、1つの出力につき1つの未応答パケットのみが未解決であることが許される。この入力−出力ペアに対する次のパケットは、対応する出力に関する許可が入力に到着した場合、又は、対応する応答が到着した場合にのみ送信できる。この場合には、パケット、投機的送信要求及び応答は、二重配信の検出を可能にする標識(例えば、1ビットのシーケンス番号)を有する。例えば、出力バッファ部は、シーケンス番号をチェックすることができ(例えば、順序が正しいシーケンス番号は交互にならなければならない)、OKである場合(即ち、順序が正しい場合)には、そのパケットをキューに加え、そうでない場合には、そのパケットを落とす。例えば図5は、再シーケンス化なしで実装された出力バッファ部322aを示す。
S&Wは実装が簡単で、間接経費が低い。例えば、応答又は許可されるまで、パケットはVOQの行頭に留まることでできるので、別個のRTXキューを物理的に実装する必要がない。しかし、投機的送信はパイプライン化できないので、ラウンドトリップ時間が1パケット時間より大きい場合には、期待される待ち時間の改善は低くなる。これは、トラフィックがバーストしている場合には、特に不利益となり得る。
Go−Back−N
Go−Back−N(GBN)の場合には、任意の所与の時間に、各入力において、1つの出力につき所定の最大数のパケットが未応答であることが許される。この数は、再送キュー412の最大許容長によって異なる。GBNでは、出力バッファ部は、例えば、図5の出力バッファ部322aに従って、再シーケンス化なしで実装可能である。しかし、パケットは正しい順序である場合にのみ受け入れられるので、上述のシーケンスチェックが必要である。即ち、順序が乱れたパケットは全て落とされる。更に、応答も、順序通りである場合にのみ受け入れられる。例えば、ACKが到着すると、入力バッファ部321は、このACKが、対応する再送キュー412の行頭パケットに対応するか否かをチェックする。シーケンス番号が一致し、且つ、同じVOQ411に対する最新の先行する成功した送信が少なくとも1RT前に生じている場合には、そのパケットは良好に配信されているので、そのパケットはキューから取り出されて落とされる。シーケンス番号が一致しない場合には、そのACKは無視される。最新の成功した送信(計画的調停又は投機的調停から生じたパケット送信であり得る)に関するこの付加的な条件は、成功した投機的送信であっても、その前の投機的送信の失敗の結果、順序が乱れた到着となり、後で出力バッファ322aで落とされ得るという、生じ得るシナリオに対処するために必要である。この場合には、ACKは誤検出となる。
これは、(パイプライン化された)STX要求シーケンスの最初のものが失敗すると、対応するACKシーケンス中にギャップが生じ、失敗したパケットが良好に配信されるまで、全ての後続のACKが無視されなければならないことを意味する。その結果、ACKが欠けている場合には、RTXキュー内の全てのパケットを再送しなければならず、それゆえ、Go−Back−Nと呼ばれる。新たなSTX要求は、RTXキューが一杯でない場合にのみ発行可能である。
GBNは、S&Wよりも実装が複雑である。この複雑さは、部分的には、RTXキューが先入れ先出し(FIFO)構成を有することから生じている。余計にかかる間接経費としては、パケット、STX要求及び応答のシーケンス番号が長いことが含まれ得る。入力バッファも、異なる方法で実装され得る(例えば、シフトレジスタRTXキューと付加的なNAKキュー)。
一方、ラウンドトリップが大きいシステムでは、S&WよりもGBNの使用が適している場合もある。例えば、GBNでは、多くのパケットを立て続けに投機的に送信することが可能であり、これはS&W方式ではできない。
選択的再試行
選択的再試行(SR)では、任意の所与の時間に、各入力において、1つの出力につき所定の最大数のパケットが未応答であることが許される。この数は、再送キュー412の最大許容長及び再シーケンス化キュー623の最大許容長によって異なる。出力バッファ部は、例えば、図6a及び図6bに示されている出力バッファ部322bに従って実装され得るものであり、これは、上述のように、順序が乱れたパケットの受け入れ及び再シーケンス化が可能である。入力バッファ部321も、いかなる順序の応答も受け入れる。これは、失敗したSTXパケットのみが再送されることを意味し、それゆえ、GBNのようにRTXキュー全体を再送するのとは異なり、選択的再試行と呼ばれる。
SRは、出力バッファ部322における複数の再シーケンス化キューの複雑さが加わるため、GBNよりも実装がかなり複雑である。更に、SRにおけるRTXキューは、パケットをキューの行頭のみでなくキュー内の任意の地点から取り出せるため、ランダムアクセス構成を必要とする。
再送及び再シーケンス化バッファのサイズ決定
一般的に、待ち時間の低減に関して最大の利益を得るには、再送バッファのサイズを、少なくとも完全な1回のラウンドトリップに相当するパケットを投機的に順序通りに送信可能なように決定するのが有益である。この場合には、投機的送信で、リンクを100%の率で使用することができる。
最適な利益を達成するために、好ましい実施形態では、各再シーケンス化キュー(RSQ)のサイズは、RSQバッファに対応するRTXキューと少なくとも等しい数のパケットを格納可能なように決定される。例えば、RSQ623のサイズは、RTXキュー、例えば、RSQ623に対応するRTXキュー412の行頭パケットのシーケンス番号とRSQ623に対応するRTXキュー412の最後尾パケットのシーケンス番号との差分に基づいて決定され得る。
非対称ルーティング構造における投機的実行
本発明の上述の例は、一般的に、「正方形」のクロスバー状ルーティング構造(即ち、同じ数の入力及び出力を有する構造)を示すものである。ラインカード等のボードは、1つの構造入力及び1つの構造出力に接続されるのが一般的であるが、本発明は、入力よりも出力の数が多いことを特徴とするスイッチ構造でも実装され得る。例えば、出力の数が入力の数のK倍(Kは1よりも大きい整数)であるとすると、丁度K個のルーティング構造出力を、各出力ラインカードに割り当てることができる。これにより、各出力ラインカードが、各タイムスロットにおいてK個までのパケットを受け取ることが可能になる。
図8は、非対称ルーティング構造を含む例示的なシステムを示す。図8に示されるように、このシステムは、スイッチコア810と、N個のラインカード802のうちの1つの入力バッファ821の各出力間に各々が設けられたN個の入力データリンク803a〜803aと、ルーティング構造806と各出力バッファ822との間に設けられたデータリンク803b〜803bとを有する。従って、スイッチコア810のルーティング構造806からの出力には、全部でN・K個のデータリンク803b(xは1〜k)が存在する。スイッチコア810とラインカード802との間には、上述のものと同様の制御リンクが存在するが、簡潔のために制御リンクは図示しない。
スイッチコア810は、ルーティング構造806と、アービター807とを含む。アービター807は、入力ポートと出力ポートとの適切なマッチングを提供するために、計画的調停及び/又は投機的調停の要求のグループ又はサブグループに対する衝突が生じないスイッチング構造リソースの割り当てを決定する。構成リンク812は、アービター807によって決定されたスイッチング構成をルーティング構造806に提供する。上述したように、各出力822には、ルーティング構造からの出力が、ラインカード802からの入力数のK倍の数だけ設けられている。例えば、K=2の非対称を実装するシステムでは、出力バッファ822は、スイッチング構造の入力の任意の1つからのパケットを受信可能な、1つの更なるデータリンク(スイッチング構造からの出力)を有する。任意の時間又はサイクルに受信するデータパケットの増加に対処するために、出力バッファ822のキューのサイズは、負荷及び/又は様々な制約に従って決定される。また、出力バッファ822は、書き込み帯域幅のK倍を有するのが好ましい。
図8の例示的なシステムでは、ペイロード情報を有するデータパケット及び要求されたパケットの宛先を示す情報を含むヘッダーは、N個の双方向全二重型入力/出力データリンク801を介して送受信される。受信されたデータパケットは、入力バッファ821から取り出され、データリンク803a〜803aを介してルーティング構造806の入力に伝送される。各ラインカード802は、残りのN−1個のラインカードからもK個までの出力を受信できるので、本発明の非対称の例のルーティング構造806は、例えば、N個のラインカード802の各々によって計画的調停及び/又は投機的調停によって送信された1つのパケットを、他の任意のラインカード802の出力バッファ822に出力する803bデータラインの1つとマッチングさせることができる。このように、各ラインカード820は、他のN−1個のラインカード802から送信された、計画的調停、投機的調停、又はそれらの組み合わせによって送信されたパケットを含み得るK個までのパケットを受信できる。
この特徴は、任意のタイムスロットに、複数の計画的調停送信、複数の投機的送信、又は両者の組み合わせが各出力に受け入れられるのを可能にするために、有益に用いられ得る。本発明の一実施形態では、例えば、この特徴を利用して、投機的送信方式の大きな長所とすることができる。例えば、所与のタイムスロットに、計画的調停送信が存在しない場合には、各出力822は、K個までの投機的送信を受け入れることができる。1つの計画的調停送信が存在する場合には、各出力822は、K−1個までの投機的送信を受け入れることができる。この例では、計画的調停送信は、依然として、入力と出力との間に一対一マッチングを構成し、投機的調停送信は、残りの全ての構造出力の帯域幅を利用することができる。このようにして、投機的送信がかなり高い成功の確率を有することを確実でき、かなり高い待ち時間の低減(負荷によって異なる)が達成される。
既存の一対一マッチングアルゴリズムは、本発明の非対称の例を実装するために、ほとんど又は全く修正を必要としない。しかし、伝送されるパケットの複数のタイプ及び/又は伝送されるパケットの多くのタイプの各々に関して、ルーティング構造の入力と出力とをマッチングさせるために、多くの方式が用いられ得ることを理解されたい。
1つのタイムスロットにおいて1つの出力につきK個までの投機的要求/応答を扱うには、図7の投機的要求調停部764を修正しなければならない。まず、各出力に対して、応答可能な投機的要求の最大数を決定しなければならない。現在のマッチングにおいて既にマッチングが決定されている全ての出力については、この最大数はK−1である。他の全ての出力については、この最大数はKである。次に、投機的要求調停部764は、出力毎に受信した投機的要求からの選択を行い、決定された最大数までの勝者を選び、他の全てのものは拒否する。この選択は、公正のためにラウンド・ロビン方式で行われるのが好ましいが、他の方法で行われてもよい。
本発明は、待ち時間がシステム全体の計算性能に直接影響し、低い待ち時間が望ましい又は必要な、高性能計算システム、クラスタ及びIOネットワークを含む並列計算用途等の相互接続ネットワークに適用性を有する。本発明は、電気的に制御される電気的スイッチ、電気的に制御される光スイッチ、及び光学的に制御される光スイッチを含むルーティング構造と共に用いられ得る。
本発明の理解を容易にするために、本発明の多くの態様を、相互接続システムの要素によって行われるアクションのシーケンスに関して説明した。各例示的な実施形態において、様々なアクションは、特殊な回路(例えば、特殊な機能を行うために相互に接続されたディスクリート論理ゲート)によって、1つ以上のプロセッサによって実行されるプログラム命令によって、又は両者の組み合わせによって行われることも可能であることが認識されよう。更に、本発明は、本願明細書に記載した技術をプロセッサに実行させる適切なコンピュータ命令のセットを含む、固体メモリ、磁気ディスク、光ディスク又は搬送波(例えば、無線周波数、可聴周波数又は光周波数の搬送波)等といった、任意の形態のコンピュータ読取り可能キャリア内で具現化されることも考えられる。従って、本発明の様々な態様は、多くの異なる形態で具現化され得るものであり、そのような全ての形態は、本発明の範囲に含まれることが意図される。
上述の例では、ボード(例えば、ラインカード)は、所与のタイムスロットに対する許可を受信していない場合にのみ、投機的送信を行う資格がある。しかし、1つのタイムスロットに複数のパケットを送信できるような、クロスバーへのリンクの有効容量が外部のリンクの有効容量を超える適用例では、空いている容量を、同じタイムスロットに投機的及び許可された送信を行うために用いることも可能である。
本発明を、特定の実施形態を参照して説明した。しかし、本発明の精神及び範囲を逸脱することなく本発明において様々な変更及び修正がなされ得ることは当業者には自明である。従って、本発明のそのような変更が、添付の請求項の範囲及びその均等物の範囲内である限りにおいて、本発明は、それらの変更をも包含することが意図される。
仮想出力バッファリングを含む従来のシステムの高レベルの概要を示す図。 ラインカード対スイッチ(LCS)プロトコルを用いる最適化されていない従来のシステムを示す図。 本発明による例示的なシステムを示す図。 本発明の一例による入力バッファ部を示す図。 本発明によるラインカードの出力バッファ部の一例を示す図。 本発明によるラインカードの出力バッファ部の別の例を示す図。 図6aに示されている出力バッファのより詳細な例を示す図。 本発明による例示的なアービター部を模式的に示す図。 本発明による別の例示的なシステムを示す図。
符号の説明
301 データリンク
302 ラインカード
303 データリンク
304 制御チャネル
306 クロスバー(ルーティング構造)
307 アービター
310 スイッチコア
312 構成リンク
321 入力バッファ部
322 出力バッファ部
410 入力デマルチプレクサ
411 仮想出力キュー(VOQ)
412 再送(RTX)キュー
413 デマルチプレクサ
414 マルチプレクサ
415 出力マルチプレクサ
416 制御部

Claims (4)

  1. 計画的調停を用いて又は用いずに、ルーティング構造の複数の入力から複数の出力にデータパケットを送信する方法であって、
    前記計画的調停の結果が存在する場合に、該計画的調停の結果に従って少なくとも1つのデータパケットを送信する工程と、
    前記計画的調停の結果が存在しない場合に、
    投機的に送信するデータパケットを選択する工程と、
    前記選択されたデータパケットの出力識別子を含む投機的要求を発行することと、前記選択されたデータパケットを前記ルーティング構造に送信することとを同時に行う工程と、
    各タイムスロットについて、前記計画的調停の結果に従って、前記ルーティング構造の前記入力を前記出力にマッチングさせる工程と、
    前記マッチングされた入力及び出力が前記ルーティング構造に適用されるタイムスロットにおいて、マッチングされていない各出力に対し、発行された前記投機的要求が存在すれば、1つの該投機的要求を選択ポリシーに従って選択する工程と、
    各勝ち抜いた投機的要求に対する入力対出力マッピングを、前記ルーティング構造に適用される現在の前記計画的調停の結果に追加する工程と
    を備えることを特徴とする送信方法。
  2. 前記選択されたデータパケットを格納し、該格納されたデータパケットに対する応答又は許可が受信されるまで該データパケットを格納する工程を更に備えることを特徴とする請求項1記載の方法。
  3. 各前記勝ち抜いた選択された投機的要求に対応する応答を返す工程を備えることを特徴とする請求項1記載の方法。
  4. 前記投機的に発行された要求が他の要求を抑えて決定されると、前記投機的に発行されたデータパケットの到着と同期して、前記ルーティング構造に発行される送信許可の送信が、前記ルーティング構造のスイッチ状態が前記ルーティング構造を通る前記データパケットの通過を妨げないように設定されるよう行われることを特徴とする請求項1記載の方法。
JP2008541283A 2005-11-14 2006-11-14 相互接続の待ち時間を低減するための方法及びシステム Expired - Fee Related JP4796149B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US73677905P 2005-11-14 2005-11-14
US60/736,779 2005-11-14
US11/402,091 2006-04-10
US11/402,091 US8135024B2 (en) 2005-11-14 2006-04-10 Method and system to reduce interconnect latency
PCT/US2006/044213 WO2007120209A2 (en) 2005-11-14 2006-11-14 Method and system to reduce interconnect latency

Publications (2)

Publication Number Publication Date
JP2009516478A JP2009516478A (ja) 2009-04-16
JP4796149B2 true JP4796149B2 (ja) 2011-10-19

Family

ID=38040753

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008541283A Expired - Fee Related JP4796149B2 (ja) 2005-11-14 2006-11-14 相互接続の待ち時間を低減するための方法及びシステム

Country Status (7)

Country Link
US (1) US8135024B2 (ja)
EP (1) EP1949622B1 (ja)
JP (1) JP4796149B2 (ja)
KR (1) KR20080077189A (ja)
CN (1) CN101341698B (ja)
DE (1) DE602006013180D1 (ja)
WO (1) WO2007120209A2 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1338125A2 (en) * 2000-11-03 2003-08-27 AT & T Corp. Tiered contention multiple access (tcma): a method for priority-based shared channel access
US7027462B2 (en) * 2001-01-02 2006-04-11 At&T Corp. Random medium access methods with backoff adaptation to traffic
US7277413B2 (en) 2001-07-05 2007-10-02 At & T Corp. Hybrid coordination function (HCF) access through tiered contention and overlapped wireless cell mitigation
US7136361B2 (en) 2001-07-05 2006-11-14 At&T Corp. Hybrid coordination function (HCF) access through tiered contention and overlapped wireless cell mitigation
US7245604B2 (en) 2001-11-02 2007-07-17 At&T Corp. Fixed deterministic post-backoff for cyclic prioritized multiple access (CPMA) contention-free sessions
US7248600B2 (en) 2001-11-02 2007-07-24 At&T Corp. ‘Shield’: protecting high priority channel access attempts in overlapped wireless cells
US7245605B2 (en) 2001-11-02 2007-07-17 At&T Corp. Preemptive packet for maintaining contiguity in cyclic prioritized multiple access (CPMA) contention-free sessions
US20070201497A1 (en) * 2006-02-27 2007-08-30 International Business Machines Corporation Method and system for high-concurrency and reduced latency queue processing in networks
US8228930B1 (en) * 2006-06-02 2012-07-24 The Board Of Trustees Of The Leland Stanford Junior University Interconnection network router arrangements and methods therefor
US7916731B2 (en) * 2006-11-30 2011-03-29 Broadcom Corporation Method and system for efficient rapid loss detection in a bonding system
KR101387257B1 (ko) * 2007-11-22 2014-04-21 삼성전자주식회사 무선통신망에서 음성패킷을 전송하기 위한 장치 및 방법
US9430297B2 (en) * 2008-12-15 2016-08-30 International Business Machines Corporation Load balancing of adapters on a multi-adapter node
EP2377326B1 (en) * 2008-12-22 2012-10-10 Telefonaktiebolaget L M Ericsson (PUBL) Configuring synchronous optical switches
US7965705B2 (en) * 2009-03-19 2011-06-21 Oracle America, Inc. Fast and fair arbitration on a data link
US8670454B2 (en) * 2009-03-26 2014-03-11 Oracle America, Inc. Dynamic assignment of data to switch-ingress buffers
US8675494B2 (en) * 2009-12-04 2014-03-18 Brocade Communications Systems, Inc. Conflict identification in label switched services
US9137166B2 (en) * 2010-01-28 2015-09-15 Brocade Communications Systems, Inc. In-order traffic aggregation with reduced buffer usage
US8346988B2 (en) 2010-05-25 2013-01-01 International Business Machines Corporation Techniques for dynamically sharing a fabric to facilitate off-chip communication for multiple on-chip units
US8359417B2 (en) * 2010-07-16 2013-01-22 Miranda Technologies Inc. Audio/video router
JP4880802B1 (ja) * 2010-09-03 2012-02-22 パナソニック株式会社 中継装置
US9253248B2 (en) * 2010-11-15 2016-02-02 Interactic Holdings, Llc Parallel information system utilizing flow control and virtual channels
US8520529B2 (en) * 2011-09-15 2013-08-27 Ixia Reordering network traffic
US9002931B2 (en) * 2011-09-23 2015-04-07 Real-Scan, Inc. High-speed low-latency method for streaming real-time interactive images
JP5867160B2 (ja) * 2012-02-28 2016-02-24 富士通株式会社 通信制御装置、通信制御方法および通信制御プログラム
CN104641609B (zh) * 2012-09-10 2018-03-09 马维尔国际贸易有限公司 用于在线路卡的接口控制模块之间传送分组的方法和装置
US8984206B2 (en) 2012-10-31 2015-03-17 International Business Machines Corporation Weightage-based scheduling for hierarchical switching fabrics
US8902899B2 (en) * 2013-02-08 2014-12-02 International Business Machines Corporation Input buffered switching device including bypass logic
WO2014203029A1 (en) * 2013-06-17 2014-12-24 Freescale Semiconductor, Inc. Efficient scheduling in asynchronous contention-based system
US9419887B1 (en) 2013-06-19 2016-08-16 Google Inc. Minimum latency routing
US9166886B1 (en) 2013-06-19 2015-10-20 Google Inc. Systems and methods for determining physical network topology
US9843906B2 (en) * 2013-08-13 2017-12-12 Motorola Solutions, Inc. Apparatus and method for retrieving group messages
US9336169B2 (en) 2013-10-02 2016-05-10 International Business Machines Corporation Facilitating resource use in multicycle arbitration for single cycle data transfer
US9288157B2 (en) * 2013-10-15 2016-03-15 National Instruments Corporation Time-sensitive switch for scheduled data egress
JP5821986B2 (ja) * 2014-03-07 2015-11-24 Nttエレクトロニクス株式会社 パケット受信装置
US9467396B2 (en) 2014-04-11 2016-10-11 International Business Machines Corporation Simultaneous transfers from a single input link to multiple output links with a timesliced crossbar
US9860615B2 (en) * 2015-05-14 2018-01-02 Huawei Technologies Co., Ltd. System and method for photonic switching
US11379208B2 (en) * 2015-07-30 2022-07-05 Hewlett Packard Enterprise Development Lp Firmware update of an interconnect device
CN107689923B (zh) * 2016-08-04 2021-02-12 华为技术有限公司 报文处理方法及路由器
US11502932B2 (en) 2019-05-17 2022-11-15 Keysight Technologies, Inc. Indirect testing using impairment rules
US11876790B2 (en) * 2020-01-21 2024-01-16 The Boeing Company Authenticating computing devices based on a dynamic port punching sequence
US11265269B2 (en) * 2020-03-02 2022-03-01 Arista Networks, Inc. Networking system having multiple components with multiple loci of control
CN111416630A (zh) * 2020-03-05 2020-07-14 烽火通信科技股份有限公司 一种编译码方法及系统
US11720404B2 (en) 2020-07-16 2023-08-08 Samsung Electronics Co., Ltd. Systems and methods for arbitrating access to a shared resource
US12032506B2 (en) * 2022-03-30 2024-07-09 Arm Limited Multi-processor arrangement with point of serialization for broadcast communications
US12001369B2 (en) 2022-03-30 2024-06-04 Arm Limited Broadcast regions for multi-processor arrangement

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5500858A (en) 1994-12-20 1996-03-19 The Regents Of The University Of California Method and apparatus for scheduling cells in an input-queued switch
US6647019B1 (en) 1998-04-29 2003-11-11 Pmc-Sierra, Inc. Packet-switch system
GB0013571D0 (en) * 2000-06-06 2000-07-26 Power X Limited Switching system
EP1293103A1 (en) 2000-06-06 2003-03-19 Accelight Networks Canada, Inc. A multiservice optical switch
JP3567878B2 (ja) * 2000-10-02 2004-09-22 日本電気株式会社 パケット交換装置
US20040136334A1 (en) * 2001-06-15 2004-07-15 Gilat Satellite Networks, Ltd. Efficient access in satellite communication system
US6920106B1 (en) * 2001-09-07 2005-07-19 Agilent Technologies, Inc. Speculative loading of buffers within a port of a network device
JP3914771B2 (ja) * 2002-01-09 2007-05-16 株式会社日立製作所 パケット通信装置及びパケットデータ転送制御方法
US7352741B2 (en) * 2002-02-21 2008-04-01 Sun Microsystems, Inc. Method and apparatus for speculative arbitration
US7240165B2 (en) * 2004-01-15 2007-07-03 Hewlett-Packard Development Company, L.P. System and method for providing parallel data requests
US7486687B2 (en) 2004-02-27 2009-02-03 International Business Machines Corporation Method and allocation device for allocating pending requests for data packet transmission at a number of inputs to a number of outputs of a packet switching device in successive time slots
US7688816B2 (en) * 2004-03-15 2010-03-30 Jinsoo Park Maintaining packet sequence using cell flow control

Also Published As

Publication number Publication date
KR20080077189A (ko) 2008-08-21
JP2009516478A (ja) 2009-04-16
EP1949622A2 (en) 2008-07-30
US8135024B2 (en) 2012-03-13
CN101341698B (zh) 2011-07-06
CN101341698A (zh) 2009-01-07
WO2007120209A3 (en) 2008-03-06
EP1949622B1 (en) 2010-03-24
WO2007120209A2 (en) 2007-10-25
DE602006013180D1 (de) 2010-05-06
US20070110087A1 (en) 2007-05-17

Similar Documents

Publication Publication Date Title
JP4796149B2 (ja) 相互接続の待ち時間を低減するための方法及びシステム
US10182021B2 (en) Crossbar switch and recursive scheduling
US7724733B2 (en) Interconnecting network for switching data packets and method for switching data packets
JP2888376B2 (ja) 複数トラヒック・クラス用の交換装置
US6856622B1 (en) Multicast cell scheduling protocol
EP0981878B1 (en) Fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch
EP1779607B1 (en) Network interconnect crosspoint switching architecture and method
US7792118B2 (en) Switch module memory structure and per-destination queue flow control for use in a switch
US7023841B2 (en) Three-stage switch fabric with buffered crossbar devices
US6876663B2 (en) Switching system
JP4995101B2 (ja) 共有リソースへのアクセスを制御する方法及びシステム
US20020075883A1 (en) Three-stage switch fabric with input device features
JPH10164096A (ja) マルチキャスト・パケット・アクセス調停方法
US20050053077A1 (en) System and method for collapsing VOQ'S of a packet switch fabric
JPH10190710A (ja) アクセス調停方法
US7391787B1 (en) System and method for opportunistic request-grant switching
US20050281282A1 (en) Internal messaging within a switch
US7023865B2 (en) Packet switch
Iliadis et al. Performance of a speculative transmission scheme for scheduling-latency reduction
Minkenberg et al. Speculative flow control for high-radix datacenter interconnect routers
EP2169883B1 (en) Asynchronous flow control and scheduling method
JPH11510327A (ja) 非同期転送モードベースドサービス統合交換機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090717

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101221

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110322

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110329

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110421

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110428

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110523

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees