JP2007510376A - Non-blocking and deterministic unicast packet scheduling - Google Patents

Non-blocking and deterministic unicast packet scheduling Download PDF

Info

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
Application number
JP2006538294A
Other languages
Japanese (ja)
Inventor
コンダ,ベンカット
Original Assignee
チーク テクノロジーズ,インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by チーク テクノロジーズ,インク. filed Critical チーク テクノロジーズ,インク.
Publication of JP2007510376A publication Critical patent/JP2007510376A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/111Switch interfaces, e.g. port details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/112Switch control, e.g. arbitration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing

Landscapes

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

Abstract

【課題】
【解決手段】相互接続ネットワークを介してユニキャストパケットをスケジューリングするシステムであって、それぞれがr個の入力キューを有するr個の入力ポートと、それぞれがr個の出力キューを有するr個の出力ポートと、少なくとも式(I)

Figure 2007510376

のスピードアップとサブネットワークを有する相互接続ネットワークとを有するシステムであって、各サブネットワークは、各サブネットワークは総数少なくともr個の第1内部リンクに対する各入力ポートに接続される、少なくとも1個の第1内部リンクを備え、各サブネットワークはさらに総数少なくともr個の第2内部リンクに対する各出力ポートに接続される、少なくとも1個の第2内部リンクを備える。本システムは、決定論的な方式で、かつパケットのセグメント化および再組立を要求することなく、r≦rのときは、スイッチングすべき各スイッチング時間において、多くともてr回のスイッチング時間だけ、多くともr個のパケットをスケジューリングし、r≦rのときは、スイッチングsyべき各スイッチング時間において、多くともr回のスイッチング時間だけ、多くともr個のパケットをスケジューリングすることで、本発明による厳密にノンブロッキング方式で動作する。本システムはさらに、100%スループット、処理保存的、公正に、それでいてなお決定論的に動作し、それにより出力ポートを決して輻輳させない。本システムは調停に対して1度だけの繰り返しで、相互接続ネットワークにおいて数学的に最小のスピードアップで実行する。本システムは、相互接続ネットワークにおけるパケット再順序付けの問題と、パケットの内部バッファリングが全くなく動作し、従って真にカットスルーかつ分散した方式で動作する。一実施形態において、本システムは、唯一のサブネットワークで、かつそのサブネットワークを介して2倍のスイッチングレートで、厳密にノンブロッキング方式で動作する。別の実施形態において、本システムは、相互接続ネットワークにおいて、少なくとも式(II)
Figure 2007510376

のスピードアップで、再配置可能なノンブロッキング方式で動作する。入力ポートの数rが出力ポートの数rに等しく、r=r=rのとき、少なくとも式(III)
Figure 2007510376

のスピードアップを有する相互接続ネットワークが、スイッチングすべき各スイッチング時間において、多くともr回のスイッチング時間だけ決定論的な方式で、多くともr個のパケットをスケジューリングすることで、本発明による厳密にノンブロッキングで決定論的方式で動作する。そして相互接続ネットワーク内におきて、少なくとも式(IV)
Figure 2007510376

のスピードアップで、システムは再配置可能なノンブロッキングで決定論的方式で動作する。本システムは、入力ポートから出力ポートへのパケットに対するエンドツーエンド保証帯域幅およびレイテンシを提供する。全ての実施形態において、相互接続ネットワークは、クロスバーネットワーク、共有メモリネットワーク、クロスネットワーク、ハイパーキューブネットワーク、任意の内部ノンブロッキング相互接続ネットワークまたはネットワークのネットワークであってよい。
【選択図】図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)
Figure 2007510376

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
Figure 2007510376

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)
Figure 2007510376

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)
Figure 2007510376

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 page 190, a number of scheduling algorithms for crossbar-based interconnection networks are described.

背景として参照によりここに組込まれる、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 input stage 110 consisting of four input ports 151-154 and four output ports go through an intermediate stage 130 which is a mutual network consisting of two 4 × 4 crossbar networks 131-132. An exemplary switch fabric 10 is shown having an output stage 120 comprised of 191-194. Each input port 151-154 receives a packet via an ingress link 141-144, respectively. Each output port 191-194 transmits a packet via an exit link 201-204, respectively. Each crossbar network 131-132 is connected to each of four input ports 151-154 via eight links (hereinafter referred to as "first internal links") FL1-FL8, It is connected to each of the four output ports 191 to 194 via links (hereinafter referred to as “second internal links”) SL1 to SL8. In the switch fabric 10 of FIG. 1A, each of the inlet links 141-144, the first internal links FL1-FL8, the second internal links SL1-SL8, and the outlet links 201-204 operate at the same rate.

出力ポート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 switch fabric 10 of FIG. 1A, packets may be placed in priority queues 161-164 before being placed in the input queue. Each priority queue 161-164 includes f queues that hold packets corresponding to the priority [1-f]. For example, a packet destined for the output port 191 is placed in the priority queue 161 based on the priority [1-f] of the packet, and the packet having the highest priority is first placed in the input queue 171. Put the next highest priority packet. Because the use of priority queues 161-164 is independent of the operation of switch fabric 10, switch fabric 10 of FIG. 1A may be implemented without priority queues 161-164 in another embodiment (priority queues Since use is irrelevant to all embodiments described in this invention, all embodiments can also be implemented in a non-blocking, deterministic manner without priority queues).

また、ネットワークは、入力ステージ110、出力ステージ120、および中間ステージ130の各々に結合し、入力ポート151−154から出力ポート191−194へパケットをスイッチングするスケジューラを含む。スケジューラは、中間ステージ130内の相互接続ネットワークを介するパスに対して利用可能な宛先のリストをメモリ内に維持している。   The network also includes a scheduler that couples to each of input stage 110, output stage 120, and intermediate stage 130 and switches packets from input ports 151-154 to output ports 191-194. The scheduler maintains a list of available destinations in memory for paths through the interconnect network in the intermediate stage 130.

一実施形態において、図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 output queues 181 to 184 in the output ports 191 to 194, respectively. Each of the input queues 171 to 174 in the four input ports 151 to 154 in the switch fabric 10 of FIG. 1A has A1 to A4 in the input queue 171 of the input port 151 and is in a state of being switched to the output port. Illustrative four packets with P1-P4 in the fourth input queue 174 of input port 164 are shown. The head-of-line packets in all 16 input queues in the four input ports 151-154 are designated by A1-P1, respectively.

表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 switch fabric 10 of FIG. 1A. Packets in the input queue 171 in the input port 151 indicated by I {1,1} are allocated and switched to the output queue 181 in the output port 191 indicated by O {1,1}. The packet in the input queue 172 in the input port 151 indicated by I {1, 2} is assigned to the output queue 181 in the output port 192 indicated by O {2, 1} and switched. Similarly, packets in the remaining 16 input queues are assigned to the remaining 16 output queues as shown in Table 1. In another embodiment, the assignment of input queues to output queues may be different from Table 1, but according to the present invention, in each input port assigned to switch packets to the output queue in each output port. There is only one input queue and vice versa.

Figure 2007510376
Figure 2007510376

本発明によると、全て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 intermediate stage 130 in a non-blocking manner at the time of switching four times (hereinafter referred to as “fabric switching cycle”). Switched to the port. At each switching time, at most one packet is switched from each input port and at most one packet is switched to each output port. Since each input port can only receive 4 unicast packets, input port collisions never occur in the switch fabric 10 of FIG. 1A. Since each input queue from any input port is switched to only one designated output queue in each output port, output port collisions never occur in the switch fabric 10 of FIG. 1A. Accordingly, three steps of arbitration are required: generation of a request by the input port, issue of permission by the output port, and approval of permission by the input port. Applicant now considers the problem with deterministic and non-blocking scheduling of 16 packets A1-P1 to be switched to output ports 191-194 in the switch fabric 10 of FIG. 1A is the three-stage cross network shown in FIG. 1C. It has an important view that it relates to 14 non-blocking scheduling.

図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内のスイッチ数が

Figure 2007510376
個に等しいとき、ユニキャスト接続要求に対して厳密なノンブロッキング方式で動作する(本発明の背景として参照により組み込んだ、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 input stage 110 and the output stage 120 via the intermediate stage 130. A three stage cross network 14 is shown. Here, the input stage 110 includes four 4 × 2 switches IS1 to IS4, the output stage 120 includes four 2 × 4 switches OS1 to OS4, and the intermediate stage 130 includes two 4 × 4 switches MS1. -Consist of MS2. The number of inlet links for each switch in the input stage 110 and the number of outlet links for each switch in the output stage 120 is represented by n, and the number of switches in the input stage 110 and the output stage 120 is represented by r. Each of the two intermediate switches MS1-MS2 is connected to each of the r input switches via r links (for example, the links FL1-FL4 are connected to the intermediate switch MS1 from each of the input switches IS1-IS4). ), Connected to each of the output switches via r second internal links (for example, the links SL1-SL4 are connected from the intermediate switch MS1 to each of the output switches OS1-OS4). The network has 16 ingress links: I {1,1} -I {4,4} and 16 egress links O {1,1} -O {4,4}. In the three-stage cross network 14 of FIG. 1C, all 16 input links are assigned to 16 output links, as shown in Table 1, just like the switch fabric 10 of FIG. 1A. In the network 14 of FIG. 1C, the number of switches in the intermediate stage 130 is
Figure 2007510376
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 intermediate stage 130, ie, two speedups, the switch fabric 10 of FIG. 1A operates in a strictly non-blocking manner. . The detailed method used to implement the strictly non-blocking deterministic switching may be any of a number of different methods that will be apparent to those skilled in the art in view of the present disclosure. One such arbitration and scheduling method is described in FIG. 1B below.

Figure 2007510376
Figure 2007510376

表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 switch fabric 10 of FIG. 1A after each switching time. FIG. 1D shows the state of the switch fabric 10 of FIG. 1A after a first switching time in which packets A1, K1, and P1 are switched to the output queue. The packet A1 from the input port 151 is switched to the output queue 181 of the output port 191 via the crossbar network 131. The packet F1 from the input port 152 is switched to the output queue 182 of the output port 192 via the crossbar network 131. The packet K1 from the input port 153 is switched to the output queue 183 of the output port 193 via the crossbar network 132. The packet P1 from the input port 154 is switched to the output queue 184 of the output port 194 via the crossbar network 132. It is clear that at the first switching time, only one packet is switched from each input port and each output port receives only one packet.

図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 switch fabric 10 of FIG. 1A after a second switching time when packets D1, E1, and O1 are switched to the output queue. The packet D1 from the input port 151 is switched to the output queue 181 of the output port 194 via the crossbar network 131. The packet E1 from the input port 152 is switched to the output queue 182 of the output port 191 via the crossbar network 131. The packet J1 from the input port 153 is switched to the output queue 183 of the output port 192 via the crossbar network 132. The packet O1 from the input port 154 is switched to the output queue 184 of the output port 193 via the crossbar network 132. Again, at the second switching time, only one packet is switched from each input port, and each output port receives only one packet.

図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 switch fabric 10 of FIG. 1A after a third switching time when packets C1, H1, I1, and N1 are switched to the output queue. The packet C1 from the input port 151 is switched to the output queue 181 of the output port 193 via the crossbar network 131. The packet H1 from the input port 152 is switched to the output queue 182 of the output port 194 via the crossbar network 131. The packet I1 from the input port 153 is switched to the output queue 183 of the output port 191 via the crossbar network 132. The packet N1 from the input port 154 is switched to the output queue 184 of the output port 192 via the crossbar network 132. Again, at the third switching time, only one packet is switched from each input port and each output port receives only one packet.

図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 switch fabric 10 of FIG. 1A after a fourth switching time in which packets B2, G2, and L1 are switched to the output queue. The packet B2 from the input port 151 is switched to the output queue 181 of the output port 192 via the crossbar network 132. The packet G1 from the input port 152 is switched to the output queue 182 of the output port 193 via the crossbar network 131. The packet L1 from the input port 153 is switched to the output queue 183 of the output port 194 via the crossbar network 131. The packet M1 from the input port 154 is switched to the output queue 184 of the output port 191 via the crossbar network 132. It is clear that at the fourth switching time, only one packet is switched from each input port and each output port receives only one packet.

図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 switch fabric 10 of Drawing 1A is shown. The packet A2 from the input port 151 is switched to the output queue 181 of the output port 191 via the crossbar network 131. The packet F2 from the input port 152 is switched to the output queue 182 of the output port 192 via the crossbar network 131. The packet K2 from the input port 153 is switched to the output queue 183 of the output port 193 via the crossbar network 132. The packet P2 from the input port 154 is switched to the output queue 184 of the output port 194 via the crossbar network 132. Accordingly, the arbitration and scheduling method 40 of FIG. 1B does not need to be rescheduled after scheduling for the first fabric switching cycle has been performed. Thus, packets from any particular input queue to the destination output queue are switched along the same path and move in the same order as the input ports receive them, thus never causing packet reordering problems .

