JP2007510376A - Non-blocking and deterministic unicast packet scheduling - Google Patents
Non-blocking and deterministic unicast packet scheduling Download PDFInfo
- Publication number
- JP2007510376A JP2007510376A JP2006538294A JP2006538294A JP2007510376A JP 2007510376 A JP2007510376 A JP 2007510376A JP 2006538294 A JP2006538294 A JP 2006538294A JP 2006538294 A JP2006538294 A JP 2006538294A JP 2007510376 A JP2007510376 A JP 2007510376A
- Authority
- JP
- Japan
- Prior art keywords
- input
- output port
- packet
- packets
- port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- 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/52—Queue scheduling by attributing bandwidth to queues
-
- 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
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/111—Switch interfaces, e.g. port details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/112—Switch control, e.g. arbitration
-
- 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/3018—Input queuing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】
【解決手段】相互接続ネットワークを介してユニキャストパケットをスケジューリングするシステムであって、それぞれがr2個の入力キューを有するr1個の入力ポートと、それぞれがr1個の出力キューを有するr2個の出力ポートと、少なくとも式(I)
のスピードアップとサブネットワークを有する相互接続ネットワークとを有するシステムであって、各サブネットワークは、各サブネットワークは総数少なくともr1個の第1内部リンクに対する各入力ポートに接続される、少なくとも1個の第1内部リンクを備え、各サブネットワークはさらに総数少なくともr2個の第2内部リンクに対する各出力ポートに接続される、少なくとも1個の第2内部リンクを備える。本システムは、決定論的な方式で、かつパケットのセグメント化および再組立を要求することなく、r1≦r2のときは、スイッチングすべき各スイッチング時間において、多くともてr1回のスイッチング時間だけ、多くともr1個のパケットをスケジューリングし、r2≦r1のときは、スイッチングsyべき各スイッチング時間において、多くともr1回のスイッチング時間だけ、多くともr2個のパケットをスケジューリングすることで、本発明による厳密にノンブロッキング方式で動作する。本システムはさらに、100%スループット、処理保存的、公正に、それでいてなお決定論的に動作し、それにより出力ポートを決して輻輳させない。本システムは調停に対して1度だけの繰り返しで、相互接続ネットワークにおいて数学的に最小のスピードアップで実行する。本システムは、相互接続ネットワークにおけるパケット再順序付けの問題と、パケットの内部バッファリングが全くなく動作し、従って真にカットスルーかつ分散した方式で動作する。一実施形態において、本システムは、唯一のサブネットワークで、かつそのサブネットワークを介して2倍のスイッチングレートで、厳密にノンブロッキング方式で動作する。別の実施形態において、本システムは、相互接続ネットワークにおいて、少なくとも式(II)
のスピードアップで、再配置可能なノンブロッキング方式で動作する。入力ポートの数r1が出力ポートの数r2に等しく、r1=r2=rのとき、少なくとも式(III)
のスピードアップを有する相互接続ネットワークが、スイッチングすべき各スイッチング時間において、多くともr回のスイッチング時間だけ決定論的な方式で、多くともr個のパケットをスケジューリングすることで、本発明による厳密にノンブロッキングで決定論的方式で動作する。そして相互接続ネットワーク内におきて、少なくとも式(IV)
のスピードアップで、システムは再配置可能なノンブロッキングで決定論的方式で動作する。本システムは、入力ポートから出力ポートへのパケットに対するエンドツーエンド保証帯域幅およびレイテンシを提供する。全ての実施形態において、相互接続ネットワークは、クロスバーネットワーク、共有メモリネットワーク、クロスネットワーク、ハイパーキューブネットワーク、任意の内部ノンブロッキング相互接続ネットワークまたはネットワークのネットワークであってよい。
【選択図】図1H【Task】
The present invention provides a system for scheduling a unicast packet via the interconnect network, and r 1 input ports each having r 2 inputs queues, r, each having one output queue r 2 output ports and at least the formula (I)
And an interconnect network with sub-networks, each sub-network having at least one sub-network connected to each input port for a total of at least r 1 first internal links And each sub-network further comprises at least one second internal link connected to each output port for a total of at least r 2 second internal links. The system is deterministic and does not require packet segmentation and reassembly, and when r 1 ≦ r 2 , at most r 1 switching at each switching time to be switched. only time, schedules r 1 one packet at most, when the r 2 ≦ r 1, at each switching time should switching sy, with r 1 times the switching time much, schedules r 2 pieces of packets at most Thus, the operation is strictly non-blocking according to the present invention. The system further operates 100% throughput, conservatively, fairly, yet still deterministic, thereby never congesting the output port. The system runs with only one iteration for arbitration and with minimal mathematical speedup in the interconnect network. The system operates without any packet reordering issues in the interconnect network and no internal buffering of the packets, and thus operates in a truly cut-through and distributed manner. In one embodiment, the system operates in a strictly non-blocking manner with only one sub-network and twice the switching rate through that sub-network. In another embodiment, the system comprises at least formula (II) in an interconnect network
It works in a non-blocking manner that can be rearranged at a speedup of. When the number of input ports r 1 is equal to the number of output ports r 2 and r 1 = r 2 = r, at least the formula (III)
An interconnected network with a speedup of strictly schedules at most r packets at each switching time to be switched in a deterministic manner at most r switching times. It works in a non-blocking and deterministic manner. And at least the formula (IV)
With speedup, the system operates in a relocatable non-blocking, deterministic manner. The system provides end-to-end guaranteed bandwidth and latency for packets from input ports to output ports. In all embodiments, the interconnect network may be a crossbar network, a shared memory network, a cross network, a hypercube network, any internal non-blocking interconnect network, or a network of networks.
[Selection] Figure 1H
Description
関連出願に対する相互参照
本願は、2003年10月30日出願の米国仮特許出願番号60/516,057に関し、それに対する優先権を主張する。本願は、本願と同一の出願人に譲渡され、同時出願された、Venkat Kondaによる「NONBLOCKING AND DETERMINISTIC UNICAST PACKET SCHEDULING」と題する関連米国特許出願、代理人整理番号V−0005に対するPCT出願であり、その全体を参照により組み込む。本願は、本願と同一の出願人に譲渡された2001年9月27日出願のVenkat Kondaによる「REARRANGEABLY NON-BLOCKING MULTICAST MULTI-STAGE NETWORKS」と題する関連米国特許出願番号09/967,815およびその一部継続出願である2003年9月6日出願のPCT出願番号PCT/US03/27971に関し、その全体を参照により組み込む。本願は、本願と同一の出願人に譲渡され、Venkat Kondaによる「STRICTLY NON-BLOCKING MULTICAST MULTI-STAGE NETWORKS」と題する2001年9月27日出願の関連米国特許出願番号09/967,106およびその一部継続出願である2003年9月6日出願のPCT出願番号PCT/US03/27972に関し、その全体を参照により組み込む。
This application claims and claims priority to US Provisional Patent Application No. 60 / 516,057, filed Oct. 30, 2003. This application is a related US patent application entitled "NONBLOCKING AND DETERMINISTIC UNICAST PACKET SCHEDULING" by Venkat Konda, assigned to the same applicant as the present application, and a PCT application for agent serial number V-0005. Incorporated by reference in its entirety. This application is related to US patent application Ser. No. 09 / 967,815 entitled “REARRANGEABLY NON-BLOCKING MULTICAST MULTI-STAGE NETWORKS” by Venkat Konda, filed Sep. 27, 2001, assigned to the same applicant as the present application. With regard to PCT application number PCT / US03 / 27971, filed on September 6, 2003, which is a continuation-in-part application, the entirety is incorporated by reference. This application is assigned to the same applicant as this application and is related to US patent application Ser. No. 09 / 967,106 filed Sep. 27, 2001 and entitled “STRICTLY NON-BLOCKING MULTICAST MULTI-STAGE NETWORKS” by Venkat Konda. With regard to PCT application number PCT / US03 / 27972, filed on September 6, 2003, which is a part continuation application, the entirety is incorporated by reference.
本願は、2003年9月6日出願の米国仮特許出願番号60/500,790およびその米国特許出願番号10/933,899、ならびに、その2004年9月5日出願のPCT出願番号04/29043に関し、その全体を参照により組み込む。本願は、2003年9月6日出願の米国仮特許出願番号60/500,789およびその米国特許出願番号10/933,900、およびその2004年9月5日出願のPCT出願番号04/29027に関し、その全体を参照により組み込む。 This application includes US Provisional Patent Application No. 60 / 500,790 filed September 6, 2003 and US Patent Application No. 10 / 933,899, and PCT Application No. 04/29043 filed September 5, 2004. Is incorporated by reference in its entirety. This application is related to US Provisional Patent Application No. 60 / 500,789, filed Sep. 6, 2003, and US Patent Application No. 10 / 933,900, and PCT Application No. 04/29027, filed Sep. 5, 2004. , Incorporated by reference in its entirety.
本願は、2003年10月30日出願の関連米国仮特許出願番号60/516,265およびその米国特許出願、代理人整理番号V−0006、および同時出願されたそのPCT出願、代理人整理番号S−0006に関し、その全体を参照により組み込む。本願は、2003年10月30日出願の米国仮特許出願番号60/516,163、米国特許出願、代理人整理番号V−0009、および同時出願されたそのPCT出願、代理人整理番号S−0009に関し、その全体を参照により組み込む。本願は、2003年10月30日出願の米国仮特許出願番号60/515,985、米国特許出願、代理人整理番号V−0010、および同時出願されたそのPCT出願、代理人整理番号S−0010に関し、その全体を参照により組み込む。 This application is related to US Provisional Patent Application No. 60 / 516,265, filed Oct. 30, 2003, and its US Patent Application, Attorney Docket No. V-0006, and its concurrently filed PCT application, Attorney Docket No. S. -0006 is incorporated by reference in its entirety. This application includes US Provisional Patent Application No. 60 / 516,163, filed Oct. 30, 2003, US Patent Application, Attorney Docket No. V-0009, and its concurrently filed PCT application, Attorney Docket No. S-0009. Is incorporated by reference in its entirety. This application includes US Provisional Patent Application No. 60 / 515,985, filed Oct. 30, 2003, US Patent Application, Attorney Docket No. V-0010, and its simultaneously filed PCT application, Attorney Docket No. S-0010. Is incorporated by reference in its entirety.
今日のATMスイッチおよびIPルータは通常、多種の相互接続ネットワークを使用し、入力ポート(「入口ポート」とも呼ばれる)から所望の出力ポート(「出口ポート」とも呼ばれる)へパケットをスイッチングする。相互接続ネットワークを介してパケットをスイッチングするには、入力ポートもしくは出力ポート、または入力ポートと出力ポートの双方でキューイングされる。パケットは1つまたは複数の出力ポートを宛先としてよい。1つの出力ポートのみを宛先とするパケットをユニキャストパケットと呼び、1つを超える出力ポートを宛先とするパケットをマルチキャストパケットと呼び、全ての出力ポートを宛先とするパケットをブロードキャストパケットと呼ぶ。 Today's ATM switches and IP routers typically use a variety of interconnected networks to switch packets from an input port (also referred to as an “ingress port”) to a desired output port (also referred to as an “egress port”). To switch packets through the interconnect network, they are queued at the input or output port, or both the input and output ports. The packet may be destined for one or more output ports. A packet destined for only one output port is called a unicast packet, a packet destined for more than one output port is called a multicast packet, and a packet destined for all output ports is called a broadcast packet.
出力キュー(OQ)スイッチは出力ポートでのみキューを採用する。出力キュースイッチにおいては、入力ポートにおいてパケットを受信すると即座に宛先出力ポートキューにスイッチングする。パケットは、即座に出力ポートキューに転送されるので、r*rの出力キュースイッチにおいては、相互接続ネットワークにおいはrのスピードアップを必要とする。入力キュー(IQ)スイッチは、入力ポートでのみキューを採用する。入力キュースイッチは、相互接続ネットワークにおいて、1のみのスピードアップを必要とする。あるいは、IQスイッチにおいてスピードアップは必要ない。しかしながら、入力キュースイッチは行頭(HOL)ブロッキングを除去しない。これは、入力キューの行頭にあるパケットの宛先出力ポートがスイッチング時間においてビジーである場合、キュー内の次のパケットの宛先ポートが空いていても、これも遮断してしまうことを意味する。 The output queue (OQ) switch employs a queue only at the output port. In the output queue switch, when a packet is received at the input port, the packet is immediately switched to the destination output port queue. Since packets are immediately transferred to the output port queue, r * r output queue switches require r speedups in the interconnect network. An input queue (IQ) switch employs a queue only at the input port. The input queue switch requires only one speedup in the interconnect network. Alternatively, no speed up is required in the IQ switch. However, the input queue switch does not remove head of line (HOL) blocking. This means that if the destination output port of the packet at the head of the input queue is busy at the switching time, even if the destination port of the next packet in the queue is free, this is also blocked.
入出力複合キュー(CIOQ)スイッチは、その入力ポートと出力ポートの双方でキューを採用する。このようなスイッチは、相互接続ネットワークにおいて1からrの間のスピードアップを採用することにより、OQとIQスイッチ双方で最良の結果を出す。仮想出力キュー(VOQ)スイッチと呼ばれる別種のスイッチは、各入力ポートに、各出力ポートのうち1つを宛先とするパケットにそれぞれ対応するr個のキューを持つ設計となっている。VOQスイッチはHOLブロッキングを除去する。 An input / output composite queue (CIOQ) switch employs queues at both its input and output ports. Such switches give the best results with both OQ and IQ switches by employing speedups between 1 and r in the interconnect network. Another type of switch called a virtual output queue (VOQ) switch is designed to have r queues corresponding to packets destined for one of the output ports at each input port. The VOQ switch removes HOL blocking.
VOQスイッチは、近年非常に注目を集めている。「The iSLIP Scheduling Algorithm for Input-Queued Switches」と題するNick Mckeownの論文、IEEE/ACM Transactions on Networking、1999年4月、7巻2号は、本発明の背景として参照によりここに組込まれる。この論文には、188頁から190頁の序章において、クロスバーを基礎とする相互接続ネットワークのための数多くのスケジューリングアルゴリズムが説明されている。
The VOQ switch has attracted much attention in recent years. Nick Mckeown's paper entitled “The iSLIP Scheduling Algorithm for Input-Queued Switches”, IEEE / ACM Transactions on Networking, April 1999, Vol. In this article, in the introductory pages from page 188 to
背景として参照によりここに組込まれる、Nick Mckeownに権利が付与された「Combined Unicast and Multicast Scheduling」と題する米国特許6,212,182号は、各入力ポートにおいてr 個のユニキャストキューと1つのマルチキャストキューを用いるVOQスイッチング技術について説明している。各スイッチング時間で、繰り返し調停が実行し、1個のパケットを各出力ポートにスイッチングする。 US Pat. No. 6,212,182 entitled “Combined Unicast and Multicast Scheduling” entitled “Nick Mckeown”, incorporated herein by reference as a background, describes r unicast queues and one multicast at each input port. A VOQ switching technique using a queue is described. Arbitrary arbitration is performed at each switching time, and one packet is switched to each output port.
背景として参照してここに組込まれるPrabhakarらに権利が付与された「Switching System and Methods of Operation of Switching System」と題する米国特許6,351,466号には、各入力ポートにr個のユニキャストキューと、各出力ポートに1つのマルチキャストキューを有し、パケットレイテンシの正確な制御を含む出力キュースイッチのようなクロスバー相互接続ネットワークのVOQスイッチング技術に、少なくとも4のスピードアップが必要であると説明されている。 US Pat. No. 6,351,466 entitled “Switching System and Methods of Operation of Switching System”, which is entitled to Prabhakar et al., Incorporated herein by reference, has r unicasts for each input port. VOQ switching technology for crossbar interconnect networks such as queues and output queue switches that have precise control of packet latencies with one multicast queue for each output port requires at least 4 speedups Explained.
しかしながら、先行技術のスイッチファブリックには多くの問題がある。第1に、マルチキャストパケットに対するHOLブロッキングが除去されない。第2に、相互接続内の数学的に最小のスピードアップが未知である。第3に、相互接続ネットワークにおけるスピードアップの使用は、出力ポートをフラッドさせ、これが出力ポートにおける不必要なパケット輻輳、及びパケットをエグレスポート外に送信するためのレート減少を招く。第4に、任意にファンアウトされるマルチキャストパケットは、出力ポートに対してノンブロッキング方式ではスケジューリングできない。第5に、各スイッチング時間でパケット調停が繰り返し実行され、スイッチング時間、コストおよび電力の点で高くつく。最後に第6として、現行技術は、スケジューリングを最長で非決定論的方式で実行するため、入力ポートと出力ポートでのセグメント化と再組立を必要とする。 However, there are many problems with prior art switch fabrics. First, HOL blocking for multicast packets is not removed. Second, the mathematical minimum speedup within the interconnect is unknown. Third, the use of speedup in the interconnect network floods the output port, which results in unnecessary packet congestion at the output port and a reduced rate for sending packets out of the egress port. Fourthly, a multicast packet that is arbitrarily fanned out cannot be scheduled in a non-blocking manner with respect to the output port. Fifth, packet arbitration is repeatedly performed at each switching time, which is expensive in terms of switching time, cost and power. Finally, sixthly, current technology requires segmentation and reassembly at the input and output ports to perform scheduling in the longest non-deterministic manner.
各入力ポートにユニキャストパケットを備える、複数の入力ポート、複数の出力ポート、及び複数の入力キューを有する相互接続ネットワークを介してマルチレートマルチキャストパケットをスケジューリングするシステムは、本発明に従って、各入力ポートから各出力ポートへの入力キューと多くとも同数のパケットをスケジューリングすることにより、ノンブロッキング方式で動作する。システムは100%スループットで、処理保存的、公正ながら決定論的に動作し、それにより出力ポートを輻輳させることは決してない。本システムは、相互作用ネットワークにおける数学的に最小のスピードアップにより、調停を1度だけの繰り返しで実行する。システムは、相互接続ネットワークにおけるパケットの再順序付け問題と、パケットの内部バッファリングが全くなく、従って真にカットスルーで分散的な方式で動作する。別の実施形態において、各出力ポートも複数の出力キューを備え、各パケットは、宛先出力ポート内の出力キューまで、パケットのサイズに違いがあっても、ノンブロッキングで決定論的方式で、パケットのセグメント化及び再組立の必要なしに転送される。一実施形態において、スケジューリングは、相互接続ネットワークにおいて少なくとも2のスピードアップを用いて、厳密なノンブロッキング方式で実行される。別の実施形態において、スケジューリングは相互接続ネットワークにおいて、少なくとも1のスピードアップを用いて、再配置可能なノンブロッキング方式で実行される。本システムは、パケットのため、入力ポートから出力ポートまで、エンドツーエンド保証帯域幅とレイテンシトを提供する。全ての実施形態において、相互接続ネットワークは、クロスバーネットワークや、共有メモリネットワーク、クロス(Clos)ネットワーク、ハイパーキューブネットワーク、任意の内部ノンブロッキング相互接続ネットワーク、またはネットワークのネットワークであってよい。 A system for scheduling multi-rate multicast packets via an interconnection network having a plurality of input ports, a plurality of output ports, and a plurality of input queues, comprising unicast packets at each input port, according to the present invention, By scheduling at most as many packets as there are input queues to each output port, it operates in a non-blocking manner. The system operates at 100% throughput, is conservative, fair but deterministic, thereby never congesting the output port. The system performs arbitration with only one iteration with minimal mathematical speedup in the interaction network. The system operates in a truly cut-through and distributed manner with no packet reordering issues in the interconnect network and no internal packet buffering. In another embodiment, each output port also comprises a plurality of output queues, each packet being non-blocking and deterministic in the non-blocking and deterministic manner, up to the output queue in the destination output port, even if the packet size is different. Transfer without the need for segmentation and reassembly. In one embodiment, scheduling is performed in a strictly non-blocking manner with at least two speedups in the interconnect network. In another embodiment, scheduling is performed in a relocatable non-blocking manner with at least one speedup in the interconnected network. The system provides end-to-end guaranteed bandwidth and latency for packets from the input port to the output port. In all embodiments, the interconnect network may be a crossbar network, a shared memory network, a cross (Clos) network, a hypercube network, any internal non-blocking interconnect network, or a network of networks.
本発明は、トラフィックの性質に関わらず、ユニキャストパケットを備え、ユニキャストパケットは入力ポートに到着するスイッチファブリックにおける、ノンブロッキングで決定論的スケジューリングの設計および動作に関する。具体的には、本発明は、パケットスケジューリングシステムにおける以下の問題に関する。即ち、1)パケットの厳密に再配置可能なノンブロッキングスケジューリング、2)入力ポートから出力ポートまで(必要ならば出力ポートの特定の出力キューまで)決定論的に、即ち、出力ポートを輻輳させることなく、パケットをスイッチングすること、3)パケットのセグメント化と再組立(SAR)の実装を必要としないこと、4)調停は、1度の繰り返しだけで行われること、5)相互接続ネットワークにおいて、数学的に最小のスピードアップを使用すること、6)パケットのサイズが可変な場合であっても、100%スループットで公正な方式で動作することである。 The present invention relates to the design and operation of non-blocking, deterministic scheduling in a switch fabric comprising unicast packets, regardless of the nature of the traffic, where the unicast packets arrive at the input port. Specifically, the present invention relates to the following problems in a packet scheduling system. 1) strictly relocatable non-blocking scheduling of packets, 2) from input port to output port (if necessary, to a specific output queue of the output port) deterministically, ie without congesting the output port Switching packets, 3) not requiring packet segmentation and reassembly (SAR) implementation, 4) arbitration is done only once, 5) mathematics in the interconnect network 6) to operate in a fair manner with 100% throughput even if the packet size is variable.
入力ポートのパケットが1つより多い出力ポートを宛先としている場合、1対多のパケット転送が必要であり、マルチキャストパケットと呼ばれる。入力ポートのパケットがただ1つの出力ポートを宛先としている場合、1対1のパケット転送が必要であり、ユニキャストパケットと呼ばれる。入力ポートのパケットが全ての出力ポートを宛先としている場合、1対全のパケット転送が必要であり、ブロードキャストパケットと呼ばれる。相互接続ネットワークを介して転送されるセットのマルチキャストパケットは、マルチキャスト割当と呼ばれる。 When more than one output port packet is destined for an output port, one-to-many packet transfer is required, which is called a multicast packet. When a packet of an input port is destined for only one output port, a one-to-one packet transfer is required, which is called a unicast packet. When a packet of an input port is destined for all output ports, a one-to-all packet transfer is required, which is called a broadcast packet. A set of multicast packets transferred over an interconnect network is called a multicast assignment.
ここで説明する種類のスイッチファブリックは、入力ポートの仮想出力キュー(VOQ)を使用する。一実施形態において、各入力ポートで受信したパケットは、出力ポートにあるのと同数のキューに配置される。各キューは、出力ポートの1つのみを宛先とするパケットを保持する。スイッチファブリックは、出力ポートに出力キューがあることも、ないこともある。出力キューがある場合、一実施形態において、入力ポートにあるのと同数のキューが各出力ポートに存在する。パケットは、各出力キューが1つの入力ポートのみからスイッチングされたパケットを保持するように、出力キューにスイッチングされる。 The type of switch fabric described here uses a virtual output queue (VOQ) of input ports. In one embodiment, packets received at each input port are placed in as many queues as there are at output ports. Each queue holds packets destined for only one of the output ports. The switch fabric may or may not have an output queue at the output port. If there are output queues, in one embodiment there are as many queues at each output port as there are at the input ports. Packets are switched to output queues such that each output queue holds packets switched from only one input port.
ここで説明した種類のスイッチファブリックのなかには、全ての入力ポート内の各入力キューが一定レートのユニキャストパケットを備え、出力ポート内で同等の帯域幅を配分する。一定レートのマルチキャストパケットを有し、すべての入力ポートの中に各入力キューを持つノンブロッキングで決定論的スイッチファブリックが、出力ポートにおいて同等の帯域幅を配分することは、先に参照により組込んだ米国特許出願、代理人整理番号V−0006号及びPCT出願、代理人整理番号S−0006号で詳しく説明されている。一定レートのマルチキャストパケットを有し、すべての入力ポート内に各入力キューを持つノンブロッキングで決定論的スイッチファブリックが、出力ポートにおいて同一の帯域幅を配分することは、先に参照により組込まれた米国特許出願、代理人整理番号V−0009号及びそのPCT出願、代理人整理番号S−0009号で詳しく説明されている。一定レートのマルチキャストパケットを有し、すべての入力ポート内に各入力キューを持つノンブロッキングで決定論的スイッチファブリックが、出力ポートに異なる帯域幅を配分し、先に参照により組み込んだ米国特許出願、代理人整理番号V−0010、およびそのPCT出願、代理人整理番号S−0010で詳しく説明されている。 In a switch fabric of the type described here, each input queue in all input ports has a uniform rate of unicast packets and allocates equal bandwidth in the output ports. The non-blocking, deterministic switch fabric with a constant rate of multicast packets and with each input queue in all input ports allocated equal bandwidth at the output ports was previously incorporated by reference. It is described in detail in US patent application, agent serial number V-0006 and PCT application, agent serial number S-0006. The non-blocking, deterministic switch fabric with constant rate multicast packets and each input queue in every input port allocates the same bandwidth at the output port is the US previously incorporated by reference This is described in detail in the patent application, agent serial number V-0009 and its PCT application, agent serial number S-0009. A non-blocking, deterministic switch fabric with a constant rate of multicast packets, with each input queue in every input port, allocates different bandwidth to the output ports, previously incorporated by reference This is described in detail in Person Reference Number V-0010 and its PCT application, Agent Reference Number S-0010.
図1Aを参照すると、2つの4×4クロスバーネットワーク131−132から成る相互ネットワークである中間ステージ130を経由し、4個の入力ポート151−154から成る入力ステージ110と、4個の出力ポート191−194から成る出力ステージ120とを有する例示的なスイッチファブリック10が示されている。各入力ポート151−154は、それぞれ入口リンク141−144を介してパケットを受信する。各出力ポート191−194は、それぞれ出口リンク201−204を介してパケットを送信する。各クロスバーネットワーク131−132は、8個のリンク(以下、「第1内部リンク」と呼ぶ)FL1−FL8を介して、4個の入力ポート151−154の各々に接続され、さらに8個のリンク(以下、「第2内部リンク」と呼ぶ)SL1−SL8を介して、4個の出力ポート191−194の各々に接続されている。図1Aのスイッチファブリック10において、入口リンク141−144、第1内部リンクFL1−FL8、第2内部リンクSL1−SL8、および出口リンク201−204の各々は、同一レートで動作する。
Referring to FIG. 1A, an
出力ポート191−194を宛先とするパケットが各入力ポート151−154でそれぞれ入力キュー171−174内に置かれるように、各入力ポート151−154において、入口リンク141−144を介して受信されるパケットを、存在する出力ポートと同数の入力キュー171−174(4個)に、宛先出力ポートに従ってソートする。一実施形態において、図1Aのスイッチファブリック10に示すように、パケットは入力キューに置かれる前に、優先度キュー161−164内に置かれてもよい。各優先度キュー161−164は、優先度[1-f]に対応するパケットを保持するf個のキューを含む。例えば、出力ポート191を宛先とするパケットは、そのパケットの優先度[1-f]に基づく優先度キュー161内に置かれ、最も高い優先度のパケットを最初に入力キュー171内に置いた後に、次に高い優先度のパケットを置く。優先度キュー161−164の使用は、スイッチファブリック10の動作に無関係なので、図1Aのスイッチファブリック10は、別の実施形態では優先度キュー161−164なしで実装することもできる(優先度キューの使用は本発明で説明する全ての実施形態に無関係なので、全ての実施形態は、優先度キューなしにノンブロッキングで決定論的方式で、実装することもできる)。
Packets destined for output ports 191-194 are received at each input port 151-154 via the ingress links 141-144 so that the packets are destined for each input port 151-154 at the respective input queues 171-174. The packets are sorted according to the destination output port into the same number of input queues 171-174 (4) as the existing output ports. In one embodiment, as shown in
また、ネットワークは、入力ステージ110、出力ステージ120、および中間ステージ130の各々に結合し、入力ポート151−154から出力ポート191−194へパケットをスイッチングするスケジューラを含む。スケジューラは、中間ステージ130内の相互接続ネットワークを介するパスに対して利用可能な宛先のリストをメモリ内に維持している。
The network also includes a scheduler that couples to each of
一実施形態において、図1Aに示すように、各出力ポート191−194は、存在する入力ポート(4個)と同数の出力キュー181−184から成り、入力ポート151−154からスイッチングされるパケットが各出力ポート191−194内の出力キュー181−184内にそれぞれ置かれるようになっている。図1Aのスイッチファブリック10における4個の入力ポート151−154内の各入力キュー171−174は、入力ポート151の入力キュー171内にA1−A4を有し、出力ポートにスイッチングされる状態にある入力ポート164の4番目の入力キュー174内にP1−P4を有する例示的な4個のパケットを示す。4個の入力ポート151−154内の16個の入力キュー全てにおける行頭パケットは、各々A1−P1により指定される。
In one embodiment, as shown in FIG. 1A, each output port 191-194 consists of the same number of output queues 181-184 as the existing input ports (4), and packets switched from the input ports 151-154 are transmitted. These are placed in
表1は、図1Aのスイッチファブリック10における入力キューと出力キューとの間の例示的なパケット割当を示す。I{1,1}で示される入力ポート151内の入力キュー171内のパケットは、O{1,1}で示される出力ポート191内の出力キュー181に対して割当てられてスイッチングされる。I{1,2}で示される入力ポート151内の入力キュー172内のパケットは、O{2,1}で示される出力ポート192内の出力キュー181に対して割当てられてスイッチングされる。同様に残りの16個の入力キューにおけるパケットは、表1に示すように、残りの16個の出力キューに割り当てられる。別の実施形態において、入力キューから出力キューへの割当は表1と異なってもよいが、本発明に従うと、各出力ポート内の出力キューにパケットをスイッチングするよう割り当てられた各入力ポート内の入力キューは1つのみであり、逆も真である。
Table 1 shows exemplary packet assignments between input queues and output queues in the
本発明によると、全て16個のパケットA1−P1は4回のスイッチング時(以降、“ファブリックスイッチングサイクル”と呼ぶ)に、ノンブロッキング方式で、中間ステージ130内の相互接続ネットワーク経由で入力ポートから出力ポートにスイッチングされる。各スイッチング時間において、多くとも1個のパケットが各入力ポートからスイッチングされ、多くとも1個のパケットが各出力ポートにスイッチングされる。各入力ポートは4個のユニキャストパケットのみを受信することができるため、図1Aのスイッチファブリック10において入力ポート衝突は決して生じない。任意の入力ポートからの各入力キューは、各出力ポート内の唯一の指定出力キューにのみスイッチングされるため、図1Aのスイッチファブリック10において出力ポート衝突は決して生じない。従って、調停の3つのステップ、即ち入力ポートによる要求の生成、出力ポートによる許可の発行および入力ポートによる許可の承認、が要求される。ここで出願人は、図1Aのスイッチファブリック10内の出力ポート191−194にスイッチングすべき16個のパケットA1−P1の決定論的およびノンブロッキングなスケジューリングに関する問題は、図1Cに示す3ステージクロスネットワーク14のノンブロッキングなスケジューリングに関係するという重要な見方をしている。
According to the present invention, all 16 packets A1-P1 are output from the input port via the interconnection network in the
図1Cを参照すると、中間ステージ130を経由して入力ステージ110と出力ステージ120との間の通信要求を満たす10個のスイッチの時間−空間−時間(TST)構成で動作する例示的な対称型3ステージクロスネットワーク14が示されている。ここで、入力ステージ110は、4個の4×2スイッチIS1−IS4から成り、出力ステージ120は4個の2×4スイッチOS1−OS4から成り、中間ステージ130は2個の4×4スイッチMS1−MS2から成る。入力ステージ110内のスイッチそれぞれに対する入口リンクと、出力ステージ120内のスイッチそれぞれに対する出口リンクの数はnで表され、入力ステージ110と出力ステージ120におけるスイッチの数はrで表される。2個の中間スイッチMS1−MS2それぞれは、r個のリンクを介してr個の入力スイッチそれぞれに接続され(例えば、リンクFL1−FL4は入力スイッチIS1−IS4それぞれから、中間スイッチMS1に接続される)、r個の第2内部リンクを介して出力スイッチそれぞれに接続される(例えば、リンクSL1−SL4は、中間スイッチMS1から出力スイッチOS1−OS4それぞれに接続される)。ネットワークは、16個の入口リンク、即ちI{1,1}−I{4,4}および、16個の出口リンクO{1,1}−O{4,4}を有する。図1Cの3ステージクロスネットワーク14において、図1Aのスイッチファブリック10とちょうど同じように、表1に示すように、全ての16個の入力リンクは16個の出力リンクに割り当てられる。図1Cのネットワーク14は、中間ステージ130内のスイッチ数が
個に等しいとき、ユニキャスト接続要求に対して厳密なノンブロッキング方式で動作する(本発明の背景として参照により組み込んだ、Charles Closによる「A Study of Non-Blocking Switching Networks」、1953年1月、The Bell System Technical Journal発行、第32巻、No,1、406−424頁を参照)。
Referring to FIG. 1C, an exemplary symmetric type operating in a 10-switch time-space-time (TST) configuration that satisfies the communication requirements between the
Behave in a strict non-blocking manner for unicast connection requests (“A Study of Non-Blocking Switching Networks” by Charles Clos, incorporated by reference as the background of the present invention, January 1953, The (See Bell System Technical Journal, Vol. 32, No. 1, pages 406-424).
本発明によると、中間ステージ130内の2個の4×4クロスバーネットワーク131−132、即ち、2のスピードアップを有する一実施形態において、図1Aのスイッチファブリック10が厳密なノンブロッキング方式で動作する。その厳密にノンブロッキングで決定論的スイッチングの実装に使用する詳細な方法は、本発明の開示内容の観点から当業者には自明である、多くの様々な方法のいずれであってもよい。そのような調停およびスケジューリング方法の1つは、以下の図1Bにおいて述べる。
In accordance with the present invention, in one embodiment having two 4x4 crossbar networks 131-132 in the
表2は、一実施形態おいて、4回のスイッチング時それぞれにおける表1のパケット要求、許可と承認、に対するパケットのスケジュールを示し、これは図1Bの調停およびスケジューリング方法40のスケジューリング部を使用して計算される。図1Dから図1Hは、各スイッチング時間後の図1Aのスイッチファブリック10の状態を示す。図1Dは、パケットA1、K1、およびP1が出力キューにスイッチングされる第1のスイッチング時間後の図1Aのスイッチファブリック10の状態を示す。入力ポート151からのパケットA1は、クロスバーネットワーク131経由で、出力ポート191の出力キュー181にスイッチングされる。入力ポート152からのパケットF1は、クロスバーネットワーク131経由で、出力ポート192の出力キュー182にスイッチングされる。入力ポート153からのパケットK1は、クロスバーネットワーク132経由で、出力ポート193の出力キュー183にスイッチングされる。入力ポート154からのパケットP1は、クロスバーネットワーク132経由で、出力ポート194の出力キュー184にスイッチングされる。最初のスイッチング時間において、各入力ポートから唯一1個のパケットがスイッチングされ、各出力ポートが唯一1個のパケットを受信することは明らかである。
Table 2 shows, in one embodiment, the packet schedule for the packet requests, grants and grants of Table 1 at each of the four switching times, using the scheduling part of the arbitration and scheduling method 40 of FIG. 1B. Is calculated. 1D to 1H show the state of the
図1EはパケットD1、E1、およびO1が出力キューにスイッチングされる第2スイッチング時間後の図1Aのスイッチファブリック10の状態を示す。入力ポート151からのパケットD1は、クロスバーネットワーク131経由で、出力ポート194の出力キュー181にスイッチングされる。入力ポート152からのパケットE1は、クロスバーネットワーク131経由で、出力ポート191の出力キュー182にスイッチングされる。入力ポート153からのパケットJ1は、クロスバーネットワーク132経由で、出力ポート192の出力キュー183にスイッチングされる。入力ポート154からのパケットO1は、クロスバーネットワーク132経由で、出力ポート193の出力キュー184にスイッチングされる。再び、第2スイッチング時間において、各入力ポートから唯一1個のパケットがスイッチングされ、各出力ポートが唯一1個のパケットを受信する。
FIG. 1E shows the state of the
図1FはパケットC1、H1、I1、およびN1が出力キューにスイッチングされる第3スイッチング時間後の図1Aのスイッチファブリック10の状態を示す。入力ポート151からのパケットC1は、クロスバーネットワーク131経由で、出力ポート193の出力キュー181にスイッチングされる。入力ポート152からのパケットH1は、クロスバーネットワーク131経由で、出力ポート194の出力キュー182にスイッチングされる。入力ポート153からのパケットI1は、クロスバーネットワーク132経由で、出力ポート191の出力キュー183にスイッチングされる。入力ポート154からのパケットN1は、クロスバーネットワーク132経由で、出力ポート192の出力キュー184にスイッチングされる。再び、第3スイッチング時間において、各入力ポートから唯一1個のパケットがスイッチングされ、各出力ポートが唯一1個のパケットを受信する。
FIG. 1F shows the state of the
図1Gは、パケットB2、G2、およびL1が出力キューにスイッチングされる第4スイッチング時間後の図1Aのスイッチファブリック10の状態を示す。入力ポート151からのパケットB2は、クロスバーネットワーク132経由で、出力ポート192の出力キュー181にスイッチングされる。入力ポート152からのパケットG1は、クロスバーネットワーク131経由で、出力ポート193の出力キュー182にスイッチングされる。入力ポート153からのパケットL1は、クロスバーネットワーク131経由で、出力ポート194の出力キュー183にスイッチングされる。入力ポート154からのパケットM1は、クロスバーネットワーク132経由で、出力ポート191の出力キュー184にスイッチングされる。第4スイッチング時間において、各入力ポートから唯一1個のパケットがスイッチングされ、各出力ポートが唯一1個のパケットを受信することは明らかである。
FIG. 1G shows the state of the
図1Hは、パケットが、第1スイッチング時間においてA1、F1、K1およびP1がスイッチされるのと同じように、A2、F2、K2、およびP2が出力キューにスイッチングされる第5スイッチング時間後の図1Aのスイッチファブリック10の状態を示す。入力ポート151からのパケットA2は、クロスバーネットワーク131経由で、出力ポート191の出力キュー181にスイッチングされる。入力ポート152からのパケットF2は、クロスバーネットワーク131経由で、出力ポート192の出力キュー182にスイッチングされる。入力ポート153からのパケットK2は、クロスバーネットワーク132経由で、出力ポート193の出力キュー183にスイッチングされる。入力ポート154からのパケットP2は、クロスバーネットワーク132経由で、出力ポート194の出力キュー184にスイッチングされる。従って図1Bの調停およびスケジューリング方法40は、最初のファブリックスイッチングサイクルに対するスケジューリングが実行された後に、再スケジューリングする必要はない。従って、任意の特定の入力キューから宛先出力キューへのパケットは、同じパスに沿ってスイッチングされ、入力ポートがそれらを受信するのと同じ順番で移動し、従ってパケットの再順序付け問題は決して生じない。
FIG. 1H shows the packet after the fifth switching time when A2, F2, K2, and P2 are switched to the output queue in the same way that A1, F1, K1, and P1 are switched at the first switching time. The state of
ファブリックスイッチングサイクルにおいて、全ての16個のパケットA1−P1が宛先出力ポートにスイッチングされるので、スイッチは本発明に従ってノンブロッキングであり100%スループットで動作する。図1Aのスイッチファブリック10は、スイッチング時間において、パケットが少なくとも1個ある限り、各出力ポートは、その出力ポートを宛先とする入力キューのいずれか1つから、少なくとも1個のパケットを受信するよう動作するので、以後そのスイッチファブリックは、「処理保存的システム」と呼ばれる。スイッチファブリックは、ノンブロッキングである場合、直接的に処理保存的であることは簡単に分かる。本発明によると、図1Aのスイッチファブリック10は、各入力キューの行頭のパケットはどれも、各入力ポートでの入力キュー数(4)と同数のスイッチング回数より多く維持されないよう動作するため、以後そのスイッチファブリックは、「公正なシステム」と呼ばれる。仮想出力キューは行頭で使用されるため、ブロッキングも除去される。
Since all 16 packets A1-P1 are switched to the destination output port in the fabric switching cycle, the switch is non-blocking and operates at 100% throughput according to the present invention. The
本発明によると、相互接続ネットワークにおいて2のスピードアップを使用してスイッチング時間において2個のパケットをスイッチング可能である場合でも、図1Bの調停およびスケジューリング方法40を使用して、図1Aのスイッチファブリック10は、各出力ポートがスイッチ時に、多くとも1個のパケットを受信するように動作する。そのスピードアップは、相互接続ネットワークをノンブロッキング方式で動作させるためだけに厳密に使用され、かつ、出力ポートを決して輻輳させないように使用される。従って、図1Aのスイッチファブリック10内のパケットをスイッチングするための図1Cの調停およびスケジューリング方法40は、決定論的である。各入口リンク141−144は各出口リンク201−204が送信するレートと同一レートで、即ち、各スイッチング時間において1個のパケットで、パケットを受信する。1個のパケットのみが各スイッチング時間で決定論的に各入力ポート151−154からスイッチされ、1個のパケットのみが各出力ポート191−194にスイッチングされるため、図1Aのスイッチファブリック10は決して出力ポートを輻輳させない。
In accordance with the present invention, the arbitration and scheduling method 40 of FIG. 1B can be used to switch the switch fabric of FIG. 1A even when two packets can be switched in switching time using two speedups in the interconnect network. 10 operates so that each output port receives at most one packet when switching. The speedup is used strictly to operate the interconnect network in a non-blocking manner and is used to never congest the output port. Accordingly, the arbitration and scheduling method 40 of FIG. 1C for switching packets in the
本発明による決定論的なスイッチングの大きな利点は、パケットが、高くともピークレートで入力ポートからスイッチングされることである。このことは、パケットが、高くともピークレートで出力ポートにおいて受信されることも意味する。それは、出力ポートでトラフィック管理が必要なく、パケットは出力ポートから決定論的に送信されることを意味する。従って、トラフィック管理は、図1Aのスイッチファブリック10内の入力ポートでのみ必要となる。
A major advantage of deterministic switching according to the present invention is that packets are switched from the input port at the highest peak rate. This also means that packets are received at the output port at the highest peak rate. That means no traffic management is required at the output port and packets are sent deterministically from the output port. Accordingly, traffic management is only required at the input port in the
図1Aのスイッチファブリック10の別の重要な特性は、特別な入力キューに属する全てのパケットが、宛先出力ポート内の同じ出力キューにスイッチングされることである。出願人は、出力キューによる3つのキーとなる利点を指摘する。1)スイッチング時間において、1バイトまたは一定数のバイトが入力ポートから出力ポートにスイッチングされる。あるいは、スイッチファブリックのスイッチング時間は可変であるため、スイッチファブリックの設計段階で柔軟なパラメータである。2)従って、たとえパケットA1−P1が任意の長さであり、サイズが可変であっても、入力キュー内の各パケットが宛先出力ポート内の同じ出力キューにスイッチングされるため、完全なパケットがスイッチング時間においてスイッチングされる必要はない。あるいは、出力キューの第2の利点は、長いパケットを入力ポート内で物理的にセグメント化する必要がなく、出力ポート内で再配置する必要がないということである。パケットは、物理的にセグメント化されずに、1セグメントずつ出力キューに論理的にスイッチングされる(パケットセグメントのサイズはスイッチング時間によって決定される)。各パケット内のパケットセグメントも、入力キューから宛先出力キューへの同一パスを介してスイッチングされる。3)出力キューの第3の利点は、パケットとパケットセグメントは、入力ポートがそれらを受信するのと同じ順番でスイッチングされ、決してパケット再順序付けの問題が生じないことである。
Another important characteristic of the
図1Iは、長いパケットをスイッチングするスイッチファブリック16を示す。各入力キュー内には1個のパケットがあり、これにより16個の全ての入力キューには16個のパケットを作る。即ち、入力ポート151内の入力キュー171にはパケット{A1−A4}が、入力ポート151内の入力キュー172にはパケット{B1−B4}が、入力ポート151内の入力キュー173にはパケット{C1−C4}などが作られ、入力ポート154内の入力キュー174にはパケット{P1−P4}がある。これらの16個のパケットそれぞれは、4個の等しいサイズのパケットセグメントから成る。例えば、パケット{A1−A4}は4個のパケットセグメント、即ちA1、A2、A3およびA4から成る。パケットのサイズが完全にパケットセグメントのサイズの4倍でない場合、4番目のパケットのサイズはより短い。しかしながら、4個のパケットセグメントのうちどれも、パケットセグメントのサイズの最大値よりは長くない。パケットセグメントのサイズはスイッチング時間によって決定される。即ち、各スイッチング時間において、唯一のパケットセグメントが任意の入力ポートから任意の出力ポートにスイッチングされる。より長いパケットのサイズ除いて、図1Iのスイッチファブリック16の図は図1Aのスイッチファブリック10の図と同じである。
FIG. 1I shows a
図1Jから図1Mは、各ファブリックスイッチングサイクル後の図1Iのスイッチファブリック16の状態を示す。図1Jは、全ての行頭パケットセグメントA1−P1が出力ポートにスイッチングされる第1ファブリックスイッチングサイクル後の、図1Iのスイッチファブリック16の状態を示す。図1D−1Gに示すように、これらのパケットセグメントは、図1Bの調停およびスケジューリング方法40を使用して、図1Aのスイッチファブリック10においてパケットA1−P1が出力キューにスイッチングされるのと全く同じ方法で、出力キューにスイッチングされる。図1Kは、全ての行頭パケットセグメントA1−P1が出力キューにスイッチング第2ファブリックスイッチングサイクル後の図1Iのスイッチファブリック16の状態を示す。図1Lは、全ての行頭パケットセグメントA3−P3が出力キューにスイッチングされる第3ファブリックスイッチングサイクル後の図1Iのスイッチファブリック16の状態を示す。図1Mは、全ての行頭パケットセグメントA1−P1が出力キューにスイッチングされる第4ファブリックスイッチングサイクル後の図1Iのスイッチファブリック16の状態を示す。第1、第2、第3、および第4のファブリックスイッチングサイクルの各々において、図1D−1Gに示すように、パケットA1−P1が、図1Aのスイッチファブリック10において、出力キューにスイッチングされるのと全く同じ方法で、パケットセグメントは出力キューにスイッチングされる。明らかに、全てのパケットセグメントは、各々の入力ポートが受信するのと同じ順序でスイッチングされる。従って、パケット再順序付けの問題はない。パケットはさらに100%スループット、処理保存的、および公正な方式でスイッチングされる。
1J through 1M show the state of the
図1J−1Mにおいて、パケットは論理的にセグメント化され、出力ポートにスイッチングされる。一実施形態において、タグビット「1」がさらに各パケットセグメントの特別に指定されたビット位置にパディングされ、そのパケットセグメントが各パケット内で最初のパケットセグメントであることを表す。「1」のタグビットを読むことで、出力ポートはパケットセグメントA1−P1が、新規パケット内の最初のパケットセグメントであることを認識する。同様に各パケットセグメントは、「0」でパディングされる最後のパケットセグメントを除いて、指定ビット位置に「1」のタグビットでパディングされる(例えば、図1Iのスイッチファブリック16内のパケットセグメントにおいて、パケットセグメントA1−P1、A2−P2およびA3−P3は「1」のタグビットでパディングされ、パケットセグメントA4−P4は「0」のタグビットでパディングされる)。タグビットが「0」として検出されるとき、出力ポートは次に新規パケットのパケットセグメントまたは新規パケットを期待する。パケット内に1個のみのパケットセグメントがある場合、それは入力ポートによって「0」のタグビットで表される。出力ポートが「0」の指定タグビットを有する2つの連続パケットセグメントを受信した場合、出力ポートは、2番目のパケットセグメントを新規パケットの唯一のパケットセグメントであると判定する。
In FIGS. 1J-1M, packets are logically segmented and switched to output ports. In one embodiment, the tag bit “1” is further padded to a specially designated bit position in each packet segment to indicate that the packet segment is the first packet segment in each packet. By reading the tag bit of “1”, the output port recognizes that the packet segment A1-P1 is the first packet segment in the new packet. Similarly, each packet segment is padded with a tag bit of “1” at the specified bit position, except for the last packet segment padded with “0” (eg, in the packet segment in
図1Iのスイッチファブリック16において、パケットは4セグメントの長さである。しかしながら、一般にパケットは任意の長さである。加えて、同一キュー内の異なるパケットは異なるサイズでありうる。双方の場合において、図1Bの調停およびスケジューリング方法は、スイッチファブリックをノンブロッキング方式で動作させ、パケットは100%スループット、処理保存的、および公正な方式でスイッチされる。さらに、入力ポート内でパケットを物理的にセグメント化し、出力ポート内で再組立する必要はない。スイッチファブリックのスイッチング時間は柔軟な設計パラメータでもあり、各スイッチング時間において1バイトずつ、または数バイトずつパケットをスイッチングするように設定される。
In the
図1Bは、一実施形態において図1Aのスケジューラにより実行される調停およびスケジューリング方法40の高レベルフローチャートを示す。この実施形態による、多くともr個の要求が、アクト41で各入力ポートから生成される。各入力ポートは、各入力キューから多くとも1個の要求を備えた、r個の入力キューを有するので、各入力ポートからの多くともr個の要求が存在することになる。これらr個の要求の各々は異なる出力ポートにも宛てられる。アクト42において、各出力ポートは多くともr個の許可を発行することになる。このとき、各要求は関連する出力キューに対応する。各入力ポートは、唯一の要求を生成するので、各出力ポートが、多くともr個の要求を各入力ポートから1個受信することは簡単に分かる。そして各出力ポートは許可を、r個の受信された要求全てに発行できる。アクト43において、各入力ポートは多くともr個の許可を承認する。各出力ポートは多くともr個の許可を各入力ポートに対して1個発行するので、各入力ポートは多くともr個の許可を受信する。そして各入力ポートはr個の許可全てを承認する。
FIG. 1B illustrates a high-level flowchart of the arbitration and scheduling method 40 performed by the scheduler of FIG. 1A in one embodiment. At most r requests according to this embodiment are generated from each input port at
アクト44において、全てのr2個の要求が、以前スケジューリングしたパケットのパスを再配置せずにスケジューリングされる。本発明によると、全てのr2個の要求は中間ステージ130における少なくとも2のスピードアップで厳密にノンブロッキング方式でスケジューリングされる。要求生成の調停、許可の発行、承認の生成が、1度だけの繰り返しで実行されることに留意されたい。アクト44の後に、制御はアクト45に戻る。アクト45において、入力ポートで新規の要求または異なる要求があるかどうかがチェックされる。結果が「ノー」の場合、制御はアクト45に戻る。新規要求はあるが同一の要求であり、出力キュー要求に対して同じ入力キューを有する場合、同じスケジュールが使用され、次のr2個の要求をスイッチングする。入力ポートから新規の要求および異なる要求があるとき、制御はアクト45からアクト41に移る。そしてアクト41−45がループ内で実行される。
At
図1Cのネットワーク14は、中間ステージ130のスイッチの数が
に等しいとき、ユニキャスト接続要求に対して再配置可能なノンブロッキング方式で動作することもできる。同様に本発明によると、中間ステージ130内で4×4クロスバーネットワーク131を1つだけ、即ち少なくとも1のスピードアップを有する別の実施形態において、図1Nのスイッチファブリック18は、再配置可能なノンブロッキング方式で動作する。
In the
It is also possible to operate in a non-blocking manner that can be rearranged for unicast connection requests. Similarly, according to the present invention, in another embodiment having only one 4 × 4
厳密にノンブロッキングなネットワークにおいて、全ての入力キューの行頭でパケットが一度にスケジューリングされると、以前スケジューリングしたパケットのパスを乱すことなく、ネットワークを介して入力キューから宛先出力キューまで、パケットのパスをスケジューリングすることが常に可能であり、1個より多くののそのようなパスが利用可能な場合、残りのパケットのスケジューリングを気にすることなく、任意のパスを選択できる。再配置可能なノンブロッキングなネットワークにおいて、全ての入力キューの行頭でパケットが一度にスケジューリングされると、入力キューから宛先出力キューへのパケットのパスをスケジューリングすることは、再配置が必要な場合は、以前スケジューリングしたパケットのパスをスケジューラが再配置することで満足されるよう保証される。本発明によると、図1Aのスイッチファブリック10が厳密にノンブロッキング方式で動作するのに対して、図1Nのスイッチファブリック18は再配置可能なノンブロッキング方式で動作する。
In a strictly non-blocking network, once packets are scheduled at the beginning of all input queues, the packet path from the input queue to the destination output queue is routed through the network without disturbing the previously scheduled packet path. Scheduling is always possible, and if more than one such path is available, any path can be selected without worrying about scheduling the remaining packets. In a relocatable non-blocking network, once a packet is scheduled at the beginning of all input queues, scheduling the path of the packet from the input queue to the destination output queue is Satisfaction is guaranteed by relocating the path of previously scheduled packets by the scheduler. According to the present invention, the
図2Aを参照すると、スイッチファブリック20は出力キューを有さない。そうでなければ、図2Aのスイッチファブリック20は、図1Aのスイッチファブリック10の図と全く同じである。本発明によると、スイッチファブリック20は、入力ポートおよび出力ポート内にSARが必要であるのを除いて、図1Aのスイッチファブリック10について開示したのと全ての点で同じように、厳密にノンブロッキングで決定論的方式で動作する。パケットは、スイッチング時間によって決定されたように入力ポート内でセグメント化され、出力ポートにスイッチングされて、別個に再組立される必要がある。しかしながら、図1Bの調停およびスケジューリング方法40は、図2Aのスイッチファブリック20内のパケットをスイッチングするためにも使用される。ここでさらに、スケジューリングは全ての16個の行頭パケット上で同時に実行され、仮想的に16個の出力キューがあると仮定すると、パケットは4回のスイッチング時間でスイッチングされる。しかしながら、スイッチング時間の間、パケットは出力キューの代わりに、宛先出力ポートにスイッチングされる。図2B−2Fは、図1Bの調停およびスケジューリング方法を使用し、表1に示すパケット要求をスケジューリングすることによる、各スイッチング時間後の図2Aのスイッチファブリック20の状態を示す。
Referring to FIG. 2A, the
図2Bは、パケットA1、F1、K1、およびP1が出力キューにスイッチングされる最初のスイッチング時間後の図2Aのスイッチファブリック20の状態を示す。入力ポート151からのパケットA1は、クロスバーネットワーク131経由で、出力ポート191にスイッチングされる。入力ポート152からのパケットF1は、クロスバーネットワーク131経由で、出力ポート192にスイッチングされる。入力ポート153からのパケットK1は、クロスバーネットワーク132経由で、出力ポート193にスイッチングされる。入力ポート154からのパケットP1は、クロスバーネットワーク132経由で、出力ポート194にスイッチングされる。第1スイッチング時間において、各入力ポートから唯一1個のパケットがスイッチングされ、各出力ポートは唯一1個のパケットを受信することは明らかである。
FIG. 2B shows the state of the
図2Cは、パケットD1、E1、J1およびO1が出力キューにスイッチングされる第2スイッチング時間後の、図2Aのスイッチファブリック20の状態を示す。入力ポート151からのパケットD1は、クロスバーネットワーク131経由で、出力ポート194にスイッチングされる。入力ポート152からのパケットE1は、クロスバーネットワーク131経由で、出力ポート191にスイッチングされる。入力ポート153からのパケットJ1は、クロスバーネットワーク132経由で、出力ポート192にスイッチングされる。入力ポート154からのパケットO1は、クロスバーネットワーク132経由で、出力ポート193にスイッチングされる。再び、第2スイッチング時間において、各入力ポートから唯一1個のパケットがスイッチングされ、各出力ポートは唯一1個のパケットを受信する。
FIG. 2C shows the state of the
図2Dは、パケットC1、H1、I1およびN1が出力キューにスイッチングされる第3スイッチング時間後の図2Aのスイッチファブリック20の状態を示す。入力ポート151からのパケットC1は、クロスバーネットワーク131経由で、出力ポート193にスイッチングされる。入力ポート152からのパケットH1は、クロスバーネットワーク131経由で、出力ポート194にスイッチングされる。入力ポート153からのパケットI1は、クロスバーネットワーク132経由で、出力ポート191にスイッチングされる。入力ポート154からのパケットN1は、クロスバーネットワーク132経由で、出力ポート192にスイッチングされる。再び、第3スイッチング時間において、各入力ポートから唯一1個のパケットがスイッチングされ、各出力ポートは唯一1個のパケットを受信する。
FIG. 2D shows the state of the
図2Eは、パケットB1、G1、L1およびM1が出力キューにスイッチングされる第4スイッチング時間後の図2Aのスイッチファブリック20の状態を示す。入力ポート151からのパケットB1は、クロスバーネットワーク132経由で、出力ポート192にスイッチングされる。入力ポート152からのパケッG1は、クロスバーネットワーク131経由で、出力ポート193にスイッチングされる。入力ポート153からのパケットL1は、クロスバーネットワーク131経由で、出力ポート194にスイッチングされる。入力ポート154からのパケットM1は、クロスバーネットワーク132経由で、出力ポート191にスイッチングされる。第4スイッチング時間において、各入力ポートから唯一1個のパケットがスイッチングされ、各出力ポートは唯一1個のパケットを受信するは明らかである。
FIG. 2E shows the state of the
図2Fは、A1、F1、K1およびP1が、第1スイッチング時間においてスイッチングされるのと全く同じように、パケットA2、F2、K2およびP2が出力キューにスイッチングされる第5スイッチング時間後の、図2Aのスイッチファブリック20の状態を示す。入力ポート151からのパケットA2は、クロスバーネットワーク131経由で、出力ポート191にスイッチングされる。入力ポート152からのパケットF2は、クロスバーネットワーク131経由で、出力ポート192にスイッチングされる。入力ポート153からのパケットK2は、クロスバーネットワーク132経由で、出力ポート193にスイッチングされる。入力ポート154からのパケットP2は、クロスバーネットワーク132経由で、出力ポート194にスイッチングされる。
FIG. 2F shows a fifth switching time after packets A2, F2, K2 and P2 are switched to the output queue, just as A1, F1, K1 and P1 are switched in the first switching time. The state of the
また、図1Bの調停およびスケジューリング方法40は、図2Aのスイッチファブリック20を厳密にノンブロッキング方式で動作させ、パケットは、100%スループット、処理保存的、および公正な方式で動作する。スイッチファブリックのスイッチング時間は、柔軟な設計パラメータでもあり、各スイッチング時間において1バイトずつまたは数バイトずつパケットをスイッチングするよう設定することができる。しかしながら、スイッチファブリック20にSAR必要となり、パケットが入力ポート内で物理的にセグメント化され、出力ポート内で再組立される必要があることになる。それにも関わらず、スイッチファブリック20において、パケットおよびパケットセグメントは、入力ポートが受信するのと同じ順序で、出力ポートにスイッチングされる。実際、SARを除き、図1Bの調停およびスケジューリング方法40は、図1Aのスイッチファブリック10に関して説明したのと全ての点で、同じ方法でスイッチファブリック20を動作させる。
Also, the arbitration and scheduling method 40 of FIG. 1B operates the
スイッチファブリックがノンブロッキングに動作するための中間ステージにおける2のスピードアップは、2つの方法で実現される。即ち、1)並列処理および2)スイッチングレートの2倍化である。並列処理は、例えば図1Aのスイッチファブリック10で示すように、中間ステージ内の2個の相互接続ネットワークを並列に使用することで実現される。スイッチングレートの2倍化は、入力ポートおよび出力ポート内の各クロックに対して、単一の相互接続ネットワーク、第1および第2の内部リンクを2倍のクロックレートで動作させることで実現される。第1クロックにおいて、単一の相互接続ネットワークは、2個の並列相互接続ネットワークで実装された等価なスイッチファブリックの第1相互接続、例えば図1Aのスイッチファブリック10内の相互接続ネットワーク131として、スイッチングに対して動作する。同様に第2クロックにおいて、単一の相互ネットワークは、第2相互接続ネットワーク、例えば図1Aのスイッチファブリック10内の相互接続ネットワーク132として動作する。従って、相互接続ネットワークのクロックスピードと、第1および第2の内部リンクとにおいて2倍のレートがこの実装に必要となる。図1Bの調停およびスケジューリング方法40は、並列処理または2倍のレートによるスピードアップを実装して、双方のスイッチファブリックを、本発明において説明したように、全ての点でノンブロッキングで決定論的方式で動作させる。
The two speedups in the intermediate stage for the switch fabric to operate non-blocking are realized in two ways. That is, 1) parallel processing and 2) doubling of the switching rate. Parallel processing is realized by using two interconnected networks in the intermediate stage in parallel, as shown for example by the
図3Aを参照すると、図3Aはスイッチファブリック30を示す。中間ステージ130内の唯一のクロスバー相互接続ネットワークでのクロックスピードを2スピードアップさせることと、第1および第2の内部リンクを2スピードアップさせることを除いて、図1Aのスイッチファブリック10の図と同じである。図1Aのネットワークの別の実施形態において、中間ステージ内の各相互接続ネットワークは共有メモリネットワークである。図3Bは、スイッチファブリック50を示す。中間ステージ130内の2個の共有メモリ相互接続ネットワークをスピードアップさせることを除いて、図1Aのスイッチファブリック10と同じである。図3Cは、スイッチファブリック60を示す。中間ステージ130内の唯一の共有メモリ相互接続ネットワークのクロックスピードを2スピードアップさせることと、第1および第2の内部リンクを2スピードアップさせることを除いて、図3Aのスイッチファブリック30と全く同じである。
Referring to FIG. 3A, FIG. 3A shows the switch fabric 30. The diagram of the
同様に、図3Dは、スイッチファブリック70を示す。2スピードアップに、中間ステージ130内の2個のハイパーキューブ相互接続ネットワークを2スピードアップさせることを除いて、図1Aのスイッチファブリック10と全く同じである。図3Eは、スイッチファブリック60を示す。中間ステージ130内の唯一のハイパーキューブベースの相互接続ネットワークのクロックレートを2スピードアップさせることと、第1および第2の内部リンクを2スピードアップさせることを除いて、図3Aのスイッチファブリック30と全く同じである。
Similarly, FIG. 3D shows the
図1Aのスイッチファブリック10、図1Iの16、図1Nの18、図2Aの20、図3Aの30、図3Bの50、図3Cの60、図3Dの70、および図3Eの80において、入力ポート110の数と出力ポート120の数が、一般に各ステージに対する変数rで表される。中間ステージにおけるスピードアップはsで表される。中間ステージにおけるスピードアップは、並列処理、即ち2個の相互接続ネットワーク(図4A、図4Cおよび図4Eに示す)、または1個の相互接続ネットワークにおける2倍のスイッチングレート(図4B、図4Dおよび図4Fに示す)のいずれかにより実現される。各入力ポートのサイズ151−{151+r}は、一般にr*sの記法で表され(各入力ポートがr個の入力キューを有し、s個の相互接続ネットワークとs個の第1内部リンクで接続されるということである)、各出力スイッチのサイズ191−{191+r}は、一般にs*rの記法で表される(各出力ポートがr個の出力キューを有し、s個の相互接続ネットワークとs個の第2内部リンクで接続されるということである)。同様に、中間ステージ130内の各相互接続ネットワークのサイズはr*rと表される。ここで説明した相互接続ネットワークは、クロスバーネットワークや、共有メモリネットワーク、各々がクロスバーまたは共有メモリネットワークであるサブネットワークのネットワーク、3ステージクロスネットワーク、ハイパーキューブ、任意の内部ノンブロッキング相互接続ネットワーク、またはネットワークのネットワークであってよい。3ステージスイッチファブリックは、V(s,r)の記法で表される。
Inputs at
存在する出力キュー181−{181+r}と同数の入力キュー171−{171+r}がある必要はないが、対称ネットワークにおいてそれらは同数である。s個の中間ステージ相互接続ネットワーク131−132それぞれは、r個の第1内部リンクを介して、r個の入力ポートのそれぞれに接続され、r個の第2内部リンクを介して、出力ポートそれぞれに接続される。第1の内部リンクFL1−FLrそれぞれ、および第2内部リンクSL1−SLrそれぞれは、新規パケットにより使用可能か、または別のパケットにより既に取得されている場合に利用可能でないかのいずれかである。 There need not be as many input queues 171-{171 + r} as there are output queues 181-{181 + r}, but they are the same in a symmetric network. Each of the s intermediate stage interconnect networks 131-132 is connected to each of the r input ports via r first internal links, and each of the output ports via r second internal links. Connected to. Each of the first internal links FL1-FLr and each of the second internal links SL1-SLr are either usable by new packets or not available if already acquired by another packet.
図1Aのスイッチファブリック10は、図4Aの一般的な対称スイッチファブリックの例であり、中間ステージ130内の2個のクロスバー相互接続ネットワークを使用することで2のスピードアップを提供する。図4Bを参照すると、一般的な対称スイッチファブリックが示される。中間ステージ130内の唯一のクロスバー相互接続ネットワークのクロックスピードを2スピードアップすることと、第1および第2の内部リンクを2スピードアップすることを除いて、図4Aのスイッチファブリック30と同じである
The
図4Cは、一般的な対称スイッチファブリックを示す。中間ステージ130内の2個の共有メモリ相互接続ネットワークを使用することで2のスピードアップを提供する。図4Dは、一般的な対称スイッチファブリックを示す。これは、中間ステージ130内の唯一の共有メモリ相互接続ネットワークのクロックスピードを2スピードアップし、第1および第2の内部リンクを2スピードアップすることを使用することで、2のスピードアップを提供する。
FIG. 4C shows a typical symmetric switch fabric. Using two shared memory interconnect networks in the
図4Eは、一般的な対称スイッチファブリックを示す。中間ステージ130内の2個の3ステージクロス相互接続ネットワークを使用することで、2のスピードアップを提供する。図4Fは、一般的な対称スイッチファブリックを示す。中間ステージ130内の唯一の3ステージクロス相互接続ネットワークを2スピードアップさせることと、第1および第2の内部リンクを2スピードアップさせることを使用することで、2のスピードアップを提供する。
FIG. 4E shows a typical symmetric switch fabric. Using two three-stage cross-interconnect networks in the
一般に、中間ステージ130内の相互接続ネットワークは、任意の相互接続ネットワーク、即ち、ハイパーキューブや、バッチャバニアン相互接続ネットワーク、任意の内部ノンブロッキング相互接続ネットワーク、またはネットワークのネットワークであってよい。一実施形態において、相互接続ネットワーク131および132は、2つの異種のネットワークのであってよい。例えば、相互接続ネットワーク131は、クロスバーネットワークであってよく、相互接続ネットワーク132は、共有メモリネットワークであってよい。本発明によると、中間ステージにおいて使用される相互接続ネットワークの種類とは無関係に、中間ステージ内の少なくとも2のスピードアップが、図1Bの調停およびスケジューリング方法40を使用して、厳密にノンブロッキング方式でスイッチファブリックを動作させる。そして中間ステージ内の少なくとも1のスピードアップが、そのスイッチファブリックを再配置可能なノンブロッキング方式で動作させる。
In general, the interconnection network in the
スイッチファブリック内のスピードアップは、相互接続ネットワークの内部スピードアップに関係しないことに留意されたい。例えば、クロスバーネットワークおよび共有メモリネットワークは完全接続のトポロジーであり、何ら追加的な内部スピードアップなくても、内部的にノンブロッキングである。例えば、図1Aのスイッチファブリック10または図3Bのスイッチファブリック50のいずれかにおける相互接続ネットワーク131−132は、クロスバーネットワークまたは共有メモリネットワークであり、ノンブロッキング方式で動作するために相互接続ネットワーク131−132のいずれかに必要となるスピードアップはない。しかしながら、相互接続ネットワーク131−132が3ステージクロスネットワークである場合、各3ステージクロスネットワークには、厳密にノンブロッキング方式で動作可能であるために、内部での2のスピードアップが必要となる。中間ステージ相互接続ネットワーク131−132が3ステージクロスネットワークであるスイッチファブリックにおいて、スイッチファブリックの2のスピードアップは、131および132のような2個の異なる3ステージクロスネットワークの形で提供される。加えて、各3ステージクロスネットワーク131および132は、それ自体が内部的に厳密にノンブロッキングであるために、さらに2のスピードアップが必要である。明らかに、スイッチファブリックのスピードアップは、相互接続ネットワークの内部のスピードアップとは異なる。
Note that the speedup within the switch fabric is not related to the internal speedup of the interconnect network. For example, crossbar networks and shared memory networks are fully connected topologies and are internally non-blocking without any additional internal speedup. For example, the interconnect network 131-132 in either the
同様に、中間ステージ131および132内の相互接続ネットワークがハイパーキューブネットワークである場合、ある実施形態においてdランクのハイパーキューブ(2d個のノードを備える)において、それがノンブロッキングネットワークであるために、dの内部のスピードアップが必要である。本発明によると、中間ステージの相互接続ネットワーク131または132は、スイッチファブリックが図1Bの調停およびスケジューリング方法40を使用して、中間ステージ内で2のスピードアップで、厳密にノンブロッキング方式で動作可能であり、また、中間ステージ内で少なくとも1のスピードアップで、再配置可能なノンブロッキング方式で動作可能であるために、任意の内部ノンブロッキング相互接続ネットワークであることができる。
Similarly, if the interconnection network in the
図4Gを参照すると、中間ステージ相互接続ネットワーク131または132が図3Dのスイッチファブリック70および図3Eのスイッチファブリック80内にある一実施形態における、4×4ポート(2ランク)のハイパーキューブベース相互接続ネットワークの詳細図が示されている。4ノードハイパーキューブには4個のノード、即ち00、01、10および11がある。ノード00は、ノード01に双方向リンクAで接続される。ノード01は、ノード11に双方向リンクBで接続される。ノード11は、ノード10に双方向リンクCで接続される。ノード10は、ノード00に双方向リンクDで接続される。4個のノードそれぞれは、スイッチファブリックの入力ポートおよび出力ポートに接続される。ノード00は、第1内部リンクFL1と第2内部リンクSL1に接続される。ノード01は、第1内部リンクFL2と第2内部リンクSL1に接続される。ノード10は、第1内部リンクFL3と第2内部リンクSL3に接続される。ノード11は、第1内部リンクFL4と第2内部リンクSL4に接続される。図4Gに示すハイパーキューブネットワーク131または132が内部的にノンブロッキングであるために、一実施形態において、スイッチファブリックの入口リンク(または出口リンク)と同じレートで、あるいはハイパーキューブネットワークのスケジューリング体系に左右される幾らか要因のスピードアップによって、リンクA、B、C、Dを双方向に動作させる必要がある。本発明に従うと、ハイパーキューブが内部的にノンブロッキング方式で動作すること、スイッチファブリックが図1Bの調停およびスケジューリング方法40を使用して、少なくとも2のスピードアップで厳密にノンブロッキング方式で動作可能であること、およびスイッチファブリックが中間ステージで少なくとも1のスピードアップで、再配置可能なノンブロッキング方式で動作可能であることが必要になる。
Referring to FIG. 4G, a 4 × 4 port (2 rank) hypercube based interconnect in one embodiment where the intermediate
図4A−4Fは、同数の第1内部リンクと第2内部リンクを示すが、対称スイッチファブリックの場合のように、本発明は非対称スイッチファブリックに拡張される。一般に、(r1*r2)の非対称スイッチファブリックであって、その非対称スイッチファブリックは、各入力ポートがr2個の入力キューを有するr1個の入力ポートと、各出力ポートがr1個の出力キューを有するr2個の出力ポートと、s個のサブネットワークを備えた、少なくとも
のスピードアップを有する相互接続ネットワークとを備え、各サブネットワークは総数少なくともr1個の第1内部リンクに対する各入力ポートに接続される少なくとも1個の第1内部リンクを備え、各サブネットワークはさらに総数少なくともr2個の第2内部リンクに対する各出力ポートに接続される少なくとも1個の第2内部リンクを備える。その非対称スイッチファブリックは、r1≦r2のときに、スイッチングすべき各スイッチング時間において、多くともr2回のスイッチング時間だけ決定論的な方式で、かつパケットのセグメント化および再組立を要求することなく、多くともr1個のパケットをスケジューリングすることで、本発明による厳密にノンブロッキング方式で動作する。別の実施形態においては、スイッチファブリックは、r2≦r1のときに、スイッチングすべき各スイッチング時間において、多くともr1回のスイッチング時間だけ決定論的な方式で、かつパケットのセグメント化および再組立を要求することなく、多くともr2個のパケットをスケジューリングすることで、本発明による厳密にノンブロッキング方式で動作する。
4A-4F show the same number of first and second internal links, but as in the case of a symmetric switch fabric, the invention extends to an asymmetric switch fabric. In general, be asymmetric switch fabric (
Each subnetwork comprising at least one first internal link connected to each input port for a total of at least r 1 first internal links, each subnetwork further comprising: A total of at least one second internal link connected to each output port for at least r 2 second internal links. The asymmetric switch fabric requires packet segmentation and reassembly in a deterministic manner at most r 2 switching times at each switching time to be switched when r 1 ≦ r 2 Without scheduling at most r 1 packets, it operates in a strictly non-blocking manner according to the present invention. In another embodiment, the switch fabric is deterministic in each switching time to be switched when r 2 ≦ r 1 , and at most r 1 switching time, and packet segmentation and By scheduling at most r 2 packets without requiring reassembly, it operates in a strictly non-blocking manner according to the present invention.
そのような一般的な非対称スイッチファブリックはV(s,r1,r2)として表される。一実施形態において、システムは調停に対して、相互接続ネットワークにおいて数学的に最小のスピードアップで一回のみの繰り返しを実行する。システムは100%スループット、処理保存的、公正、それでいて決定論的に動作し、それによって出力ポートを決して輻輳させない。図1Bの調停およびスケジューリング方法40は、V(s,r1,r2)のスイッチファブリックにおいてパケットをスケジューリングするためにも使用される。 Such a general asymmetric switch fabric is represented as V (s, r 1 , r 2 ). In one embodiment, the system performs only one iteration for arbitration with minimal mathematical speedup in the interconnect network. The system operates 100% throughput, conservative, fair, yet deterministic, thereby never congesting the output port. The arbitration and scheduling method 40 of FIG. 1B is also used to schedule packets in a V (s, r 1 , r 2 ) switch fabric.
図1Bの調停およびスケジューリング方法40は、一般的なV(s,r1,r2)スイッチファブリックもノンブロッキング方式で動作させ、パケットは100%スループット、処理保存的、公正な方式でスイッチングされる。スイッチファブリックのスイッチング時間は、柔軟な設計パラメータでもあり、各スイッチング時間において1バイトずつまたは数バイトずつパケットをスイッチングするよう設定されることもできる。さらに、本発明において説明したようにSARの必要もない。出力キューなしの実施形態において、パケットは入力ポート内で物理的にセグメント化され、出力ポートで再組立される必要がある。 In the arbitration and scheduling method 40 of FIG. 1B, a general V (s, r 1 , r 2 ) switch fabric is also operated in a non-blocking manner, and packets are switched in a 100% throughput, processing conservative and fair manner. The switching time of the switch fabric is also a flexible design parameter and can be set to switch packets one byte or several bytes at each switching time. Furthermore, there is no need for SAR as described in the present invention. In embodiments without an output queue, the packets must be physically segmented within the input port and reassembled at the output port.
同様に、一実施形態において、非対称スイッチファブリックV(s,r1,r2)は、相互接続ネットワークにおいて、少なくとも
のスピードアップで再配置可能なノンブロッキング方式で動作する。これは、r1≦r2のときに、スイッチングすべき各スイッチング時間において、多くともr2回のスイッチング時間だけ決定論的な方式で、かつパケットのセグメント化および再組立を要求することなく、多くともr1個のパケットをスケジューリングすることで動作する。別の実施形態において、非対称スイッチファブリックV(s,r1,r2)は、相互接続ネットワークにおいて、少なくとも
のスピードアップで再配置可能なノンブロッキング方式で動作する。これは、r2≦r1のときに、スイッチングすべき各スイッチング時間において、多くともr1回のスイッチング時間だけ決定論的な方式で、かつパケットのセグメント化および再組立を要求することなく、多くともr2個のパケットをスケジューリングすることで動作する。
Similarly, in one embodiment, the asymmetric switch fabric V (s, r 1 , r 2 ) is at least in the interconnect network
It operates in a non-blocking method that can be relocated at a speedup of. This is a deterministic method for each switching time to be switched when r 1 ≦ r 2 and at most r 2 switching times, and without requiring packet segmentation and reassembly, It works by scheduling at most r 1 packets. In another embodiment, the asymmetric switch fabric V (s, r 1 , r 2 ) is at least in the interconnect network
It operates in a non-blocking method that can be relocated at a speedup of. This is in a deterministic manner at each switching time to be switched when r 2 ≦ r 1 , at most r 1 switching time, and without requiring packet segmentation and reassembly, It works by scheduling r 2 packets at most.
非対称スイッチファブリックV(s,r1,r2)であって、その非対称スイッチファブリックは、各入力ポートがr2個の入力キューを有するr1個の入力ポートと、r2個の出力ポートと、s個のサブネットワークを備えた、少なくとも
のスピードアップを有する相互接続ネットワークとを備え、各サブネットワークは、少なくとも総数r1個の第1内部リンクに対する各入力ポートに接続された、少なくとも1つの第1内部リンクを備え、各サブネットワークは、さらに少なくとも総数r2個の第2内部リンクに対する各出力ポートに接続された、少なくとも1つの第2内部リンクを備える。その非対称スイッチファブリックは、本発明に従い、スイッチングすべき各スイッチング時間において、多くともr2回のスイッチング時間だけ決定論的な方式で、多くともr1個のパケットをスケジューリングし、かつパケットのセグメント化および再組立を要求することで、厳密にノンブロッキング方式で動作する。図1Bの調停およびスケジューリング方法40は、出力キューを使用せずに、V(s,r1,r2)スイッチファブリックにおいてパケットをスイッチングするためにも使用される。
An asymmetric switch fabric V (s, r 1 , r 2 ), wherein the asymmetric switch fabric includes r 1 input ports each having r 2 input queues, r 2 output ports, and , With at least s subnetworks
Each subnetwork comprising at least one first internal link connected to each input port for at least a total of r 1 first internal links, wherein each subnetwork is , And at least one second internal link connected to each output port for at least a total of r 2 second internal links. The asymmetric switch fabric according to the present invention schedules at most r 1 packets and segments the packets in a deterministic manner at most r 2 switching times at each switching time to be switched. And by requiring reassembly, it operates strictly in a non-blocking manner. The arbitration and scheduling method 40 of FIG. 1B is also used to switch packets in a V (s, r 1 , r 2 ) switch fabric without using an output queue.
非対称スイッチファブリックV(s,r1,r2)であって、その非対称スイッチファブリックは、各入力ポートがr2個の入力キューを有するr1個の入力ポートと、r2個の出力ポートと、s個のサブネットワークを備えた、少なくとも
のスピードアップを有する相互接続ネットワークとを備え、各サブネットワークは、少なくとも総数r1個の第1内部リンクに対する各入力ポートと接続された少なくとも1つの第1内部リンクを備え、各サブネットワークは、さらに少なくとも総数r2個の第2内部リンクに対する各出力ポートに接続された少なくとも1つの第2内部リンクを備える。その非対称スイッチファブリックは、本発明に従い、スイッチングすべき各スイッチング時間において、多くともr2回のスイッチング時間だけ決定論的な方式で、多くともr1個のパケットをスケジューリングし、かつパケットのセグメント化および再組立を要求することで、再配置可能なノンブロッキング方式で動作する。
An asymmetric switch fabric V (s, r 1 , r 2 ), wherein the asymmetric switch fabric includes r 1 input ports each having r 2 input queues, r 2 output ports, and , With at least s subnetworks
Each sub-network comprising at least one first internal link connected to each input port for at least a total number r 1 first internal links, each sub-network comprising: And at least one second internal link connected to each output port for at least a total of r 2 second internal links. The asymmetric switch fabric according to the present invention schedules at most r 1 packets and segments the packets in a deterministic manner at most r 2 switching times at each switching time to be switched. And by requiring reassembly, it operates in a non-blocking manner that can be repositioned.
出願人は、本発明で説明した全てのスイッチファブリックは、入力ポートから出力ポートへ、レートおよびレイテンシの保証を提供することを指摘している。エンドツーエンド保証帯域幅、即ち、任意の入力ポートから任意の出力ポートへの帯域幅が、表1に示す入力キューから出力キューへの割当に基づいて与えられる。保証された一定のレイテンシが、複数の入力ポートから任意の出力ポートへのパケットに与えられる。各入力ポートはその宛先出力ポート内の割当出力キューにパケットをスイッチングするため、ある入力ポートからのパケットは、同じ出力ポートにスイッチングする第2の入力ポートからの別のパケットを妨害せず、従って入力ポート全てからのパケットのレイテンシ保証を強制する。スイッチファブリックのスイッチング時間は、各フローにおけるパケットのレイテンシを決定し、さらに各パケット内のパケットセグメントのレイテンシも決定する。 Applicants note that all switch fabrics described in the present invention provide rate and latency guarantees from input ports to output ports. End-to-end guaranteed bandwidth, ie, bandwidth from any input port to any output port, is given based on the input queue to output queue allocation shown in Table 1. Guaranteed constant latency is provided for packets from multiple input ports to any output port. Since each input port switches packets to the assigned output queue in its destination output port, a packet from one input port does not interfere with another packet from a second input port that switches to the same output port, and therefore Enforce packet latency guarantees from all input ports. The switching time of the switch fabric determines the latency of packets in each flow, and further determines the latency of packet segments in each packet.
図5Aは、図1Bの調停およびスケジューリング方法40のアクト44の実装を示す。r2個のパケットのスケジューリングがアクト44で実行される。アクト44Aにおいて、スケジューリングすべきパケットがまだあるかどうかがチェックされる。スケジューリングすべきパケットがまだある場合、即ち、r2個のパケット全てがスケジューリングされない場合、制御はアクト44Bに移る。アクト44Bにおいて、中間ステージ内の2個の相互接続ネットワークのうち1個を介するオープンパスが、r個のスケジューリング時間を介して検索することで選択される。パケットは、アクト44Cにおいて、選択されたパス、選択されたスケジューリング時間を介してスケジューリングされる。44Dにおいて、選択された第1内部リンクと第2内部リンクは選択済とマーク付けされ、他のパケットはどれも、同じスケジューリング時間においてこれらのリンクを選択できない。その後、制御はアクト44Aに戻り、従ってアクト44A、44B、44C、および44Dは、ループ内で実行されて各パケットをスケジューリングする。
FIG. 5A shows an implementation of
図5Bは、図5Aのアクト44の一変形の低レベルフローチャートである。アクト44Aは、スケジューリングすべき新規パケット要求がある場合、制御をアクト44Bに移す。アクト44B1は新規パケット要求をcに割り当てる。アクト44B2において、sched_time_1がインデックス変数iに割り当てられる。その後、アクト44B3はiがスケジューリング時間r以下であるかどうかをチェックする。結果が「イエス」ならば、制御はアクト44B4に移る。アクト44B4において、別のインデックス変数jが相互接続ネットワーク1に設定される。アクト44B5はjが相互接続ネットワーク1または2のいずれであるかどうかをチェックする。結果が「イエス」ならば制御はアクト44B6に移る。アクト44B6は、パケット要求cがスケジューリング時間iにおいて、相互接続ネットワークjに対する利用可能な第1内部リンクを有しないかどうかをチェックする。結果が「ノー」の場合、アクト44B7は、スケジューリング時間iにおいて相互接続ネットワークjが、パケット要求cの宛先出力ポートに対する利用可能な第2内部リンクを有しないかどうかをチェックする。結果が「ノー」の場合、制御はアクト44Cに移る。アクト44Cにおいて、パケット要求cはスケジューリング時間iにおいて、相互接続ネットワークjを介してスケジューリングされ、その後、アクト44Dにおいて第1および第2の内部リンクが、スケジューリング時間iにおける相互接続ネットワークjに対応して、使用済とマーク付けされる。その後、制御はアクト44Aに移る。アクト44B6またはアクト44B7のいずれかにおいて、結果が「イエス」の場合、制御はアクト44B9に移り、jが1増加され、制御はアクト44B5に移る。アクト44B5において結果が「ノー」の場合、制御はアクト44B10に移る。アクト44B10はiを1増加し、制御はアクト44B3に移る。アクト44B3の結果は、決して「ノー」にならず、これはr個のスケジューリング時間において、パケット要求cはスケジューリングされるよう保証されることを意味する。アクト44Bは2個のループを備える。内部ループはアクト44B5、44B6、44B7、および44B9から成る。外部ループはアクト44B3、44B4、44B5、44B6、44B7、44B9、および44B10から成る。アクト44は、全てのr2個のパケット要求がスケジューリングされるまで、全てのパケットに対して繰り返される。
FIG. 5B is a low-level flowchart of a variation of
以下の方法は、図5Aのスケジューリング方法44の一実装に対する擬似コードを示す。この擬似コードは、図4A−4Fにおけるスイッチファブリック内の中間ステージ130の2のスピードアップ(2個の相互接続ネットワーク、またはクロックスピードおよびリンクスピードの2のスピードアップによる)を使用して、r2個のパケットを厳密にノンブロッキング方式でスケジューリングする。
The following method shows pseudo code for one implementation of
スケジューリング方法の擬似コード:
ステップ1:for スケジューリングすべき各パケット要求 do{
ステップ2: c=パケットスケジュール要求;
ステップ3: for i=shed_time_1 to sched_time_r do{
ステップ4: for j=inter_conn_net_1 to inter_conn_net_2 do{
ステップ5: if(cがjに対する利用可能な第1内部リンクを有さない) continue;
ステップ6: elseif(jがcの宛先出力ポートに対する利用可能な第2内部リンクを有さない) continue;
ステップ7: else{
スケジューリング時間iにおいて、相互接続ネットワークjを介してcをスケジューリング;
相互接続ネットワークjへ、およびそこから使用されたリンクを利用不可としてマークづけ;
}
}
}
}
Pseudo code for scheduling method:
Step 1: For each packet request to be scheduled do {
Step 2: c = Request packet schedule;
Step 3: for i = shed_time_1 to sched_time_r do {
Step 4: for j = inter_conn_net_1 to inter_conn_net_2 do {
Step 5: if (c has no first internal link available for j) continue;
Step 6: elseif (j has no second internal link available for destination output port of c) continue;
Step 7: else {
Scheduling c via interconnection network j at scheduling time i;
Marking links used to and from interconnection network j as unavailable;
}
}
}
}
ステップ1は、各パケットをスケジューリングするループを開始する。ステップ2は、現在のパケット要求を「c」としてラベル付けする。ステップ3は、第2ループを開始し、全てのrスケジューリング時間を通る。ステップ4は、第3ループを開始し、2個の相互接続ネットワークを通る。パケット要求cの入力ポートが、ステップ5において、スケジューリング時間iにおいて相互接続ネットワークjに対して利用可能な第1内部リンクを有さない場合、制御はステップ4に移り、次の相互接続ネットワークをiとして選択する。ステップ6は、パケット要求cの宛先出力ポートが、スケジューリング時間iにおける相互接続ネットワークjから利用可能な第2内部リンクを有しないかどうかをチェックし、もしそうならば制御はステップ4に移り、次の相互接続ネットワークをiとして選択する。ステップ7において、パケット要求cが、スケジューリング時間iにおける相互接続ネットワークjを介してセットアップされる。スケジューリング時間iにおける相互接続ネットワークjに対する第1および第2の内部リンクが、将来のパケット要求のために利用不可としてマーク付けされる。これらのステップは、利用可能な第1および第2の内部リンクが見つかるまで、全てのr回のスケジューリング時間において、全ての2個の相互接続ネットワークに対して繰り返される。本発明に従って、r回のスケジューリング時間の1つにおける1個の相互接続ネットワークを常に発見することができ、それを通してパケット要求cがスケジューリングされる。スケジューリング方法を実行するステップの数がs*rに比例すると理解するのは簡単である。ここで、sは2に等しいスピードアップであり、rはスケジューリング時間の回数で、従ってそのスケジューリング方法は時間計算量O(s*r)である。
表3は、上記の擬似コードのステップ1−8が、ある特別な実装における図5Bに示した方法のフローチャートをどのように実装するかを示す。 Table 3 shows how steps 1-8 of the pseudo code above implement the flowchart of the method shown in FIG. 5B in one particular implementation.
厳密にノンブロッキングなスイッチファブリックのスケジューリングにおいて、入力キューから出力キューへのパケット要求をスケジューリングするため、相互接続ネットワークを介するパスを発見し、既にスケジューリングされたパケットのパスを阻害することなく要求を満足することが常に可能であり、1つ以上のそのようなパスが利用可能な場合、任意のそれらを残りのパケット要求のスケジューリングを気にすることなく選択できる。厳密にノンブロッキングなネットワークにおいて、スイッチハードウェアのコストは増加するが、パケットをスケジューリングするのに要求される時間は、再配置可能なノンブロッキングなスイッチファブリックと比較して減少する。中間ステージ内の2のスピードアップを有する厳密にノンブロッキングなスイッチファブリックの実施形態は、時間計算量O(s*r)である図5Aのスケジューリング方法44を使用し、図1Aのスイッチファブリック10および図1Iのスイッチファブリック16において示されている。
In the scheduling of strictly non-blocking switch fabrics, packet requests from the input queue to the output queue are scheduled so that the path through the interconnect network is discovered and the request is satisfied without obstructing the path of the already scheduled packet It is always possible, and if one or more such paths are available, any of them can be selected without worrying about scheduling the remaining packet requests. In strictly non-blocking networks, the cost of switch hardware is increased, but the time required to schedule packets is reduced compared to a relocatable non-blocking switch fabric. A strictly non-blocking switch fabric embodiment with 2 speedups in the intermediate stage uses the
再配置可能なノンブロッキングなスイッチファブリックにおいて、スイッチハードウェアのコストは、パケットをスケジューリングするのに要求される時間の増加の代償として削減される。スケジューリング時間は、再配置可能なノンブロッキングネットワークにおいて増加する。なぜならば、新規パケットのスケジューリングに加えて、再配置を実装するために乱された、既にスケジューリングされたパケットのパスを再度スケジューリングする必要があるからである。この理由のため、新規パケットをスケジューリングするときは、既にスケジューリングされたパケットを再配置する必要性を最小化または排除するのが望ましい。再配置の必要性が排除されるとき、そのネットワークは、中間ステージ相互接続ネットワークの数およびスケジューリング方法に左右されて、厳密にノンブロッキングである。中間ステージにおいてスピードアップを使用しない再配置可能なノンブロッキングスイッチファブリックの一実施形態が、図1Nのスイッチファブリック18において示されている。要求生成、許可発行、および承認の生成の調停は、スイッチファブリックが厳密にノンブロッキング方式で動作するか、または再配置可能なノンブロッキング方式で動作するか否かに関わらず、唯一の繰り返しで実行されることは留意されたい。
In a relocatable non-blocking switch fabric, switch hardware costs are reduced at the cost of increased time required to schedule packets. Scheduling time increases in relocatable non-blocking networks. This is because, in addition to scheduling new packets, it is necessary to reschedule the paths of already scheduled packets that have been disturbed to implement relocation. For this reason, when scheduling new packets, it is desirable to minimize or eliminate the need to relocate already scheduled packets. When the need for relocation is eliminated, the network is strictly non-blocking, depending on the number of intermediate stage interconnect networks and the scheduling method. One embodiment of a relocatable non-blocking switch fabric that does not use speedup in an intermediate stage is shown in
出願人は、出力キューにキューイングされたスイッチに関する2、3の考察を行っている。出願人は、出力キューにキューイングされたスイッチは、入力ポートで受信したパケットを即座に宛先出力キューに送信することで、出力ポートを輻輳させることを指摘する。例えば、r*rのOQスイッチにおいて、全ての入力ポートが同じ出力ポートに入る場合、出力ポートは、受信するように設計された出力ポートよりもr回多くパケットを受信する。出力ポートの輻輳は、以下の不必要な問題を生み出す。1)追加的なパケットの優先度付けおよび管理が出力ポート内で要求される、2)レート保証の実装が極度に困難、3)出力ポートから送信される各パケットのレートが減少する、4)出力ポートにおけるトラフィック輻輳を排除することが、入力ポート内でパケットをランダムに落とすことを要求する、5)これらの全ての要因が、追加的なトラフィック管理コスト、電力およびメモリの要求につながる。本質的に出力キューイングは、ファブリックを越えてパケットを転送することで、局所的にのみパケットスイッチングを解消するが、ネットワーク装置における100%スループットでのトラフィックの決定論的なフローという目標は達成できない。 Applicants have made a few considerations regarding switches queued in the output queue. Applicant points out that a switch queued in the output queue congests the output port by immediately sending packets received at the input port to the destination output queue. For example, in an r * r OQ switch, if all input ports enter the same output port, the output port will receive r more packets than the output port designed to receive. Output port congestion creates the following unnecessary problems: 1) Additional packet prioritization and management is required in the output port 2) Extremely difficult to implement rate guarantee 3) The rate of each packet transmitted from the output port is reduced 4) Eliminating traffic congestion at the output port requires that packets be dropped randomly within the input port 5) All these factors lead to additional traffic management costs, power and memory requirements. Inherently, output queuing eliminates packet switching only locally by forwarding packets across the fabric, but the goal of deterministic flow of traffic at 100% throughput in a network device cannot be achieved. .
出願人はここで、VOQスイッチファブリック内の出力ポートを潜在的に輻輳させうる方法を説明する。図6Aおよび図6Bは、スピードアップを完全に使用した、各スイッチング時間後の図1Aのスイッチファブリック10の状態を示す。即ち、中間ステージ内の相互接続ネットワークにおけるスピードアップを使用し、パケットにより出力ポートが送信可能なレートの2倍でパケットを送信する。図6Aは、パケットA1、D1、E1、F1、J1、K1、O1およびP1が出力キューにスイッチングされる第1スイッチング時間後の、図1Aのスイッチファブリック10の状態を示す。入力ポート151からのパケットA1は、クロスバーネットワーク131経由で、出力ポート191の出力キュー181にスイッチングされる。入力ポート151からのパケットD1は、クロスバーネットワーク132経由で、出力ポート194の出力キュー181にスイッチングされる。入力ポート152からのパケットE1は、クロスバーネットワーク132経由で、出力ポート191の出力キュー182にスイッチングされる。入力ポート152からのパケットF1は、クロスバーネットワーク131経由で、出力ポート192の出力キュー182にスイッチングされる。入力ポート153からのパケットJ1は、クロスバーネットワーク132経由で、出力ポート192の出力キュー183にスイッチングされる。入力ポート153からのパケットK1は、クロスバーネットワーク131経由で、出力ポート193の出力キュー183にスイッチングされる。入力ポート154からのパケットP1は、クロスバーネットワーク131経由で、出力ポート194の出力キュー184にスイッチングされる。入力ポート154からのパケットO1は、クロスバーネットワーク132経由で、出力ポート193の出力キュー184にスイッチングされる。明らかに、第1スイッチング時間において、各入力ポートから2個のパケットがスイッチングされ、各出力ポートは2個のパケットを受信する。
Applicants now describe how the output ports in the VOQ switch fabric can potentially be congested. 6A and 6B show the state of the
図6Bは、パケットB1、C1、G1、H1、I1、L1、M1およびN1が出力キューにスイッチングされる第2スイッチング時間後の、図1Aのスイッチファブリック10の状態を示す。入力ポート151からのパケットB1は、クロスバーネットワーク131経由で、出力ポート192の出力キュー181にスイッチングされる。入力ポート151からのパケットC1は、クロスバーネットワーク132経由で、出力ポート193の出力キュー181にスイッチングされる。入力ポート152からのパケットG1は、クロスバーネットワーク131経由で、出力ポート193の出力キュー182にスイッチングされる。入力ポート152からのパケットH1は、クロスバーネットワーク132経由で、出力ポート194の出力キュー182にスイッチングされる。入力ポート153からのパケットI1は、クロスバーネットワーク132経由で、出力ポート191の出力キュー183にスイッチングされる。入力ポート153からのパケットL1は、クロスバーネットワーク131経由で、出力ポート194の出力キュー183にスイッチングされる。入力ポート154からのパケットM1は、クロスバーネットワーク131経由で、出力ポート191の出力キュー184にスイッチングされる。入力ポート154からのパケットN1は、クロスバーネットワーク132経由で、出力ポート192の出力キュー184にスイッチングされる。再び、第2スイッチング時間において、各入力ポートから2個のパケットがスイッチングされ、各出力ポートは2個のパケットを受信する。
FIG. 6B shows the state of the
しかしながら、出力ポートは、各スイッチング時間において1個のパケットを送信するのみであるといえる。さらに各入力ポートは、各スイッチング時間で1個のパケットのみを受信する。従って第3および第4スイッチング時間に対して、出力ポート内に十分な出力キュー領域がない場合、出力ポートは複数のパケットを受信できない。たとえ十分な領域がある場合でも、それは持続されることはできず、何らかの時点で出力キュー領域は満杯になり、出力ポートがクリアされるまで、入力ポートからのスイッチングは停止しなければならない。従って、スピードアップを完全に使用することは持続可能でなく、出力ポートにおける不必要な輻輳を生み出す。 However, it can be said that the output port only transmits one packet at each switching time. Furthermore, each input port receives only one packet at each switching time. Therefore, if there is not enough output queue area in the output port for the third and fourth switching times, the output port cannot receive a plurality of packets. Even if there is enough area, it cannot be sustained, and at some point the output queue area is full and switching from the input port must stop until the output port is cleared. Thus, full use of the speedup is not sustainable and creates unnecessary congestion at the output port.
さらに本発明に従って、スイッチファブリックがノンブロッキング方式で動作するために、中間ステージ130内で要求されるスピードアップの直接的な拡張が、パケットが出力ポートにスイッチングされる前に、追加された制御ビットの数によって比例的に調節される。例えば、1%という追加的な制御ビットが、入力ポートから出力ポートへスイッチングすべき、どのパケットまたはパケットセグメントにも追加される場合(これらの制御ビットは、入力ポートから出力ポートへのパケットをスイッチングするためだけに導入される、中間ステージ130において、スイッチファブリックのために要求されるスピードアップは、厳密にノンブロッキング方式で動作するためには2.01であり、再配置可能なノンブロッキング方式で動作するためには1.01である。
Furthermore, in accordance with the present invention, because the switch fabric operates in a non-blocking manner, a direct extension of the speedup required in the
同様に本発明に従って、パケットがセグメント化されて出力ポートにスイッチングされるとき、最後のパケットセグメントはそのパケットセグメントと同じであっても、また同じでなくてよい。あるいはパケットのサイズがパケットセグメントのサイズの完全な倍数でない場合、スイッチファブリックのスループットは100%未満である。最後のパケットセグメントがそのパケットセグメントのサイズより頻繁に小さい場合、中間ステージにおけるスピードアップは、システムが100%スループットで動作するために比例的に増加する必要がある。 Similarly, when a packet is segmented and switched to an output port according to the present invention, the last packet segment may or may not be the same as that packet segment. Alternatively, if the packet size is not a perfect multiple of the packet segment size, the switch fabric throughput is less than 100%. If the last packet segment is often smaller than the size of that packet segment, the speedup in the intermediate stage needs to increase proportionally for the system to operate at 100% throughput.
ノンブロッキングで決定論的スイッチファブリックに関する本発明は、任意の多数の入力キューに直接的に拡張できる。即ち、各入力ポート内の2個以上の入力キューは、宛先出力ポート内の2個以上の出力キューにスイッチングし、全ての入力ポート内の、異なるユニキャストフローまたはユニキャストマイクロフローのセットを保持する入力キューそれぞれは、レートおよびレイテンシ保証を有する1フローずつのQoSを提供する。エンドツーエンド保証帯域幅は、即ち、入力ポートの異なる入力キューにおける、任意の宛先出力ポートへの複数のユニキャストフローに対して、提供することができる。さらに、保証された一定のレイテンシが、入力ポート内の複数の入力キューから任意の宛先出力ポートへのパケットフローに対して提供される。入力ポート内の各入力キューは異なるフローを保持するけれども、パケットを同じ宛先出力ポートにスイッチングするので、1個の入力キューからのより長いパケットは、同じ宛先出力ポートにスイッチングする同じ入力ポートの第2入力キューからの小さな別のパケットを妨害しない。従って入力ポートからのパケットフローのレイテンシ保証を強制する。ここで、スイッチファブリックのスイッチング時間は、各フローにおけるパケットのレイテンシを決定し、各パケットにおけるパケットセグメントのレイテンシも決定する。 The present invention for non-blocking and deterministic switch fabrics can be directly extended to any number of input queues. That is, two or more input queues in each input port switch to two or more output queues in the destination output port and maintain a set of different unicast flows or unicast microflows in all input ports Each incoming queue provides one flow of QoS with rate and latency guarantees. End-to-end guaranteed bandwidth can be provided for multiple unicast flows to any destination output port, ie in different input queues of the input port. In addition, guaranteed constant latency is provided for packet flows from multiple input queues within an input port to any destination output port. Although each input queue within an input port maintains a different flow, packets are switched to the same destination output port, so longer packets from one input queue are the same for the same input port that switches to the same destination output port. 2 Do not block small separate packets from the input queue. Therefore, the packet flow latency guarantee from the input port is enforced. Here, the switching time of the switch fabric determines the packet latency in each flow, and also determines the packet segment latency in each packet.
入力キューから出力ポートへ別個にスイッチングされるフローの数を増加することで、エンドツーエンド保証帯域幅とレイテンシは、細粒度のフローに対して提供することもできる。さらに、各フローは独立して形成することもでき、必要であれば、オーバーサブスクリプション下の所望のフローから予測的にパケットをテールドロップすることと、サービスプロバイダを提供して、レートおよびレイテンシ保証を個別フローに提供し、従って追加的な収入機会を可能とすることにより、形成することもできる。 By increasing the number of flows that are switched separately from the input queue to the output port, end-to-end guaranteed bandwidth and latency can also be provided for fine-grained flows. In addition, each flow can be formed independently, and if necessary, tail-drop packets from the desired flow under oversubscription and provide a service provider to guarantee rate and latency. Can be formed by providing a separate flow and thus allowing additional revenue opportunities.
ここで説明した実施形態、実装、および例の多数の修正および適合化は、本開示内容を参照することで当業者には明らかであろう。 Numerous modifications and adaptations of the embodiments, implementations, and examples described herein will be apparent to those of skill in the art upon reviewing the present disclosure.
また、本発明で説明した実施形態は、並列コンピュータ、ビデオサーバ、ロードバランサのアプリケーション、およびグリッドコンピューティングアプリケーションにおいて直接的に有用である。さらに、本発明で説明した実施形態は、回線交換タイムスロットおよび、パケット交換されたパケットまたはセルの双方をスイッチングするために、ハイブリッドスイッチおよびルータにおいて直接的に有用である。 The embodiments described in the present invention are also directly useful in parallel computers, video servers, load balancer applications, and grid computing applications. Furthermore, the embodiments described in the present invention are directly useful in hybrid switches and routers for switching both circuit-switched time slots and packet-switched packets or cells.
多数のそのような修正および適合化は、添付の請求項に包含されている。 Many such modifications and adaptations are encompassed by the appended claims.
Claims (112)
前記各入力ポートにある複数の入力キューであって、前記入力キューは、ユニキャストパケットを有する入力キューと、
前記各入力ポートが、前記各入力ポートにある入力キューの数と多くとも同数のパケットのために、前記指定出力ポートからのサービスを要求する手段と、
前記各出力ポートが、複数の要求を許可する手段と、
前記各入力ポートが、前記入力キューと多くとも同数の許可を承認する手段と、
承認された許可を有する前記各入力ポートから、承認された許可に関連付けられる前記各出力ポートへの入力キューの数と多くとも同数のパケットをスケジューリングする手段とを備えることを特徴とするシステム。 A system for scheduling unicast packets via an interconnection network having a plurality of input ports and a plurality of output ports, wherein each of the packets has a designated output port, the system comprising:
A plurality of input queues at each of the input ports, the input queue having an input queue having unicast packets;
Means for requesting service from the designated output port for each input port for at most as many packets as there are input queues at each input port;
Each output port allows a plurality of requests;
Means for each input port to approve at most as many permissions as the input queue;
Means for scheduling at most as many packets as there are input queues from each input port having an approved permission to each output port associated with the approved permission.
前記各出力ポートが、前記出力キューと多くとも同数の要求を許可する手段と、
承認された許可を有する前記各入力ポートからの入力キューの数と多くとも同数のパケットと、承認された許可に関連付けられる前記各出力ポートへの出力キューの数と多くとも同数のパケットとをスケジューリングする手段とをさらに備えることを特徴とする請求項1に記載のシステム。 A plurality of output queues at each output port, wherein the output queues receive output unicast packets via the interconnect network;
Means for each output port to grant at most as many requests as the output queue;
Scheduling at most as many packets as the number of input queues from each input port with approved grants and at most as many as the number of output queues to each output port associated with approved grants The system of claim 1, further comprising:
並列性の手段、即ち、前記相互接続ネットワークを、少なくとも2回物理的に複製し、前記各入力ポート、および前記各出力ポートからの別個のリンクにより接続する手段、または、
前記入力ポートと前記相互接続ネットワークとの間、および前記出力ポートと前記相互接続ネットワークとの間のリンク帯域幅において、また前記相互接続ネットワークのクロックスピードにおいても、少なくとも2倍スピードアップする手段により実現することを特徴とする請求項4に記載のシステム。 The speed up is
Means of parallelism, ie means for physically replicating said interconnection network at least twice and connecting by means of separate links from said each input port and each said output port; or
Realized by means of speedup at least twice in the link bandwidth between the input port and the interconnect network, between the output port and the interconnect network, and also in the clock speed of the interconnect network The system according to claim 4, wherein:
以後、前記相互接続ネットワークを「厳密なノンブロッキングネットワーク」と称する前記システム。 5. The unicast packet path is always selectable through the non-blocking interconnect network by never changing the already selected path for another unicast packet. The system described in
The system, hereinafter referred to as the “strict non-blocking network”.
以後、前記相互接続ネットワークを「再配置可能なノンブロッキングネットワーク」と称する前記システム。 The unicast packet path can be always selected via the non-blocking interconnection network by changing an already selected path of another unicast packet, if necessary. 7. The system according to claim 7,
The system, hereinafter referred to as the “relocatable non-blocking network”.
以後、前記システムは「処理保存的システム」と称する前記システム。 As long as there is at least one packet, each output port is operative to receive at least one packet from any one of the input queues destined for that output port at switching time. The system of claim 1, wherein
Hereinafter, the system will be referred to as a “process conservation system”.
以後、前記システムは「処理保存的システム」と称する前記システム。 As long as there is at least one packet, each output port is operative to receive at least one packet from any one of the input queues destined for that output port at switching time. The system according to claim 2, wherein
Hereinafter, the system will be referred to as a “process conservation system”.
それにより、前記スピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項1に記載のシステム。 Each output port is operable to receive at most one packet in switching time, regardless of the speed up in the interconnect network, even if more than one packet is destined for that output port. Yes,
2. The system of claim 1, wherein the speedup is thereby utilized only to operate the interconnect network in a deterministic manner and the output port is never congested.
それにより、前記スピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項2に記載のシステム。 Each output port is operable to receive at most one packet in switching time, regardless of the speed up in the interconnect network, even if more than one packet is destined for that output port. Yes,
3. The system of claim 2, wherein the speedup is thereby utilized only to operate the interconnect network in a deterministic manner and the output port is never congested.
それにより、スイッチング時間は設計時において可変となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング時間を選択する余地を与えることを特徴とする請求項1に記載のシステム。 Packets from one of the input queues are always deterministically switched to the destination output port in the same path as they are received by the input port on the same path through the interconnect network, never Works to avoid packet sequencing issues,
2. The system of claim 1, wherein the switching time is variable at design time and provides room for selecting the switching time such that multiple bytes are switched at each switching time.
それにより、スイッチング時間は設計時において可変となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング時間を選択する余地を与えることを特徴とする請求項2に記載のシステムム。 Packets from one of the input queues are sent to one of the output queues in the destination output port in the same order as they are received by the input port on the same path through the interconnect network. Always switched deterministically and does not require segmentation of the packets in the input port nor reassembly of the packets in the output port, and never operates to cause packet sequencing problems;
3. The system according to claim 2, wherein the switching time is variable at the time of design and provides a room for selecting the switching time so that a plurality of bytes are switched at each switching time.
以後、前記システムは「公正なシステム」と称する前記システム。 2. The operation according to claim 1, wherein any of the packets at the head of each of the input queues is operated so as not to be held beyond the same number of switching times as the number of input queues in each of the input ports. System,
Hereinafter, the system will be referred to as a “fair system”.
以後、前記システムは「公正なシステム」と称する前記システム。 3. The operation according to claim 2, wherein any one of the packets at the head of each of the input queues is operated so as not to be held more than the same number of switching times as the number of input queues in each of the input ports. System,
Hereinafter, the system will be referred to as a “fair system”.
前記各入力ポートにある入力キューの数と多くとも同数のパケットのための前記指定出力ポートから、前記各入力ポートに対しサービスを要求するステップと、
前記各出力ポートに対し、複数の要求を許可するステップと、
前記入力キューの数と多くとも同数の許可を、前記各入力ポートに対し承認するステップと、
承認された許可を有する前記入力ポートから、前記承認された許可に関連付けられる前記各出力ポートへの入力キューの数と多くとも同数の前記パケットをスケジューリングするステップとを備えることを特徴とする前記方法。 In a method for scheduling unicast packets via an interconnection network having a plurality of input ports and a plurality of output ports, each input port comprises a plurality of input queues, each packet having at least one designated output. Said method comprising a port, said method comprising:
Requesting service from each designated input port from the designated output port for at most as many packets as there are input queues in each input port;
Allowing a plurality of requests to each output port;
Approving each input port with at most as many permissions as the number of input queues;
Scheduling said packet at most as many as the number of input queues from said input port having an approved permission to each said output port associated with said approved permission. .
前記出力ポートにある前記出力キューの数と多くとも同数の前記各出力ポートの要求を許可するステップと、
承認された許可を有する前記各入力ポートからの入力キューの数と多くとも同数のパケットと、承認された許可に関連付けられる前記各出力ポートへの出力キューの数と多くとも同数のパケットとをスケジューリングするステップとをさらに備えることを特徴とする請求項34に記載の方法。 A plurality of output queues for each output port;
Granting requests for each output port at most as many as the number of output queues at the output port;
Scheduling at most as many packets as the number of input queues from each input port with approved grants and at most as many as the number of output queues to each output port associated with approved grants The method of claim 34, further comprising the step of:
それにより、相互接続ネットワークにおけるスピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項34に記載の方法。 Each output port is operable to receive at most one packet in switching time, regardless of the speed up in the interconnect network, even if more than one packet is destined for that output port. ,
35. The method of claim 34, whereby the speed up in the interconnect network is only utilized to operate the interconnect network in a deterministic manner, and the output port is never congested.
それにより、前記スピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項35に記載の方法。 Each output port is operable to receive at most one packet in switching time, regardless of the speed up in the interconnect network, even if more than one packet is destined for that output port. ,
36. The method of claim 35, whereby the speedup is only used to operate the interconnect network in a deterministic manner and the output port is never congested.
それにより、スイッチング回数は設計時における変数となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング回数を選択する余地を与えることを特徴とする請求項34に記載の方法。 Packets from one of the input queues are always deterministically switched to the destination output port in the same path as they are received by the input port on the same path through the interconnect network, never Works to avoid packet sequencing issues,
35. The method according to claim 34, wherein the number of times of switching becomes a variable at the time of design, giving room to select the number of times of switching so that a plurality of bytes are switched at each switching time.
それにより、スイッチング回数は設計時における変数となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング回数を選択する余地を与えることを特徴とする請求項35に記載の方法。 Packets from one of the input queues are sent to one of the output queues in the destination output port in the same order as they are received by the input port on the same path through the interconnect network. Always switched deterministically and does not require segmentation of the packets in the input port nor reassembly of the packets in the output port, and never operates to cause packet sequencing problems;
36. The method of claim 35, wherein the number of times of switching becomes a variable at design time and provides room for selecting the number of times of switching so that a plurality of bytes are switched at each switching time.
前記各パケットが指定出力ポートを有するr1個の入力ポートおよびr2個の出力ポートと、
前記r1個の各入力ポートにある、前記パケットを備えるr2個の入力キューと、
s≧1個のサブネットワークを備える前記相互接続ネットワークであって、各サブネットワークは、全体で少なくともr1個の第1内部リンクのために各入力ポートに接続される少なくとも1つのリンク(以後、「第1内部リンク」と称する)を備え、各サブネットワークはさらに、全体で少なくともr2個の第2内部リンクのために各出力ポートに接続される少なくとも1つのリンク(以後、「第2内部リンク」と称する)を備える前記相互接続ネットワークと、
前記各入力ポートが、その各入力ポートからの、多くともr2個のパケットに対し、前記指定出力ポートからのサービスを要求する手段と、
前記各出力ポートが、複数の要求を許可する手段と、
前記各入力ポートが、多くともr2個のパケットの許可を承認する手段と、
多くともr2回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する、前記承認された許可に関連付けられる前記各出力ポートへの多くともr1個のパケットをスケジューリングする手段とを備えることを特徴とするシステム。 A system for scheduling unicast packets over an interconnect network, the system comprising:
R 1 input port and r 2 output port, each packet having a designated output port;
R 2 input queues comprising the packets at each of the r 1 input ports;
said interconnect network comprising s ≧ 1 sub-networks, each sub-network having a total of at least one link connected to each input port for at least r 1 first internal links (hereinafter, Each subnetwork further comprising at least one link connected to each output port for a total of at least r 2 second internal links (hereinafter “second internal links”). Said interconnect network comprising a link);
Means for each input port to request service from the designated output port for at most r 2 packets from each input port;
Each output port allows a plurality of requests;
Means for each of said input ports to approve permission of at most r 2 packets;
Means for scheduling at most r 1 packets to each of the output ports associated with the approved grant, having an approved grant at each switching time to be switched in at most r 2 switchings; A system characterized by comprising.
s≧1個のサブネットワークを備え、各サブネットワークは、全体で少なくともr1個の第1内部リンクのために各入力ポートに接続される少なくとも1つのリンク(以後、「第1内部リンク」と称する)を備え、各サブネットワークはさらに、全体で少なくともr2個の第2内部リンクのために各出力ポートに接続される少なくとも1つのリンク(以後、「第2内部リンク」と称する)を備える前記相互接続ネットワークと、
前記各出力ポートが、多くともr1個のパケットを許可する手段と、
r1≦r2であるときは、多くともr2回のスイッチングにおけるスイッチングすべき各スイッチング時間において、多くともr1個のパケットを、およびr2≦r1であるときは、多くともr1回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する多くともr2個のパケットと、前記承認された許可に関連付けられる前記各出力ポートへの多くともr2個のパケットをスケジューリングする手段とをさらに備えることを特徴とする請求項56に記載のシステム。 R 1 output queues at each of the r 2 output ports, the output queues receiving unicast packets via the interconnect network;
s ≧ 1 subnetworks, each subnetwork having a total of at least one link connected to each input port for at least r 1 first internal links (hereinafter “first internal links”) Each sub-network further comprises at least one link connected to each output port for a total of at least r 2 second internal links (hereinafter referred to as “second internal links”). The interconnection network;
Means for allowing each output port to accept at most r 1 packets;
When r 1 ≦ r 2 , at most r 1 packets in each switching time to be switched in at most r 2 times switching, and when r 2 ≦ r 1 , at most r 1 in each switching time to be switched in the times of switching, scheduling and r 2 pieces of packets at most, the most r 2 pieces of packets of said associated with permissions the approved to each output port has permission approved 57. The system of claim 56, further comprising means for performing.
個のサブネットワークを備え、
さらに、前記ノンブロッキング相互接続ネットワークを介して、別のユニキャストパケットに対して、既に選択されたパスを決して変更しないことにより、ユニキャストパケットに対し、パスが常に選択可能であることを特徴とする請求項58に記載のシステムであって、
以後、前記相互接続ネットワークは「厳密なノンブロッキングネットワーク」と称する、前記システム。 The system
With sub-networks
Furthermore, a path can always be selected for a unicast packet by never changing a path already selected for another unicast packet via the non-blocking interconnection network. 59. The system of claim 58, wherein
Hereinafter, the interconnect network will be referred to as a “strict non-blocking network”.
前記第1内部リンクと前記第2内部リンクとの双方は、前記入力キューにおいて受信される各パケットのピークレートより、少なくとも2倍速く動作し、
前記サブネットワークは、前記入力キューにおいて受信される各パケットのピークレートより、少なくとも2倍速く動作するシステムであって、
前記システムは、さらに、前記ノンブロッキング相互接続ネットワークを介して、別のユニキャストパケットのために、既に選択されたパスを決して変更しないことにより、ユニキャストパケットに対し、パスが常に選択可能であることを特徴とする請求項58に記載のシステムであって、
以後、前記相互接続ネットワークは「厳密なノンブロッキングネットワーク」と称する、前記システム。 The system comprises s ≧ 1 subnetworks,
Both the first internal link and the second internal link operate at least twice as fast as the peak rate of each packet received in the input queue;
The subnetwork is a system that operates at least twice as fast as the peak rate of each packet received in the input queue;
The system further ensures that a path is always selectable for a unicast packet by never changing the already selected path for another unicast packet via the non-blocking interconnection network. 59. The system of claim 58, comprising:
Hereinafter, the interconnect network will be referred to as a “strict non-blocking network”.
個のサブネットワークを備え、
前記第1内部リンクと前記第2内部リンクとの双方は、前記入力キューにおいて受信される各パケットのピークレートと、少なくとも同じ速さで動作し、
前記サブネットワークは、前記入力キューにおいて受信される各パケットのピークレートと、少なくとも同じ速さで動作するシステムであって、
前記システムは、さらに、前記ノンブロッキングな相互接続ネットワークを介して、別のユニキャストパケットの既に選択されたパスを、必要であれば変更することにより、ユニキャストパケットに対し、パスが常に選択可能であることを特徴とする請求項58に記載のシステムであって、
以後、前記相互接続ネットワークは「再配置可能なノンブロッキングネットワーク」と称する、前記システム。 The system
With sub-networks
Both the first internal link and the second internal link operate at least as fast as the peak rate of each packet received in the input queue;
The sub-network is a system that operates at least as fast as the peak rate of each packet received in the input queue;
The system further allows a path to be always selected for a unicast packet by changing the already selected path of another unicast packet, if necessary, via the non-blocking interconnection network. 59. The system of claim 58, comprising:
Hereinafter, the interconnect network is referred to as a “relocatable non-blocking network”.
以後、前記システムは「処理保存的システム」と称する前記システム。 As long as there is at least one packet, each output port is operative to receive at least one packet from any one of the input queues destined for that output port at switching time. 57. The system of claim 56, comprising:
Hereinafter, the system will be referred to as a “process conservation system”.
以後、前記システムは「処理保存的システム」と称する前記システム。 As long as there is at least one packet, each output port is operative to receive at least one packet from any one of the input queues destined for that output port at switching time. 58. The system of claim 57, wherein
Hereinafter, the system will be referred to as a “process conservation system”.
それにより、前記スピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項56に記載のシステム。 Each output port is operable to receive at most one packet in switching time, regardless of the speed up in the interconnect network, even if more than one packet is destined for that output port. Yes,
57. The system of claim 56, whereby the speedup is only used to operate the interconnect network in a deterministic manner and the output port is never congested.
それにより、前記スピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項57に記載のシステム。 Each output port is operable to receive at most one packet in switching time, regardless of the speed up in the interconnect network, even if more than one packet is destined for that output port. Yes,
58. The system of claim 57, whereby the speedup is only used to operate the interconnect network in a deterministic manner and the output port is never congested.
それにより、スイッチング回数は設計時における変数となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング回数を選択する余地を与えることを特徴とする請求項56に記載のシステム。 Packets from one of the input queues are always deterministically switched to the destination output port in the same path as they are received by the input port on the same path through the interconnect network, never Works to avoid packet sequencing issues,
57. The system of claim 56, whereby the number of switchings is a variable at design time and provides room for selecting the number of switchings such that multiple bytes are switched at each switching time.
それにより、スイッチング回数は設計時における変数となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング回数を選択する余地を与えることを特徴とする請求項57に記載のシステム。 Packets from one of the input queues are sent to one of the output queues in the destination output port in the same order as they are received by the input port on the same path through the interconnect network. Always switched deterministically and does not require segmentation of the packets in the input port nor reassembly of the packets in the output port, and never operates to cause packet sequencing problems;
58. The system according to claim 57, wherein the number of times of switching becomes a variable at the time of design, and gives a room for selecting the number of times of switching so that a plurality of bytes are switched at each switching time.
以後、前記システムは「公正なシステム」と称する前記システム。 57. The operation of claim 56, wherein any packet at the beginning of each input queue is not retained beyond the same number of switching times as the number of input queues at each input port. System,
Hereinafter, the system will be referred to as a “fair system”.
以後、前記システムは「公正なシステム」と称する前記システム。 58. The operation of claim 57, wherein any packet at the beginning of each input queue is not retained beyond the same number of switching times as the number of input queues at each input port. System,
Hereinafter, the system will be referred to as a “fair system”.
前記各パケットが少なくとも1つの指定出力ポートを有するr1個の入力ポートおよびr2個の出力ポートと、
前記r1個の各入力ポートにある、前記パケットを備えるr2個の入力キューと、
s≧1個のサブネットワークを備え、各サブネットワークは、全体で少なくともr1個の第1内部リンクのために各入力ポートに接続される少なくとも1つのリンク(以後、「第1内部リンク」と称する)を備え、各サブネットワークはさらに、全体で少なくともr2個の第2内部リンクのために各出力ポートに接続される少なくとも1つのリンク(以後、「第2内部リンク」と称する)を備える前記相互接続ネットワークとを有する前記方法であって、前記方法は、
多くともr2個の前記パケットのための前記指定出力ポートから、前記各入力ポートに対しサービスを要求するステップと、
前記各出力ポートに対し、複数の要求を許可するステップと、
多くともr2個の前記パケットにある前記各入力ポートに対し、要求を承認するステップと、
多くともr2個のパケットにある前記各入力ポートに対し、許可を承認するステップと、
多くともr2回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する、前記承認された許可に関連付けられる前記各出力ポートへの多くともr1個のパケットをスケジューリングするステップとを備えることを特徴とする前記方法。 A method for scheduling unicast packets over an interconnect network, comprising:
R 1 input port and r 2 output port, each packet having at least one designated output port;
R 2 input queues comprising the packets at each of the r 1 input ports;
s ≧ 1 subnetworks, each subnetwork having a total of at least one link connected to each input port for at least r 1 first internal links (hereinafter “first internal links”) Each sub-network further comprises at least one link connected to each output port for a total of at least r 2 second internal links (hereinafter referred to as “second internal links”). Said method comprising said interconnect network, said method comprising:
Requesting service to each of the input ports from the designated output port for at most r 2 of the packets;
Allowing a plurality of requests to each output port;
Approving the request to each input port in at most r 2 of the packets;
Approving permission for each of said input ports in at most r 2 packets;
Scheduling at most r 1 packets to each of the output ports associated with the approved grant having an approved grant at each switching time to be switched in at most r 2 switchings; Said method comprising the steps of:
s≧1個のサブネットワークを備える前記相互接続ネットワークであって、各サブネットワークは、各入力ポート対し全体で少なくともr1個の第1内部リンクのため接続される、少なくとも1つのリンク(以後、「第1内部リンク」と称する)を備え、各サブネットワークはさらに、各出力ポートに対し全体で少なくともr2個の第2内部リンクのため接続される、少なくとも1つのリンク(以後、「第2内部リンク」と称する)を備える相互接続ネットワークと、
前記各出力ポートに対し、多くともr1個のパケットを許可するステップと、
r1≦r2であるときは、多くともr2回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する、前記承認された許可に関連付けられる前記出力ポートへの多くともr1個のパケットをスケジューリングし、r2≦r1であるときは、多くともr1回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する、前記承認された許可に関連付けられる前記出力ポートへの多くともr2個のパケットをスケジューリングするステップとをさらに備えることを特徴とする請求項89に記載の方法。 r 1 output queue at each of the 2 output ports, the output queue receiving multirate unicast packets via the interconnect network;
said interconnect network comprising s ≧ 1 sub-networks, each sub-network being connected for at least r 1 first internal links in total for each input port (hereinafter referred to as Each sub-network is further connected to each output port for a total of at least r 2 second internal links (hereinafter “second internal links”). An interconnect network comprising "internal links";
Allowing at most r 1 packets for each output port;
When r 1 ≦ r 2 , at most r 1 to the output port associated with the approved grant having an approved grant at each switching time to be switched in at most r 2 times switching. The output associated with the approved grant having an approved grant at each switching time to be switched in at most r 1 switching when r 2 ≦ r 1 the method of claim 89, further comprising the step of scheduling with r 2 pieces of packet number of the port.
それにより、相互接続ネットワークにおけるスピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項89に記載の方法。 Each output port is operable to receive at most one packet in switching time, regardless of the speed up in the interconnect network, even if more than one packet is destined for that output port. ,
90. The method of claim 89, whereby speedups in the interconnect network are only used to operate the interconnect network in a deterministic manner and the output port is never congested.
それにより、前記スピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項90に記載の方法。 Each output port is operable to receive at most one packet in switching time, regardless of the speed up in the interconnect network, even if more than one packet is destined for that output port. ,
93. The method of claim 90, whereby the speedup is only used to operate the interconnect network in a deterministic manner, and the output port is never congested.
それにより、スイッチング回数は設計時における変数となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング回数を選択する余地を与えることを特徴とする請求項89に記載のシステム。 Packets from one of the input queues are always deterministically switched to the destination output port in the same path as they are received by the input port on the same path through the interconnect network, never Works to avoid packet sequencing issues,
90. The system of claim 89, wherein the number of switchings is a variable at design time and provides room for selecting the number of switchings so that multiple bytes are switched at each switching time.
それにより、スイッチング回数は設計時における変数となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング回数を選択する余地を与えることを特徴とする請求項90に記載のシステム。 Packets from one of the input queues are sent to one of the output queues in the destination output port in the same order as they are received by the input port on the same path through the interconnect network. Always switched deterministically and does not require segmentation of the packets in the input port nor reassembly of the packets in the output port, and never operates to cause packet sequencing problems;
The system according to claim 90, wherein the number of times of switching becomes a variable at the time of design, and gives a room for selecting the number of times of switching so that a plurality of bytes are switched at each switching time.
The method of claim 90, wherein the method operates to provide a guaranteed constant latency of packets from multiple input ports to any output port.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US51605703P | 2003-10-30 | 2003-10-30 | |
PCT/US2004/035954 WO2005045633A2 (en) | 2003-10-30 | 2004-10-29 | Nonblocking and deterministic unicast packet scheduling |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007510376A true JP2007510376A (en) | 2007-04-19 |
Family
ID=34572866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006538294A Pending JP2007510376A (en) | 2003-10-30 | 2004-10-29 | Non-blocking and deterministic unicast packet scheduling |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP1690159A2 (en) |
JP (1) | JP2007510376A (en) |
CA (1) | CA2544219A1 (en) |
IL (1) | IL175337A0 (en) |
WO (1) | WO2005045633A2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2461693B (en) * | 2008-07-07 | 2012-08-15 | Micron Technology Inc | Switching method |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6115748A (en) * | 1995-07-19 | 2000-09-05 | Fujitsu Network Communications, Inc. | Prioritized access to shared buffers |
US6212182B1 (en) * | 1996-06-27 | 2001-04-03 | Cisco Technology, Inc. | Combined unicast and multicast scheduling |
US6351466B1 (en) * | 1998-05-01 | 2002-02-26 | Hewlett-Packard Company | Switching systems and methods of operation of switching systems |
KR100382142B1 (en) * | 2000-05-19 | 2003-05-01 | 주식회사 케이티 | Cell scheduling method of input and output buffered switch using simple iterative matching algorithm |
US7224671B2 (en) * | 2000-09-28 | 2007-05-29 | Force10 Networks, Inc. | Method and apparatus for load balancing in network processing device |
JP4320980B2 (en) * | 2001-06-19 | 2009-08-26 | 株式会社日立製作所 | Packet communication device |
-
2004
- 2004-10-29 EP EP04810098A patent/EP1690159A2/en not_active Withdrawn
- 2004-10-29 CA CA002544219A patent/CA2544219A1/en not_active Abandoned
- 2004-10-29 WO PCT/US2004/035954 patent/WO2005045633A2/en not_active Application Discontinuation
- 2004-10-29 JP JP2006538294A patent/JP2007510376A/en active Pending
-
2006
- 2006-04-30 IL IL175337A patent/IL175337A0/en unknown
Also Published As
Publication number | Publication date |
---|---|
EP1690159A2 (en) | 2006-08-16 |
WO2005045633A2 (en) | 2005-05-19 |
IL175337A0 (en) | 2006-09-05 |
CA2544219A1 (en) | 2005-05-19 |
WO2005045633A3 (en) | 2006-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007528636A (en) | Non-blocking, deterministic multirate multicast packet scheduling | |
McKeown et al. | A quantitative comparison of iterative scheduling algorithms for input-queued switches | |
US7042883B2 (en) | Pipeline scheduler with fairness and minimum bandwidth guarantee | |
Nong et al. | On the provision of quality-of-service guarantees for input queued switches | |
US7586909B1 (en) | Striping algorithm for switching fabric | |
US20050117575A1 (en) | Nonblocking and deterministic unicast packet scheduling | |
EP1856860A2 (en) | Input buffered switch | |
WO2003017595A1 (en) | Arbitration scheduling with a penalty for a switching fabric | |
US6865154B1 (en) | Method and apparatus for providing bandwidth and delay guarantees in combined input-output buffered crossbar switches that implement work-conserving arbitration algorithms | |
CA2318163A1 (en) | Method for providing delays independent of switch size in a crossbar switch with speedup | |
US8213421B2 (en) | Methods and systems for efficient multicast across a mesh backplane | |
Pappu et al. | Distributed queueing in scalable high performance routers | |
JP2007510379A (en) | Non-blocking and deterministic multicast packet scheduling | |
JP2007510378A (en) | Non-blocking, deterministic multirate unicast packet scheduling | |
JP2007510376A (en) | Non-blocking and deterministic unicast packet scheduling | |
Gómez et al. | VOQ/sub SW: a methodology to reduce HOL blocking in InfiniBand networks | |
Duan | Resource allocation in buffered crossbar switches for supporting network virtualization | |
Cheocherngngarn et al. | Queue-Length Proportional and Max-Min Fair Bandwidth Allocation for Best Effort Flows | |
Boppana et al. | Design of Multicast Switches for SANs | |
Motoyama | Cell delay modelling and comparison of iterative scheduling algorithms for ATM input-queued switches | |
JP2001268082A (en) | Priority controller for same destination address and its method | |
Gamvrili et al. | Multicast schedulers for ATM switches with multiple input queues | |
Flesca et al. | A graphical XML query language | |
Scicchitano et al. | Scheduling techniques in high-speed packet switches | |
Pappu | Scheduling algorithms for CIOQ switches |