JP2009516478A - Method and system for reducing interconnect latency - Google Patents
Method and system for reducing interconnect latency Download PDFInfo
- Publication number
- JP2009516478A JP2009516478A JP2008541283A JP2008541283A JP2009516478A JP 2009516478 A JP2009516478 A JP 2009516478A JP 2008541283 A JP2008541283 A JP 2008541283A JP 2008541283 A JP2008541283 A JP 2008541283A JP 2009516478 A JP2009516478 A JP 2009516478A
- Authority
- JP
- Japan
- Prior art keywords
- arbitration
- output
- packet
- speculative
- request
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000005540 biological transmission Effects 0.000 claims abstract description 65
- 239000000872 buffer Substances 0.000 claims description 68
- 230000004044 response Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims 1
- 230000001360 synchronised effect Effects 0.000 claims 1
- 230000003287 optical effect Effects 0.000 description 14
- 230000008901 benefit Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 5
- 238000012163 sequencing technique Methods 0.000 description 5
- 241001522296 Erithacus rubecula Species 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 230000002457 bidirectional effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/62—Wavelength based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/58—Changing or combining different scheduling modes, e.g. multimode scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/407—Bus networks with decentralised control
- H04L12/417—Bus networks with decentralised control with deterministic access, e.g. token passing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3027—Output queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
- H04L49/505—Corrective measures
- H04L49/508—Head of Line Blocking Avoidance
Abstract
調停待ち時間を低減するための方法及びシステムは、事前の調停を行わずに、ルーティング構造の計画的調停と組み合わせて、投機的送信(STX)を用いる。パケットは、発信元位置からルーティング構造に計画的調停を介して送信されると共に投機的調停を介しても送信され、ルーティング構造の事前に予約されていない出力を、投機的に伝送されたパケットに、衝突が生じないように割り当てる。 Methods and systems for reducing arbitration latency use speculative transmission (STX) in combination with planned arbitration of the routing structure without prior arbitration. Packets are sent from the origin location to the routing structure via planned arbitration and also via speculative arbitration, and the pre-reserved output of the routing structure is sent to the speculatively transmitted packet. Assign them to avoid collisions.
Description
本願は、2005年11月14日に出願された「相互接続の待ち時間を低減するための方法及びシステム(METHOD AND SYSTEM TO REDUCE INTERCONNECT LATENCY)」という名称の米国特許仮出願第60/736,779号による優先権を主張する。 This application is a US patent provisional application 60 / 736,779 entitled “METHOD AND SYSTEM TO REDUCE INTERCONNECT LATENCY” filed on November 14, 2005. Claim priority by issue.
本発明はパケットスイッチングの分野に関し、具体的には、特にコンピュータ相互接続ネットワークに適用性を有する、入力キューイングを伴うパケットスイッチングアーキテクチャの分野に関する。 The present invention relates to the field of packet switching, and in particular to the field of packet switching architecture with input queuing, which is particularly applicable to computer interconnect networks.
本発明は、DOE/NNSAより与えられた契約番号W−7405−ENG48の下、米国政府の支援を受けてなされたものである。米国政府は本発明に一定の権利を有する。 This invention was made with support from the US government under contract number W-7405-ENG48 awarded by DOE / NNSA. The US government has certain rights in this invention.
伝送技術並びに通信及び計算の並列処理の進歩により、情報データの転送に利用可能な帯域幅の限界が高まり続けている。例えば、波長分割多重(WDM)や高密度WDM(DWDM)等といった進歩により、単一のファイバ上に多数のチャネルを多重化することで、利用可能な帯域幅が非常に増加する。個々のチャネルは、光キャリア(OC−x)速度OC−48(2.5Gb/秒)、OC−192(10Gb/秒)、又はOC−768(40Gb/秒)で動作する。最新のDWDM技術を用いれば、単一のファイバで、5テラビット/秒を超えるデータを搬送可能である。 Advances in transmission technology and parallel processing of communications and computations continue to increase the bandwidth available for transferring information data. For example, advances such as wavelength division multiplexing (WDM), high density WDM (DWDM), etc., greatly increase the available bandwidth by multiplexing multiple channels on a single fiber. Individual channels operate at optical carrier (OC-x) speeds OC-48 (2.5 Gb / sec), OC-192 (10 Gb / sec), or OC-768 (40 Gb / sec). Using the latest DWDM technology, data exceeding 5 terabits / second can be carried by a single fiber.
同時に、そのような進歩によって提供されるますますの高速化と、入手可能なスイッチがスイッチング可能な速度とのギャップが広がっている。光スイッチは、自由区間を通したルーティング、長い距離にわたる最小限の信号減衰、並びに、光学領域から電気領域への及び電気領域から光学領域への変換をなくす等といった、理論的な長所を提供するが、現在の全光学型のスイッチは、比較的動作が遅いか、又は非常に高価である。更に、情報の光ストレージは非常に面倒であり、しばしば実用的でない。この光スイッチングの短所が克服されるまでは、パケットスイッチング方式では、電気的なスイッチが主要な役割を果たし続けるであろう。 At the same time, the gap between the ever-increasing speed offered by such advances and the speed at which available switches can be switched is widening. Optical switches offer theoretical advantages such as routing through free sections, minimal signal attenuation over long distances, and elimination of optical to electrical and electrical to optical domain conversions, etc. However, current all-optical switches are relatively slow or very expensive. Furthermore, optical storage of information is very cumbersome and often impractical. Until this shortcoming of optical switching is overcome, electrical switches will continue to play a major role in packet switching schemes.
ボードの相互接続には、バックプレーンスイッチ、より一般的にはルーティング構造を用いるのが一般的である。ネットワーキングシステムでは、これらのボードはラインカードと呼ばれ、コンピューティング及びストレージにおいては、これらはしばしばアダプタやブレードと呼ばれる。電気通信交換器、マルチサービス・プロビジョニング・プラットホーム、アド/ドロップマルチプレクサ、デジタル交差接続、ストレージスイッチ、ルータ、大企業規模スイッチ、埋め込みプラットフォーム、マルチプロセッサシステム及びブレードサーバ等の広範囲のシステムが、バックプレーンを用いてボードを接続している。 Backplane switches, more generally routing structures, are commonly used for board interconnection. In networking systems, these boards are called line cards, and in computing and storage, they are often called adapters or blades. A wide range of systems including telecommunications switches, multiservice provisioning platforms, add / drop multiplexers, digital cross-connects, storage switches, routers, large enterprise switches, embedded platforms, multiprocessor systems and blade servers Connect the board using.
発信元から宛先に相互接続システムを介して情報データが伝送される際には、情報はまず、複数のデータパケットに分割されることが多い。一般的に、各データパケットはヘッダー部、ペイロード部及び最後尾部を含み、更により小さい単位に分割される。データパケットは、他の発信元から発信された他のデータパケットと同時に、ルーティング構造を介してスイッチングされる。並列コンピュータ、インターネットルータ、S(t)ANネットワーク、非対称転送モード(ATM)ネットワーク、及び特に光ネットワークの相互接続に用いられるものを含む現在の多くのパケットスイッチシステムは、入力キューイング構成を用いており、各ラインカードの出力毎にソートされたキュー(しばしば仮想出力キューイング(VOQ)と呼ばれるこのような構成は、FIFOキューの使用に特有の行頭ブロッキングを解消する)、クロスバールーティング構造、並びに、スイッチングリソースの割り当て及びキュー間の調停を行う中央集中型スケジューラ(例えば、アービター又は調停部)を含む。 When information data is transmitted from a source to a destination via an interconnection system, information is often first divided into a plurality of data packets. In general, each data packet includes a header part, a payload part, and a tail part, and is further divided into smaller units. Data packets are switched through the routing structure simultaneously with other data packets originating from other sources. Many current packet switch systems, including those used for interconnecting parallel computers, Internet routers, S (t) AN networks, asymmetric transfer mode (ATM) networks, and optical networks in particular, use input queuing configurations. Queues sorted for each line card output (such a configuration, often referred to as virtual output queuing (VOQ) eliminates the head-of-line blocking inherent in the use of FIFO queues), crossbar routing structures, and A centralized scheduler (e.g., arbiter or arbitrator) that allocates switching resources and arbitrates between queues.
図1は、VOQアーキテクチャを用いた従来のスイッチング構成を示す。図1の構成では、個々のラインカード102のN個のデータリンク2a1〜2aNの各々からデータパケット(例えば、セル、フレーム又はデータグラム)が受信される。データパケットは、ルーティング構造106(N×Nクロスバーとして示されている)の各出力31〜3N毎に、マルチプレクサ105aを介して、N個のバッファグループ121のN個のバッファの1つにソートされる。即ち、各入力ラインカード102では、各出力31〜3Nに対して個別のキューが維持され、その結果、ルーティング構造106の入力側ではN2個のVOQが生じる。ルータ構造106の同じ出力を求めるデータパケット間の競争を管理し、入力を出力にマッチさせるためのアービター107が設けられている。アービター107は、制御パス108、109に沿って各ラインカードと通信し、制御パス112に沿ってルーティング構造106にスイッチング構成を提供する。アービター107は、物理的にルーティング構造106の近くに位置するのが一般的である。
FIG. 1 shows a conventional switching configuration using a VOQ architecture. In the configuration of FIG. 1, data packets (eg, cells, frames, or datagrams) are received from each of the N
アービター107は、バッファグループ121の各バッファで待機しているパケットに、衝突が生じないように入力ポート及び出力ポートを割り当てることを含む処理を行う。これらの処理は、割り当て及び調停を含む。割り当ては、最多で1つの出力リソースへの出力に対して、各バッファグループ121から最多で1つのパケットが選択されるように、ルーティング構造106の入力2b1〜2bNと出力31〜3Nとの間のマッチングを決定する。調停は、単一の各出力リソース31〜3Nに対する複数の要求を解決し、これらの出力の1つを1グループの要求者の1つに割り当てる。図1の従来の構成では、アービター107は、制御パス108上でラインカード102からのスイッチアクセス要求を受信する。アービター107は、受信した要求及び適切なマッチングアルゴリズムに基づいてマッチングを計算し、多くのタイムスロットの各々において、入力2b1〜2bNのどれに、どの出力へのデータパケットの転送を許可するかを決定する。アクセスを勝ち得た(即ち、アクセスを許可された)各ラインカード102には、制御パス109に沿って、特定のタイムスロット又はスイッチングサイクルにおける指定された出力へのパケット等のデータ単位の送信が許可されたことをそのラインカード102に知らせる制御メッセージが送信される。そのタイムスロットの間に、アービター107は、計算したスイッチング構成をルーティング構造106に送信し、勝ち抜いた各ラインカード102は、そのバッファグループ121内のキューから一単位のデータパケットをデマルチプレクサ105bを介して放出し、そのデータ単位を2b1〜2bNのいずれかの対応する入力に沿ってルーティング構造106に伝送する。次に、各データパケットは、ルーティング構造106を介して、アービター107によって構成されたパスに沿って、出力31〜3Nのうちの要求された1つへと伝送される。
The arbiter 107 performs processing including assigning an input port and an output port to a packet waiting in each buffer of the
図面からわかるように、このような入力キューイングシステムには、ラインカードからアービターへの制御情報の流れ(例えば要求)とラインカードに戻る制御情報の流れ(例えば許可)を含む制御パスと、入力ラインカードからクロスバーを介して出力ラインカードに至るデータパケットの流れを含むデータパスとの、2つの基本的な通信パスが存在する。 As can be seen from the drawing, such an input queuing system includes a control path including a flow of control information from the line card to the arbiter (eg, request) and a flow of control information back to the line card (eg, permission), and an input. There are two basic communication paths, a data path that includes the flow of data packets from the line card through the crossbar to the output line card.
尚、図1に示されている従来のパケットスイッチング構成は、一方向通信パスのみを有するルーティング構造6を示すものであるが、この一般的な概念は、双方向データ及び制御パスも含む。例えば、図1に示されている各データリンク2b1〜2bN及び個々の出力31〜3Nは、各バッファグループ121と関連付けられたラインカードが入力(ingress)バッファ及び出力(egress)バッファの両方を含むような、双方向リンクとして表わされ得る。この場合には、ラインカード102は、ルーティング構造を用いてデータパケットを伝送するための発信元位置及び宛先位置の両方とみなすことができる。同様に、要求、許可、及びリンク2a1〜2aNも、双方向リンクとして表わされ得る。
Note that the conventional packet switching configuration shown in FIG. 1 shows a routing structure 6 having only one-way communication paths, but this general concept also includes bidirectional data and control paths. For example, each of the
容量の増加と共に、パケットスイッチの物理的なサイズも増加している。同時に、ライン速度は増加しても、パケットサイズはほぼ一定のままであるので、単一のパケット又はセルの持続時間(T=L/B。ここで、Lはビット単位のパケット長であり、Bはビット/秒単位のリンク速度である)は短くなっている。これらの傾向は、パケット時間で測定されるスイッチ内のラウンドトリップ(RT)が、かなり跳ね上がることを直接暗示するものである。中央集中型の調停が行われる入力キューイング型スイッチでは、最小通過待ち時間は(1)アービターに要求を提出して対応する許可が到着するまで待機する待ち時間(アービターへの及びアービターからの飛行時間(time-of-flight)及び調停のための時間を含む)と、(2)シリアル化/逆シリアル化(SerDes)、伝送、及びスイッチを介してパケットを送信するための飛行時間の待ち時間との2つの待ち時間からなるので、この影響は2倍になる。ざっと述べれば、これらの待ち時間は最小でも2・(RT)パケット時間となり、これは、類似のスイッチ(バッファ付きルーティング構造を有するものを除く)の2倍である。 With increasing capacity, the physical size of packet switches has also increased. At the same time, as the line rate increases, the packet size remains approximately constant, so the duration of a single packet or cell (T = L / B, where L is the packet length in bits, B is the link speed in bits / second). These trends directly imply that the round trip (RT) in the switch, measured in packet time, jumps considerably. For input queuing switches with centralized arbitration, the minimum transit latency is (1) the wait time to submit a request to the arbiter and wait until the corresponding permission arrives (flight to and from the arbiter Time (including time-of-flight) and time for arbitration), and (2) serial time / deserialization (SerDes), transmission, and time-of-flight latency to transmit packets through the switch This effect is doubled. Roughly speaking, these latencies are at least 2 · (RT) packet times, which is twice that of similar switches (except those with buffered routing structures).
これらの待ち時間が問題となったのは最近であるので、これまでほとんど注目されていなかった。実際上の好ましい解決法は、入力キュー(一般的にVOQ式に組織される)を有するラインカード等のボードを、ルーティング構造(例えば、クロスバー及びアービターを含むスイッチコア)の物理的に近くに配置することであった。しかし、現在のパッケージ化及び電力の制約により、スイッチコアの近くに多数のラインカードを配置することはできない。その結果、従来の構成では、単にルーティング構造に配置されるラインカードの数を増やすだけでは、より多くの帯域幅を求める増大し続ける要求に対処できない。 Since these wait times have recently become a problem, they have received little attention. A practical preferred solution is to place a board such as a line card with input queues (generally organized in a VOQ style) physically close to the routing structure (eg switch core including crossbar and arbiter). Was to place. However, due to current packaging and power constraints, it is not possible to place a large number of line cards near the switch core. As a result, with conventional configurations, simply increasing the number of line cards placed in the routing structure cannot address the ever-increasing demand for more bandwidth.
特許文献1では、ルーティング構造からラインカードを物理的に分けることにより、ラインカードの数を増やすことで、合計システム帯域幅を増やす試みがなされている。バッファリング及び処理の大半は、物理的に遠隔のラインカード上で実施される。図2Aは、この手法によるシステムを示す。
In
図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)プロトコルを用いて達成される。
As shown in FIG. 2, the system includes a
特許文献1の手法の主な短所は、スイッチポート280で必要なのは、少量、即ち、1回のRTをカバーするのに十分な数のパケットのバッファリングのみであるにも関わらず、ラインカード202及びスイッチポート280の両方がバッファを含むことである。これらのバッファ付きスイッチポートは、コスト、カードスペース、電力、及び待ち時間(例えば、追加のSerDes及びバッファリング)を増加させる。これらはまた、ラインカード202に既に存在する機能性を二重にするものである。
The main disadvantage of the technique of
たとえ特許文献1に記載されている手法を用いても、スイッチポート280とアービターモジュール207との間のラウンドトリップ時間を1セル時間より短くするのは実際上困難である。更に、(ラインカードからスイッチコアまでの長い距離をカバーするための)ラインカードからスイッチコアへの光リンク及び光ルーティング構造を備えるスイッチ構造の具体的なケースでは、光バッファは現在のところ実用的でないか又は経済的に実現可能ではないため、スイッチポート280は、更に、電気的/CMOSチップでのバッファリングのための電気から光への及び光から電気への変換を要する。このような変換回路の追加は、システムのコスト及び複雑さをかなり高めることになる。
Even if the technique described in
非特許文献1に示されている相互接続ネットワークの待ち時間を低減するための別の手法は、「先読み投機(speculation with lookahead)」を含むものである。非特許文献1に記載されているように、ルータのマッチングアービターは、先読み投機を用いて、入力VOQのキューを最初の要素(行頭、即ちHoL)よりも深く調べ、一部のスイッチリソースに、それらの後続のパケットに許可が与えられるという期待(希望)を前もって割り当てる。この手法は、ルータが何らかのマッチング及び設定タスクを並列して行えるようにすることにより、パイプラインのステージ数をできるだけ少なくすることを試みるものである。先読み投機は、キューに加えられて入力VOQ内に存在するパケット及び既に送信要求がなされアービターが直ちに対応できないパケットには利点があるが、検討されるべき送信要求がまだアービターに受信されていないパケット、及び/又は、入力VOQに到着したばかりのパケットの伝送速度を高めることはない。
Another technique for reducing the latency of the interconnect network shown in
更に、先読み投機は、主にアービターのアルゴリズムにおける待ち時間に対処するものであり、通常はこれより大きい送信器からスイッチ構造までの伝送時間の待ち時間には対処しない。本願より前の、内部スイッチの速度増加及び軽いスイッチ負荷に頼って、スイッチのリソースをより多く投機的に割り当てる、二重及び三重の投機的実行の概念(例えば、非特許文献1の317頁を参照)は、ほとんどの適用例で失敗している。従来の厳密な非ブロッキングスイッチ構造の多くのものでは、内部構造が複数の連続したスイッチングステージに内部的に区分されている。二重及び三重の投機的実行では、これらのステージは投機的な負荷に対して増分的に設定される(割り当てられる)。これらの手法では、速度増加が極端又は負荷が軽い場合にのみ投機的実行を行い、多ステージ構造の全体を通る送信を許可することに通常は成功する。負荷が増大すると、この投機的割り当ての手法は、良好に調停された要求に割り当てた方がよいリソースを無駄に予約するため、性能を損なう。
Furthermore, the look-ahead speculation mainly deals with latency in the arbiter algorithm and usually does not deal with latency in transmission time from the larger transmitter to the switch structure. Prior to the present application, the concept of double and triple speculative execution (see page 317 of
更に、上述のシステムの全てには、依然として、ラインカードが出力リソースに対する要求を提出してから許可が到着するまで待たなければならない最初のRT待ち時間の問題がある。 Furthermore, all of the systems described above still have the initial RT latency problem that the line card must wait for a grant to arrive after submitting a request for output resources.
従って、当該技術分野には、相互接続システムのルーティング構造に関連する待ち時間を低減するための、より効率的で、さほど複雑ではなく、低コストの方法の必要性が残っている。
従って、本発明は、関連技術の限界及び欠点に起因する短所や問題の1つ以上を実質的に取り除く方法及び装置の提供を目的とするものである。 Accordingly, it is an object of the present invention to provide a method and apparatus that substantially eliminates one or more of the disadvantages and problems resulting from the limitations and drawbacks of the related art.
本発明は、ルーティング構造を用いるシステムにおいて計画的調停によって生じる全体的な待ち時間を低減する、情報単位を伝送するためのシステム及び方法を含む。この方法は、計画的調停を行って又は行わずに複数の発信元からルーティング構造の複数の入力にデータパケットが送信され、入力パケットを指定されたルーティング構造の出力にスイッチングする、スイッチング構造を含むシステムに特に適している。 The present invention includes systems and methods for transmitting information units that reduce the overall latency caused by planned arbitration in a system that uses a routing structure. The method includes a switching structure in which data packets are transmitted from multiple sources to multiple inputs of a routing structure with or without planned arbitration, and the input packets are switched to the output of a specified routing structure. Especially suitable for the system.
本発明の1つの態様において、1つの方法は、計画的調停の結果が存在する場合には、事前の調停(即ち、計画的調停)の結果に従って、少なくとも1つのデータパケットを送信し、計画的調停の結果が存在しない場合には、投機的に送信するデータパケットを選択する工程を含む。この方法は、選択されたデータパケットの出力識別子を含む投機的要求を発行することと、選択されたパケットをルーティング構造に送信することとを同時に行う工程も含む。 In one aspect of the present invention, a method transmits at least one data packet according to a result of prior arbitration (ie, planned arbitration), if planned arbitration results exist, If there is no arbitration result, the method includes a step of selecting a data packet to be speculatively transmitted. The method also includes simultaneously issuing a speculative request that includes the output identifier of the selected data packet and sending the selected packet to the routing structure.
本発明の別の態様において、計画的(事前の)調停を行って又は行わずに、ルーティング構造の複数の入力から複数の出力にデータパケットを送信するシステムは、事前調停の結果が存在する場合に、計画的調停の結果に従って、少なくとも1つのデータパケットを送信する機構と、計画的調停の結果が存在しない場合に、投機的に送信するデータパケットを選択し、選択されたデータパケットの出力識別子を含む投機的要求を発行することと、選択されたパケットをルーティング構造に送信することとを同時に行う機構とを含む。 In another aspect of the invention, a system for sending data packets from multiple inputs to multiple outputs of a routing structure with or without planned (pre-) arbitration, where pre-arbitration results exist A mechanism for transmitting at least one data packet according to the result of the planned arbitration, and a data packet to be transmitted speculatively when the result of the planned arbitration does not exist, and an output identifier of the selected data packet And a mechanism for simultaneously issuing a speculative request including, and transmitting the selected packet to the routing structure.
本発明の別の態様は、複数の位置間の情報単位の流れを管理するシステムを含む。このシステムは、複数の発信元位置から複数の宛先位置に情報単位を送信するためのスイッチング構造への複数のアクセス要求を受信する複数の入力を含む。このアクセス要求は、計画的調停によるアクセス許可の要求と、計画的調停による許可がない投機的アクセスの要求とを含む。各要求は、関連付けられた情報単位を転送すべき宛先位置の標識も含む。システムは、計画的調停によるアクセス許可の要求のグループ又はサブグループに対する、スイッチング構造のリソースの衝突が生じない割り当てを決定するアービターを含む。システムは、決定がなされたグループがスイッチング構造に次に適用されるべきものである時に、投機的アクセスの要求を受信し、決定された割り当てに基づき受信した投機的要求を許可又は拒否する投機的アービターを含む。 Another aspect of the present invention includes a system for managing the flow of information units between multiple locations. The system includes a plurality of inputs for receiving a plurality of access requests to a switching structure for transmitting information units from a plurality of source locations to a plurality of destination locations. This access request includes a request for access permission by planned arbitration and a request for speculative access without permission by planned arbitration. Each request also includes an indication of the destination location to which the associated information unit should be transferred. The system includes an arbiter that determines assignments to the group or subgroup of permission requests through planned arbitration that do not cause a conflict of switching structure resources. The system receives a request for speculative access when the group in which the decision is made is to be applied next to the switching structure and grants or denies the received speculative request based on the determined assignment. Including arbiter.
本発明の更に別の態様は、最終的に許可が拒否された場合には無駄になる事前割り当て又はスイッチングリソースの予約を必要とせずに、入力キューに到着したばかりのデータパケットの伝送速度の増加を容易にするものである。 Yet another aspect of the present invention is to increase the transmission rate of data packets that have just arrived at the input queue without requiring pre-allocation or reservation of switching resources that would be wasted if the grant was ultimately denied. To make it easier.
本発明の別の態様は、パケットの発信元とルーティング構造との間のラウンドトリップ伝送の量を低減することにより、平均的な待ち時間を低減することを含む。例えば、1つのパケットの投機的送信が成功すると、ルーティング構造を通してパケットを送るために必要な少なくとも1つのラウンドトリップ(即ち、要求の送信から許可を受信するまで)が省かれる。 Another aspect of the present invention includes reducing the average latency by reducing the amount of round trip transmission between the packet source and the routing structure. For example, a successful speculative transmission of a packet eliminates at least one round trip (ie, from sending a request until receiving a grant) required to send the packet through the routing structure.
本発明の更なる態様及び長所は、以下の記載で述べられ、その一部はその記載から自明であり、或いは本発明の実施から分かり得るものである。本発明の態様及び長所は、本願明細書及び特許請求の範囲並びに添付の図面において特に指摘されるシステム及び方法によって実現され達成される。 Additional aspects and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned from the practice of the invention. The aspects and advantages of the present invention will be realized and attained by the system and method particularly pointed out in the written description and claims hereof as well as the appended drawings.
上述の概括的な説明及び以下の詳細な説明は例示的なものに過ぎず、特許請求される本発明を限定するものではないことを理解されたい。 It should be understood that the foregoing general description and the following detailed description are exemplary only and are not restrictive of the invention as claimed.
本発明の更なる理解を提供するために含まれ、本願明細書に組み込まれてその一部を構成する添付の図面は、本発明の原理を記載と共に説明する役割を果たす本発明の例示的な実施形態を示す。 The accompanying drawings, which are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification, are illustrative of the invention that serve to describe and explain the principles of the invention. An embodiment is shown.
以下、本発明の上記態様及び他の態様を、添付の図面に示されている例に関連してより詳細に述べる。 These and other aspects of the invention will now be described in more detail in connection with the examples illustrated in the accompanying drawings.
関連技術に関して上述したように、中央集中型調停構成は高い最大スループットを達成するが、特に低〜中程度の使用率では、調停待ち時間の不利益を招く。本発明は、投機的送信(STX)と呼ぶ新規な種類の投機的実行を用いて、そのような待ち時間に対処する。本願明細書に記載するSTXの概念は、ALOHA及びイーサネットの背後の基本的な概念に関係するものであり、その概念では、事前の調停なしに(即ち、所与の伝送の成功を見越して)パケットがシェアードメディアを介して伝送される。しかし本発明では、調停待ち時間を解消するために、この概念をスイッチドメディアの文脈に適用する。投機的送信のみを用いてパケットスイッチを動作させると、頻繁なパケット衝突が生じ、その結果、中〜高程度の使用率では壊滅的な性能悪化を生じるので、本発明は、投機的送信と調停とを組み合わせて、両方の概念の長所、即ち、高い最大スループットと、低〜中程度の使用率における低い待ち時間とを得る。 As described above with respect to the related art, centralized arbitration configurations achieve high maximum throughput, but at low to moderate usage rates, there is a penalty for arbitration latency. The present invention addresses such latency using a new type of speculative execution called speculative transmission (STX). The STX concept described herein relates to the basic concept behind ALOHA and Ethernet, which does not require prior arbitration (ie, in anticipation of a given transmission success). Packets are transmitted over shared media. However, in the present invention, this concept is applied to the context of switched media in order to eliminate arbitration latency. When operating a packet switch using only speculative transmissions, frequent packet collisions occur, resulting in catastrophic performance degradation at moderate to high usage rates. In combination to obtain the advantages of both concepts: high maximum throughput and low latency at low to moderate utilization.
本発明は、ルーティング構造(ファブリック)の近くに追加のバッファ・ステージを実装せずに、ルーティング構造の調停と組み合わせて、事前の調停を行わずにSTXを用いて、調停待ち時間を低減する。更に、本発明は、パケット持続時間より(遥かに)大きいラウンドトリップに効果的に対処できるような、投機的処理の非常に深いパイプライン化を可能にする。本発明は、スイッチング構造における調停によって生じる平均的な待ち時間を実質的に低減又は解消することにより、全体的な待ち時間を50%又はそれより低く減少させることができる。 The present invention reduces arbitration latency using STX without prior arbitration, in combination with routing structure arbitration, without implementing additional buffer stages near the routing structure (fabric). Furthermore, the present invention allows a very deep pipeline of speculative processing that can effectively deal with round trips that are (much) greater than the packet duration. The present invention can reduce the overall latency by 50% or less by substantially reducing or eliminating the average latency caused by arbitration in the switching structure.
しばしば無駄になるスイッチリソースの事前割り当てを含む従来技術の投機的実行方式とは対照的に、本願明細書で説明するルーティング構造の効率的な非ブロッキング型の単一ステージ送信の性質は、そのようなリソースの事前割り当てを行わない。換言すれば、構造(ファブリック)リソースは実際には投機的に設定されないので、本発明は、スイッチング構造に単一ステージセレクタを実装することにより、スイッチリソースの無駄を回避する。 In contrast to prior art speculative execution schemes that involve pre-allocation of switch resources that are often wasted, the nature of the efficient non-blocking single stage transmission of the routing structure described herein is such Do not pre-allocate resources. In other words, since the structure (fabric) resources are not actually speculatively set, the present invention avoids waste of switch resources by implementing a single stage selector in the switching structure.
本発明は、STX選択ポリシー、衝突、再送、順序が乱れた配信、再シーケンス化、二重配信、再送及び再シーケンス化のウィンドウサイズ決定に関係する問題に対処する。しかし、本発明の任意の特定の適用例に関するスイッチング構造に関係する他の問題及び特殊性も、当業者には容易にわかることを理解されたい。 The present invention addresses issues related to STX selection policy, collisions, retransmissions, out-of-order delivery, resequencing, duplex delivery, resending and resequencing window size determination. However, it should be understood that other problems and particularities related to the switching structure for any particular application of the present invention will be readily apparent to those skilled in the art.
図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を参照して更に詳細に述べる。
FIG. 3 illustrates an exemplary system according to the present invention. As shown in FIG. 3, the system includes N bidirectional full-duplex input /
本発明は、他のタイプのルーティング構造と共に用いられてもよい。しかし、本発明は、クロスバーに基づくスイッチに特に適している。従って、好ましい例を示す目的で、図3に示されているシステムを、クロスバーに基づくスイッチを含むスイッチコアに関連して説明するが、当業者には、本発明が多くのスイッチング構造アーキテクチャに適用可能であることがわかるであろう。 The present invention may be used with other types of routing structures. However, the invention is particularly suitable for switches based on crossbars. Thus, for purposes of illustrating a preferred example, the system shown in FIG. 3 will be described in the context of a switch core that includes a crossbar-based switch, but those skilled in the art will recognize that the present invention has many switching architecture architectures. You will see that it is applicable.
クロスバー型スイッチの特性は、常に、1つの入力は1つの出力のみに接続可能であり、1つの出力は1つの入力のみに接続可能なことである。即ち、スイッチの入力と出力とは一対一でマッチングする。待ち時間及びスループットに関する良好な性能を得るために、マッチングは、一般的に、中央集中型割り当て/調停部によって計算される。更に、割り当て/調停部は、スイッチの1つの出力リソースをめぐる競争を解決する。図3に示されている例示的なシステムでは、アービター307は、これらの割り当て及び調停機能を実行する。図3では、アービター307は単一のユニットとして示されているが、割り当て及び調停機能は、プログラム命令と連動して動作する2つ以上のハードウェア装置及び/又は1つ以上のハードウェア装置によって実行されてもよいことを理解されたい。
A characteristic of a crossbar switch is that one input can always be connected to only one output, and one output can be connected to only one input. That is, the input and output of the switch are matched one to one. In order to obtain good performance in terms of latency and throughput, matching is typically calculated by a centralized assignment / arbiter. Furthermore, the allocation / arbiter resolves the competition for one output resource of the switch. In the exemplary system shown in FIG. 3,
アービター307は、ラインカード302からの出力リソース要求を受信する。要求は、その要求を発信したラインカード302が特定の出力ポートへのパケットの伝送を望んでいることを示す出力ポート識別子を含む。アービター307は、受信した要求に基づき、入力ポートと出力ポートとの適切な一対一マッチングを計算する。これは、二部グラフマッチング問題に相当する。アービター307は、計算されたマッチングに基づき、対応する許可をラインカード302に返す。許可は、この許可を受信したラインカード302が特定の出力ポートにパケットを伝送できることを意味する出力ポート識別子を含む。オプションとして、特定の要求に対して使用可能な出力リソースが無い場合には、アービター307は、拒否された要求に対応する応答を返してもよい。ラインカード302が許可を受信すると、ラインカード302は、入力バッファ部321の対応するVOQから1つのパケットを取り出し、そのパケットをデータリンク303上でクロスバー306に送信する。クロスバー306は、アービター307によって計算され構成リンク312を介して適用された構成(即ち、マッチング)に従って、着信したパケットをデータリンク303にルーティングする。
The
図4は、入力バッファ部321をより詳細に示す図である。入力バッファ部321は、入力デマルチプレクサ410、各出力に対して1つずつ対応する複数の仮想出力キュー(VOQ)411、各出力に対して1つずつ対応する複数の再送(RTX)キュー412、各VOQ411に対して1つずつ対応する複数のデマルチプレクサ413(これらのデマルチプレクサは、実際には、ルーティング機能に加えて複製機能も有する)、各VOQ411に対して1つずつ対応する複数のマルチプレクサ414、出力マルチプレクサ415、及び制御部416を含む。
FIG. 4 is a diagram showing the
動作においては、パケットは、入力バッファ部321に接続された入力データリンク301上で到着し、デマルチプレクサ410は、着信したパケットを、それぞれの宛先(出力ポート)に従って、対応するVOQ411にルーティングする。パケットの到着は、制御部416にも伝えられる。制御部416は、アービター部307に要求を送信し、アービター部307から制御チャネル304を介して許可を受信する。高信頼性配信方式のためにシーケンス番号が必要な場合には、制御部416は、同じ出力を宛先とする後続のパケットに後続のシーケンス番号を割り当てる。計画的調停要求及び投機的要求、並びに許可及び応答は全て、出力識別子を含む。投機的要求、許可及び応答は、更に、シーケンス番号を含み得る。例えば、特定のタイプの高信頼性配信(RD)方法(その一部については後述する)は、計画的調停の結果として伝送されたデータパケット及び投機的に伝送されたデータパケットの各々がシーケンス番号を有することを必要とし得る。
In operation, a packet arrives on the input data link 301 connected to the
このシステムは、2つの送信モード、即ち、調停送信(即ち、計画的調停によって生じる送信)及び投機的送信(STX)を有する。計画的調停送信モードは従来技術で公知である。例えば、ミンケンバーグら(C. Minkenberg et al.),IP.com,2004年6月3日,記事番号IPCOM000028815Dを参照されたい(その全内容をここに参照して組み込む)。本発明は、投機的送信モード及び、計画的調停送信モードと投機的送信モードとの間の相互作用に対応する。これは、計画的調停要求及びそれに対応する許可と、投機的要求及びそれに対応する肯定的及び否定的応答とを区別することによって達成される。 The system has two transmission modes: arbitrated transmission (ie, transmission caused by planned arbitration) and speculative transmission (STX). The planned arbitration transmission mode is known in the prior art. For example, C. Minkenberg et al., IP. com, June 3, 2004, article number IPCOM00000028815D (the entire contents of which are incorporated herein by reference). The present invention addresses speculative transmission mode and the interaction between planned arbitration transmission mode and speculative transmission mode. This is accomplished by distinguishing between planned arbitration requests and corresponding grants and speculative requests and corresponding positive and negative responses.
図4に戻ると、好ましい実施形態において、ラインカード302は、所与のタイムスロットにおける計画的調停送信に対するいかなる許可も受信していない場合にのみ、投機的送信を行う資格がある。許可が受信されていない時は、制御部416は、所与のポリシーに従って、空ではないVOQ411を選択し、そこから、投機的送信のために1つのパケットが取り出される。このポリシーは、例えば、ランダム、ラウンド・ロビン、最も早く到着したセルを優先(OCF:oldest cell first)、最も遅く到着したセルを優先(YCF:youngest cell first)等であり得る。好ましい実施形態では、ポリシーは、待ち時間のゲインが最大になるよう選択される。例えば、最も遅く到着したセルを優先等といった、より新しい到着を優先するポリシーでは、待ち時間のゲインが最大になる傾向がある。
Returning to FIG. 4, in the preferred embodiment, the
選択されたパケットは、マルチプレクサ413を介して再送バッファ412に格納され、マルチプレクサ413、414、415を介してデータリンク303上をクロスバー306に向かって伝送される。同時に、制御部416は、制御リンク304を介してアービター307に、出力識別子を含む対応する投機的送信要求を送信する。パケットを再送バッファ412に格納する目的は、投機的送信が失敗した場合にパケットの再送を可能にするためである。ラインカード302は、許可を求める計画的調停要求と投機的要求とを同時に発行してもよい。好ましい実施形態では、再送キュー412に格納されたパケットは、既に一旦投機的に送信されているので、投機的送信の資格はない。即ち、潜在的な待ち時間の利点が既に失われている可能性が高いので、失敗したSTXパケットを投機的に再送信することには利点はほとんど又は全くない。
The selected packet is stored in the
ラインカード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は、無駄になる許可を受信した任意のタイムスロットにおいて、投機的パケットを送信する資格がある。
If the
以下に説明する本発明の例示的な実施形態では、ラインカード302が応答を受信した場合に、ラインカード302は、応答に含まれるシーケンス番号を有するパケットが、同じく応答に含まれる出力識別子によって示される再送キュー412内に存在するか否かをチェックする。このパケットが存在しない場合には、応答は無視される。このパケットが存在する場合には、本発明の特定の適用例(例えば、高信頼性配信方式を統合した適用例(「高信頼性配信」の節を参照))に応じたアクションがとられる。例えば、選択的再試行(SR:Selective Retry)を用いる例示的な実施形態では、応答されたパケット(存在する場合)は、再送キュー412内のどの位置からも取り出される。別の例示的な実施形態(例えば、Go−Back−N(GBN)、ストップ・アンド・ウェイト(S&W))では、応答されたパケットは、それが再送キュー(GBN)又はVOQ(S&W)の先頭にある場合にのみ取り出される。
In the exemplary embodiment of the invention described below, when the
出力で再シーケンス化を行わない場合
図5は、再シーケンス化が行われない、ラインカード302の出力バッファ部322aの例を示す。バッファ部322aは、ストップ・アンド・ウェイトやGo−Back−N(後述する)等の再シーケンス化を必要としないRD方式と共に用いられ得る。出力バッファ部322aは、エンキュー部521と、出力キュー526と、デキュー部527と、制御部528とを含む。
FIG. 5 shows an example of the
動作においては、パケットは、データリンク303に沿って出力バッファ部322aに到着する。制御部528は、パケットのヘッダーを調べ、エンキュー部521が、そのパケットを出力キュー526に格納すべきか又は落とすべきかを決定する。ストップ・アンド・ウェイト又はGo−Back−NのRD方式が用いられる場合には、パケットは正しい順序でのみ受け入れられる。しかし、たとえストップ・アンド・ウェイトを用いても、二重配信は生じ得るものであり、一方、GBNを用いても、二重配信や順序が乱れた配信が生じ得るものであることを理解されたい。従って、制御部528は、各入力に対する次の期待されるシーケンス番号を維持する。制御部528は、受信したパケットのシーケンス番号が、対応する入力に対する次の期待されるシーケンス番号と等しいか否かをチェックする(例えば、最新の良好に受信したパケットのシーケンス番号+1)。肯定された場合(即ち、期待されるシーケンス番号と受信したシーケンス番号が等しい場合)には、そのパケットは、出力キュー526に加えられる。否定された場合には、そのパケットは、二重配信(例えば、シーケンス番号が低すぎる)又は順序が乱れた配信(例えば、シーケンス番号が高すぎる)であるために落とされる。
In operation, the packet arrives at the
デキュー部527は、出力キュー526にパケットが存在する場合には、出力キュー526からパケットを取り出し、そのパケットを外部のデータリンク301上で伝送する。
When there is a packet in the
出力で再シーケンス化を行う場合
図6aは、ラインカード302の出力バッファ部322bの別の例示的な実施形態を示す。この実施形態は、選択的再試行(SR)等といった、再シーケンス化を必要とするRD方式と共に用いられるべきである。出力バッファ部322bは、デマルチプレクサ621と、デマルチプレクサ622と、各入力に対して1つずつ対応する複数の再シーケンス化(RSQ)キュー623と、マルチプレクサ624と、マルチプレクサ625と、出力キュー626と、デキュー部627と、制御部628とを有する。
When Re-Sequencing with Output FIG. 6 a shows another exemplary embodiment of the
動作においては、出力バッファ部322bは、データリンク303上のパケットを受信する。制御部628は、到着しているパケットが順序通りであるか否か(即ち、そのシーケンス番号が、対応する入力に対する次の期待されるシーケンス番号と等しいか否か)をチェックする。肯定された場合には、そのパケットは、デマルチプレクサ621及びマルチプレクサ625を介してルーティングされ、直接、出力キュー626に加えられ、期待される次のシーケンス番号が増分される。次の期待される番号の値は、選択された特定のタイプのシーケンス化方式によって異なることを理解されたい。例えば、以下に説明する例示的な一実施形態では、パケットのシーケンス番号は、期待される順序の次のパケット毎に1ずつ増分される整数を用いてつけられる。当然ながら、再シーケンス化は、シーケンス順に数が減分される方式、及び/又は、パケットのシーケンス番号が1以外の値で増分若しくは減分される方式等といった、他の多くのシーケンス化方式の任意のものを用いて行われ得る。パケットの順序が乱れて到着した場合(例えば、そのシーケンス番号が、対応する入力に対する次の期待されるシーケンス番号より大きい場合)には、そのパケットは、デマルチプレクサ621及びデマルチプレクサ622を介して、その入力に対応する再シーケンス化キュー623にルーティングされる。従って、再シーケンス化キュー625は、順序が乱れて到着した全てのパケットを格納する。これらのパケットは、先行する全てのパケットが正しく受信された場合にのみ、出力キュー626に進むことが可能である。そのパケットが二重配信である場合(例えば、そのシーケンス番号が、対応する入力に対する次の期待されるシーケンス番号より小さい場合)には、そのパケットは落とされる。再シーケンス化キュー内の二重配信されたパケットは、このポリシーに従って落とされるのではなく、既に格納されている同じパケットに単に上書きされる。
In operation, the
順序通りのパケットが到着すると常に、制御部628は、この順序通りの到着によって、対応する再シーケンス化キュー623からのパケットの取り出しが可能になるか否かをチェックする。肯定された場合には、このようなパケットの1つ以上が再シーケンス化キュー623から取り出され、マルチプレクサ624及びマルチプレクサ625を介してルーティングされ、出力キュー626に加えられると共に、対応する入力に対する次の期待されるシーケンス番号が更新される。
Whenever an in-order packet arrives, the
図6bは、出力バッファ部322bにおける再シーケンス化の例を示す。データリンク301及び特定の入力ラインカード302に対して、シーケンス番号3までを含む全てのパケットが正しく受信されている。更に、5、6及び8の番号のパケットが正しく受信されているが、これらは順序が乱れている。従って、パケット5、6及び8は、データリンク301に対する再シーケンス化キュー623に格納される。次に、パケット4が到着し、これは次の期待されるシーケンス番号に対応するので、直ちに出力キュー626へとルーティングされる。更に、パケット8を除くパケット5及び6が、この時点で再シーケンス化バッファ623から取り出し可能となり、出力キュー626に加えられる。これが完了したら、データリンク301に対する次の期待されるシーケンス番号は7となる。
FIG. 6b shows an example of resequencing in the
デキュー部627は、出力キュー626にパケットが存在すれば、出力キュー626からパケットを取り出し、そのパケットを外部のデータリンク301上で伝送する。
If there is a packet in the
図7は、例示的なアービター部307を模式的に示す図である。アービター部307は、各入力制御リンク304aに対して1つずつ対応する複数の制御メッセージ受信部761と、マッチング部762と、各入力に対して1つずつ対応する複数のマッチング遅延ライン763と、投機的要求調停部764と、各出力制御リンク304bに対して1つずつ対応する複数の制御メッセージ送信部765とを含む。
FIG. 7 is a diagram schematically illustrating an
図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は、クロスバーの構成設定を対応するパケットの到着と同期させるために、マッチングを所定の時間だけ遅延させる。実際には、この遅延はラウンドトリップ時間と等しい。ラウンドトリップ時間とは、許可がラインカードまで伝わるのにかかる時間と、パケットがクロスバーまで伝わるのにかかる時間(シリアル化及び逆シリアル化遅延、伝送遅延、並びに飛行時間を含む)とを加え、これから、構成情報をルーティング構造に送りそれに従ってルーティング構造を構成するのにかかる時間を差し引いた時間である。
As shown in FIG. 7, the
投機的要求調停部764は、クロスバーに適用されるべき計画的調停送信要求の現在のマッチングと現在の投機的要求とを入力として受信する。投機的要求調停部764は、現在のマッチングで既にマッチングが決定している出力に対応する全ての投機的要求を拒否する。即ち、高い最大スループットを確保するために、計画的調停送信は常に投機的送信よりも優先して行われる。少なくとも1つの投機的要求がきていてマッチングが未決定の各出力に対して、投機的要求調停部764は、何らかのポリシー(例えば、ラウンド・ロビン)に従って、許可を与えるものを選択し、他の全てのものを拒否する。投機的要求調停部764は、成功した各投機的送信要求に対応する応答(ACK)を、その要求を送信した入力に対応する制御メッセージ送信部765に送信する。オプションとして、投機的要求調停部764は、拒否された各投機的送信要求に対応する否定的な応答(NAK)を送信する。成功した投機的送信要求はマッチングに加えられ、その結果がクロスバー構成リンク312を介してクロスバーに適用される。
The speculative
各制御メッセージ送信部765は、対応するラインカード302に対する制御メッセージをアセンブルし、その制御メッセージを、制御リンク304bを介してラインカード302に送信する。制御メッセージは、調停による新たな許可(存在する場合)及び成功した投機的送信(存在する場合)に関する応答を含み得る。
Each control
一般的に、投機的送信を使用すると、飛行中の投機的パケットがシーケンスから外れるため、出力バッファ部322に到着するパケットの順序の乱れが生じ得る。衝突によって1つ以上のパケットが失われることもあり得る。従って、具体的なRD方式によっては、出力バッファ部322は、シーケンスチェック及び/又は再シーケンス化を行う必要があり得る。
In general, when speculative transmission is used, in-flight speculative packets are out of sequence, which may cause out-of-order packets to arrive at the
高信頼性配信
STX動作モードでは、投機的調停によって送信されたパケットが、他の投機的パケットや計画的調停によって送信されたパケットと衝突し得る。衝突が生じた場合には、1つ以上のパケットが落とされなければならず、その結果、たとえ誤差が無い場合でも、損失の多いスイッチング処理となる。信頼性が高く、正しく、各単一のコピーが順序通りに届く配信を確実にするために、更なる対策をとることができる。例えば、本発明は、システムの信頼性を高めるために、多くの高信頼性配信(RD)方式と統合され得る。一般的に、このような方式は、受信側が特定のパケットを正しく受信したことを示す応答(ACK)が受信されるまで、パケットを送信側に格納しておくことによって行われる。再送は、一般的に、タイムアウトによって暗示的に又は否定的な応答(NAK)によって明示的にトリガされる。具体的な実装例によっては、特定のパケットを識別するためのシーケンス番号が必要となるか、それに加えて/又は、出力に、正しいパケット順を復元するための再シーケンス化バッファが必要となる。
Reliable delivery In the STX mode of operation, packets transmitted by speculative arbitration may collide with other speculative packets or packets transmitted by planned arbitration. If a collision occurs, one or more packets must be dropped, resulting in a lossy switching process even if there are no errors. Further measures can be taken to ensure reliable, correct delivery of each single copy in order. For example, the present invention can be integrated with many reliable delivery (RD) schemes to increase the reliability of the system. In general, such a method is performed by storing a packet on the transmission side until a response (ACK) indicating that the reception side has correctly received a specific packet is received. Retransmissions are typically triggered either implicitly by a timeout or explicitly by a negative response (NAK). Depending on the specific implementation, a sequence number may be required to identify a particular packet, and / or in addition, a resequencing buffer may be required at the output to restore the correct packet order.
例えば、投機的送信の存在下でも信頼性の高い順序通りの配信を強化するために、計画的調停と組み合わせたSTX調停を、公知のストップ・アンド・ウェイト(S&W)、Go−Back−N(GBN)、及び選択的再試行(SR)RD方式と統合してもよい。以下、これらの例示的な方式を説明する。 For example, in order to enhance reliable and in-order delivery even in the presence of speculative transmissions, STX arbitration combined with planned arbitration is replaced with known stop-and-wait (S & W), Go-Back-N ( GBN) and selective retry (SR) RD schemes. These exemplary schemes are described below.
ストップ・アンド・ウェイト
ストップ・アンド・ウェイト(S&W)の場合には、任意の所与の時間に、各入力において、1つの出力につき1つの未応答パケットのみが未解決であることが許される。この入力−出力ペアに対する次のパケットは、対応する出力に関する許可が入力に到着した場合、又は、対応する応答が到着した場合にのみ送信できる。この場合には、パケット、投機的送信要求及び応答は、二重配信の検出を可能にする標識(例えば、1ビットのシーケンス番号)を有する。例えば、出力バッファ部は、シーケンス番号をチェックすることができ(例えば、順序が正しいシーケンス番号は交互にならなければならない)、OKである場合(即ち、順序が正しい場合)には、そのパケットをキューに加え、そうでない場合には、そのパケットを落とす。例えば図5は、再シーケンス化なしで実装された出力バッファ部322aを示す。
Stop and Wait In the case of Stop and Wait (S & W), at any given time, only one unacknowledged packet per output is allowed outstanding at each input. The next packet for this input-output pair can only be sent if permission for the corresponding output arrives at the input or when the corresponding response arrives. In this case, the packet, speculative transmission request, and response have an indicator (eg, a 1-bit sequence number) that allows detection of dual delivery. For example, the output buffer can check the sequence number (eg, the sequence numbers with the correct order must alternate) and if OK (ie, the order is correct) Add to queue, otherwise drop the packet. For example, FIG. 5 shows an
S&Wは実装が簡単で、間接経費が低い。例えば、応答又は許可されるまで、パケットはVOQの行頭に留まることでできるので、別個のRTXキューを物理的に実装する必要がない。しかし、投機的送信はパイプライン化できないので、ラウンドトリップ時間が1パケット時間より大きい場合には、期待される待ち時間の改善は低くなる。これは、トラフィックがバーストしている場合には、特に不利益となり得る。 S & W is easy to implement and has low overhead. For example, a packet can remain at the beginning of a VOQ until it is answered or granted, so there is no need to physically implement a separate RTX queue. However, speculative transmission cannot be pipelined, so if the round trip time is greater than one packet time, the expected latency improvement is low. This can be particularly detrimental when traffic is bursting.
Go−Back−N
Go−Back−N(GBN)の場合には、任意の所与の時間に、各入力において、1つの出力につき所定の最大数のパケットが未応答であることが許される。この数は、再送キュー412の最大許容長によって異なる。GBNでは、出力バッファ部は、例えば、図5の出力バッファ部322aに従って、再シーケンス化なしで実装可能である。しかし、パケットは正しい順序である場合にのみ受け入れられるので、上述のシーケンスチェックが必要である。即ち、順序が乱れたパケットは全て落とされる。更に、応答も、順序通りである場合にのみ受け入れられる。例えば、ACKが到着すると、入力バッファ部321は、このACKが、対応する再送キュー412の行頭パケットに対応するか否かをチェックする。シーケンス番号が一致し、且つ、同じVOQ411に対する最新の先行する成功した送信が少なくとも1RT前に生じている場合には、そのパケットは良好に配信されているので、そのパケットはキューから取り出されて落とされる。シーケンス番号が一致しない場合には、そのACKは無視される。最新の成功した送信(計画的調停又は投機的調停から生じたパケット送信であり得る)に関するこの付加的な条件は、成功した投機的送信であっても、その前の投機的送信の失敗の結果、順序が乱れた到着となり、後で出力バッファ322aで落とされ得るという、生じ得るシナリオに対処するために必要である。この場合には、ACKは誤検出となる。
Go-Back-N
In the case of Go-Back-N (GBN), a predetermined maximum number of packets per output is allowed to be unanswered at each input at any given time. This number varies depending on the maximum allowable length of the
これは、(パイプライン化された)STX要求シーケンスの最初のものが失敗すると、対応するACKシーケンス中にギャップが生じ、失敗したパケットが良好に配信されるまで、全ての後続のACKが無視されなければならないことを意味する。その結果、ACKが欠けている場合には、RTXキュー内の全てのパケットを再送しなければならず、それゆえ、Go−Back−Nと呼ばれる。新たなSTX要求は、RTXキューが一杯でない場合にのみ発行可能である。 This is because if the first of the (pipelined) STX request sequence fails, there will be a gap in the corresponding ACK sequence and all subsequent ACKs will be ignored until the failed packet is successfully delivered. It means you have to. As a result, if the ACK is missing, all packets in the RTX queue must be retransmitted and are therefore referred to as Go-Back-N. A new STX request can only be issued if the RTX queue is not full.
GBNは、S&Wよりも実装が複雑である。この複雑さは、部分的には、RTXキューが先入れ先出し(FIFO)構成を有することから生じている。余計にかかる間接経費としては、パケット、STX要求及び応答のシーケンス番号が長いことが含まれ得る。入力バッファも、異なる方法で実装され得る(例えば、シフトレジスタRTXキューと付加的なNAKキュー)。 GBN is more complex to implement than S & W. This complexity arises in part from the fact that the RTX queue has a first-in first-out (FIFO) configuration. The extra overhead may include long packet, STX request and response sequence numbers. Input buffers can also be implemented differently (eg, shift register RTX queue and additional NAK queue).
一方、ラウンドトリップが大きいシステムでは、S&WよりもGBNの使用が適している場合もある。例えば、GBNでは、多くのパケットを立て続けに投機的に送信することが可能であり、これはS&W方式ではできない。 On the other hand, in a system with a large round trip, use of GBN may be more suitable than S & W. For example, in GBN, it is possible to speculatively transmit many packets in succession, which is not possible with the S & W method.
選択的再試行
選択的再試行(SR)では、任意の所与の時間に、各入力において、1つの出力につき所定の最大数のパケットが未応答であることが許される。この数は、再送キュー412の最大許容長及び再シーケンス化キュー623の最大許容長によって異なる。出力バッファ部は、例えば、図6a及び図6bに示されている出力バッファ部322bに従って実装され得るものであり、これは、上述のように、順序が乱れたパケットの受け入れ及び再シーケンス化が可能である。入力バッファ部321も、いかなる順序の応答も受け入れる。これは、失敗したSTXパケットのみが再送されることを意味し、それゆえ、GBNのようにRTXキュー全体を再送するのとは異なり、選択的再試行と呼ばれる。
Selective Retry Selective retry (SR) allows a predetermined maximum number of packets per output to be unacknowledged at each input at any given time. This number depends on the maximum allowable length of the
SRは、出力バッファ部322における複数の再シーケンス化キューの複雑さが加わるため、GBNよりも実装がかなり複雑である。更に、SRにおけるRTXキューは、パケットをキューの行頭のみでなくキュー内の任意の地点から取り出せるため、ランダムアクセス構成を必要とする。
SR is much more complex to implement than GBN due to the added complexity of multiple resequencing queues in
再送及び再シーケンス化バッファのサイズ決定
一般的に、待ち時間の低減に関して最大の利益を得るには、再送バッファのサイズを、少なくとも完全な1回のラウンドトリップに相当するパケットを投機的に順序通りに送信可能なように決定するのが有益である。この場合には、投機的送信で、リンクを100%の率で使用することができる。
Resizing and resequencing buffer sizing In general, for maximum benefit in terms of latency reduction, the size of the resending buffer should be speculatively ordered in order of at least one full round-trip packet. It is useful to determine that it can be sent to. In this case, the link can be used at a rate of 100% with speculative transmission.
最適な利益を達成するために、好ましい実施形態では、各再シーケンス化キュー(RSQ)のサイズは、RSQバッファに対応するRTXキューと少なくとも等しい数のパケットを格納可能なように決定される。例えば、RSQ623のサイズは、RTXキュー、例えば、RSQ623に対応するRTXキュー412の行頭パケットのシーケンス番号とRSQ623に対応するRTXキュー412の最後尾パケットのシーケンス番号との差分に基づいて決定され得る。
In order to achieve optimal benefits, in the preferred embodiment, the size of each resequencing queue (RSQ) is determined to be able to store at least as many packets as the RTX queue corresponding to the RSQ buffer. For example, the size of the
非対称ルーティング構造における投機的実行
本発明の上述の例は、一般的に、「正方形」のクロスバー状ルーティング構造(即ち、同じ数の入力及び出力を有する構造)を示すものである。ラインカード等のボードは、1つの構造入力及び1つの構造出力に接続されるのが一般的であるが、本発明は、入力よりも出力の数が多いことを特徴とするスイッチ構造でも実装され得る。例えば、出力の数が入力の数のK倍(Kは1よりも大きい整数)であるとすると、丁度K個のルーティング構造出力を、各出力ラインカードに割り当てることができる。これにより、各出力ラインカードが、各タイムスロットにおいてK個までのパケットを受け取ることが可能になる。
Speculative Implementation in an Asymmetric Routing Structure The above example of the present invention generally illustrates a “square” crossbar-like routing structure (ie, a structure having the same number of inputs and outputs). A board such as a line card is generally connected to one structure input and one structure output, but the present invention is also implemented in a switch structure characterized by a greater number of outputs than inputs. obtain. For example, if the number of outputs is K times the number of inputs (K is an integer greater than 1), exactly K routing structure outputs can be assigned to each output line card. This allows each output line card to receive up to K packets in each time slot.
図8は、非対称ルーティング構造を含む例示的なシステムを示す。図8に示されるように、このシステムは、スイッチコア810と、N個のラインカード802のうちの1つの入力バッファ821の各出力間に各々が設けられたN個の入力データリンク803a1〜803aNと、ルーティング構造806と各出力バッファ822との間に設けられたデータリンク803b1〜803bKとを有する。従って、スイッチコア810のルーティング構造806からの出力には、全部でN・K個のデータリンク803bx(xは1〜k)が存在する。スイッチコア810とラインカード802との間には、上述のものと同様の制御リンクが存在するが、簡潔のために制御リンクは図示しない。
FIG. 8 illustrates an exemplary system that includes an asymmetric routing structure. As shown in FIG. 8, this system includes a
スイッチコア810は、ルーティング構造806と、アービター807とを含む。アービター807は、入力ポートと出力ポートとの適切なマッチングを提供するために、計画的調停及び/又は投機的調停の要求のグループ又はサブグループに対する衝突が生じないスイッチング構造リソースの割り当てを決定する。構成リンク812は、アービター807によって決定されたスイッチング構成をルーティング構造806に提供する。上述したように、各出力822には、ルーティング構造からの出力が、ラインカード802からの入力数のK倍の数だけ設けられている。例えば、K=2の非対称を実装するシステムでは、出力バッファ822は、スイッチング構造の入力の任意の1つからのパケットを受信可能な、1つの更なるデータリンク(スイッチング構造からの出力)を有する。任意の時間又はサイクルに受信するデータパケットの増加に対処するために、出力バッファ822のキューのサイズは、負荷及び/又は様々な制約に従って決定される。また、出力バッファ822は、書き込み帯域幅のK倍を有するのが好ましい。
The
図8の例示的なシステムでは、ペイロード情報を有するデータパケット及び要求されたパケットの宛先を示す情報を含むヘッダーは、N個の双方向全二重型入力/出力データリンク801を介して送受信される。受信されたデータパケットは、入力バッファ821から取り出され、データリンク803a1〜803aNを介してルーティング構造806の入力に伝送される。各ラインカード802は、残りのN−1個のラインカードからもK個までの出力を受信できるので、本発明の非対称の例のルーティング構造806は、例えば、N個のラインカード802の各々によって計画的調停及び/又は投機的調停によって送信された1つのパケットを、他の任意のラインカード802の出力バッファ822に出力する803bxデータラインの1つとマッチングさせることができる。このように、各ラインカード820は、他のN−1個のラインカード802から送信された、計画的調停、投機的調停、又はそれらの組み合わせによって送信されたパケットを含み得るK個までのパケットを受信できる。
In the exemplary system of FIG. 8, a header containing data packets with payload information and information indicating the destination of the requested packet is transmitted and received via N bidirectional full-duplex input /
この特徴は、任意のタイムスロットに、複数の計画的調停送信、複数の投機的送信、又は両者の組み合わせが各出力に受け入れられるのを可能にするために、有益に用いられ得る。本発明の一実施形態では、例えば、この特徴を利用して、投機的送信方式の大きな長所とすることができる。例えば、所与のタイムスロットに、計画的調停送信が存在しない場合には、各出力822は、K個までの投機的送信を受け入れることができる。1つの計画的調停送信が存在する場合には、各出力822は、K−1個までの投機的送信を受け入れることができる。この例では、計画的調停送信は、依然として、入力と出力との間に一対一マッチングを構成し、投機的調停送信は、残りの全ての構造出力の帯域幅を利用することができる。このようにして、投機的送信がかなり高い成功の確率を有することを確実でき、かなり高い待ち時間の低減(負荷によって異なる)が達成される。
This feature can be beneficially used to allow multiple planned arbitration transmissions, multiple speculative transmissions, or a combination of both to be accepted at each output in any time slot. In one embodiment of the present invention, for example, this feature can be used to provide a great advantage of the speculative transmission method. For example, if there are no planned arbitration transmissions in a given time slot, each
既存の一対一マッチングアルゴリズムは、本発明の非対称の例を実装するために、ほとんど又は全く修正を必要としない。しかし、伝送されるパケットの複数のタイプ及び/又は伝送されるパケットの多くのタイプの各々に関して、ルーティング構造の入力と出力とをマッチングさせるために、多くの方式が用いられ得ることを理解されたい。 Existing one-to-one matching algorithms require little or no modification to implement the asymmetric example of the present invention. However, it should be understood that many schemes can be used to match the input and output of the routing structure for each of multiple types of transmitted packets and / or many types of transmitted packets. .
1つのタイムスロットにおいて1つの出力につきK個までの投機的要求/応答を扱うには、図7の投機的要求調停部764を修正しなければならない。まず、各出力に対して、応答可能な投機的要求の最大数を決定しなければならない。現在のマッチングにおいて既にマッチングが決定されている全ての出力については、この最大数はK−1である。他の全ての出力については、この最大数はKである。次に、投機的要求調停部764は、出力毎に受信した投機的要求からの選択を行い、決定された最大数までの勝者を選び、他の全てのものは拒否する。この選択は、公正のためにラウンド・ロビン方式で行われるのが好ましいが、他の方法で行われてもよい。
To handle up to K speculative requests / responses per output in a time slot, the speculative
本発明は、待ち時間がシステム全体の計算性能に直接影響し、低い待ち時間が望ましい又は必要な、高性能計算システム、クラスタ及びIOネットワークを含む並列計算用途等の相互接続ネットワークに適用性を有する。本発明は、電気的に制御される電気的スイッチ、電気的に制御される光スイッチ、及び光学的に制御される光スイッチを含むルーティング構造と共に用いられ得る。 The present invention has applicability to interconnect networks, such as parallel computing applications including high performance computing systems, clusters and IO networks, where latency directly affects the overall system computing performance and low latency is desirable or necessary. . The present invention may be used with routing structures including electrically controlled electrical switches, electrically controlled optical switches, and optically controlled optical switches.
本発明の理解を容易にするために、本発明の多くの態様を、相互接続システムの要素によって行われるアクションのシーケンスに関して説明した。各例示的な実施形態において、様々なアクションは、特殊な回路(例えば、特殊な機能を行うために相互に接続されたディスクリート論理ゲート)によって、1つ以上のプロセッサによって実行されるプログラム命令によって、又は両者の組み合わせによって行われることも可能であることが認識されよう。更に、本発明は、本願明細書に記載した技術をプロセッサに実行させる適切なコンピュータ命令のセットを含む、固体メモリ、磁気ディスク、光ディスク又は搬送波(例えば、無線周波数、可聴周波数又は光周波数の搬送波)等といった、任意の形態のコンピュータ読取り可能キャリア内で具現化されることも考えられる。従って、本発明の様々な態様は、多くの異なる形態で具現化され得るものであり、そのような全ての形態は、本発明の範囲に含まれることが意図される。 In order to facilitate understanding of the present invention, many aspects of the present invention have been described in terms of sequences of actions performed by elements of an interconnect system. In each exemplary embodiment, the various actions are performed by program instructions executed by one or more processors by special circuitry (e.g., discrete logic gates interconnected to perform special functions). It will also be appreciated that this can be done by a combination of both. Further, the present invention provides a solid state memory, magnetic disk, optical disk or carrier wave (eg, radio frequency, audible frequency or optical frequency carrier) that includes a suitable set of computer instructions that cause the processor to perform the techniques described herein. It may be embodied in any form of computer readable carrier, such as. Accordingly, various aspects of the invention can be embodied in many different forms, and all such forms are intended to be included within the scope of the invention.
上述の例では、ボード(例えば、ラインカード)は、所与のタイムスロットに対する許可を受信していない場合にのみ、投機的送信を行う資格がある。しかし、1つのタイムスロットに複数のパケットを送信できるような、クロスバーへのリンクの有効容量が外部のリンクの有効容量を超える適用例では、空いている容量を、同じタイムスロットに投機的及び許可された送信を行うために用いることも可能である。 In the above example, a board (eg, a line card) is eligible to make a speculative transmission only if it has not received permission for a given time slot. However, in applications where the effective capacity of the link to the crossbar exceeds the effective capacity of the external link, such that multiple packets can be transmitted in one time slot, the available capacity is speculative and It can also be used to make authorized transmissions.
本発明を、特定の実施形態を参照して説明した。しかし、本発明の精神及び範囲を逸脱することなく本発明において様々な変更及び修正がなされ得ることは当業者には自明である。従って、本発明のそのような変更が、添付の請求項の範囲及びその均等物の範囲内である限りにおいて、本発明は、それらの変更をも包含することが意図される。 The invention has been described with reference to specific embodiments. However, it will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention. Therefore, to the extent that such modifications of the invention fall within the scope of the appended claims and their equivalents, the present invention is intended to encompass those modifications.
301 データリンク
302 ラインカード
303 データリンク
304 制御チャネル
306 クロスバー(ルーティング構造)
307 アービター
310 スイッチコア
312 構成リンク
321 入力バッファ部
322 出力バッファ部
410 入力デマルチプレクサ
411 仮想出力キュー(VOQ)
412 再送(RTX)キュー
413 デマルチプレクサ
414 マルチプレクサ
415 出力マルチプレクサ
416 制御部
307
412 Retransmission (RTX)
Claims (10)
前記計画的調停の結果が存在する場合に、該計画的調停の結果に従って少なくとも1つのデータパケットを送信する工程と、
前記計画的調停の結果が存在しない場合に、
投機的に送信するデータパケットを選択する工程と、
前記選択されたデータパケットの出力識別子を含む投機的要求を発行することと、前記選択されたパケットを前記ルーティング構造に送信することとを同時に行う工程と
を備えることを特徴とする送信方法。 A method of transmitting data packets from multiple inputs of a routing structure to multiple outputs with or without planned arbitration comprising:
Transmitting at least one data packet according to the result of the planned arbitration if the result of the planned arbitration exists;
If there is no result of the planned mediation,
Selecting a data packet to be speculatively transmitted;
Issuing a speculative request including an output identifier of the selected data packet and simultaneously transmitting the selected packet to the routing structure.
前記マッチングされた入力及び出力が前記ルーティング構造に適用されるタイムスロットにおいて、マッチングされていない各出力に対し、発行された前記投機的要求が存在すれば、1つの該投機的要求を選択ポリシーに従って選択する工程と、
各勝ち抜いた投機的要求に対する入力対出力マッピングを、前記ルーティング構造に適用される現在の前記計画的調停の結果に追加する工程と
を更に備えることを特徴とする請求項1記載の方法。 For each time slot, matching the input of the routing structure to the output according to the result of the planned arbitration;
If there is an issued speculative request for each unmatched output in the time slot where the matched input and output are applied to the routing structure, one speculative request is subject to a selection policy. A process to select;
The method of claim 1, further comprising: adding an input-to-output mapping for each winning speculative request to the current result of the planned arbitration applied to the routing structure.
複数の発信元位置から複数の宛先位置に情報単位を送信するためのスイッチング構造への複数のアクセス要求を受信する複数の入力であって、前記要求が、計画的調停によるアクセス許可の要求と、計画的調停による許可がない投機的アクセスの要求とを含み、各前記要求が、関連付けられた情報単位を転送すべき宛先位置の標識を含む、前記複数の入力と、
前記計画的調停によるアクセス許可の要求のグループ又はサブグループに対する、前記スイッチング構造のリソースの衝突が生じない割り当てを決定するアービターと、
前記決定がなされたグループが前記スイッチング構造に次に適用されるべきものである時に、前記投機的アクセスの要求を受信し、前記決定された割り当てに基づき前記受信した要求を許可又は拒否する投機的要求アービターと
を備えることを特徴とするシステム。 In a system that manages the flow of information units between multiple locations,
A plurality of inputs for receiving a plurality of access requests to a switching structure for transmitting a unit of information from a plurality of source locations to a plurality of destination locations, wherein the request is a request for access permission by planned arbitration; A plurality of inputs, each of which includes an indication of a destination location to which an associated unit of information should be transferred, and a request for speculative access without permission by planned arbitration;
An arbiter for determining an allocation in which no conflict of resources of the switching structure occurs for a group or subgroup of permission requests by the planned arbitration;
A speculative that receives the request for speculative access and grants or denies the received request based on the determined assignment when the group in which the determination is made is to be applied next to the switching structure; A system comprising: a request arbiter.
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 true JP2009516478A (en) | 2009-04-16 |
JP4796149B2 JP4796149B2 (en) | 2011-10-19 |
Family
ID=38040753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008541283A Expired - Fee Related JP4796149B2 (en) | 2005-11-14 | 2006-11-14 | Method and system for reducing interconnect latency |
Country Status (7)
Country | Link |
---|---|
US (1) | US8135024B2 (en) |
EP (1) | EP1949622B1 (en) |
JP (1) | JP4796149B2 (en) |
KR (1) | KR20080077189A (en) |
CN (1) | CN101341698B (en) |
DE (1) | DE602006013180D1 (en) |
WO (1) | WO2007120209A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015133020A1 (en) * | 2014-03-07 | 2015-09-11 | Nttエレクトロニクス株式会社 | Packet reception apparatus |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002037754A2 (en) | 2000-11-03 | 2002-05-10 | 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 |
US7136361B2 (en) | 2001-07-05 | 2006-11-14 | At&T Corp. | Hybrid coordination function (HCF) access through tiered contention and overlapped wireless cell mitigation |
US7277413B2 (en) | 2001-07-05 | 2007-10-02 | 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 |
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 |
US7248600B2 (en) | 2001-11-02 | 2007-07-24 | At&T Corp. | ‘Shield’: protecting high priority channel access attempts in overlapped wireless cells |
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 (en) * | 2007-11-22 | 2014-04-21 | 삼성전자주식회사 | Apparatus and method for transmitting and receiving voice packet in the wireless communication netwrok |
US9430297B2 (en) * | 2008-12-15 | 2016-08-30 | International Business Machines Corporation | Load balancing of adapters on a multi-adapter node |
WO2010072247A1 (en) * | 2008-12-22 | 2010-07-01 | Telefonaktiebolaget Lm 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 (en) * | 2010-09-03 | 2012-02-22 | パナソニック株式会社 | Relay device |
WO2012068171A1 (en) * | 2010-11-15 | 2012-05-24 | Reed Coke S | 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 (en) * | 2012-02-28 | 2016-02-24 | 富士通株式会社 | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND COMMUNICATION CONTROL PROGRAM |
US9304961B2 (en) * | 2012-09-10 | 2016-04-05 | Marvell World Trade Ltd. | Method and apparatus for transferring packets between interface control modules of line cards |
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 |
US10251194B2 (en) * | 2013-06-17 | 2019-04-02 | Nxp Usa, Inc. | Efficient scheduling in asynchronous contention-based system |
US9166886B1 (en) | 2013-06-19 | 2015-10-20 | Google Inc. | Systems and methods for determining physical network topology |
US9419887B1 (en) | 2013-06-19 | 2016-08-16 | Google Inc. | Minimum latency routing |
WO2015021606A1 (en) * | 2013-08-13 | 2015-02-19 | Motorola Solutions, Inc. | An 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 |
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 (en) * | 2016-08-04 | 2021-02-12 | 华为技术有限公司 | Message processing method and router |
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 (en) * | 2020-03-05 | 2020-07-14 | 烽火通信科技股份有限公司 | Coding and decoding method and system |
US20230315669A1 (en) * | 2022-03-30 | 2023-10-05 | Arm Limited | Multi-processor arrangement with point of serialization for broadcast communications |
Citations (4)
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 |
WO2001095661A1 (en) * | 2000-06-06 | 2001-12-13 | Accelight Networks Canada, Inc. | A multiservice optical switch |
JP2003204347A (en) * | 2002-01-09 | 2003-07-18 | Hitachi Ltd | Packet communication device, and packet data transfer control method utilizing the same |
US20050190795A1 (en) * | 2004-02-27 | 2005-09-01 | 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 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2295065A1 (en) * | 1998-04-29 | 1999-11-04 | Shang-Tse Chuang | Packet-switch system |
GB0013571D0 (en) * | 2000-06-06 | 2000-07-26 | Power X Limited | Switching system |
JP3567878B2 (en) * | 2000-10-02 | 2004-09-22 | 日本電気株式会社 | Packet switching equipment |
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 |
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 |
US7688816B2 (en) * | 2004-03-15 | 2010-03-30 | Jinsoo Park | Maintaining packet sequence using cell flow control |
-
2006
- 2006-04-10 US US11/402,091 patent/US8135024B2/en not_active Expired - Fee Related
- 2006-11-14 EP EP06850552A patent/EP1949622B1/en not_active Expired - Fee Related
- 2006-11-14 JP JP2008541283A patent/JP4796149B2/en not_active Expired - Fee Related
- 2006-11-14 KR KR1020087014427A patent/KR20080077189A/en not_active Application Discontinuation
- 2006-11-14 DE DE602006013180T patent/DE602006013180D1/en active Active
- 2006-11-14 WO PCT/US2006/044213 patent/WO2007120209A2/en active Application Filing
- 2006-11-14 CN CN2006800483937A patent/CN101341698B/en not_active Expired - Fee Related
Patent Citations (4)
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 |
WO2001095661A1 (en) * | 2000-06-06 | 2001-12-13 | Accelight Networks Canada, Inc. | A multiservice optical switch |
JP2003204347A (en) * | 2002-01-09 | 2003-07-18 | Hitachi Ltd | Packet communication device, and packet data transfer control method utilizing the same |
US20050190795A1 (en) * | 2004-02-27 | 2005-09-01 | 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 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015133020A1 (en) * | 2014-03-07 | 2015-09-11 | Nttエレクトロニクス株式会社 | Packet reception apparatus |
US9998405B2 (en) | 2014-03-07 | 2018-06-12 | Ntt Electronics Corporation | Packet reception apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN101341698B (en) | 2011-07-06 |
CN101341698A (en) | 2009-01-07 |
US20070110087A1 (en) | 2007-05-17 |
JP4796149B2 (en) | 2011-10-19 |
EP1949622B1 (en) | 2010-03-24 |
KR20080077189A (en) | 2008-08-21 |
US8135024B2 (en) | 2012-03-13 |
DE602006013180D1 (en) | 2010-05-06 |
WO2007120209A2 (en) | 2007-10-25 |
EP1949622A2 (en) | 2008-07-30 |
WO2007120209A3 (en) | 2008-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4796149B2 (en) | Method and system for reducing interconnect latency | |
US10182021B2 (en) | Crossbar switch and recursive scheduling | |
US7724733B2 (en) | Interconnecting network for switching data packets and method for switching data packets | |
JP2888376B2 (en) | Switching equipment for multiple traffic classes | |
EP1779607B1 (en) | Network interconnect crosspoint switching architecture and method | |
EP0981878B1 (en) | Fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch | |
US6856622B1 (en) | Multicast cell scheduling protocol | |
US7161906B2 (en) | Three-stage switch fabric with input device features | |
US7792118B2 (en) | Switch module memory structure and per-destination queue flow control for use in a switch | |
US6876663B2 (en) | Switching system | |
JP4995101B2 (en) | Method and system for controlling access to shared resources | |
US20020085578A1 (en) | Three-stage switch fabric with buffered crossbar devices | |
US20030107996A1 (en) | Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost | |
JPH10164096A (en) | Multicast packet access mediation method | |
JPH10190710A (en) | Access mediation method | |
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 | |
JP2002026982A (en) | Packet switch | |
JPH11510327A (en) | Asynchronous transfer mode based service integrated exchange |
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 |