ファブリックスイッチングサイクルにおいて、全ての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 switch fabric 10 of FIG. 1A is such that each output port receives at least one packet from any one of the input queues destined for that output port as long as there is at least one packet at the switching time. In operation, the switch fabric is hereinafter referred to as a “process conservative system”. It can easily be seen that the switch fabric is directly process conservative when it is non-blocking. In accordance with the present invention, the switch fabric 10 of FIG. 1A operates so that none of the packets at the beginning of each input queue are maintained more than the same number of switching times as the number of input queues (4) at each input port. The switch fabric is called a “fair system”. Since the virtual output queue is used at the beginning of a line, blocking is also removed.

本発明によると、相互接続ネットワークにおいて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 switch fabric 10 of FIG. 1A is deterministic. Each ingress link 141-144 receives packets at the same rate as each egress link 201-204 transmits, ie, one packet at each switching time. Since only one packet is deterministically switched from each input port 151-154 at each switching time and only one packet is switched to each output port 191-194, the switch fabric 10 of FIG. Do not congest the output port.

本発明による決定論的なスイッチングの大きな利点は、パケットが、高くともピークレートで入力ポートからスイッチングされることである。このことは、パケットが、高くともピークレートで出力ポートにおいて受信されることも意味する。それは、出力ポートでトラフィック管理が必要なく、パケットは出力ポートから決定論的に送信されることを意味する。従って、トラフィック管理は、図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 switch fabric 10 of FIG. 1A.

図1Aのスイッチファブリック10の別の重要な特性は、特別な入力キューに属する全てのパケットが、宛先出力ポート内の同じ出力キューにスイッチングされることである。出願人は、出力キューによる3つのキーとなる利点を指摘する。1)スイッチング時間において、1バイトまたは一定数のバイトが入力ポートから出力ポートにスイッチングされる。あるいは、スイッチファブリックのスイッチング時間は可変であるため、スイッチファブリックの設計段階で柔軟なパラメータである。2)従って、たとえパケットA1−P1が任意の長さであり、サイズが可変であっても、入力キュー内の各パケットが宛先出力ポート内の同じ出力キューにスイッチングされるため、完全なパケットがスイッチング時間においてスイッチングされる必要はない。あるいは、出力キューの第2の利点は、長いパケットを入力ポート内で物理的にセグメント化する必要がなく、出力ポート内で再配置する必要がないということである。パケットは、物理的にセグメント化されずに、1セグメントずつ出力キューに論理的にスイッチングされる(パケットセグメントのサイズはスイッチング時間によって決定される)。各パケット内のパケットセグメントも、入力キューから宛先出力キューへの同一パスを介してスイッチングされる。3)出力キューの第3の利点は、パケットとパケットセグメントは、入力ポートがそれらを受信するのと同じ順番でスイッチングされ、決してパケット再順序付けの問題が生じないことである。   Another important characteristic of the switch fabric 10 of FIG. 1A is that all packets belonging to a special input queue are switched to the same output queue in the destination output port. Applicants point out three key advantages with output queues. 1) In the switching time, one byte or a certain number of bytes are switched from the input port to the output port. Alternatively, since the switching time of the switch fabric is variable, it is a flexible parameter at the design stage of the switch fabric. 2) Therefore, even if the packets A1-P1 are of arbitrary length and the size is variable, each packet in the input queue is switched to the same output queue in the destination output port, so that the complete packet There is no need to be switched in the switching time. Alternatively, the second advantage of the output queue is that long packets do not need to be physically segmented within the input port and need not be relocated within the output port. Packets are not physically segmented, but are logically switched to the output queue one segment at a time (the size of the packet segment is determined by the switching time). The packet segments within each packet are also switched over the same path from the input queue to the destination output queue. 3) A third advantage of the output queue is that packets and packet segments are switched in the same order that the input ports receive them, and never encounter packet reordering issues.

図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 switch fabric 16 that switches long packets. There is one packet in each input queue, which creates 16 packets in all 16 input queues. That is, the packet {A1-A4} is stored in the input queue 171 in the input port 151, the packet {B1-B4} is stored in the input queue 172 in the input port 151, and the packet {B1 is stored in the input queue 173 in the input port 151. C1-C4} and the like are created, and the input queue 174 in the input port 154 has a packet {P1-P4}. Each of these 16 packets consists of 4 equally sized packet segments. For example, packet {A1-A4} consists of four packet segments, namely A1, A2, A3 and A4. If the size of the packet is not completely four times the size of the packet segment, the size of the fourth packet is shorter. However, none of the four packet segments is longer than the maximum packet segment size. The size of the packet segment is determined by the switching time. That is, at each switching time, a unique packet segment is switched from any input port to any output port. Except for the longer packet size, the diagram of switch fabric 16 of FIG. 1I is the same as the diagram of switch fabric 10 of FIG. 1A.

図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 switch fabric 16 of FIG. 1I after each fabric switching cycle. FIG. 1J shows the state of the switch fabric 16 of FIG. 1I after the first fabric switching cycle in which all leading packet segments A1-P1 are switched to the output ports. As shown in FIGS. 1D-1G, these packet segments are exactly the same as packets A1-P1 are switched to output queues in the switch fabric 10 of FIG. 1A using the arbitration and scheduling method 40 of FIG. 1B. In the manner switched to the output queue. FIG. 1K shows the state of switch fabric 16 of FIG. 1I after the second fabric switching cycle when all leading packet segments A1-P1 are switched to the output queue. FIG. 1L shows the state of switch fabric 16 of FIG. 1I after a third fabric switching cycle in which all leading packet segments A3-P3 are switched to the output queue. FIG. 1M shows the state of the switch fabric 16 of FIG. 1I after the fourth fabric switching cycle in which all leading packet segments A1-P1 are switched to the output queue. In each of the first, second, third, and fourth fabric switching cycles, packets A1-P1 are switched to output queues in switch fabric 10 of FIG. 1A, as shown in FIGS. 1D-1G. The packet segment is switched to the output queue in exactly the same way. Obviously, all packet segments are switched in the same order that each input port receives. Thus, there is no problem of packet reordering. Packets are further switched in a 100% throughput, process conservative and fair manner.

図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 switch fabric 16 of FIG. 1I). Packet segments A1-P1, A2-P2 and A3-P3 are padded with tag bits of “1” and packet segments A4-P4 are padded with tag bits of “0”). When the tag bit is detected as “0”, the output port then expects a packet segment or new packet for the new packet. If there is only one packet segment in the packet, it is represented by a tag bit of “0” by the input port. If the output port receives two consecutive packet segments with a designated tag bit of “0”, the output port determines that the second packet segment is the only packet segment of the new packet.

図1Iのスイッチファブリック16において、パケットは4セグメントの長さである。しかしながら、一般にパケットは任意の長さである。加えて、同一キュー内の異なるパケットは異なるサイズでありうる。双方の場合において、図1Bの調停およびスケジューリング方法は、スイッチファブリックをノンブロッキング方式で動作させ、パケットは100%スループット、処理保存的、および公正な方式でスイッチされる。さらに、入力ポート内でパケットを物理的にセグメント化し、出力ポート内で再組立する必要はない。スイッチファブリックのスイッチング時間は柔軟な設計パラメータでもあり、各スイッチング時間において1バイトずつ、または数バイトずつパケットをスイッチングするように設定される。   In the switch fabric 16 of FIG. 1I, the packet is 4 segments long. However, in general, packets are of arbitrary length. In addition, different packets in the same queue can be of different sizes. In both cases, the arbitration and scheduling method of FIG. 1B operates the switch fabric in a non-blocking manner, and packets are switched in a 100% throughput, process conservative, and fair manner. In addition, the packets need not be physically segmented within the input port and reassembled within the output port. The switching time of the switch fabric is also a flexible design parameter, and is set to switch packets one byte or several bytes at each switching time.

図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 act 41. Since each input port has r input queues with at most one request from each input queue, there will be at most r requests from each input port. Each of these r requests is also addressed to a different output port. In act 42, each output port will issue at most r permissions. Each request then corresponds to an associated output queue. Since each input port generates a unique request, it can easily be seen that each output port receives at most r requests from each input port. Each output port can then issue a grant to all r received requests. In Act 43, each input port accepts at most r permissions. Each output port issues at most r permissions to each input port, so each input port receives at most r permissions. Each input port then approves all r permissions.

アクト44において、全てのr個の要求が、以前スケジューリングしたパケットのパスを再配置せずにスケジューリングされる。本発明によると、全てのr個の要求は中間ステージ130における少なくとも2のスピードアップで厳密にノンブロッキング方式でスケジューリングされる。要求生成の調停、許可の発行、承認の生成が、1度だけの繰り返しで実行されることに留意されたい。アクト44の後に、制御はアクト45に戻る。アクト45において、入力ポートで新規の要求または異なる要求があるかどうかがチェックされる。結果が「ノー」の場合、制御はアクト45に戻る。新規要求はあるが同一の要求であり、出力キュー要求に対して同じ入力キューを有する場合、同じスケジュールが使用され、次のr個の要求をスイッチングする。入力ポートから新規の要求および異なる要求があるとき、制御はアクト45からアクト41に移る。そしてアクト41−45がループ内で実行される。 At act 44, all r 2 requests are scheduled without relocating the previously scheduled packet path. In accordance with the present invention, all r 2 requests are scheduled in a strictly non-blocking manner with at least two speedups in the intermediate stage 130. Note that request generation arbitration, permission issuance, and approval generation are performed in a single iteration. After act 44, control returns to act 45. In act 45, it is checked whether there are new or different requests at the input port. If the result is “no”, control returns to Act 45. If there is a new request but the same request and has the same input queue for the output queue request, the same schedule is used to switch the next r 2 requests. When there is a new request and a different request from the input port, control passes from act 45 to act 41. Acts 41-45 are then executed in the loop.

図1Cのネットワーク14は、中間ステージ130のスイッチの数が

Figure 2007510376
に等しいとき、ユニキャスト接続要求に対して再配置可能なノンブロッキング方式で動作することもできる。同様に本発明によると、中間ステージ130内で4×4クロスバーネットワーク131を1つだけ、即ち少なくとも1のスピードアップを有する別の実施形態において、図1Nのスイッチファブリック18は、再配置可能なノンブロッキング方式で動作する。 In the network 14 of FIG. 1C, the number of switches in the intermediate stage 130 is
Figure 2007510376
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 crossbar network 131 in the intermediate stage 130, ie at least one speedup, the switch fabric 18 of FIG. 1N can be relocated. Operates in a non-blocking manner.

厳密にノンブロッキングなネットワークにおいて、全ての入力キューの行頭でパケットが一度にスケジューリングされると、以前スケジューリングしたパケットのパスを乱すことなく、ネットワークを介して入力キューから宛先出力キューまで、パケットのパスをスケジューリングすることが常に可能であり、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 switch fabric 10 of FIG. 1A operates strictly in a non-blocking manner, whereas the switch fabric 18 of FIG. 1N operates in a relocatable non-blocking manner.

図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 switch fabric 20 does not have an output queue. Otherwise, the switch fabric 20 of FIG. 2A is exactly the same as the view of the switch fabric 10 of FIG. 1A. In accordance with the present invention, the switch fabric 20 is strictly non-blocking, in all respects similar to that disclosed for the switch fabric 10 of FIG. 1A, except that a SAR is required in the input and output ports. Operates in a deterministic manner. The packet needs to be segmented within the input port as determined by the switching time, switched to the output port, and reassembled separately. However, the arbitration and scheduling method 40 of FIG. 1B is also used to switch packets within the switch fabric 20 of FIG. 2A. Further here, scheduling is performed simultaneously on all 16 first-line packets, assuming that there are virtually 16 output queues, the packets are switched in 4 switching times. However, during the switching time, packets are switched to the destination output port instead of the output queue. 2B-2F show the state of the switch fabric 20 of FIG. 2A after each switching time by scheduling the packet requests shown in Table 1 using the arbitration and scheduling method of FIG. 1B.

図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 switch fabric 20 of FIG. 2A after the initial switching time when packets A1, F1, K1, and P1 are switched to the output queue. The packet A1 from the input port 151 is switched to the output port 191 via the crossbar network 131. The packet F1 from the input port 152 is switched to the output port 192 via the crossbar network 131. The packet K1 from the input port 153 is switched to the output port 193 via the crossbar network 132. The packet P1 from the input port 154 is switched to the output port 194 via the crossbar network 132. It is clear that at the first switching time, only one packet is switched from each input port and each output port receives only one packet.

図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 switch fabric 20 of FIG. 2A after a second switching time in which packets D1, E1, J1 and O1 are switched to the output queue. The packet D1 from the input port 151 is switched to the output port 194 via the crossbar network 131. The packet E1 from the input port 152 is switched to the output port 191 via the crossbar network 131. The packet J1 from the input port 153 is switched to the output port 192 via the crossbar network 132. The packet O1 from the input port 154 is switched to the output port 193 via the crossbar network 132. Again, at the second switching time, only one packet is switched from each input port, and each output port receives only one packet.

図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 switch fabric 20 of FIG. 2A after a third switching time when packets C1, H1, I1, and N1 are switched to the output queue. The packet C1 from the input port 151 is switched to the output port 193 via the crossbar network 131. The packet H1 from the input port 152 is switched to the output port 194 via the crossbar network 131. The packet I1 from the input port 153 is switched to the output port 191 via the crossbar network 132. The packet N1 from the input port 154 is switched to the output port 192 via the crossbar network 132. Again, at the third switching time, only one packet is switched from each input port, and each output port receives only one packet.

図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 switch fabric 20 of FIG. 2A after a fourth switching time in which packets B1, G1, L1 and M1 are switched to the output queue. The packet B1 from the input port 151 is switched to the output port 192 via the crossbar network 132. The packet G1 from the input port 152 is switched to the output port 193 via the crossbar network 131. The packet L1 from the input port 153 is switched to the output port 194 via the crossbar network 131. The packet M1 from the input port 154 is switched to the output port 191 via the crossbar network 132. In the fourth switching time, it is clear that only one packet is switched from each input port and each output port receives only one packet.

図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 switch fabric 20 of FIG. 2A is shown. The packet A2 from the input port 151 is switched to the output port 191 via the crossbar network 131. The packet F2 from the input port 152 is switched to the output port 192 via the crossbar network 131. The packet K2 from the input port 153 is switched to the output port 193 via the crossbar network 132. The packet P2 from the input port 154 is switched to the output port 194 via the crossbar network 132.

また、図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 switch fabric 20 of FIG. 2A strictly in a non-blocking manner, and the packet operates in a 100% throughput, process 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. However, SAR is required for the switch fabric 20 and the packets need to be physically segmented in the input port and reassembled in the output port. Nevertheless, in switch fabric 20, packets and packet segments are switched to output ports in the same order that the input ports receive. Indeed, except for the SAR, the arbitration and scheduling method 40 of FIG. 1B operates the switch fabric 20 in the same manner in all respects as described with respect to the switch fabric 10 of FIG. 1A.

スイッチファブリックがノンブロッキングに動作するための中間ステージにおける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 switch fabric 10 in FIG. 1A. Switching rate doubling is achieved by operating a single interconnect network, first and second internal links at twice the clock rate for each clock in the input and output ports. . At the first clock, the single interconnect network switches as the first interconnect of an equivalent switch fabric implemented with two parallel interconnect networks, for example, the interconnect network 131 in the switch fabric 10 of FIG. 1A. Works against. Similarly, at the second clock, the single interconnect network operates as an interconnect network 132 within the second interconnect network, eg, switch fabric 10 of FIG. 1A. Therefore, twice the rate is required for this implementation in the interconnect network clock speed and the first and second internal links. The arbitration and scheduling method 40 of FIG. 1B implements parallel processing or double rate speedup so that both switch fabrics are non-blocking and deterministic in all respects as described in the present invention. Make it work.

図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 switch fabric 10 of FIG. 1A except that the clock speed on the only crossbar interconnect network in the intermediate stage 130 is increased by 2 and the first and second internal links are increased by 2 Is the same. In another embodiment of the network of FIG. 1A, each interconnect network in the intermediate stage is a shared memory network. FIG. 3B shows the switch fabric 50. Same as the switch fabric 10 of FIG. 1A except that it speeds up the two shared memory interconnect networks in the intermediate stage 130. FIG. 3C shows the switch fabric 60. Exactly the same as switch fabric 30 of FIG. 3A, except that the clock speed of the only shared memory interconnect network in intermediate stage 130 is increased by 2 and the first and second internal links are increased by 2 It is.

同様に、図3Dは、スイッチファブリック70を示す。2スピードアップに、中間ステージ130内の2個のハイパーキューブ相互接続ネットワークを2スピードアップさせることを除いて、図1Aのスイッチファブリック10と全く同じである。図3Eは、スイッチファブリック60を示す。中間ステージ130内の唯一のハイパーキューブベースの相互接続ネットワークのクロックレートを2スピードアップさせることと、第1および第2の内部リンクを2スピードアップさせることを除いて、図3Aのスイッチファブリック30と全く同じである。   Similarly, FIG. 3D shows the switch fabric 70. Exactly the same as switch fabric 10 of FIG. 1A, except that two speedups speeds up the two hypercube interconnect networks in intermediate stage 130. FIG. 3E shows the switch fabric 60. The switch fabric 30 of FIG. 3A, except for speeding up the clock rate of the only hypercube-based interconnect network in the intermediate stage 130 by 2 and speeding up the first and second internal links by 2 Exactly the same.

図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 switch fabric 10 of FIG. 1A, 16 of FIG. 1I, 18 of FIG. 1N, 20 of FIG. 2A, 30 of FIG. 3A, 50 of FIG. 3B, 60 of FIG. 3C, 70 of FIG. The number of ports 110 and the number of output ports 120 are generally represented by a variable r for each stage. The speed up in the intermediate stage is represented by s. The speed up in the intermediate stage is parallel processing, ie two interconnect networks (shown in FIGS. 4A, 4C and 4E), or twice the switching rate in one interconnect network (FIGS. 4B, 4D and 4). (Shown in FIG. 4F). Each input port size 151- {151 + r} is generally expressed in the notation of r * s (each input port has r input queues, s interconnect networks and s first internal links). The size of each output switch 191- {191 + r} is generally expressed in the notation of s * r (each output port has r output queues and s interconnects). It is connected to the network with s second internal links). Similarly, the size of each interconnect network in the intermediate stage 130 is denoted r * r. The interconnect network described here can be a crossbar network, a shared memory network, a network of sub-networks, each of which is a crossbar or shared memory network, a three-stage cross network, a hypercube, any internal non-blocking interconnect network, or It may be a network of networks. A three-stage switch fabric is represented by the notation of V (s, r).

存在する出力キュー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 switch fabric 10 of FIG. 1A is an example of the general symmetric switch fabric of FIG. 4A and provides two speedups by using two crossbar interconnect networks in the intermediate stage 130. Referring to FIG. 4B, a typical symmetric switch fabric is shown. Same as the switch fabric 30 of FIG. 4A except that the clock speed of the only crossbar interconnect network in the intermediate stage 130 is increased by 2 and the first and second internal links are increased by 2 is there

図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 intermediate stage 130 provides a 2 speedup. FIG. 4D shows a typical symmetric switch fabric. This provides a speedup of 2 by using 2 speedup of the clock speed of the only shared memory interconnect network in the intermediate stage 130 and 2 speedup of the first and second internal links. To do.

図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 intermediate stage 130 provides two speedups. FIG. 4F shows a typical symmetric switch fabric. Using two speedups of the only three-stage cross-connect network in the intermediate stage 130 and two speedups of the first and second internal links provides two speedups.

一般に、中間ステージ130内の相互接続ネットワークは、任意の相互接続ネットワーク、即ち、ハイパーキューブや、バッチャバニアン相互接続ネットワーク、任意の内部ノンブロッキング相互接続ネットワーク、またはネットワークのネットワークであってよい。一実施形態において、相互接続ネットワーク131および132は、2つの異種のネットワークのであってよい。例えば、相互接続ネットワーク131は、クロスバーネットワークであってよく、相互接続ネットワーク132は、共有メモリネットワークであってよい。本発明によると、中間ステージにおいて使用される相互接続ネットワークの種類とは無関係に、中間ステージ内の少なくとも2のスピードアップが、図1Bの調停およびスケジューリング方法40を使用して、厳密にノンブロッキング方式でスイッチファブリックを動作させる。そして中間ステージ内の少なくとも1のスピードアップが、そのスイッチファブリックを再配置可能なノンブロッキング方式で動作させる。   In general, the interconnection network in the intermediate stage 130 may be any interconnection network, i.e., a hypercube, batcher vanian interconnection network, any internal non-blocking interconnection network, or a network of networks. In one embodiment, interconnect networks 131 and 132 may be two disparate networks. For example, the interconnect network 131 may be a crossbar network and the interconnect network 132 may be a shared memory network. In accordance with the present invention, regardless of the type of interconnect network used in the intermediate stage, at least two speedups in the intermediate stage are strictly non-blocking using the arbitration and scheduling method 40 of FIG. 1B. Operate the switch fabric. And at least one speedup in the intermediate stage causes the switch fabric to operate in a non-blocking manner that can be repositioned.

スイッチファブリック内のスピードアップは、相互接続ネットワークの内部スピードアップに関係しないことに留意されたい。例えば、クロスバーネットワークおよび共有メモリネットワークは完全接続のトポロジーであり、何ら追加的な内部スピードアップなくても、内部的にノンブロッキングである。例えば、図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 switch fabric 10 of FIG. 1A or the switch fabric 50 of FIG. 3B is a crossbar network or a shared memory network, and the interconnect networks 131-132 to operate in a non-blocking manner. There is no speedup required for either. However, when the interconnection network 131-132 is a three-stage cross network, each three-stage cross network can operate strictly in a non-blocking system, and therefore requires an internal speedup of 2. In a switch fabric where the intermediate stage interconnect network 131-132 is a three stage cross network, a two speed up of the switch fabric is provided in the form of two different three stage cross networks, such as 131 and 132. In addition, each three-stage cross network 131 and 132 requires a further 2 speedup because it is strictly strictly non-blocking internally. Clearly, the switch fabric speedup is different from the internal speedup of the interconnect network.

同様に、中間ステージ131および132内の相互接続ネットワークがハイパーキューブネットワークである場合、ある実施形態においてdランクのハイパーキューブ(2個のノードを備える)において、それがノンブロッキングネットワークであるために、dの内部のスピードアップが必要である。本発明によると、中間ステージの相互接続ネットワーク131または132は、スイッチファブリックが図1Bの調停およびスケジューリング方法40を使用して、中間ステージ内で2のスピードアップで、厳密にノンブロッキング方式で動作可能であり、また、中間ステージ内で少なくとも1のスピードアップで、再配置可能なノンブロッキング方式で動作可能であるために、任意の内部ノンブロッキング相互接続ネットワークであることができる。 Similarly, if the interconnection network in the intermediate stages 131 and 132 is a hypercube network, in one embodiment in a d-rank hypercube (comprising 2 d nodes), because it is a non-blocking network, It is necessary to increase the internal speed of d. In accordance with the present invention, the intermediate stage interconnect network 131 or 132 can operate in a strictly non-blocking manner, with the switch fabric speeding up 2 in the intermediate stage using the arbitration and scheduling method 40 of FIG. 1B. Yes, and can be any internal non-blocking interconnect network because it can operate in a relocatable non-blocking manner with at least one speedup in the intermediate stage.

図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 stage interconnect network 131 or 132 is in the switch fabric 70 of FIG. 3D and the switch fabric 80 of FIG. 3E. A detailed view of the network is shown. There are four nodes in the 4-node hypercube: 00, 01, 10 and 11. Node 00 is connected to node 01 by bidirectional link A. The node 01 is connected to the node 11 by a bidirectional link B. The node 11 is connected to the node 10 by a bidirectional link C. The node 10 is connected to the node 00 by a bidirectional link D. Each of the four nodes is connected to an input port and an output port of the switch fabric. The node 00 is connected to the first internal link FL1 and the second internal link SL1. The node 01 is connected to the first internal link FL2 and the second internal link SL1. The node 10 is connected to the first internal link FL3 and the second internal link SL3. The node 11 is connected to the first internal link FL4 and the second internal link SL4. Because the hypercube network 131 or 132 shown in FIG. 4G is internally non-blocking, in one embodiment, at the same rate as the switch fabric ingress link (or egress link) or depending on the hypercube network scheduling scheme. It is necessary to operate links A, B, C, and D in both directions due to some increase in speed. According to the present invention, the hypercube operates internally in a non-blocking manner, and the switch fabric can operate strictly in a non-blocking manner at a speedup of at least 2 using the arbitration and scheduling method 40 of FIG. 1B. And the switch fabric must be able to operate in a relocatable non-blocking manner with at least one speedup in the intermediate stage.

図4A−4Fは、同数の第1内部リンクと第2内部リンクを示すが、対称スイッチファブリックの場合のように、本発明は非対称スイッチファブリックに拡張される。一般に、(r*r)の非対称スイッチファブリックであって、その非対称スイッチファブリックは、各入力ポートがr個の入力キューを有するr個の入力ポートと、各出力ポートがr個の出力キューを有するr個の出力ポートと、s個のサブネットワークを備えた、少なくとも

Figure 2007510376
のスピードアップを有する相互接続ネットワークとを備え、各サブネットワークは総数少なくともr個の第1内部リンクに対する各入力ポートに接続される少なくとも1個の第1内部リンクを備え、各サブネットワークはさらに総数少なくともr個の第2内部リンクに対する各出力ポートに接続される少なくとも1個の第2内部リンクを備える。その非対称スイッチファブリックは、r≦rのときに、スイッチングすべき各スイッチング時間において、多くともr回のスイッチング時間だけ決定論的な方式で、かつパケットのセグメント化および再組立を要求することなく、多くともr個のパケットをスケジューリングすることで、本発明による厳密にノンブロッキング方式で動作する。別の実施形態においては、スイッチファブリックは、r≦rのときに、スイッチングすべき各スイッチング時間において、多くともr回のスイッチング時間だけ決定論的な方式で、かつパケットのセグメント化および再組立を要求することなく、多くともr個のパケットをスケジューリングすることで、本発明による厳密にノンブロッキング方式で動作する。 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 (r 1 * r 2), the asymmetric switch fabric, and r 1 input ports each input port having r 2 inputs queues, each output port is one r With at least r 2 output ports having s output queues and s sub-networks
Figure 2007510376
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,r,r)として表される。一実施形態において、システムは調停に対して、相互接続ネットワークにおいて数学的に最小のスピードアップで一回のみの繰り返しを実行する。システムは100%スループット、処理保存的、公正、それでいて決定論的に動作し、それによって出力ポートを決して輻輳させない。図1Bの調停およびスケジューリング方法40は、V(s,r,r)のスイッチファブリックにおいてパケットをスケジューリングするためにも使用される。 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,r,r)スイッチファブリックもノンブロッキング方式で動作させ、パケットは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,r,r)は、相互接続ネットワークにおいて、少なくとも

Figure 2007510376
のスピードアップで再配置可能なノンブロッキング方式で動作する。これは、r≦rのときに、スイッチングすべき各スイッチング時間において、多くともr回のスイッチング時間だけ決定論的な方式で、かつパケットのセグメント化および再組立を要求することなく、多くともr個のパケットをスケジューリングすることで動作する。別の実施形態において、非対称スイッチファブリックV(s,r,r)は、相互接続ネットワークにおいて、少なくとも
Figure 2007510376
のスピードアップで再配置可能なノンブロッキング方式で動作する。これは、r≦rのときに、スイッチングすべき各スイッチング時間において、多くともr回のスイッチング時間だけ決定論的な方式で、かつパケットのセグメント化および再組立を要求することなく、多くともr個のパケットをスケジューリングすることで動作する。 Similarly, in one embodiment, the asymmetric switch fabric V (s, r 1 , r 2 ) is at least in the interconnect network
Figure 2007510376
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
Figure 2007510376
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,r,r)であって、その非対称スイッチファブリックは、各入力ポートがr個の入力キューを有するr個の入力ポートと、r個の出力ポートと、s個のサブネットワークを備えた、少なくとも

Figure 2007510376
のスピードアップを有する相互接続ネットワークとを備え、各サブネットワークは、少なくとも総数r個の第1内部リンクに対する各入力ポートに接続された、少なくとも1つの第1内部リンクを備え、各サブネットワークは、さらに少なくとも総数r個の第2内部リンクに対する各出力ポートに接続された、少なくとも1つの第2内部リンクを備える。その非対称スイッチファブリックは、本発明に従い、スイッチングすべき各スイッチング時間において、多くともr回のスイッチング時間だけ決定論的な方式で、多くともr個のパケットをスケジューリングし、かつパケットのセグメント化および再組立を要求することで、厳密にノンブロッキング方式で動作する。図1Bの調停およびスケジューリング方法40は、出力キューを使用せずに、V(s,r,r)スイッチファブリックにおいてパケットをスイッチングするためにも使用される。 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
Figure 2007510376
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,r,r)であって、その非対称スイッチファブリックは、各入力ポートがr個の入力キューを有するr個の入力ポートと、r個の出力ポートと、s個のサブネットワークを備えた、少なくとも

Figure 2007510376
のスピードアップを有する相互接続ネットワークとを備え、各サブネットワークは、少なくとも総数r個の第1内部リンクに対する各入力ポートと接続された少なくとも1つの第1内部リンクを備え、各サブネットワークは、さらに少なくとも総数r個の第2内部リンクに対する各出力ポートに接続された少なくとも1つの第2内部リンクを備える。その非対称スイッチファブリックは、本発明に従い、スイッチングすべき各スイッチング時間において、多くともr回のスイッチング時間だけ決定論的な方式で、多くともr個のパケットをスケジューリングし、かつパケットのセグメント化および再組立を要求することで、再配置可能なノンブロッキング方式で動作する。 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
Figure 2007510376
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の実装を示す。r個のパケットのスケジューリングがアクト44で実行される。アクト44Aにおいて、スケジューリングすべきパケットがまだあるかどうかがチェックされる。スケジューリングすべきパケットがまだある場合、即ち、r個のパケット全てがスケジューリングされない場合、制御はアクト44Bに移る。アクト44Bにおいて、中間ステージ内の2個の相互接続ネットワークのうち1個を介するオープンパスが、r個のスケジューリング時間を介して検索することで選択される。パケットは、アクト44Cにおいて、選択されたパス、選択されたスケジューリング時間を介してスケジューリングされる。44Dにおいて、選択された第1内部リンクと第2内部リンクは選択済とマーク付けされ、他のパケットはどれも、同じスケジューリング時間においてこれらのリンクを選択できない。その後、制御はアクト44Aに戻り、従ってアクト44A、44B、44C、および44Dは、ループ内で実行されて各パケットをスケジューリングする。 FIG. 5A shows an implementation of act 44 of the arbitration and scheduling method 40 of FIG. 1B. Scheduling r 2 pieces of packets are executed by act 44. In act 44A, it is checked whether there are more packets to schedule. If there are more packets to schedule, ie if all r 2 packets are not scheduled, control passes to act 44B. In act 44B, an open path through one of the two interconnected networks in the intermediate stage is selected by searching through r scheduling times. The packet is scheduled at act 44C via the selected path and the selected scheduling time. At 44D, the selected first and second internal links are marked as selected, and no other packet can select these links at the same scheduling time. Control then returns to act 44A so that act 44A, 44B, 44C, and 44D are executed in a loop to schedule each packet.

図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は、全てのr個のパケット要求がスケジューリングされるまで、全てのパケットに対して繰り返される。 FIG. 5B is a low-level flowchart of a variation of Act 44 of FIG. 5A. Act 44A transfers control to Act 44B if there is a new packet request to be scheduled. Act 44B1 assigns the new packet request to c. In Act 44B2, sched_time_1 is assigned to the index variable i. Thereafter, act 44B3 checks whether i is less than or equal to scheduling time r. If the result is “yes”, control transfers to act 44B4. In Act 44B4, another index variable j is set in the interconnection network 1. Act 44B5 checks whether j is either interconnect network 1 or 2. If the result is “yes”, control transfers to act 44B6. Act 44B6 checks whether packet request c does not have a first internal link available for interconnect network j at scheduling time i. If the result is “no”, act 44B7 checks whether the interconnection network j does not have a second internal link available to the destination output port of packet request c at scheduling time i. If the result is “no”, control is transferred to Act 44C. At act 44C, the packet request c is scheduled via interconnect network j at scheduling time i, after which the first and second internal links correspond to interconnect network j at scheduling time i at act 44D. , Marked as used. Thereafter, control is transferred to Act 44A. In either Act 44B6 or Act 44B7, if the result is “yes”, control is transferred to Act 44B9, j is incremented by 1, and control is transferred to Act 44B5. If the result is “NO” in Act 44B5, control is transferred to Act 44B10. Act 44B10 increases i by 1, and control passes to Act 44B3. The result of act 44B3 is never “no”, which means that in r scheduling times, packet request c is guaranteed to be scheduled. The act 44B includes two loops. The inner loop consists of Acts 44B5, 44B6, 44B7, and 44B9. The outer loop consists of Acts 44B3, 44B4, 44B5, 44B6, 44B7, 44B9, and 44B10. Act 44, until all r 2 pieces of packet requests are scheduled, is repeated for all the packets.

以下の方法は、図5Aのスケジューリング方法44の一実装に対する擬似コードを示す。この擬似コードは、図4A−4Fにおけるスイッチファブリック内の中間ステージ130の2のスピードアップ(2個の相互接続ネットワーク、またはクロックスピードおよびリンクスピードの2のスピードアップによる)を使用して、r個のパケットを厳密にノンブロッキング方式でスケジューリングする。 The following method shows pseudo code for one implementation of scheduling method 44 of FIG. 5A. This pseudo code uses r 2 speedups of intermediate stage 130 in the switch fabric in FIGS. 4A-4F (due to 2 interconnected networks or 2 speedups of clock speed and link speed). Scheduling of packets strictly in a non-blocking manner.

スケジューリング方法の擬似コード:
ステップ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)である。   Step 1 starts a loop that schedules each packet. Step 2 labels the current packet request as “c”. Step 3 starts the second loop and goes through all r scheduling times. Step 4 starts the third loop and goes through the two interconnected networks. If the input port of packet request c does not have a first internal link available to interconnect network j at scheduling time i at step 5, control passes to step 4 where the next interconnect network is assigned i. Choose as. Step 6 checks whether the destination output port of packet request c does not have a second internal link available from interconnect network j at scheduling time i, and if so, control passes to step 4 and then Select i as the interconnection network. In step 7, a packet request c is set up via the interconnect network j at scheduling time i. The first and second internal links for interconnect network j at scheduling time i are marked unavailable for future packet requests. These steps are repeated for all two interconnected networks at all r scheduling times until an available first and second internal link is found. In accordance with the present invention, one interconnect network at one of the r scheduling times can always be found, through which the packet request c is scheduled. It is easy to understand that the number of steps to execute the scheduling method is proportional to s * r. Here, s is a speedup equal to 2, r is the number of scheduling times, and therefore the scheduling method is the time complexity 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.

Figure 2007510376
Figure 2007510376

厳密にノンブロッキングなスイッチファブリックのスケジューリングにおいて、入力キューから出力キューへのパケット要求をスケジューリングするため、相互接続ネットワークを介するパスを発見し、既にスケジューリングされたパケットのパスを阻害することなく要求を満足することが常に可能であり、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 scheduling method 44 of FIG. 5A with time complexity O (s * r), and the switch fabric 10 and FIG. It is shown in the 1I switch fabric 16.

再配置可能なノンブロッキングなスイッチファブリックにおいて、スイッチハードウェアのコストは、パケットをスケジューリングするのに要求される時間の増加の代償として削減される。スケジューリング時間は、再配置可能なノンブロッキングネットワークにおいて増加する。なぜならば、新規パケットのスケジューリングに加えて、再配置を実装するために乱された、既にスケジューリングされたパケットのパスを再度スケジューリングする必要があるからである。この理由のため、新規パケットをスケジューリングするときは、既にスケジューリングされたパケットを再配置する必要性を最小化または排除するのが望ましい。再配置の必要性が排除されるとき、そのネットワークは、中間ステージ相互接続ネットワークの数およびスケジューリング方法に左右されて、厳密にノンブロッキングである。中間ステージにおいてスピードアップを使用しない再配置可能なノンブロッキングスイッチファブリックの一実施形態が、図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 switch fabric 18 of FIG. 1N. Arbitration of request generation, authorization issuance, and approval generation is performed in a single iteration, regardless of whether the switch fabric operates strictly in non-blocking or relocatable non-blocking. Please note that.

出願人は、出力キューにキューイングされたスイッチに関する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 switch fabric 10 of FIG. 1A after each switching time, fully using speedup. That is, using speedup in the interconnect network in the intermediate stage, packets are sent at twice the rate that the output port can send by packets. FIG. 6A shows the state of the switch fabric 10 of FIG. 1A after a first switching time when packets A1, D1, E1, F1, J1, K1, O1, and P1 are switched to the output queue. The packet A1 from the input port 151 is switched to the output queue 181 of the output port 191 via the crossbar network 131. The packet D1 from the input port 151 is switched to the output queue 181 of the output port 194 via the crossbar network 132. The packet E1 from the input port 152 is switched to the output queue 182 of the output port 191 via the crossbar network 132. The packet F1 from the input port 152 is switched to the output queue 182 of the output port 192 via the crossbar network 131. The packet J1 from the input port 153 is switched to the output queue 183 of the output port 192 via the crossbar network 132. The packet K1 from the input port 153 is switched to the output queue 183 of the output port 193 via the crossbar network 131. The packet P1 from the input port 154 is switched to the output queue 184 of the output port 194 via the crossbar network 131. The packet O1 from the input port 154 is switched to the output queue 184 of the output port 193 via the crossbar network 132. Obviously, at the first switching time, two packets are switched from each input port and each output port receives two packets.

図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 switch fabric 10 of FIG. 1A after a second switching time in which packets B1, C1, G1, H1, I1, L1, M1, and N1 are switched to the output queue. The packet B1 from the input port 151 is switched to the output queue 181 of the output port 192 via the crossbar network 131. The packet C1 from the input port 151 is switched to the output queue 181 of the output port 193 via the crossbar network 132. The packet G1 from the input port 152 is switched to the output queue 182 of the output port 193 via the crossbar network 131. The packet H1 from the input port 152 is switched to the output queue 182 of the output port 194 via the crossbar network 132. The packet I1 from the input port 153 is switched to the output queue 183 of the output port 191 via the crossbar network 132. The packet L1 from the input port 153 is switched to the output queue 183 of the output port 194 via the crossbar network 131. The packet M1 from the input port 154 is switched to the output queue 184 of the output port 191 via the crossbar network 131. The packet N1 from the input port 154 is switched to the output queue 184 of the output port 192 via the crossbar network 132. Again, at the second switching time, two packets are switched from each input port, and each output port receives two packets.

しかしながら、出力ポートは、各スイッチング時間において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 intermediate stage 130 can be achieved by adding additional control bits before the packet is switched to the output port. Proportionally adjusted by number. For example, if an additional control bit of 1% is added to any packet or packet segment that should be switched from input port to output port (these control bits switch packets from input port to output port The speedup required for the switch fabric in the intermediate stage 130, which is introduced only to do so, is 2.01 to operate strictly in a non-blocking manner and operates in a relocatable non-blocking manner 1.01 for this purpose.

同様に本発明に従って、パケットがセグメント化されて出力ポートにスイッチングされるとき、最後のパケットセグメントはそのパケットセグメントと同じであっても、また同じでなくてよい。あるいはパケットのサイズがパケットセグメントのサイズの完全な倍数でない場合、スイッチファブリックのスループットは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.

本発明に従って、クロスバーベースの相互接続ネットワークにおける、短いパケットを含む入力および出力ユニキャストキューと2のスピードアップとを有する例示的な4×4ポートスイッチファブリックの図である。FIG. 4 is an illustration of an exemplary 4 × 4 port switch fabric having input and output unicast queues with short packets and 2 speedups in a crossbar based interconnect network in accordance with the present invention. 本発明に従って、入力ポートから出力ポートへパケットをスイッチングするために使用する、調停およびスケジューリング方法40の高レベルフローチャートである。4 is a high level flowchart of an arbitration and scheduling method 40 used to switch packets from an input port to an output port in accordance with the present invention. 図1Aのスイッチファブリック10のスケジューリングにおける同様の3ステージネットワークの図である。1B is a diagram of a similar three-stage network in the scheduling of the switch fabric 10 of FIG. 1A. FIG. 本発明に従って、5回連続のスイッチング時間におけるノンブロッキングで決定論的パケットスイッチング後の、図1Aのスイッチファブリックの状態を示す図である。FIG. 1B shows the state of the switch fabric of FIG. 1A after non-blocking, deterministic packet switching in 5 consecutive switching times according to the present invention. 本発明に従って、5回連続のスイッチング時間におけるノンブロッキングで決定論的パケットスイッチング後の、図1Aのスイッチファブリックの状態を示す図である。FIG. 1B shows the state of the switch fabric of FIG. 1A after non-blocking, deterministic packet switching in 5 consecutive switching times according to the present invention. 本発明に従って、5回連続のスイッチング時間におけるノンブロッキングで決定論的パケットスイッチング後の、図1Aのスイッチファブリックの状態を示す図である。FIG. 1B shows the state of the switch fabric of FIG. 1A after non-blocking, deterministic packet switching in 5 consecutive switching times according to the present invention. 本発明に従って、5回連続のスイッチング時間におけるノンブロッキングで決定論的パケットスイッチング後の、図1Aのスイッチファブリックの状態を示す図である。FIG. 1B shows the state of the switch fabric of FIG. 1A after non-blocking, deterministic packet switching in 5 consecutive switching times according to the present invention. 本発明に従って、5回連続のスイッチング時間におけるノンブロッキングで決定論的パケットスイッチング後の、図1Aのスイッチファブリックの状態を示す図である。FIG. 1B shows the state of the switch fabric of FIG. 1A after non-blocking, deterministic packet switching in 5 consecutive switching times according to the present invention. 本発明に従って、クロスバーベースの相互接続ネットワークにおける、長いパケットを含む入力および出力ユニキャストキューと2のスピードアップとを有する例示的な4×4ポートスイッチファブリックの図である。FIG. 4 is an illustration of an exemplary 4 × 4 port switch fabric having input and output unicast queues with long packets and two speedups in a crossbar-based interconnect network in accordance with the present invention. 本発明に従って、4回連続のファブリックスイッチングサイクル後の、パケットのセグメント化および再組立なしのノンブロッキングで決定論的パケットスイッチング後の、図1Iのスイッチファブリック16の状態を示す図である。FIG. 2 illustrates the state of the switch fabric 16 of FIG. 1I after non-blocking, deterministic packet switching without packet segmentation and reassembly after four consecutive fabric switching cycles in accordance with the present invention. 本発明に従って、4回連続のファブリックスイッチングサイクル後の、パケットのセグメント化および再組立なしのノンブロッキングで決定論的パケットスイッチング後の、図1Iのスイッチファブリック16の状態を示す図である。FIG. 2 illustrates the state of the switch fabric 16 of FIG. 1I after non-blocking, deterministic packet switching without packet segmentation and reassembly after four consecutive fabric switching cycles in accordance with the present invention. 本発明に従って、4回連続のファブリックスイッチングサイクル後の、パケットのセグメント化および再組立なしのノンブロッキングで決定論的パケットスイッチング後の、図1Iのスイッチファブリック16の状態を示す図である。FIG. 2 illustrates the state of the switch fabric 16 of FIG. 1I after non-blocking, deterministic packet switching without packet segmentation and reassembly after four consecutive fabric switching cycles in accordance with the present invention. 本発明に従って、4回連続のファブリックスイッチングサイクル後の、パケットのセグメント化および再組立なしのノンブロッキングで決定論的パケットスイッチング後の、図1Iのスイッチファブリック16の状態を示す図である。FIG. 2 illustrates the state of the switch fabric 16 of FIG. 1I after non-blocking, deterministic packet switching without packet segmentation and reassembly after four consecutive fabric switching cycles in accordance with the present invention. 本発明に従って、クロスバーベースの相互接続ネットワークにおける、入力および出力ユニキャストキューを有し、スピードアップがない例示的な4×4ポートスイッチファブリックの図である。FIG. 3 is an illustration of an exemplary 4 × 4 port switch fabric with input and output unicast queues and no speedup in a crossbar based interconnect network in accordance with the present invention. 本発明に従って、クロスバーベースの相互接続ネットワークにおける、入力ユニキャストキューと2のスピードアップとを有する例示的な4×4ポートスイッチファブリックの図である。FIG. 4 is an illustration of an exemplary 4 × 4 port switch fabric with an input unicast queue and 2 speedups in a crossbar based interconnect network in accordance with the present invention. 本発明に従って、5回連続のスイッチング時間におけるノンブロッキングで決定論的パケットスイッチング後の、図2Aのスイッチファブリック20の状態を示す図である。2B shows the state of the switch fabric 20 of FIG. 2A after non-blocking, deterministic packet switching in 5 consecutive switching times, in accordance with the present invention. FIG. 本発明に従って、5回連続のスイッチング時間におけるノンブロッキングで決定論的パケットスイッチング後の、図2Aのスイッチファブリック20の状態を示す図である。2B shows the state of the switch fabric 20 of FIG. 2A after non-blocking, deterministic packet switching in 5 consecutive switching times, in accordance with the present invention. FIG. 本発明に従って、5回連続のスイッチング時間におけるノンブロッキングで決定論的パケットスイッチング後の、図2Aのスイッチファブリック20の状態を示す図である。2B shows the state of the switch fabric 20 of FIG. 2A after non-blocking, deterministic packet switching in 5 consecutive switching times, in accordance with the present invention. FIG. 本発明に従って、5回連続のスイッチング時間におけるノンブロッキングで決定論的パケットスイッチング後の、図2Aのスイッチファブリック20の状態を示す図である。2B shows the state of the switch fabric 20 of FIG. 2A after non-blocking, deterministic packet switching in 5 consecutive switching times, in accordance with the present invention. FIG. 本発明に従って、5回連続のスイッチング時間におけるノンブロッキングで決定論的パケットスイッチング後の、図2Aのスイッチファブリック20の状態を示す図である。2B shows the state of the switch fabric 20 of FIG. 2A after non-blocking, deterministic packet switching in 5 consecutive switching times, in accordance with the present invention. FIG. 本発明に従って、クロスバーベースの相互接続ネットワークにおける、入力および出力ユニキャストキューと、リンクスピードおよびクロックスピードにおいて2のスピードアップとを有する例示的な4×4ポートスイッチファブリックの図である。FIG. 4 is an illustration of an exemplary 4 × 4 port switch fabric having input and output unicast queues and a 2 speed up in link and clock speeds in a crossbar based interconnect network in accordance with the present invention. 本発明に従って、共有メモリベースの相互接続ネットワークにおける、入力および出力ユニキャストキューと2のスピードアップとを有する例示的な4×4ポートスイッチファブリックの図である。FIG. 3 is a diagram of an exemplary 4 × 4 port switch fabric with input and output unicast queues and two speedups in a shared memory based interconnect network in accordance with the present invention. 本発明に従って、共有メモリベースの相互接続ネットワークにおける、入力および出力ユニキャストキューと、リンクスピードおよびクロックスピードにおいて2のスピードアップとを有する例示的な4×4ポートスイッチファブリックの図である。FIG. 4 is an illustration of an exemplary 4 × 4 port switch fabric having input and output unicast queues and a two speed up in link and clock speeds in a shared memory based interconnect network in accordance with the present invention. 本発明に従って、ハイパーキューブベースの相互接続ネットワークにおける、入力および出力ユニキャストキューと2のスピードアップとを有する例示的な4×4ポートスイッチファブリックの図である。FIG. 4 is an illustration of an exemplary 4 × 4 port switch fabric with input and output unicast queues and two speedups in a hypercube based interconnect network in accordance with the present invention. 本発明に従って、ハイパーキューブベースの相互接続ネットワークにおける、入力および出力ユニキャストキューと、リンクスピードおよびクロックスピードにおいて2のスピードアップとを有する例示的な4×4ポートスイッチファブリックの図である。FIG. 3 is an illustration of an exemplary 4 × 4 port switch fabric having input and output unicast queues and a two speed up in link and clock speeds in a hypercube based interconnect network in accordance with the present invention. 本発明に従って、クロスバーベースの相互接続ネットワークにおける、入力および出力ユニキャストキューと2のスピードアップとを有する一般的なr*rポートスイッチファブリックの図である。FIG. 3 is a diagram of a typical r * r port switch fabric with input and output unicast queues and two speedups in a crossbar based interconnect network in accordance with the present invention. 本発明に従って、クロスバーベースの相互接続ネットワークにおける、入力および出力ユニキャストキューと、リンクスピードおよびクロックスピードにおいて2のスピードアップとを有する一般的なr*rポートスイッチファブリックの図である。FIG. 4 is a diagram of a generic r * r port switch fabric with input and output unicast queues and a 2 speed up in link and clock speeds in a crossbar based interconnect network in accordance with the present invention. 本発明に従って、共有メモリベースの相互接続ネットワークにおける、入力および出力ユニキャストキューと2のスピードアップとを有する一般的なr*rポートスイッチファブリックの図である。FIG. 3 is a diagram of a generic r * r port switch fabric with input and output unicast queues and two speedups in a shared memory based interconnect network in accordance with the present invention. 本発明に従って、共有メモリベースの相互接続ネットワークにおける、入力および出力ユニキャストキューと、リンクスピードおよびクロックスピードにおいて2のスピードアップとを有する一般的なr*rポートスイッチファブリックの図である。FIG. 3 is a diagram of a generic r * r port switch fabric with input and output unicast queues and a 2 speed up in link and clock speeds in a shared memory based interconnect network in accordance with the present invention. 本発明に従って、3ステージのクロスネットワークベースの相互接続ネットワークにおける、入力および出力ユニキャストキューと2のスピードアップとを有する一般的なr*rポートスイッチファブリックの図である。FIG. 2 is a diagram of a typical r * r port switch fabric with input and output unicast queues and two speedups in a three stage cross network based interconnect network in accordance with the present invention. 本発明に従って、3ステージのクロスネットワークベースの相互接続ネットワークにおける、入力および出力ユニキャストキューと、リンクスピードおよびクロックスピードにおいて2のスピードアップとを有する一般的なr*rポートスイッチファブリックの図である。FIG. 3 is a diagram of a typical r * r port switch fabric with input and output unicast queues and a two speed up in link and clock speeds in a three stage cross network based interconnect network in accordance with the present invention. . 図3Dのスイッチファブリック70および図3Eのスイッチファブリック80内の中間ステージ相互接続ネットワーク131または132の1の実施形態における4×4ポート(ランク2)のハイパーキューブベースの相互接続ネットワークを詳細に示す図である。FIG. 3 illustrates in detail a 4 × 4 port (rank 2) hypercube-based interconnect network in one embodiment of an intermediate stage interconnect network 131 or 132 in switch fabric 70 of FIG. 3D and switch fabric 80 of FIG. 3E. It is. 図1Cの調停およびスケジューリング方法40のアクト44に対する中間レベルの実装を示す図である。FIG. 1D illustrates an intermediate level implementation for act 44 of the arbitration and scheduling method 40 of FIG. 1C. 図5Aのアクト44の一変形に対する低レベルフローチャートである。5B is a low-level flowchart for one variation of Act 44 of FIG. 5A. 2回連続のスイッチング時間における、スピードアップを最大に使用してパケットをスイッチングした後の、図1Aのスイッチファブリック10の状態を示す図である。1B is a diagram illustrating the state of the switch fabric 10 of FIG. 1A after switching packets using maximum speedup in two consecutive switching times. FIG. 2回連続のスイッチング時間における、スピードアップを最大に使用してパケットをスイッチングした後の、図1Aのスイッチファブリック10の状態を示す図である。1B is a diagram illustrating the state of the switch fabric 10 of FIG. 1A after switching packets using maximum speedup in two consecutive switching times. FIG.

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:
前記相互接続ネットワークは、ノンブロッキング相互接続ネットワークであることを特徴とする請求項1に記載のシステム。   The system of claim 1, wherein the interconnect network is a non-blocking interconnect network. 前記ノンブロッキング相互接続ネットワークは、少なくとも2のスピードアップを備えることを特徴とする請求項3に記載のシステム。   The system of claim 3, wherein the non-blocking interconnect network comprises at least two speedups. 前記スピードアップは、
並列性の手段、即ち、前記相互接続ネットワークを、少なくとも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:
さらに、前記ノンブロッキング相互接続ネットワークを介して、ユニキャストパケットパスを、別のユニキャストパケットのための既に選択されたパスを決して変更しないことにより、常に選択可能であることを特徴とする請求項4に記載のシステムであって、
以後、前記相互接続ネットワークを「厳密なノンブロッキングネットワーク」と称する前記システム。
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”.
前記ノンブロッキング相互接続ネットワークは、少なくとも1のスピードアップを備えることを特徴とする請求項3に記載のシステム。   The system of claim 3, wherein the non-blocking interconnect network comprises at least one speedup. さらに、前記ノンブロッキング相互接続ネットワークを介して、ユニキャストパケットパスを、別のユニキャストパケットの既に選択したパスを、必要であれば変更することにより、常に選択可能であることを特徴とする請求項7に記載のシステムであって、
以後、前記相互接続ネットワークを「再配置可能なノンブロッキングネットワーク」と称する前記システム。
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”.
既にスケジューリングされた前記パケットのスケジュールを保持する前記スケジューリング手段に結合されたメモリをさらに備えることを特徴とする請求項1に記載のシステム。   The system of claim 1, further comprising a memory coupled to the scheduling means for holding a schedule of the packets already scheduled. 既にスケジューリングされた前記パケットのスケジュールを保持する前記スケジューリング手段に結合されたメモリをさらに備えることを特徴とする請求項2に記載のシステム。   The system of claim 2, further comprising a memory coupled to the scheduling means for holding a schedule of the packets already scheduled. 調停、即ち、前記入力ポートによる前記サービスの前記要求と、前記出力ポートによる前記要求の前記許可と、前記入力ポートによる前記許可の前記承認とを、1度の繰り返しのみで実行することを特徴とする請求項1に記載のシステム。   Arbitration, that is, executing the request for the service by the input port, the permission for the request by the output port, and the approval of the permission by the input port in only one iteration. The system of claim 1. 調停、即ち、前記入力ポートによる前記サービスの前記要求と、前記出力ポートによる前記要求の前記許可と、前記入力ポートによる前記許可の前記承認とを、1度の繰り返しのみで実行することを特徴とする請求項2に記載のシステム。   Arbitration, that is, executing the request for the service by the input port, the permission for the request by the output port, and the approval of the permission by the input port in only one iteration. The system according to claim 2. 前記パケットは、実質的に同一サイズであることを特徴とする請求項1に記載のシステム。   The system of claim 1, wherein the packets are substantially the same size. 前記入力ポートにおいて行頭ブロッキングは、完全に削除されることを特徴とする請求項1に記載のシステム。   The system of claim 1, wherein head of line blocking at the input port is completely eliminated. 前記スケジューリング手段は、スイッチング時間において、承認された許可を有する前記各入力キューから、前記承認された許可に関連付けられる前記各出力ポートへの、多くとも1個のパケットをスケジューリングすることを特徴とする請求項1に記載のシステム。   The scheduling means schedules at most one packet at each switching time from each input queue having an approved grant to each output port associated with the approved grant. The system of claim 1. 前記スケジューリング手段は、スイッチング時間において、承認された許可を有する前記各入力キューからの多くとも1個のパケットと、前記承認された許可に関連付けられる前記各出力キューへの多くとも1個のパケットとをスケジューリングすることを特徴とする請求項2に記載のシステム。   The scheduling means includes, at switching time, at most one packet from each input queue having an approved grant and at most one packet to each output queue associated with the approved grant. The system according to claim 2, wherein the system is scheduled. 前記パケットが少なくとも1つある限り、前記各出力ポートが、スイッチング時間において、少なくとも1個のパケットを、その出力ポートを宛先とする前記入力キューのいずれか1つから受信するよう動作することを特徴とする請求項1に記載のシステムであって、
以後、前記システムは「処理保存的システム」と称する前記システム。
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”.
前記パケットが少なくとも1つある限り、前記各出力ポートが、スイッチング時間において、少なくとも1個のパケットを、その出力ポートを宛先とする前記入力キューのいずれか1つから受信するよう動作することを特徴とする請求項2に記載のシステムであって、
以後、前記システムは「処理保存的システム」と称する前記システム。
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個より多いパケットがその出力ポートを宛先としていても、前記相互接続ネットワークにおける前記スピードアップに関係なく、スイッチング時間において、多くとも1個のパケットを受信するよう動作可能であり、
それにより、前記スピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項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.
前記各出力ポートは、1個より多いパケットがその出力ポートを宛先としていても、前記相互接続ネットワークにおける前記スピードアップに関係なく、スイッチング時間において、多くとも1個のパケットを受信するよう動作可能であり、
それにより、前記スピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項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つからのパケットは、それらが前記相互接続ネットワークを介する同一パスで、前記入力ポートにより受信されるのと同一順序で、宛先出力ポートに対し常に決定論的にスイッチングされ、決してパケット順序付けの問題が生じないように動作し、
それにより、スイッチング時間は設計時において可変となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング時間を選択する余地を与えることを特徴とする請求項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.
前記入力キューのうち1つからのパケットは、それらが前記相互接続ネットワークを介する同一パスで、前記入力ポートにより受信されるのと同一順序で、宛先出力ポート内の前記出力キューの1つに対し、常に決定論的にスイッチングされ、前記入力ポート内の前記パケットのセグメント化も、前記出力ポート内の前記パケットの再組立も必要とせず、決してパケット順序付けの問題が生じないように動作し、
それにより、スイッチング時間は設計時において可変となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング時間を選択する余地を与えることを特徴とする請求項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.
前記各入力キューの行頭にあるいずれの前記パケットも、前記各入力ポートにある入力キューの前記の数と同数のスイッチング回数を超えては保持されないよう動作することを特徴とする請求項1に記載のシステムであって、
以後、前記システムは「公正なシステム」と称する前記システム。
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”.
前記各入力キューの行頭にあるいずれの前記パケットも、前記各入力ポートにある入力キューの前記の数と同数のスイッチング回数を超えては保持されないよう動作することを特徴とする請求項2に記載のシステムであって、
以後、前記システムは「公正なシステム」と称する前記システム。
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”.
前記相互接続ネットワークは、クロスバーネットワーク、共有メモリネットワーク、クロスネットワーク、ハイパーキューブネットワーク、又は任意の内部ノンブロッキング相互接続ネットワーク、又はネットワークのネットワークであることを特徴とする請求項1に記載のシステム。   The system of claim 1, wherein the interconnect network is a crossbar network, a shared memory network, a cross network, a hypercube network, or any internal non-blocking interconnect network, or a network of networks. 前記システムは、100%スループットで動作することを特徴とする請求項1に記載のシステム。   The system of claim 1, wherein the system operates at 100% throughput. 前記システムは、100%スループットで動作することを特徴とする請求項2に記載のシステム。   The system of claim 2, wherein the system operates at 100% throughput. 前記システムは、任意の入力ポートから任意の出力ポートまでエンドツーエンド保証帯域幅を提供することを特徴とする請求項1に記載のシステム。   The system of claim 1, wherein the system provides end-to-end guaranteed bandwidth from any input port to any output port. 前記システムは、任意の入力ポートから任意の出力ポートまでエンドツーエンド保証帯域幅を提供することを特徴とする請求項2に記載のシステム。   The system of claim 2, wherein the system provides end-to-end guaranteed bandwidth from any input port to any output port. 複数の入力ポートから任意の出力ポートまでのパケットの保証された一定のレイテンシを提供することを特徴とする請求項1に記載のシステム。   The system of claim 1, wherein the system provides guaranteed constant latency for packets from multiple input ports to any output port. 複数の入力ポートから任意の出力ポートまでのパケットの保証された一定のレイテンシを提供することを特徴とする請求項2に記載のシステム。   3. The system of claim 2, wherein the system provides guaranteed constant latency for packets from multiple input ports to any output port. 前記システムは、前記相互接続ネットワーク内にバッファを必要とせず、従ってカットスルーアーキテクチャであることを特徴とする請求項1に記載のシステム。   The system of claim 1, wherein the system does not require a buffer in the interconnect network and is therefore a cut-through architecture. 前記システムは、前記相互接続ネットワーク内にバッファを必要とせず、従ってカットスルーアーキテクチャであることを特徴とする請求項2に記載のシステム。   The system of claim 2, wherein the system does not require a buffer in the interconnect network and is therefore a cut-through architecture. 複数の入力ポートと複数の出力ポートとを有する相互接続ネットワークを介し、ユニキャストパケットをスケジューリングする方法において、前記各入力ポートは、複数入力のキューを備え、前記パケットは、それぞれ少なくとも1つの指定出力ポートを有する前記方法であって、前記方法は、
前記各入力ポートにある入力キューの数と多くとも同数のパケットのための前記指定出力ポートから、前記各入力ポートに対しサービスを要求するステップと、
前記各出力ポートに対し、複数の要求を許可するステップと、
前記入力キューの数と多くとも同数の許可を、前記各入力ポートに対し承認するステップと、
承認された許可を有する前記入力ポートから、前記承認された許可に関連付けられる前記各出力ポートへの入力キューの数と多くとも同数の前記パケットをスケジューリングするステップとを備えることを特徴とする前記方法。
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:
調停、即ち、前記入力ポートによる前記サービスの要求と、前記出力ポートによる前記要求の許可と、入力ポートによる前記許可の承認とを、1度の繰り返しのみで実行することを特徴とする請求項34に記載のシステム。   35. Arbitration, that is, the request for the service by the input port, the permission of the request by the output port, and the approval of the permission by the input port are executed only once. The system described in. 調停、即ち、前記入力ポートによる前記サービスの要求と、前記出力ポートによる前記要求の許可と、入力ポートによる前記許可の承認とを、1度の繰り返しのみで実行することを特徴とする請求項35に記載のシステム。   36. The arbitration, that is, the request for the service by the input port, the permission of the request by the output port, and the approval of the permission by the input port are executed only once. The system described in. 前記パケットは、実質的に同一サイズであることを特徴とする請求項34に記載の方法。   The method of claim 34, wherein the packets are substantially the same size. 前記入力ポートにおいて行頭ブロッキングは、完全に削除されることを特徴とする請求項34に記載の方法。   35. The method of claim 34, wherein head of line blocking is completely eliminated at the input port. 前記スケジューリング手段は、スイッチング時間において、承認された許可を有する前記各入力キューから、前記承認された許可に関連付けられる前記各出力ポートへの、多くとも1個のパケットをスケジューリングすることを特徴とする請求項34に記載の方法。   The scheduling means schedules at most one packet at each switching time from each input queue having an approved grant to each output port associated with the approved grant. 35. The method of claim 34. 前記スケジューリング手段は、スイッチング時間において、承認された許可を有する前記各入力キューからの多くとも1個のパケットと、前記承認された許可に関連付けられる前記各出力キューへの多くとも1個のパケットとをスケジューリングすることを特徴とする請求項35に記載の方法。   The scheduling means includes, at switching time, at most one packet from each input queue having an approved grant and at most one packet to each output queue associated with the approved grant. 36. The method of claim 35, wherein: 前記各出力ポートは、スイッチング時間において、少なくとも前記1個のパケットがある限り、少なくとも1個のパケットを、その出力ポートを宛先とする前記入力キューのいずれか1つから受信するように動作することを特徴とする請求項34に記載の方法。   Each output port operates to receive at least one packet from any one of the input queues destined for that output port as long as there is at least one packet at switching time. 35. The method of claim 34, wherein: 前記各出力ポートは、スイッチング時間において、少なくとも前記1個のパケットがある限り、少なくとも1個のパケットを、その出力ポートを宛先とする前記入力キューのいずれか1つから受信するように動作することを特徴とする請求項35に記載の方法。   Each output port operates to receive at least one packet from any one of the input queues destined for that output port as long as there is at least one packet at switching time. 36. The method of claim 35. 前記各出力ポートは、1個より多いパケットがその出力ポートを宛先としていても、前記相互接続ネットワークにおける前記スピードアップに関係なく、スイッチング時間において多くとも1個のパケットを受信するよう動作可能であり、
それにより、相互接続ネットワークにおけるスピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項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.
前記各出力ポートは、1個より多いパケットがその出力ポートを宛先としていても、前記相互接続ネットワークにおける前記スピードアップに関係なく、スイッチング時間において多くとも1個のパケットを受信するよう動作可能であり、
それにより、前記スピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項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.
前記入力キューの1つからのパケットは、それらが前記相互接続ネットワークを介する同一パスで、前記入力ポートにより受信されるのと同一順序で、宛先出力ポートに対し常に決定論的にスイッチングされ、決してパケット順序付けの問題が生じないよう動作し、
それにより、スイッチング回数は設計時における変数となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング回数を選択する余地を与えることを特徴とする請求項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.
前記入力キューのうち1つからのパケットは、それらが前記相互接続ネットワークを介する同一パスで、前記入力ポートにより受信されるのと同一順序で、宛先出力ポート内の前記出力キューの1つに対し、常に決定論的にスイッチングされ、前記入力ポート内の前記パケットのセグメント化も、前記出力ポート内の前記パケットの再組立も必要とせず、決してパケット順序付けの問題が生じないように動作し、
それにより、スイッチング回数は設計時における変数となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング回数を選択する余地を与えることを特徴とする請求項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.
前記各入力キューの行頭にある前記パケットは、前記各入力ポートにある入力キューの前記の数と同数のスイッチング回数を超えては保持されないよう動作することを特徴とする請求項34に記載の方法。   35. The method of claim 34, wherein the packet at the beginning of each input queue is operative not to be held beyond the same number of switching times as the number of input queues at each input port. . 前記各入力キューの行頭にある前記パケットは、前記各入力ポートにある入力キューの前記の数と同数のスイッチング回数を超えては保持されないよう動作することを特徴とする請求項35に記載の方法。   36. The method of claim 35, wherein the packet at the beginning of each input queue is operative not to be held beyond the same number of switching times as the number of input queues at each input port. . 前記方法は、100%スループットでスケジューリングすることを特徴とする請求項34に記載の方法。   The method of claim 34, wherein the method schedules with 100% throughput. 前記方法は、100%スループットでスケジューリングすることを特徴とする請求項35に記載の方法。   36. The method of claim 35, wherein the method schedules with 100% throughput. 前記方法は、いずれの入力ポートからいずれの出力ポートまでもエンドツーエンド保証帯域幅を提供するように動作することを特徴とする請求項34に記載の方法。   The method of claim 34, wherein the method operates to provide end-to-end guaranteed bandwidth from any input port to any output port. 前記方法は、いずれの入力ポートからいずれの出力ポートまでもエンドツーエンド保証帯域幅を提供するように動作することを特徴とする請求項35に記載の方法。   36. The method of claim 35, wherein the method operates to provide end-to-end guaranteed bandwidth from any input port to any output port. 前記方法は、複数の入力ポートから任意の出力ポートまでのパケットの保証された一定のレイテンシを提供するように動作することを特徴とする請求項34に記載の方法。   The method of claim 34, wherein the method operates to provide a guaranteed constant latency of packets from multiple input ports to any output port. 前記方法は、複数の入力ポートから任意の出力ポートまでのパケットの保証された一定のレイテンシを提供するように動作することを特徴とする請求項35に記載の方法。   36. The method of claim 35, wherein the method operates to provide a guaranteed constant latency of packets from multiple input ports to any output port. 相互接続ネットワークを介して、ユニキャストパケットをスケジューリングするシステムであって、前記システムは、
前記各パケットが指定出力ポートを有するr個の入力ポートおよびr個の出力ポートと、
前記r個の各入力ポートにある、前記パケットを備えるr個の入力キューと、
s≧1個のサブネットワークを備える前記相互接続ネットワークであって、各サブネットワークは、全体で少なくともr個の第1内部リンクのために各入力ポートに接続される少なくとも1つのリンク(以後、「第1内部リンク」と称する)を備え、各サブネットワークはさらに、全体で少なくともr個の第2内部リンクのために各出力ポートに接続される少なくとも1つのリンク(以後、「第2内部リンク」と称する)を備える前記相互接続ネットワークと、
前記各入力ポートが、その各入力ポートからの、多くともr個のパケットに対し、前記指定出力ポートからのサービスを要求する手段と、
前記各出力ポートが、複数の要求を許可する手段と、
前記各入力ポートが、多くともr個のパケットの許可を承認する手段と、
多くともr回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する、前記承認された許可に関連付けられる前記各出力ポートへの多くともr個のパケットをスケジューリングする手段とを備えることを特徴とするシステム。
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.
前記r個の各出力ポートにあるr個の出力キューであって、前記相互接続ネットワークを介してユニキャストパケットを受信する前記出力キューと、
s≧1個のサブネットワークを備え、各サブネットワークは、全体で少なくともr個の第1内部リンクのために各入力ポートに接続される少なくとも1つのリンク(以後、「第1内部リンク」と称する)を備え、各サブネットワークはさらに、全体で少なくともr個の第2内部リンクのために各出力ポートに接続される少なくとも1つのリンク(以後、「第2内部リンク」と称する)を備える前記相互接続ネットワークと、
前記各出力ポートが、多くともr個のパケットを許可する手段と、
≦rであるときは、多くともr回のスイッチングにおけるスイッチングすべき各スイッチング時間において、多くともr個のパケットを、およびr≦rであるときは、多くともr回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する多くともr個のパケットと、前記承認された許可に関連付けられる前記各出力ポートへの多くともr個のパケットをスケジューリングする手段とをさらに備えることを特徴とする請求項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.
前記相互接続ネットワークは、ノンブロッキング相互接続ネットワークであることを特徴とする請求項56に記載のシステム。   57. The system of claim 56, wherein the interconnect network is a non-blocking interconnect network. 前記システムは、
Figure 2007510376
個のサブネットワークを備え、
さらに、前記ノンブロッキング相互接続ネットワークを介して、別のユニキャストパケットに対して、既に選択されたパスを決して変更しないことにより、ユニキャストパケットに対し、パスが常に選択可能であることを特徴とする請求項58に記載のシステムであって、
以後、前記相互接続ネットワークは「厳密なノンブロッキングネットワーク」と称する、前記システム。
The system
Figure 2007510376
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”.
前記システムは、s≧1個のサブネットワークを備え、
前記第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”.
前記システムは、
Figure 2007510376
個のサブネットワークを備え、
前記第1内部リンクと前記第2内部リンクとの双方は、前記入力キューにおいて受信される各パケットのピークレートと、少なくとも同じ速さで動作し、
前記サブネットワークは、前記入力キューにおいて受信される各パケットのピークレートと、少なくとも同じ速さで動作するシステムであって、
前記システムは、さらに、前記ノンブロッキングな相互接続ネットワークを介して、別のユニキャストパケットの既に選択されたパスを、必要であれば変更することにより、ユニキャストパケットに対し、パスが常に選択可能であることを特徴とする請求項58に記載のシステムであって、
以後、前記相互接続ネットワークは「再配置可能なノンブロッキングネットワーク」と称する、前記システム。
The system
Figure 2007510376
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”.
前記スケジューリングの手段に結合されるメモリをさらに備え、既にスケジューリングされた前記パケットのスケジュールを保持することを特徴とする請求項56に記載のシステム。   57. The system of claim 56, further comprising a memory coupled to the means for scheduling, wherein the system schedules the already scheduled packet. 前記スケジューリングの手段に結合されるメモリをさらに備え、既にスケジューリングされた前記パケットのスケジュールを保持することを特徴とする請求項57に記載のシステム。   58. The system of claim 57, further comprising a memory coupled to the means for scheduling, wherein the system schedules the already scheduled packets. 調停、即ち、前記入力ポートによるサービスの前記要求と、前記出力ポートによる要求の前記許可と、前記入力ポートによる許可の前記承認とを、1度の繰り返しのみで実行することを特徴とする請求項56に記載のシステム。   The arbitration, that is, the request for the service by the input port, the permission for the request by the output port, and the approval of the permission by the input port are executed only once. 56. The system according to 56. 調停、即ち、前記入力ポートによるサービスの前記要求と、前記出力ポートによる要求の前記許可と、前記入力ポートによる許可の前記承認とを、1度の繰り返しのみで実行することを特徴とする請求項57に記載のシステム。   The arbitration, that is, the request for the service by the input port, the permission for the request by the output port, and the approval of the permission by the input port are executed only once. 58. The system according to 57. =r=rであり、前記スケジューリングの手段は、多くともr回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する、前記承認された許可に関連付けられる前記各出力ポートへの多くともr個のパケットをスケジューリングすることを特徴とする請求項56に記載のシステム。 r 1 = r 2 = r and the scheduling means has each approved output at each switching time to be switched in at most r times of switching and each output port associated with the approved grant 57. The system of claim 56, wherein at most r packets are scheduled. =r=rであり、前記スケジューリングの手段は、多くともr回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する、前記承認された許可に関連付けられる前記各出力ポートへの多くともr個のパケットをスケジューリングすることを特徴とする請求項57に記載のシステム。 r 1 = r 2 = r and the scheduling means has each approved output at each switching time to be switched in at most r times of switching and each output port associated with the approved grant 58. The system of claim 57, wherein at most r packets are scheduled. 前記パケットは、実質的に同一サイズであることを特徴とする請求項56に記載のシステム。   The system of claim 56, wherein the packets are substantially the same size. 前記入力ポートにおいて行頭ブロッキングは、完全に削除されることを特徴とする請求項56に記載のシステム。   57. The system of claim 56, wherein head-of-line blocking is completely eliminated at the input port. 前記スケジューリング手段は、スイッチング時間において、承認された許可を有する前記各入力キューから、前記承認された許可に関連付けられる前記各出力ポートへの、多くとも1個のパケットをスケジューリングすることを特徴とする請求項56に記載のシステム。   The scheduling means schedules at most one packet at each switching time from each input queue having an approved grant to each output port associated with the approved grant. 57. The system of claim 56. 前記スケジューリング手段は、スイッチング時間において、承認された許可を有する前記各入力キューからの多くとも1個のパケットと、前記承認された許可に関連付けられる前記各出力キューへの多くとも1個のパケットとをスケジューリングすることを特徴とする請求項57に記載のシステム。   The scheduling means includes, at switching time, at most one packet from each input queue having an approved grant and at most one packet to each output queue associated with the approved grant. 58. The system of claim 57, wherein the system is scheduled. 前記パケットが少なくとも1つある限り、前記各出力ポートが、スイッチング時間において、少なくとも1個のパケットを、その出力ポートを宛先とする前記入力キューのいずれか1つから受信するよう動作することを特徴とする請求項56に記載のシステムであって、
以後、前記システムは「処理保存的システム」と称する前記システム。
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”.
前記パケットが少なくとも1つある限り、前記各出力ポートが、スイッチング時間において、少なくとも1個のパケットを、その出力ポートを宛先とする前記入力キューのいずれか1つから受信するよう動作することを特徴とする請求項57に記載のシステムであって、
以後、前記システムは「処理保存的システム」と称する前記システム。
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”.
前記各出力ポートは、1個より多いパケットがその出力ポートを宛先としていても、前記相互接続ネットワークにおける前記スピードアップに関係なく、スイッチング時間において、多くとも1個のパケットを受信するよう動作可能であり、
それにより、前記スピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項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.
前記各出力ポートは、1個より多いパケットがその出力ポートを宛先としていても、前記相互接続ネットワークにおける前記スピードアップに関係なく、スイッチング時間において、多くとも1個のパケットを受信するよう動作可能であり、
それにより、前記スピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項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.
前記入力キューの1つからのパケットは、それらが前記相互接続ネットワークを介する同一パスで、前記入力ポートにより受信されるのと同一順序で、宛先出力ポートに対し常に決定論的にスイッチングされ、決してパケット順序付けの問題が生じないように動作し、
それにより、スイッチング回数は設計時における変数となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング回数を選択する余地を与えることを特徴とする請求項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.
前記入力キューのうち1つからのパケットは、それらが前記相互接続ネットワークを介する同一パスで、前記入力ポートにより受信されるのと同一順序で、宛先出力ポート内の前記出力キューの1つに対し、常に決定論的にスイッチングされ、前記入力ポート内の前記パケットのセグメント化も、前記出力ポート内の前記パケットの再組立も必要とせず、決してパケット順序付けの問題が生じないように動作し、
それにより、スイッチング回数は設計時における変数となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング回数を選択する余地を与えることを特徴とする請求項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.
前記各入力キューの行頭にあるいずれの前記パケットも、前記各入力ポートにある入力キューの前記の数と同数のスイッチング回数を超えては保持されないよう動作することを特徴とする請求項56に記載のシステムであって、
以後、前記システムは「公正なシステム」と称する前記システム。
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”.
前記各入力キューの行頭にあるいずれの前記パケットも、前記各入力ポートにある入力キューの前記の数と同数のスイッチング回数を超えては保持されないよう動作することを特徴とする請求項57に記載のシステムであって、
以後、前記システムは「公正なシステム」と称する前記システム。
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”.
前記相互接続ネットワークは、クロスバーネットワーク、共有メモリネットワーク、クロスネットワーク、ハイパーキューブネットワーク、又は任意の内部ノンブロッキング相互接続ネットワーク、又はネットワークのネットワークであることを特徴とする請求項56に記載のシステム。   57. The system of claim 56, wherein the interconnect network is a crossbar network, shared memory network, cross network, hypercube network, or any internal non-blocking interconnect network, or network of networks. 前記システムは、100%スループットで動作することを特徴とする請求項56に記載のシステム。   The system of claim 56, wherein the system operates at 100% throughput. 前記システムは、100%スループットで動作することを特徴とする請求項57に記載のシステム。   58. The system of claim 57, wherein the system operates at 100% throughput. 前記システムは、任意の入力ポートから任意の出力ポートまでエンドツーエンド保証帯域幅を提供することを特徴とする請求項56に記載のシステム。   57. The system of claim 56, wherein the system provides end-to-end guaranteed bandwidth from any input port to any output port. 前記システムは、任意の入力ポートから任意の出力ポートまでエンドツーエンド保証帯域幅を提供することを特徴とする請求項57に記載のシステム。   58. The system of claim 57, wherein the system provides end-to-end guaranteed bandwidth from any input port to any output port. 複数の入力ポートから任意の出力ポートまでのパケットの保証された一定のレイテンシを提供することを特徴とする請求項56に記載のシステム。   57. The system of claim 56, providing guaranteed constant latency for packets from multiple input ports to any output port. 複数の入力ポートから任意の出力ポートまでのパケットの保証された一定のレイテンシを提供することを特徴とする請求項57に記載のシステム。   58. The system of claim 57, providing guaranteed constant latency for packets from multiple input ports to any output port. 前記システムは、前記相互接続ネットワーク内にバッファを必要とせず、従ってカットスルーアーキテクチャであることを特徴とする請求項56に記載のシステム。   57. The system of claim 56, wherein the system does not require a buffer in the interconnect network and is therefore a cut-through architecture. 前記システムは、前記相互接続ネットワーク内にバッファを必要とせず、従ってカットスルーアーキテクチャであることを特徴とする請求項57に記載のシステム。   58. The system of claim 57, wherein the system does not require a buffer in the interconnect network and is therefore a cut-through architecture. 相互接続ネットワークを介するユニキャストパケットのスケジューリングの方法であって、
前記各パケットが少なくとも1つの指定出力ポートを有するr個の入力ポートおよびr個の出力ポートと、
前記r個の各入力ポートにある、前記パケットを備えるr個の入力キューと、
s≧1個のサブネットワークを備え、各サブネットワークは、全体で少なくともr個の第1内部リンクのために各入力ポートに接続される少なくとも1つのリンク(以後、「第1内部リンク」と称する)を備え、各サブネットワークはさらに、全体で少なくともr個の第2内部リンクのために各出力ポートに接続される少なくとも1つのリンク(以後、「第2内部リンク」と称する)を備える前記相互接続ネットワークとを有する前記方法であって、前記方法は、
多くともr個の前記パケットのための前記指定出力ポートから、前記各入力ポートに対しサービスを要求するステップと、
前記各出力ポートに対し、複数の要求を許可するステップと、
多くともr個の前記パケットにある前記各入力ポートに対し、要求を承認するステップと、
多くともr個のパケットにある前記各入力ポートに対し、許可を承認するステップと、
多くともr回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する、前記承認された許可に関連付けられる前記各出力ポートへの多くともr個のパケットをスケジューリングするステップとを備えることを特徴とする前記方法。
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:
個の前記各出力ポートにあるr個の出力キューであって、前記相互接続ネットワークを介してマルチレートユニキャストパケットを受信する前記出力キューと、
s≧1個のサブネットワークを備える前記相互接続ネットワークであって、各サブネットワークは、各入力ポート対し全体で少なくともr個の第1内部リンクのため接続される、少なくとも1つのリンク(以後、「第1内部リンク」と称する)を備え、各サブネットワークはさらに、各出力ポートに対し全体で少なくともr個の第2内部リンクのため接続される、少なくとも1つのリンク(以後、「第2内部リンク」と称する)を備える相互接続ネットワークと、
前記各出力ポートに対し、多くともr個のパケットを許可するステップと、
≦rであるときは、多くともr回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する、前記承認された許可に関連付けられる前記出力ポートへの多くともr個のパケットをスケジューリングし、r≦rであるときは、多くともr回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する、前記承認された許可に関連付けられる前記出力ポートへの多くともr個のパケットをスケジューリングするステップとをさらに備えることを特徴とする請求項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.
調停、即ち、前記入力ポートによる前記サービスの前記要求と、前記出力ポートによる前記要求の前記許可と、前記入力ポートによる前記許可の前記承認とを、1度の繰り返しのみで実行することを特徴とする請求項89に記載の方法。   Arbitration, that is, executing the request for the service by the input port, the permission for the request by the output port, and the approval of the permission by the input port in only one iteration. 90. The method of claim 89. 調停、即ち、前記入力ポートによる前記サービスの前記要求と、前記出力ポートによる前記要求の前記許可と、前記入力ポートによる前記許可の前記承認とを、1度の繰り返しのみで実行することを特徴とする請求項90に記載の方法。   Arbitration, that is, executing the request for the service by the input port, the permission for the request by the output port, and the approval of the permission by the input port in only one iteration. The method of claim 90. =r=rであり、前記スケジューリングの手段は、多くともr回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する、前記承認された許可に関連付けられる前記各出力ポートへの多くともr個のパケットをスケジューリングすることを特徴とする請求項89に記載の方法。 r 1 = r 2 = r and the scheduling means has each approved output at each switching time to be switched in at most r times of switching and each output port associated with the approved grant 90. The method of claim 89, wherein at most r packets are scheduled. =r=rであり、前記スケジューリングの手段は、多くともr回のスイッチングにおけるスイッチングすべき各スイッチング時間において、承認された許可を有する、前記承認された許可に関連付けられる前記各出力ポートへの多くともr個のパケットをスケジューリングすることを特徴とする請求項90に記載の方法。 r 1 = r 2 = r and the scheduling means has each approved output at each switching time to be switched in at most r times of switching and each output port associated with the approved grant The method of claim 90, wherein at most r packets are scheduled. 前記パケットは、実質的に同一サイズであることを特徴とする請求項89に記載の方法。   90. The method of claim 89, wherein the packets are substantially the same size. 前記入力ポートにおける行頭ブロッキングは、完全に削除されることを特徴とする請求項89に記載の方法。   90. The method of claim 89, wherein head of line blocking at the input port is completely eliminated. 前記スケジューリング手段は、スイッチング時間に、承認された許可を有する前記各入力キューから、前記承認された許可に関連付けられる前記各出力ポートへの、多くとも1個のパケットをスケジューリングすることを特徴とする請求項89に記載の方法。   The scheduling means schedules at most one packet at each switching time from each input queue having an approved grant to each output port associated with the approved grant. 90. The method of claim 89. 前記スケジューリング手段は、スイッチング時間において、承認された許可を有する前記各入力キューからの多くとも1個のパケットと、前記承認された許可に関連付けられる前記各出力キューへの多くとも1個のパケットとをスケジューリングすることを特徴とする請求項90に記載の方法。   The scheduling means includes, at switching time, at most one packet from each input queue having an approved grant and at most one packet to each output queue associated with the approved grant. The method of claim 90, wherein scheduling is performed. 前記各出力ポートは、スイッチング時間において、少なくとも前記1個のパケットがある限り、少なくとも1個のパケットを、その出力ポートを宛先とする前記入力キューのいずれか1つから受信するように動作することを特徴とする請求項89に記載の方法。   Each output port operates to receive at least one packet from any one of the input queues destined for that output port as long as there is at least one packet at switching time. 90. The method of claim 89, wherein: 前記各出力ポートは、スイッチング時間において、少なくとも前記1個のパケットがある限り、少なくとも1個のパケットを、その出力ポートを宛先とする前記入力キューのいずれか1つから受信するように動作することを特徴とする請求項90に記載の方法。   Each output port operates to receive at least one packet from any one of the input queues destined for that output port as long as there is at least one packet at switching time. 92. The method of claim 90, wherein: 前記各出力ポートは、1個より多いパケットがその出力ポートを宛先としていても、前記相互接続ネットワークにおける前記スピードアップに関係なく、スイッチング時間において多くとも1個のパケットを受信するよう動作可能であり、
それにより、相互接続ネットワークにおけるスピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項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.
前記各出力ポートは、1個より多いパケットがその出力ポートを宛先としていても、前記相互接続ネットワークにおける前記スピードアップに関係なく、スイッチング時間において多くとも1個のパケットを受信するよう動作可能であり、
それにより、前記スピードアップは、前記相互接続ネットワークを決定論的方式で動作させることのみに利用され、前記出力ポートは決して輻輳しないことを特徴とする請求項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.
前記入力キューの1つからのパケットは、それらが前記相互接続ネットワークを介する同一パスで、前記入力ポートにより受信されるのと同一順序で、宛先出力ポートに対し常に決定論的にスイッチングされ、決してパケット順序付けの問題が生じないように動作し、
それにより、スイッチング回数は設計時における変数となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング回数を選択する余地を与えることを特徴とする請求項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.
前記入力キューのうち1つからのパケットは、それらが前記相互接続ネットワークを介する同一パスで、前記入力ポートにより受信されるのと同一順序で、宛先出力ポート内の前記出力キューの1つに対し、常に決定論的にスイッチングされ、前記入力ポート内の前記パケットのセグメント化も、前記出力ポート内の前記パケットの再組立も必要とせず、決してパケット順序付けの問題が生じないように動作し、
それにより、スイッチング回数は設計時における変数となり、複数のバイトが各スイッチング時間においてスイッチングされるようにスイッチング回数を選択する余地を与えることを特徴とする請求項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.
前記各入力キューの行頭にある前記パケットは、前記各入力ポートにある入力キューの前記の数と同数のスイッチング回数を超えては保持されないよう動作することを特徴とする請求項89に記載の方法。   90. The method of claim 89, wherein the packets at the beginning of each input queue are not retained beyond the same number of switching times as the number of input queues at each input port. . 前記各入力キューの行頭にある前記パケットは、前記各入力ポートにある入力キューの前記の数と同数のスイッチング回数を超えては保持されないよう動作することを特徴とする請求項90に記載の方法。   93. The method of claim 90, wherein the packet at the beginning of each input queue is operative not to be held beyond the same number of switching times as the number of input queues at each input port. . 前記方法は、100%スループットで動作することを特徴とする請求項89に記載の方法。   90. The method of claim 89, wherein the method operates at 100% throughput. 前記方法は、100%スループットで動作することを特徴とする請求項90に記載の方法。   The method of claim 90, wherein the method operates at 100% throughput. 前記方法は、いずれの入力ポートからいずれの出力ポートまでもエンドツーエンド保証帯域幅を提供するように動作することを特徴とする請求項89に記載の方法。   90. The method of claim 89, wherein the method operates to provide end-to-end guaranteed bandwidth from any input port to any output port. 前記方法は、いずれの入力ポートからいずれの出力ポートまでもエンドツーエンド保証帯域幅を提供するように動作することを特徴とする請求項90に記載の方法。   The method of claim 90, wherein the method operates to provide end-to-end guaranteed bandwidth from any input port to any output port. 前記方法は、複数の入力ポートから任意の出力ポートまでのパケットの保証された一定のレイテンシを提供するように動作することを特徴とする請求項89に記載の方法。   90. The method of claim 89, wherein the method operates to provide a guaranteed constant latency of packets from multiple input ports to any output port. 前記方法は、複数の入力ポートから任意の出力ポートまでのパケットの保証された一定のレイテンシを提供するように動作することを特徴とする請求項90に記載の方法。
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.
JP2006538294A 2003-10-30 2004-10-29 Non-blocking and deterministic unicast packet scheduling Pending JP2007510376A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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