KR100404376B1 - Partitioned Crossbar Switch with Multiple Input/Output Buffers - Google Patents

Partitioned Crossbar Switch with Multiple Input/Output Buffers Download PDF

Info

Publication number
KR100404376B1
KR100404376B1 KR10-2001-0084875A KR20010084875A KR100404376B1 KR 100404376 B1 KR100404376 B1 KR 100404376B1 KR 20010084875 A KR20010084875 A KR 20010084875A KR 100404376 B1 KR100404376 B1 KR 100404376B1
Authority
KR
South Korea
Prior art keywords
cell
input
output
crossbar switch
buffer
Prior art date
Application number
KR10-2001-0084875A
Other languages
Korean (ko)
Other versions
KR20030054664A (en
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 한국과학기술원
Priority to KR10-2001-0084875A priority Critical patent/KR100404376B1/en
Publication of KR20030054664A publication Critical patent/KR20030054664A/en
Application granted granted Critical
Publication of KR100404376B1 publication Critical patent/KR100404376B1/en

Links

Classifications

    • 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/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix

Landscapes

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

Abstract

본 발명은 하나의 스위치 대신에 크기가 작은 여러 개의 스위치 소자를 사용하여 스위치 내부에서 셀의 충돌을 줄이는 분할형 크로스바 스위치에 관한 것이다.The present invention relates to a split crossbar switch that reduces the collision of cells inside the switch by using several small switch elements instead of one switch.

본 발명에서는 3가지 형태의 분할형 크로스바 스위치를 제안한다. 첫 번째는 기존의 단일 크로스바를 가로로L개로 나누고 각 출력 포트마다L개의 버퍼를 두는 구조이고, 두 번째는 기존의 단일 크로스바를 세로로E개로 나누고 각 입력 포트에는E개의 버퍼를 두며 출력포트 쪽에는 내부 속도 상승(speed-up)을 하는 경우에만 버퍼를 두는 구조이다. 그리고, 세 번째는 단일 크로스바를 가로로L개로 나눈 후 그 각각을 세로로E개로 나누어 총EL개의 크로스바로 나누고, 각 출력 포트마다L개의 버퍼를 두고 각 입력 포트마다E개의 버퍼를 두는 구조이다. 각 크로스바 스위치 소자당 중재기가 하나씩 할당되며, 출력단에 버퍼가 있는 경우에는 서비스 품질을 보장하기 위해서 셀을 스케줄링하는 스케줄러가 할당된다.The present invention proposes three types of split crossbar switches. The first split pieces L a conventional single cross bar in the horizontal and the structure positioning the L buffers for each output port, the second split pieces E a conventional single crossbar vertically each of the input ports on the output port dumyeo the E buffers Is a buffer that only holds internal speed-ups. The third is a structure in which a single crossbar is divided into L horizontally, each of which is divided into E vertically, and divided into a total of EL crossbars, each having an L buffer for each output port and an E buffer for each input port. One arbiter is assigned to each crossbar switch element, and if there is a buffer at the output, a scheduler is allocated to schedule a cell to ensure quality of service.

기존의 NxM 입력 버퍼형 스위치는 하나의 크로스바 스위치가 N개의 입력단을 M개의 출력단에 연결해 주어야 하지만, 분할형 크로스바 스위치에서는 여러개의 크로스바 스위치 소자가 서로 완전히 독립으로 N보다 작거나 같은 수의 입력을 M보다 작거나 같은 수의 출력과 연결해주면 되기 때문에 하나의 스위치 소자에서 경쟁하는 입력단과 출력단의 개수가 줄어들어 충돌률이 줄어들게 되고, 입력 버퍼형 스위치에 비해 좋은 성능을 나타낼 수가 있게 된다.Conventional NxM input buffered switches require one crossbar switch to connect N inputs to M outputs, whereas in split crossbar switches, multiple crossbar switch elements are completely independent of each other. By connecting to smaller or equal number of outputs, the number of competing inputs and outputs in one switch element is reduced, so the collision rate is reduced and better performance can be achieved than the input buffer type switch.

따라서, 본 발명은 입력 링크 속도보다 빠른 메모리를 필요로 하지 않으며내부 연결선의 개수도 기존의 crossbar 스위치와 거의 차이가 없기 때문에 고속 구현이 용이하다.Therefore, the present invention does not require a memory faster than the input link speed, and since the number of internal connection lines is almost the same as that of a conventional crossbar switch, it is easy to implement high speed.

Description

다중 입출력 버퍼를 둔 분할형 크로스바 스위치{Partitioned Crossbar Switch with Multiple Input/Output Buffers}Partitioned Crossbar Switch with Multiple Input / Output Buffers}

본 발명은 다중 입출력 버퍼를 둔 분할형 크로스바 스위치에 관한 것이다.보다 상세하게는 하나의 스위치 대신에 크기가 작은 여러 개의 스위치 소자를 사용하여 스위치 내부에서 셀의 충돌을 줄이는 분할형 크로스바 스위치 구조에 관한 것이다.The present invention relates to a split crossbar switch having multiple input / output buffers. More particularly, the present invention relates to a split crossbar switch structure that reduces collision of cells in a switch by using several small switch elements instead of one switch. will be.

지난 10여년 동안 통합 서비스 망에서 다양한 서비스를 제공하기 위한 많은 연구가 진행되어 오고 있다. 서비스 계약을 지키는 사용자에게 서비스 계약을 어기는 flow에 영향을 받지 않고 대역과 지연을 보장해주기 위해서 많은 스케줄링 방식이 제안되어 왔다. 셀이 남아있는 경우 처리 시간을 허비하지 않는 work-conserving 방식으로는 virtual clock, delay-EDD (delay-Earlist -Due-Date), WFQ(weighted fair queueing), WF2Q(Worst-case Fair Weighted Fair Queueing), SCFQ(Self-Clocked Fair Queueing) 등이 있으며, 셀이 남아있는 경우 지연 변동 등을 생각해 셀 타임을 그냥 idle하게 지나가기도 하는 nonwork-conserving 방식으로는 jitter-EDD, stop-and-go, HRR (hierarchical Round Robin), RCSP (Rate-Controlled Static Priority) 등이 있다. 지금까지는 대부분의 이러한 연구가 출력 버퍼형 스위치에 대해 이루어졌다.In the last decade, many researches have been conducted to provide various services in the integrated service network. Many scheduling schemes have been proposed to ensure bandwidth and delay without affecting the flow of service contracts to users who keep service contracts. Work-conserving methods that do not waste processing time when cells remain include virtual clock, delay-EDD (delay-Earlist-Due-Date), WFQ (weighted fair queueing), and WF 2 Q (Worst-case Fair Weighted Fair) Queuing, self-clocked fair queuing (SCFQ), and other nonworking-conserving methods such as jitter-EDD, stop-and-go, Hierarchical round robin (HRR) and rate-controlled static priority (RCSP). So far, most of these studies have been done on output buffered switches.

출력 버퍼형 스위치는 QoS 제공에 많은 장점을 가지고 있지만, 메모리 속도가 전체 입력속도의 합만큼 빨라야 한다는 한계가 있다. 메모리 속도의 증가율이 프로세서 속도의 증가율보다 낮기 때문에 현재 메모리 속도 한계가 고속 스위치 구현에 bottleneck이 되고 있다. 입력 버퍼형 스위치에서는 메모리 속도가 한 채널의 속도보다 많이 빠를 필요가 없다. 따라서, 현재의 기술수준에서 입력 버퍼형 스위치가 출력 버퍼형 스위치 또는 공유 버퍼형 스위치보다 고속 구현에 더 적합하다고 할 수 있다.Output buffered switches have many advantages in providing QoS, but have the limitation that the memory speed must be as fast as the sum of the total input speed. Because memory speed growth is less than processor speed growth, current memory speed limits are bottlenecks in high-speed switch implementations. In input buffered switches, the memory speed need not be much faster than the speed of one channel. Thus, at the current state of the art, input buffered switches are more suitable for high speed implementations than output buffered or shared buffered switches.

그렇지만, 입력 버퍼형 스위치는 HOL(head-of-line) 블로킹으로 인해 균일한 입력 트래픽에 대해 수율(throughput)이 58.6%까지 밖에 나오지 않는다는 한계가 있었으나 이는 입력 버퍼를 FIFO(first in first out) 방식으로 동작시킬 때 성능이고, 입력 버퍼에서 VOQ(virtual output queueing)방식으로 각 출력 버퍼마다 큐를 분리해서 관리하면 수율이 100%까지 증가할 수 있음이 알려지면서 최근에 많은 스위치들이 입력 버퍼형으로 구현되고 있다.However, input buffered switches have a limit of only 58.6% throughput for uniform input traffic due to HOL (head-of-line) blocking, but the input buffer is first in first out (FIFO) method. It is known that performance is improved when operating in the same way, and that the output can be increased by 100% by separating and managing the queue for each output buffer by VOQ (virtual output queueing) method in the input buffer. It is becoming.

이러한 스위치들은 주로 입력 버퍼를 둔 크로스바(crossbar) 스위치의 형태가 많다. 그 예로는 PMC사의 TT1/Enhanced TT1 스위치, Cisco의 12000GSR, 50-Gb/s IP Router 등이 있다. Cisco의 IP Router는 내부적으로 셀 스위칭을 하기 때문에 가변 길이의 패킷이 도착하면 그 패킷을 고정된 길이의 셀로 나누고 각각 셀 스위치를 통과시킨 다음 재조립해서 내보내는 방식을 취하고 있다.These switches often take the form of crossbar switches with input buffers. Examples include PMC's TT1 / Enhanced TT1 switch, Cisco's 12000GSR, and 50-Gb / s IP Router. Because Cisco's IP Router performs cell switching internally, when a packet of variable length arrives, the packet is divided into fixed length cells, passed through each cell switch, and then reassembled and exported.

crossbar 스위치는 구현의 복잡도가 N-port crossbar의 경우 N2에 비례해서 증가한다는 점과 입력단과 출력단에서 모두 충돌을 해결하기 때문에 QoS를 보장하기 위해서는 제어가 더 복잡해지는 단점이 있지만, 구조가 간단해 VLSI 칩으로 구현이 용이하고 높은 속도로 동작이 가능하다.The crossbar switch has an implementation complexity that increases proportionally to N 2 in the case of N-port crossbars, and because the collision is resolved at both the input and output ends, the control is more complicated to guarantee QoS, but the structure is simpler. The VLSI chip allows for easy implementation and high speed operation.

입력 버퍼에서 VOQ방식으로 큐를 관리하는 입력 버퍼형 스위치에서는 실제 한 셀타임에 하나의 입력 포트로 들어갈 수 있는 셀의 개수는 하나인데 여러 VOQ에서 셀을 보내기를 원할 수 있기 때문에 스위치의 입력단에서 충돌이 발생하게 되고, 입력단을 통해서 crossbar와 같은 스위치 fabric으로 들어간다 하더라도 서로 다른 입력을 통해 들어온 셀들이 같은 출력 포트로 나가고자 하는 경우가 발생할 수 있는데 이런 경우에도 충돌이 발생하게 된다. 이러한 2가지 충돌을 해결하기 위해서 입력 버퍼형 스위치는 중재(arbitration) 알고리즘을 사용해서 입력 버퍼의 각 셀이 전송될 순서를 결정해 주게 된다. 이러한 중재 알고리즘으로는 PIM(parallel iterative matching), RRM(Round-Robin Matching), iSLIP, i-LQF(iterative Longest Queue First), i-OCF(iterative Oldest Cell First), FARR(Fair Arbitrated Round Robin), FIRM(Fcfs In Round-robin Matching) 등이 있다.In the input buffer type switch that manages the queue by VOQ method in the input buffer, the number of cells that can enter a single input port at a single cell time is conflicted at the input of the switch because you may want to send cells from multiple VOQs. In this case, even though the input is connected to a switch fabric such as a crossbar, cells coming from different inputs may try to go to the same output port. In this case, a collision occurs. To resolve these two conflicts, the input buffered switch uses an arbitration algorithm to determine the order in which each cell in the input buffer will be sent. Such arbitration algorithms include parallel iterative matching (PIM), round-robin matching (RRM), iSLIP, iterative longest queue first (i-LQF), iterative oldest cell first (i-OCF), fair arbitrated round robin (FARR), FIRM (Fcfs In Round-robin Matching).

입력 버퍼형 crossbar 스위치의 경우 중재 알고리즘에 따라서 수율(throughput)이 100%까지 얻어질 수 있지만 입력 버퍼형 스위치는 기본적으로 셀이 입력버퍼에서 스위치로 들어갈 때 발생하는 충돌과 스위치의 출력 포트에서 발생하는 충돌을 모두 해결해야하기 때문에 근본적으로 입력단에서 충돌이 발생하지 않는 출력 버퍼형 스위치보다 성능이 더 좋아질 수 없는 한계를 가지고 있다.In the case of input buffered crossbar switches, throughput can be achieved up to 100% depending on the arbitration algorithm. However, input buffered switches are basically based on collisions that occur when cells enter the switch from the input buffer and at the output port of the switch. Because all conflicts must be resolved, there is a limitation that the performance cannot be better than the output buffered switch, which does not occur at the input stage.

한편, 출력 버퍼형 스위치는 스위치 내부 속도 상승(speed-up)으로 인해 도착하는 셀을 모두 즉시 출력 버퍼로 전달할 수 있기 때문에 입력단에서 충돌이 발생하지 않아서 좋은 성능을 나타내지만 입력 링크 속도보다 훨씬 빠른 메모리를 필요로 하기 때문에 고속 스위칭에 사용되기 어렵다는 단점이 있다.The output buffered switch, on the other hand, can deliver all of the arriving cells to the output buffer immediately due to the internal speed-up of the switch, resulting in good performance due to no collision at the input stage, but much faster than the input link speed. There is a disadvantage in that it is difficult to be used for high-speed switching because it requires.

따라서, 본 발명은 상기한 문제점을 해결하기 위한 것으로서 본 발명에서는 기본적으로 입력단에 VOQ방식으로 셀을 저장하는 버퍼가 있는 구조에서 하나의 스위칭 소자 대신에 여러개의 스위치 소자를 사용해 스위칭을 분산적으로 수행함으로써 입력단과 출력단에서 발생하는 충돌율을 줄여서 기존의 입력 버퍼형 스위치보다 좋은 성능을 가지는 스위치 구조를 제안한다. 이 때, 제안되는 스위치 구조는 내부 속도 상승(speed-up)을 필요로 하지 않고, 메모리의 속도가 입력 링크의 속도보다 많이 빠를 필요가 없기 때문에 고속 구현이 가능하다.Accordingly, the present invention is to solve the above problems, in the present invention, the switching is performed by using several switch elements instead of one switching element in a structure having a buffer for storing cells at the input terminal in the VOQ method. By reducing the collision rate at the input and output stages, we propose a switch structure that has better performance than the conventional input buffer type switch. In this case, the proposed switch structure does not require an internal speed-up and a high speed implementation is possible because the speed of the memory does not need to be much faster than that of the input link.

상기한 본 발명의 목적을 달성하기 위한 기술적 사상으로써 본 발명에서는 3가지 형태의 분할형 크로스바 스위치를 제안한다.As a technical idea for achieving the above object of the present invention, the present invention proposes three types of split crossbar switches.

첫 번째는 기존의 단일 크로스바를 가로로L개로 나누고 각 출력 포트마다L개의 버퍼를 두는 구조이고, 두 번째는 기존의 단일 크로스바를 세로로E개로 나누고 출력포트 쪽에는 내부 속도 상승(speed-up)을 하는 경우에만 버퍼를 두며 각 입력 포트에는E개의 버퍼를 두는 구조이다. 그리고, 세 번째는 단일 크로스바를 가로로L개로 나눈 후 그 각각을 세로로E개로 나누어 총EL개의 크로스바로 나누고, 각 출력 포트마다L개의 버퍼를 두고 각 입력 포트마다E개의 버퍼를 두는 구조이다.The first divides the existing single crossbar into L horizontally and puts L buffers for each output port. The second divides the existing single crossbar into E vertically and the internal speed-up on the output port side. In this case, the buffer is placed only in case of an error and E buffers are placed in each input port. The third is a structure in which a single crossbar is divided into L horizontally, each of which is divided into E vertically, and divided into a total of EL crossbars, each having an L buffer for each output port and an E buffer for each input port.

도 1은L개의크로스바 스위치 소자로 구성된 N ×M 가로 분할형 크로스바 스위치의 구성도이다.1 is L This is a block diagram of an N × M horizontally divided crossbar switch composed of crossbar switch elements.

도 2는 N ×M 입력 버퍼형 스위치에서 전송 요구 행렬을 나타낸 도면이다.2 is a diagram illustrating a transmission request matrix in an N × M input buffer type switch.

도 3은L개의크로스바 스위치 소자로 구성된 N ×M 가로 분할형 크로스바 스위치에 대한 전송 요구 행렬을 나타낸 도면이다.3 is L A diagram showing a transmission request matrix for an N × M horizontally divided crossbar switch composed of crossbar switch elements.

도 4는 동기화된 접힌 파면 중재방식(SWWFA)을 설명하기 위한 도면이다.4 is a diagram illustrating a synchronized folded wavefront arbitration method (SWWFA).

도 5는 비동기화된 접힌 파면 중재방식(DWWFA)을 설명하기 위한 도면이다.FIG. 5 is a diagram for describing an unsynchronized folded wavefront arbitration method (DWWFA).

도 6은E개의크로스바 스위치 소자로 구성된 N ×M 세로 분할형 크로스바 스위치의 구성도이다.6 is E This is a block diagram of an N x M vertically divided crossbar switch composed of crossbar switch elements.

도 7은LE개의크로스바 스위치 소자로 구성된 N ×M 분할형 크로스바 스위치의 구성도이다.7 shows LE This is a block diagram of an N × M split crossbar switch composed of crossbar switch elements.

이하에서는 본 발명의 실시예에 관한 구성 및 그 작용에 대하여 첨부한 도면을 참조하면서 상세히 설명하기로 한다.Hereinafter will be described in detail with reference to the accompanying drawings, the configuration and operation of the embodiment of the present invention.

도 1은L개의 크로스바로 이루어진 N ×M 가로 분할형 크로스바 스위치의 구성도이다.1 is a configuration diagram of an N × M horizontally divided crossbar switch composed of L crossbars.

도 1를 살펴보면, 크로스바 소자의 개수LN의 약수이다. 각 입력 포트마다 셀이 도착하면 그 셀이 가고자 하는 출력 포트 번호에 따라 구별해서 저장하는 입력 버퍼(101)가 있고,N/L개의 입력과 M개의 출력을 연결하는 크로스바 스위치 소자(107)가L개 있고, 각 크로스바 스위치 소자마다 중재기가 하나씩 있으며, 각 출력 포트는 셀이 통과한 입력 포트에 따라 셀을 구별해서 저장할 수 있는L개의 버퍼(104)와 per-VC 또는 per-class 단위로 스케줄링할 수 있는 스케줄러(106)를 가지게 된다. i번째 크로스바 스위치 소자는번부터번까지의 입력 포트를 모든 출력 포트의 i번째 버퍼와 연결해준다.1, the number L of crossbar elements is a divisor of N. Each input port has an input buffer 101 for storing the cell according to the output port number that the cell wants to go to, and the crossbar switch element 107 connecting N / L inputs and M outputs is L. Each crossbar switch element has one arbiter, and each output port can be scheduled in per-VC or per-class units with L buffers 104 that can store the cells separately according to the input ports through which they have passed. Will have a scheduler 106. i First crossbar switch element Since Connect the input ports up to to the i th buffer of all output ports.

좀 더 구체적인 동작에 대해서 알아보자. 일단 셀이 입력 포트를 통해 입력 버퍼(101)에 들어오면 입력 버퍼는 셀이 통과하고자 하는 출력 포트 번호에 따라 셀을 저장하게 된다. 이와 같은 큐잉 방식을 VOQ(virtual output queueing)이라고 한다. 도 1에서 Qi,j는 i번 입력 포트를 통해 들어와서 j번 출력 포트를 통해 나가고자 하는 셀의 큐(102)로써 i번째 입력 버퍼에 존재한다. 따라서, 셀들은 입력 버퍼에 들어오면 원하는 출력 포트 번호에 따라 해당되는 큐에 차례로 줄을 서게 된다. 각 큐는 FIFO 방식으로 서비스된다, 즉 가장 앞에 있는 셀이 가장 먼저 출력 버퍼쪽으로 전달된다. 그렇지만, 임의의 i번째 입력 버퍼의 경우 출력 포트의 개수인M개의 가상 출력 큐(102)를 가지게 되는데 가상 출력 큐의 맨 앞에 있는 셀이라고 해도 바로 출력 포트 방향으로 전달이 될 수는 없다. i번째 입력포트에서M개의 가상 출력 큐 가운데 하나 이상의 셀을 가진 큐의 개수가m이라면 그 시간에 출력 버퍼쪽으로 전달이 되고자 하는 셀의 개수는m이 된다. 실제로 하나의 입력 버퍼에서 내보낼 수 있는 셀은 하나밖에 되지 않기 때문에m이 2 이상이라면m개의 셀 간에 충돌이 발생하게 된다. 이러한 충돌을 입력 충돌(input contention)이라고 하고 중재기(103)가 이 문제를 해결하게 된다.Let's look at the more specific behavior. Once the cell enters the input buffer 101 through the input port, the input buffer stores the cell according to the output port number the cell wishes to pass through. This queuing method is called VOQ (virtual output queueing). In FIG. 1, Q i, j is present in the i th input buffer as a queue 102 of cells to enter through input port i and exit through output port j. Thus, when cells enter the input buffer, they line up in the corresponding queues, depending on the desired output port number. Each queue is served in FIFO mode, that is, the earliest cell is delivered to the output buffer first. However, any i-th input buffer has M virtual output queues 102, which are the number of output ports. Even the cell at the front of the virtual output queue cannot be directly transferred to the output port direction. If the number of queues with one or more cells among the M virtual output queues in the i-th input port is m, the number of cells to be delivered to the output buffer at that time is m . In fact, there is only one cell that can be exported from one input buffer, so if m is two or more, a collision will occur between m cells. This collision is called input contention and the arbiter 103 solves this problem.

중재기에서 이와 같은 충돌을 해결하게 되면 i번째 입력 포트에서는m개의 HOL(head-of-line) 셀들 가운데 하나가 선택될 수는 있지만 그 셀을 원하는 출력 버퍼 방향으로 보냈을 때 반드시 성공적으로 전달된다고 할 수는 없다. 왜냐하면 i와 다른 j번째 입력 포트에서 같은 출력 버퍼로 셀을 보낼 수도 있기 때문이다. 메모리의 속도를 높이고 내부 속도 상승(speed-up)을 1보다 크게 하지 않는 경우 하나의 출력 버퍼에서 한 셀타임에 받아들일 수 있는 셀의 개수는 하나이기 때문에 여러 개의 입력 포트에서 같은 출력 버퍼로 셀들을 보내고자 하면 또 충돌이 발생하게 된다. 이와 같은 충돌을 출력 충돌(output contention)이라고 한다. 도 1에서 중재기(103)는 입력 충돌뿐만 아니라 출력 충돌까지 해결하는 역할을 한다. 중재기에서 입력 충돌과 출력 충돌을 모두 해결한 결과 허가(grant)를 받는 셀만이 충돌 없이 입력 버퍼에서 출력 버퍼까지 전달될 수 있다.Resolving such conflicts in the arbiter allows one of the m HOL (head-of-line) cells to be selected on the i-th input port, but it must be delivered successfully when sent to the desired output buffer. You can't. This is because it can send cells from the i and other jth input ports to the same output buffer. If you increase the speed of memory and do not increase the internal speed-up to more than 1, the number of cells that can be accepted at one cell time in one output buffer is one. Attempting to send them will cause a crash. Such a collision is called an output contention. In FIG. 1, the arbiter 103 serves to solve not only an input collision but also an output collision. As a result of resolving both input and output conflicts in the arbiter, only cells that are granted can be transferred from the input buffer to the output buffer without conflict.

중재기는 크로스바 스위치 소자(107)당 하나씩 총L개 존재하고 각 중재기는 서로 무관하게 독립적으로 동작한다. 그리고, 서로 다른 크로스바 스위치가 서로 독립적으로 동작하기 위해서 각 출력 포트는L개의 버퍼(104)를 두어 각 크로스바에 버퍼를 하나씩 할당한다. 각 출력 포트는 도착하는 셀이 어떤 입력 포트에서 오는 셀이냐에 따라 첫 번째부터 N/L번째까지의 입력 포트에서 오는 셀은 모두 첫 번째 출력 버퍼에 저장하게 되고, N(s-1)/L+1번째부터 Ns/L번째까지의 입력 포트에서 오는 셀은 모두 s번째 출력 버퍼에 저장하게 된다. 그리고, 각 출력 버퍼(104)내에서도 어떤 입력 포트에서 왔는지에 따라 논리적으로 나뉘어서 큐잉된다. j번째 출력 포트에 i번째 입력 포트로부터 셀이 오게 되면번째 출력 버퍼의 논리적인 큐 OQj,i(105)에 그 셀이 저장된다. QoS를 고려하여 거쳐온 입력 포트별로 큐잉하는 것뿐만 아니라 QoS 클래스 또는 연결별로 큐잉을 할 수도 있다.There are a total of L arbiters, one per crossbar switch element 107, and each arbiter operates independently of each other. In order to operate different crossbar switches independently of each other, each output port has L buffers 104 and allocates one buffer to each crossbar. Each output port stores all the cells from the first to N / L input ports in the first output buffer, depending on which input port the incoming cell comes from. N (s-1) / L All cells from the + 1th to Ns / Lth input ports are stored in the sth output buffer. Each output buffer 104 is also queued logically divided according to which input port it came from. When the cell comes from the i th input port to the j th output port The cell is stored in the logical queue OQ j, i 105 of the first output buffer. In addition to queuing by input ports considering QoS, queuing by QoS class or connection can be performed.

첫 번째 입력 포트부터 N/L번째 입력 포트는 첫 번째 크로스바 XB-1만 사용하고 모든 출력 포트에 대해서 항상 첫 번째 버퍼만 이용하기 때문에, 첫 번째부터 N/L번째 입력 포트들에서 보내는 셀과 N/L+1에서 N번째 입력 포트들에서 보내는 셀 사이에는 절대 충돌이 발생하지 않게 된다. 따라서, 첫 번째 중재기(103)는 첫 번째부터 N/L번째 입력 포트들간에 발생하는 충돌만 해결하면 된다. 마찬가지 이유로 다음 N/L개의 입력 포트들에 대해서도 독립적으로 중재를 할 수가 있고, 그 기능을 다음 중재기들이 담당하게 된다.k번째 중재기(103)는 N(k-1)/L+1에서 Nk/L번째 입력 포트들에서 제어 신호선(108)을 통해 전송 요구 정보를 받아 중재 처리를 하고 그 결과에 따라 셀 전송 허가 여부를 N/L개의 입력 포트에 알려주고, N/L개의 입력 버퍼와 모든 출력 포트의k번째 버퍼를 연결하는k번째 크로스바 XB-k(107)를 세팅하게 된다. 출력 버퍼는 크로스바를 통해 셀을 받으면 어떤 입력 포트를 통해 들어온 셀인지에 관한 정보와 QoS 클래스, flow정보 등에 기반해 입력 포트별, QoS 클래스별, 혹은 per-VC로 큐잉을 하게 되고 최종적으로 스케줄러(106)는 QoS를 고려해 셀들을 스케줄링 하게 된다. 스케줄링 알고리즘으로는 기존의 WFQ를 비롯해서 여러 가지 공평한 스케줄링 알고리즘들이 사용될 수 있다.The N and L input ports from the first input port use only the first crossbar XB-1 and always use the first buffer for all output ports, so cells from the first to N / L input ports and N There will never be a collision between cells sent from the Nth input ports at / L + 1. Therefore, the first arbiter 103 only needs to resolve a collision that occurs between the first to N / Lth input ports. For the same reason, the next N / L input ports can be arbitrated independently, and the next arbiters are responsible for the function. The k- th arbiter 103 receives the transmission request information through the control signal line 108 at the Nk / L-th input ports at N (k-1) / L + 1, performs arbitration processing, and permits cell transmission according to the result. It informs the N / L input ports and sets the k- th crossbar XB- k 107 that connects the N / L input buffers and the k- th buffer of all output ports. When the output buffer receives the cell through the crossbar, the output buffer is queued by input port, QoS class, or per-VC based on the information about which input port the cell came in through, and the QoS class and flow information. 106 schedules the cells in consideration of QoS. As the scheduling algorithm, various fair scheduling algorithms, including the existing WFQ, can be used.

다음은 여러 개의 독립적인 크로스바 스위치 소자와 중재기를 사용함으로써 어떤 이득을 얻을 수 있는지 살펴보도록 하자.Next, let's look at the benefits of using multiple independent crossbar switch elements and an arbiter.

k번째 중재기는 N개의 입력 버퍼 가운데 N(k-1)/L+1번째 입력 버퍼부터 Nk/L번째 입력 버퍼까지 N/L개의 입력 버퍼로부터 전송 요구 벡터를 받는다. l번째 입력 버퍼가 중재기로 보내는 요구 벡터 Vl와 같은 형태를 갖는데, 여기에서 Rl,n은 l번째 입력 버퍼에서 가상 출력 큐 Ql,n이 적어도 하나 이상의 셀을 가지고 있을 때만 1이 되고, 셀을 하나도 가지고 있지 않은 경우에는 0이 된다.The kth arbiter receives the transmission request vector from the N / L input buffers from the N (k-1) / L + 1th input buffer to the Nk / Lth input buffer among the N input buffers. The request vector V l that the l th input buffer sends to the arbiter Where R l, n is 1 only if the virtual output queue Q l, n has at least one cell in the l-th input buffer, and 0 if no cell is present.

도 2는 N ×M 입력 버퍼형 스위치의 경우에 각 입력 버퍼들이 보내는 전송 요구 정보의 행렬(R)을 나타낸다. 각 입력 버퍼에서 보내는 요구 벡터들이 모여서Fig. 2 shows a matrix R of transmission request information sent by each input buffer in the case of an N × M input buffer type switch. The request vectors from each input buffer

에 따라 만들어진 요구 행렬의 형태가 도 2와 같다. 내부 속도 상승(speed-up)을 하지 않는 입력 버퍼형 스위치의 경우에는 어떤 중재 알고리즘을 사용하느냐에 상관없이 한 셀타임에 하나의 입력 포트에서는 하나의 셀밖에 나올 수 없고 하나의 출력 포트로는 하나의 셀 밖에 입력될 수 없기 때문에 중재기가 중재 절차를 수행한 결과 최종적으로 허가를 받는 요구(request)는 각 행에 대해서도 최대 한 개밖에 존재할 수 없고, 각 열에 대해서도 최대 한 개밖에 존재할 수 없다.The shape of the request matrix created according to FIG. 2 is shown in FIG. 2. For input buffered switches that do not have internal speed-up, only one cell can come out of one input port and one output port goes out at one cell time regardless of which arbitration algorithm is used. Because only cells can be entered, there can only be at most one request for each row, and only one for each column, as the arbitrator performs the arbitration procedure.

도 3은 NxM 크기의 가로 분할형 크로스바 스위치에서크로스바 소자를L개 사용했을 때 요구 행렬의 형태를 나타낸다.3 is a cross-sectional crossbar switch of size NxM Shows the form of the request matrix when L crossbar elements are used.

이 요구 행렬을 도 2의 입력 버퍼형 스위치에서 중재를 하는데 필요한 요구 행렬의 형태와 비교해 보면N/L개의 행마다 구분선이 들어가는 차이점이 있는 것을 확인할 수 있다. 이와 같이 구분선을 넣는 이유는 앞에서도 언급하였듯이 처음N/L개의 입력포트는 나머지N-N/L개의 입력 포트와 전혀 상관없이 셀을 전송하게 되고, 마찬가지로 그 다음N/L개씩의 입력 포트들도 나머지N-N/L개의 입력 포트들과 전혀 상관없이 셀을 전송하기 때문에 입력 포트들을 순서대로N/L개씩 그룹을 지어서 각 그룹을 다른 그룹에 상관없이 완전히 독립적으로 중재할 수 있기 때문이다.Comparing this request matrix with the form of the request matrix required for arbitration in the input buffer type switch of FIG. 2, it can be seen that there is a difference that a dividing line enters every N / L rows. As mentioned above, the first N / L input ports transmit a cell regardless of the remaining N - N / L input ports. Likewise, the next N / L input ports Because the cells are transmitted regardless of the remaining N - N / L input ports, the input ports can be grouped by N / L in order, so that each group can be arbitrated completely independently regardless of other groups.

따라서, 도 3에서 N(k-1)/L+1번째 행부터 Nk/L번째 행에 속하는 전송 요구들의 집합을 k번째 그룹(Gk)이라고 하면 k번째 그룹(Gk)에 대한 중재는 다른 그룹들에 속하는 전송 요구들에 전혀 상관없이 이루어질 수 있다. 도 2와 같이 기존의 입력 버퍼형 스위치에서는 하나의 열에 하나의 허가만이 존재할 수 있으므로 같은 열에 속하는 N개의 요구까지 경쟁을 하게 되는 경우가 발생할 수 있지만, 도 3과 같이 다중 출력 버퍼를 갖는 스위치 구조에서는 하나의 열에L개까지의 허가가 주어질 수 있고, 같은 열에서 경쟁하는 전송 요구의 개수도 최대N/L개로 줄어들기 때문에기존의 입력 버퍼형 스위치보다 허가를 받을 확률이 높아지게 된다는 것을 쉽게 알 수 있다. 하나의 출력 버퍼 입구에서 발생하는 충돌률이 기존의 입력 버퍼형 스위치의 출력단에서 발생하는 충돌률보다 낮기 때문에 실제로 셀이 겪는 출력단 충돌률은 줄어들게 된다.Thus, as N (k-1) / L + 1 -th set of transmission requirements belonging to from row Nk / L row k group (G k) in FIG arbitration for the k-th group (G k) is It can be made irrespective of transmission requests belonging to other groups. In the conventional input buffer type switch as shown in FIG. 2, only one permission may exist in one column, so that there may be a case where there is a competition for N requests belonging to the same column. However, a switch structure having multiple output buffers as shown in FIG. 3. It is easy to see that up to L grants can be given in one column, and the number of transmission requests competing in the same column is also reduced to a maximum of N / L , making it more likely to be granted than a conventional input buffered switch. have. Since the collision rate occurring at the inlet of one output buffer is lower than the collision rate occurring at the output of the conventional input buffer type switch, the output collision rate actually experienced by the cell is reduced.

따라서, 입력단에 있는 셀은 더 쉽게 출력단 버퍼로 전달되고 이처럼 입력단에 있는 셀이 출력단 버퍼로 잘 전달이 되면 입력 버퍼형 스위치보다 입력 버퍼에 남아있는 셀의 수가 줄어들게 되므로 입력 충돌(input contention)도 줄어들게 된다. 전체적으로 보았을 때 입력 충돌과 출력 충돌이 모두 줄어주는 효과가 있기 때문에 다중 출력 버퍼를 둔 입출력 버퍼형 스위치는 기존의 입력 버퍼형 스위치 보다 좋은 성능을 나타내게 된다.Therefore, the cells at the input stage are more easily transferred to the output buffer, and if the cells at the input stage are well transferred to the output buffer, the number of cells remaining in the input buffer is reduced than the input buffer type switch, thereby reducing input contention. do. As a whole, since input collision and output collision are reduced, I / O buffered switch with multiple output buffers shows better performance than conventional input buffered switch.

L개의 독립인 중재기에는 다음과 같은 중재 알고리즘이 사용될 수 있다. 먼저 도 4는 동기화된 접힌 파면 중재방식(SWWFA: Synchronized Wrapped Wave-Front Arbitration)을 설명하기 위한 도면이다. 도 3에서 하나의 그룹에 대한 중재과정은 그 원소가 '1' 또는 '0'인행렬에서 각 행과 각 열에 많아야 하나를 넘지 않도록 '1'을 택하는데, 선택된 '1'의 개수가 가능한 많도록 선택하는 과정이라고 할 수 있다. 각 행에 대해서 또는 각 열에 대해서 하나의 '1'을 선택하기 위해서는 전송 요구 신호들을 살펴보아야 하는데, 도 4에서 R1,1과 R1,2에 대해서는 동시에 전송 허가 여부를 판단할 수 없다. 첫 행에 대해서도 전체 허가의 개수가 한 개를 넘지 않아야 하기 때문에 R1,1과 R1,2가운데 어느 한 요구가 허가를 받으면 다른 요구는 허가를 받을 수 없는 관계에 있다. 이와 같이 R1,1과 R1,2에 대해 동시에 허가 여부를 판단할 수 없는 이유는 이 두 전송 요구가 같은 행에 있기 때문이다. 같은 열에 있는 전송 요구들에 대해서도 마찬가지 이유로 동시에 허가 여부를 판단할 수 없고, 하나씩 차례로 허가 여부를 판단해야 한다. The following arbitration algorithms can be used for the L independent arbitrators. First, FIG. 4 is a diagram illustrating a synchronized wrapped wave-front arbitration (SWWFA). In Fig. 3, the arbitration process for one group has an element of '1' or '0'. In the matrix, '1' is selected so that at most one row and each column does not exceed one. This is a process of selecting the number of '1's as many as possible. In order to select one '1' for each row or each column, transmission request signals should be examined. In FIG. 4, it is not possible to determine whether to permit transmission at the same time for R 1,1 and R 1,2 . The total number of permits must not exceed one for the first row, so if one of R 1,1 and R 1,2 is granted, the other cannot be granted. The reason why it is not possible to determine whether to permit R 1 , 1 and R 1,2 at the same time is because these two transmission requests are in the same row. For the same reason, it is not possible to determine whether permission is granted at the same time for transmission requests in the same row.

그런데, 도 4에서 같은 행에 속하지도 않고 같은 열에 속하지도 않는 R1,1과 R2,2의 경우에는 R1,1이 허가를 받느냐 받지 못하느냐가 R2,2의 허가 여부 판정에 아무 영향을 미치지 않는다. 마찬가지로 R2,2를 허가하느냐 허가하지 않느냐가 R1,1의 허가 여부 판정에 아무런 영향을 미치지 않는다. 단지, R1,1혹은 R2,2의 허가 여부를 판정할 때는 자기가 속한 행 또는 열에 먼저 허가를 받은 요구가 있는지만 고려할 뿐이다. 이처럼 같은 행에도 속하지 않고 같은 열에도 속하지 않는 요구들의 허가 여부 판정은 독립적으로 이루어질 수 있기 때문에 동시에 수행해도 상관이 없다.By the way, in the case of part of the same row in the fourth column of FIG does not belong FIG R 1,1 and R 2,2 is that R 1,1 to permit determination of the R is 2,2 do not get the license is no batneunya Does not affect Likewise, granting or disallowing R 2,2 has no effect on whether R 1,1 is accepted or not. Only when deciding whether R 1,1 or R 2,2 is permitted will we consider only the request for which the row or column it belongs to has been granted first. As described above, since it can be independently determined whether or not requests belonging to the same row and not belonging to the same column can be performed independently, it does not matter if they are performed at the same time.

도 4에서 괄호속의 번호는 각 요구들에 대해 허가 여부를 판단하는 순서를 나타낸다.In Fig. 4, the numbers in parentheses indicate an order of determining whether to permit each request.

처음에는 첫 번째 그룹(G1)에서 대각선 방향에 있는 전송 요구들에 대해 병렬적으로 허가 여부를 판단한다. 처음 시작할 때는 이전에 허가가 존재하지 않기 때문에 요구값이 '1'이면 그 요구에 허가를 주게 되고, 그 요구가 속한 행과 열에 더 이상 허가를 주지 않기 위해서 각 행과 각 열에 현재 중재단계에서 허가가 발생했는지를 기억하는 레지스터를 두고 허가가 발생하는 즉시 해당되는 행(i)의 레지스터(RR[i])와 해당되는 열(j)의 레지스터(CR[j])에 '1'을 저장해 허가 발생을 기억시킨다.Initially, the transmission requests in the diagonal direction in the first group (G 1 ) Determine whether to allow in parallel. If the request value is '1', the grant is granted to the request because the grant does not exist before the first start, and at the current arbitration stage for each row and each column to grant no more permission to the rows and columns to which the request belongs. A register is stored to remember whether or not an error occurred, and as soon as the permission is generated, a '1' is stored in the register (RR [ i ]) of the corresponding row (i) and the register (CR [ j ]) of the corresponding column (j). Remember the occurrence.

다음 단계에서는 도 4에서 (2)번 빗금상의 요구들에 대해 허가 여부를 판단하게 되는데, 요구값이 '1'이고 자신이 속하는 행의 레지스터와 열의 레지스터 값이 모두 '0'일 때만 그 요구에 허가를 주게 되고, 세 조건이 모두 만족되지 않으면 그 요구에 허가가 주어지지 않는다. (2)번 빗금상의 어떤 요구에 허가가 주어지는 경우에는 그 요구가 속하는 행의 레지스터와 열의 레지스터를 '1'로 세팅한다. 이와 같은 방법으로 괄호 속의 번호순으로 중재 과정을 진행하면 N/L ≤M인 경우M번만에 중재과정이 끝나게 된다. N/L > M인 경우에는 N/L 번만에 중재가 끝나게 된다. 중재가 끝나면 모든 행 레지스터(RR[·])와 열 레지스터(CR[·])를 '0'으로 세팅하고 다음 중재과정을 준비하게 된다. 중재를 시작하는 빗금상의 요구가 항상 높은 우선 순위를 갖게 되므로 중재를 할 때 매번 시작하는 위치를 바꾸게 된다. 시작하는 위치는 도 4에서 괄호속의 숫자가 증가하는 방향으로 계속해서 순환할 수도 있고, 감소하는 방향으로 순환할 수도 있다.In the next step, it is determined whether or not permission is granted for the requests in (2) in FIG. 4, and only when the request value is '1' and the register values of the registers and columns of the row to which the row belongs are '0'. If a permit is granted and all three conditions are not met, the request will not be granted. If a grant is granted to a request under (2), the register of the row and the register of the row to which the request belongs is set to '1'. In this way, if the mediation process is carried out in the order of the number in parentheses, the mediation process is completed in M times when N / L ≤ M. In the case of N / L> M, arbitration will be completed in N / L times. After the arbitration, all row registers (RR [·]) and column registers (CR [·]) are set to '0' and the next arbitration is prepared. The hatch request to start the arbitration always has a high priority, thus changing the starting position each time. The starting position may continue to cycle in the direction of increasing number in parentheses in FIG. 4, or may cycle in a decreasing direction.

지금까지는 첫 번째 그룹(G1)에 대한 중재 과정만을 설명했는데 앞에서도 설명했듯이 각 그룹의 중재 과정이 완전히 독립적으로 이루어질 수 있기 때문에 다른 그룹에 대해서도 첫 번째 그룹에서 설명한 방법과 동일한 방법으로 중재가 이루어질 수 있다. 도 4는 마지막 그룹까지 모든 그룹이 첫 번째 그룹과 동일한 방법으로 중재를 하는 방법을 나타내고 있다. 그런데, 각 그룹의 시작점을 모든 그룹에 대해서 하나로 통일해서 같은 위치의 사선에서 시작할 수도 있지만, 각 그룹마다 중재과정을 시작하는 위치를 모두 달리할 수도 있다. 모든 그룹의 중재 시작선을 통일한 경우가 제 4도와 같으며, 모든 그룹의 중재 시작선을 모두 달리한 경우가 도 5와 같다.So far, only the mediation process for the first group (G 1 ) has been described. As described above, since the mediation process for each group can be completely independent, the mediation process for other groups will be conducted in the same way as described in the first group. Can be. Figure 4 shows how all the groups up to the last group to mediate in the same way as the first group. By the way, although the starting point of each group may be unified to all groups to start in the same position of the diagonal line, each group may be different from the starting point of the arbitration process. The case of unified arbitration start lines of all groups is the same as in FIG. 4, and the case of different arbitration start lines of all groups is shown in FIG. 5.

도 5와 같이 모든 그룹의 중재 시작선을 서로 다르게 해서 중재하는 방식을 비동기화된 접힌 파면 중재방식(DWWFA: Desynchronized Wrapped Wave-Front Arbitration)이라고 한다. 도 5에서 M ≥N인 경우에 첫 번째 그룹에 대한 중재 시작 위치는 처음 N/L열에 걸치는 사선이 되며, 두 번째 그룹에 대한 중재 시작 위치는 다음 N/L열에 걸치는 사선이 되고,k번째 그룹에 대한 중재 시작 위치는 N(k-1)/L+1번째부터 Nk/L번째 열에 걸치는 사선이 되기 때문에 어떤 사선도 같은 열을 공유하지 않게 된다. MN인 경우에는 모든 시작선이 하나의 열도 공유하지 않도록 만들 수는 없다. 비동기화된 접힌 파면 중재방식은 각 그룹의 중재 시작 위치가 어긋나 있다는 점만 동기화된 접힌 파면 중재 방식과 다르고, 그 이외의 중재 과정은 동기화된 접힌 파면 중재 방식과 동일하다.As shown in FIG. 5, a method of arbitrating the mediation start line of all groups differently is referred to as a desynchronized wrapped wave-front arbitration (DWWFA). In FIG. 5, when M≥N, the mediation start position for the first group is an oblique line over the first N / L columns, and the mediation start position for the second group is an oblique line over the next N / L columns, and the kth group The starting position for the mediation is for the diagonal lines spanning the N (k-1) / L + 1 th through the Nk / L th columns so that no diagonal lines share the same row. In the case of MNs, it is not possible to make sure that all the starting lines do not share a single column. The unsynchronized folded wavefront arbitration method differs from the synchronized folded wavefront arbitration method in that each group has a different starting position of the arbitration. The other mediation process is the same as the synchronized folded wavefront arbitration method.

모든 그룹의 중재 과정 시작 위치를 같은 열들에 속하도록 통일하면 부하가 높은 경우 셀들이 같은 출력포트 쪽으로 몰리는 현상이 발생하게 된다. 그렇지만 각 그룹의 중재 과정 시작 위치를 모두 어긋나게 하면 부하가 높은 경우에 셀들이 여러 출력포트로 고르게 분배가 될 수 있다. 동시에 같은 출력 포트 방향으로 셀을 몰아주는 것 보다 가능한 여러 출력 포트로 셀이 분배되도록 하면 전체적으로 출력 포트의 이용률(utilization)을 높일 수도 있다.By unifying the start of the arbitration process for all groups in the same rows, the cells are driven to the same output port under high load. However, shifting the start position of each group's arbitration process allows cells to be evenly distributed among the output ports under high load. Rather than driving the cells in the same output port direction at the same time, it is possible to increase the utilization of the output ports as a whole by allowing the cells to be distributed among the possible output ports.

지금까지는 가로로 분할한 크로스바 스위치에 대해서 살펴보았고, 다음은 세로로 분할한 크로스바 스위치에 대해서 살펴본다.So far, we have looked at crossbar switches that are split horizontally, and then we will look at crossbar switches that are split vertically.

도 6은E개의크로스바 스위치 소자로 이루어진 NxM 세로 분할 크로스바 스위치의 구조를 보여준다. 각 입력 포트(601)는E개의 버퍼(602)를 가지고, 크로스바 스위치 소자(606)당 중재기(605)가 하나씩 할당된다. 기본적으로 동작이 입력 버퍼형 스위치와 유사하기 때문에 내부 속도 상승(speed-up)을 하지 않는 경우에는 각 출력 포트에 출력 버퍼가 존재하지 않으나, 내부 속도 상승을 하는 경우에는 한 셀타임동안 하나 이상의 셀이 하나의 출력 포트로 전달이 될 수 있기 때문에 각 출력 포트에 버퍼(607)가 존재하게 된다. 출력 버퍼 내에서는 셀을 그 셀이 통과한 입력 포트 번호에 따라 구별해서 저장할 수 있고, 클래스별로 저장할 수도 있으며, 연결별로 구별해서 저장할 수도 있다(608). 스케줄러(609)는 연결된 버퍼에 저장된 셀들을 QoS를 고려해서 순서를 정해 내보내는 역할을 한다.6 is E The structure of an NxM vertically divided crossbar switch consisting of crossbar switch elements is shown. Each input port 601 has E buffers 602 and one arbiter 605 is assigned per crossbar switch element 606. Basically, since the operation is similar to the input buffer type switch, there is no output buffer at each output port if there is no internal speed-up, but at least one cell for one cell time if the internal speed is up. Since it can be forwarded to one output port, there is a buffer 607 at each output port. Within the output buffer, cells may be stored separately according to the input port number passed by the cells, may be stored by class, or may be stored separately by connection (608). The scheduler 609 plays a role in ordering and exporting cells stored in the connected buffer in consideration of QoS.

각 입력 포트에 입력되는 셀은 향하는 출력 포트 번호에 따라 해당되는 가상 출력 큐(603)에 저장되는데, 기존 입력 버퍼형 스위치와 다르게 가상 출력 큐가 하나의 버퍼에 존재하는 것이 아니라E개의 버퍼에 나뉘어 존재하게 된다. M개의 가상 출력 큐(603)들 가운데 처음 M/E개는 각 입력 포트의 첫 번째 버퍼(602)에 존재하고, 다음 M/E개는 두 번째 버퍼에 존재하며, 그 이후로도 M/E개씩 그 다음 버퍼에 할당된다. i번째 입력 포트(601) 셀이 도착하면 분배기(604)는 그 셀의 목적지 출력 포트 번호를 파악해서 j번째 출력 포트로 향하는 셀을번째 버퍼(602)인로 보내게 되고, 도착한 셀은 그 버퍼에 있는 가상 출력 큐Qi,j에 저장된다. 각 입력 포트(601)의k번째 버퍼(602)는k번째 크로스바 스위치 소자(606) XB-k에 연결이 되고, 각 입력 포트의k번째 버퍼로는 M(k-1)/E+1번부터 Mk/E번 출력 포트로 향하는 셀들만 저장이 되기 때문에k번째 크로스바 스위치 소자는 다른 크로스바 스위치 소자에 전혀 무관하게 M(k-1)/E+1번부터 Mk/E번 출력 포트로 향하는 셀들만 스위칭하면 된다. 이처럼 크로스바 스위치를 세로로 분할해서 사용하는 경우에는 각 크로스바 스위치 소자(606)에 연결된 중재기(605)들이 고려해야 하는 출력포트의 개수가 줄어들게 된다. 즉, 하나의 크로스바 스위치를 사용해서 N개의 입력을 M개의 출력으로 스위칭하는 경우에는 크로스바 스위치의 각 입력단에서 M개의 가상 출력 큐가 셀을 보내고자 경쟁하게 되는데, 도 6과 같이 크로스바를 세로로 E개로 분할하게 되면 각 크로스바 스위치의 입력단에서 경쟁하는 가상 출력 큐의 개수가 M에서 M/E로 감소하기 때문에 셀의 충돌이 줄어들게 되어 기존의 입력 버퍼형 스위치에 비해 좋은 성능을 보이게 된다.Cells input to each input port are stored in the corresponding virtual output queue 603 according to the output port number to the input port. Unlike the existing input buffer type switch, the virtual output queue is divided into E buffers rather than existing in one buffer. It will exist. The first M / E of the M virtual output queues 603 are in the first buffer 602 of each input port, the next M / E are in the second buffer, and thereafter the M / E are It is allocated in the next buffer. When the i-th input port 601 cell arrives, the splitter 604 determines the cell's destination output port number and locates the cell destined for the j-th output port. Buffer 602 Cell is sent to the virtual output queue Q i, j in its buffer. K-th buffer 602 for each input port 601 is the k-th crossbar switch element 606 is connected to the XB- k, a k-th buffer of each input port M (k-1) / E + 1 Since only cells destined for Mk / E output ports are stored, the kth crossbar switch element is the cell destined for M (k-1) / E + 1 to Mk / E output ports regardless of other crossbar switch elements. Only need to switch. When the crossbar switch is vertically divided as described above, the number of output ports that the arbiters 605 connected to each crossbar switch element 606 need to be reduced is reduced. In other words, when switching N inputs to M outputs using one crossbar switch, M virtual output queues compete at each input of the crossbar switch to send a cell. Splitting into two reduces the number of virtual output queues competing at the input of each crossbar switch from M to M / E, thus reducing cell collisions, resulting in better performance than conventional input buffered switches.

지금까지 가로 분할형 크로스바 스위치와 세로 분할형 크로스바 스위치에 대해서 살펴보았고, 마지막으로 가로와 세로 방향으로 동시에 분할하는 좀 더 일반적인 분할형 크로스바 스위치에 대해서 살펴본다.So far, we have looked at horizontally divided crossbar switches and vertically divided crossbar switches. Finally, we will look at the more common split crossbar switches that split in both horizontal and vertical directions.

도 7은LE개의크로스바 스위치 소자로 이루어진 일반적인 N ×M 분할형 크로스바 스위치의 구조를 보여준다.7 shows LE The structure of a typical N × M split crossbar switch consisting of crossbar switch elements is shown.

도 7을 살펴보면, 각 입력 포트(701)는E개의 버퍼(702)를 가지고, 크로스바 스위치 소자(706)당 중재기(705)가 하나씩 할당되며, 각 출력 포트는L개의 분리된버퍼(707)를 가진다. N ×M 크기의 하나의 크로스바 스위치를 가로로L등분하고, 다시 세로로 E등분하면 LE개의크로스바 스위치 소자(706)가 나오게 된다. 이 때 i번째 행의 j번째 열에 있는 크로스바 스위치 소자를 XB-ij라고 하면 XB-ij는 N(i-1)/L+1번부터 N i/L번까지의 입력 포트와 M(j-1)/E+1번부터 M j/E번까지의 출력 포트를 연결해주게 된다.Referring to FIG. 7, each input port 701 has E buffers 702, one arbiter 705 is assigned per crossbar switch element 706, and each output port is L separate buffers 707. Has If you divide one crossbar switch of size N × M into L horizontally and E equally vertically, LE The crossbar switch element 706 comes out. In this case, if the crossbar switch element in the j-th column of the i-th row is XB- ij , XB- ij is the input port from N (i-1) / L + 1 to N i / L and M (j-1 ) / E + 1 to M j / E for connecting output port.

좀 더 자세하게는 N(i-1)/L+1 ~ N i/L번 입력 포트의 j번째 버퍼(702)들과 M(j-1)/E+1 ~ M j/E번 출력 포트의 i번째 버퍼(707)들을 연결해 주게 된다. 특별한 경우로E=1인 경우, 즉, 세로 방향으로 분할하지 않은 경우는 제 1도의 가로 분할형 크로스바 스위치와 동일한 구조가 되고,L=1인 경우, 즉, 가로 방향으로 분할하지 않은 경우는 도 6의 세로 분할형 크로스바 스위치와 동일한 구조가 된다.More specifically, the jth buffer 702 of the N (i-1) / L + 1 to N i / L input ports and the M (j-1) / E + 1 to M j / E output ports The i th buffer 707 is connected. In a special case, when E = 1, that is, when not divided in the vertical direction, the structure is the same as that of the horizontally divided crossbar switch in FIG. 1, and when L = 1, that is, when not divided in the horizontal direction, It becomes the same structure as the vertically divided crossbar switch of 6.

입력단에서 각 버퍼로의 셀의 분배는 도 6의 세로 분할형 크로스바 스위치에서와 동일하게 이루어진다.k번째 입력 포트(701)에 셀이 도착하면 분배기(704)는 그 셀의 목적지 출력 포트 번호를 파악해서l번째 출력 포트로 향하는 셀을번째 버퍼(702)인로 보내게 되고, 도착한 셀은 그 버퍼에 있는 가상 출력 큐 Qk,l에 저장된다. 이 셀은번째 행의번째 열에 있는 중재기(705)를 통해서 통과 허락(grant) 신호를 받으면 그 중재기가 관리하는 크로스바 스위치 소자(706)를 통해서l번째 출력 포트의번째 버퍼(707)로 셀이 전달되고, 그 버퍼내에서 셀이 통과한 입력 포트 번호(k)에 따라서 논리적인 큐 OQl,k(708)에 저장된다. 입력 포트 번호에 따른 논리적인 큐 내에서 다시 클래스와 연결 정보에 따라 더 자세하게 구별해서 큐잉을 할 수 있으며, 스위치의 최종단에 있는 스케줄러(709)는 입력 포트별 혹은 서비스 클래스별, 혹은 연결별로 저장되어 있는 셀들을 QoS를 고려해서 스케줄링하게 된다.The distribution of cells from the input stage to each buffer is done as in the vertically divided crossbar switch of FIG. When a cell arrives at the kth input port 701, the divider 704 determines the cell's destination output port number and locates the cell destined for the lth output port. First buffer (702) Cell is sent to the virtual output queue Q k, l in its buffer. This cell is Of the first row When a pass grant signal is received through the arbiter 705 in the first column, the crossbar switch element 706 managed by the arbiter passes through the l th output port. The cell is transferred to the first buffer 707 and stored in the logical queue OQ l, k 708 according to the input port number k passed by the cell in the buffer. Within the logical queue according to the input port number, the queue can be further classified according to class and connection information, and the scheduler 709 at the end of the switch is stored by input port, service class, or connection. Cells are scheduled in consideration of QoS.

도 7과 같이 하나의 크로스바 스위치 대신LE개의크로스바 스위치 소자를 사용하고, 각 입력단에 E개의 버퍼를 두고, 각 출력단에 L개의 버퍼를 두어, 각 크로스바 스위치 소자가 각 입력단 또는 각 출력단에서 사용하는 버퍼도 완전하게 분리해 버리면, 서로 다른 크로스바 스위치 소자를 통해서 전달되는 셀들은 각 입력 포트(701)에 들어와서 분배기(704)를 통해 서로 다른 버퍼(702)로 나뉘어 저장되는 순간부터 출력단에서 스케줄러(709)를 통해 스위치를 빠져나갈 때까지 완전히 서로 독립인 분리된 경로를 통해서 움직이게 된다. LE instead of one crossbar switch as shown in FIG. If crossbar switch elements are used, E buffers are placed at each input end, and L buffers are placed at each output end, and each crossbar switch element completely separates the buffers used at each input end or each output end. Cells delivered through the device are completely separated from each other until they enter each input port 701 and are divided into different buffers 702 through the divider 704 and exit the switch through the scheduler 709 at the output. It moves through a separate path.

따라서,LE개의 각 크로스바 스위치 소자들은 다른 스위치 소자에 전혀 상관없이 동작할 수가 있게 된다. N ×M 스위칭을 위해 하나의 크로스바 스위치를 사용할 때는 하나의 중재기가 N에서 M으로의 매칭 문제를 풀어야 하지만, 도 7에서와 같이 LE개의 크로스바 스위치 소자들을 사용하면 하나의 N -> M 매칭 문제 대신에 LE개의 서로 독립인 (N/L) -> (M/E) 매칭 문제를 풀면 된다. 이는 하나의 크로스바 스위치 소자의 입력단에서 경쟁하는 가상 출력 큐의 개수가 M에서 M/E로 줄어들고, 출력단에서 경쟁하는 입력단의 개수가 N에서 N/L로 줄어듦을 의미하기 때문에 셀간 경쟁이 크게 줄어들게 되고, 이는 곧 입력 버퍼에 있는 셀들이 출력 버퍼로 전달될 확률을 높여주게 된다.Therefore, each of the LE crossbar switch elements can operate regardless of the other switch elements. When using one crossbar switch for N × M switching, one arbiter must solve the N-to-M matching problem, but using LE crossbar switch elements as shown in FIG. 7 instead of one N-> M matching problem. This is done by solving LE (N / L)-> (M / E) matching problems. This means that the number of virtual output queues competing at the input of one crossbar switch element is reduced from M to M / E, and the number of inputs competing at the output is reduced from N to N / L. This increases the probability that cells in the input buffer will be delivered to the output buffer.

이상에서와 같이 본 발명에 의한 분할형 크로스바 스위치에 따르면 다음과 같은 이점이 있다.According to the split type crossbar switch according to the present invention as described above has the following advantages.

출력 버퍼형 스위치는 고속 메모리를 요구한다는 단점이 있고, 입력 버퍼형 스위치는 수율이 낮은 단점을 극복함으로써 최근에 많이 사용되고 있다. 그러나, 입력 버퍼형 스위치는 출력 버퍼형 스위치와 달리 입력단에서 셀 충돌이라는 근본적인 제약을 더 가지고 있기 때문에 출력 버퍼형 스위치만큼 성능이 나올 수 없는 한계를 가지고 있다.The output buffer type switch has a disadvantage of requiring a high speed memory, and the input buffer type switch has been widely used in recent years by overcoming the disadvantage of low yield. However, unlike the output buffered switch, the input buffered switch has a fundamental limitation such as cell collision at the input stage.

첫째, 본 발명은 하나의 크로스바 스위치 대신에 작은 크기의 크로스바 스위치 여러 개를 사용함으로서 입력 버퍼형 스위치의 한계를 극복할 수 있다.First, the present invention can overcome the limitation of the input buffer type switch by using several small crossbar switches instead of one crossbar switch.

하나의 크로스바 스위치를 가로로L개로 나누고, 각 출력 포트마다 버퍼를L개 두면 하나의 출력을 두고 모든 입력 포트가 경쟁하는 구조에서 각 버퍼별로 입력 포트의 subset들이 경쟁하는 구조가 되기 때문에 입력 포트간 경쟁률이 떨어져서 입력 포트에서 출력 버퍼로 셀이 전달되는 확률이 기존의 입력 버퍼형 스위치에서 각 입력 포트에서 출력 포트로 셀이 전달되는 확률보다 높아지게 된다.If you divide one crossbar switch into L horizontally and leave L buffers for each output port, the subset of input ports competes for each buffer in the structure where all input ports compete for one output. Due to the lack of competition, the probability of passing a cell from an input port to an output buffer is higher than that of a conventional input buffered switch from each input port to an output port.

하나의 크로스바 스위치를 세로로E개로 나누고, 각 입력 포트마다E개의 분리된 버퍼를 두면 각 입력 포트에서 M개의 가상 출력 큐들이 하나의 입력 관문을 두고 경쟁하는 구조에서 입력 관문의 개수를E개로 늘여 M/E개의 가상 출력 큐들이 하나의 입력 관문을 놓고 경쟁하는 구조가 되기 때문에 가상 출력 큐들간의 경쟁률이 떨어져서 입력 포트에서 출력 버퍼로 셀이 전달되는 확률이 기존의 입력 버퍼형스위치에서의 확률보다 높아지게 된다.Dividing a crossbar switch into longitudinal pieces E, for each input port, leaving the E discrete buffer stretched the number of input gates on the structure to M virtual output queues are competing for one of the input gates on each input port pieces E Since M / E virtual output queues compete for one input gateway, the competition rate between virtual output queues is lowered, so that the probability of cell transfer from the input port to the output buffer is higher than that of the conventional input buffer type switch. Will increase.

하나의 크로스바 스위치 대신에LE개의크로스바 스위치 소자를 사용하게 되면, 각 크로스바 스위치 소자의 입력단에서 경쟁하는 가상 출력 큐의 개수가 M에서 M/E로 줄어들고 동시에 하나의 출력단을 두고 경쟁하는 입력단의 개수도N에서N/L로 줄어들기 때문에 가로 또는 세로 방향으로만 분할하는 경우에 비해 충돌률이 더 줄어들게 된다. 이와 같이 하나의 크로스바 스위치를 가로 또는 세로 또는 가로, 세로 방향으로 동시에 분할하게 되면 입력단 또는 출력단에서 셀의 경쟁률이 낮아져 입력단에서 출력단으로 셀이 전달될 확률이 높아지기 때문에 입력 버퍼형 스위치보다 더 좋은 수율을 나타내게 된다. LE instead of one crossbar switch The use of a crossbar switch elements, the number of each crossbar input to compete the number of virtual output queues competing in the switch device input terminal decreasing from M to M / E at the same time with a single output stage also are reduced from N to N / L As a result, the collision rate is further reduced compared to the case of splitting only in the horizontal or vertical direction. As such, when one crossbar switch is divided into the horizontal, vertical, or horizontal direction at the same time, the competition rate of the cell at the input terminal or the output terminal is lowered, thereby increasing the probability that the cell is transferred from the input terminal to the output terminal. Will be displayed.

둘째,본 발명은 스위치의 크기가 N ×M인 경우 필요로 하는 버퍼의 개수가N또는 M의 상수배(L또는E) 수준이고, 입력 링크 속도보다 크게 빠른 메모리를 필요로 하지 않으며, 입력 버퍼들과 출력 버퍼들을 연결하는 내부 연결선의 개수도 기존의 크로스바 스위치에 필요한 연결의 수와 비슷하기 때문에 고속화에 적합하다.Second , in the present invention, when the size of the switch is N × M, the number of buffers required is about N or M constant multiples ( L or E ), and does not require a memory that is much faster than the input link speed. Field-to-output buffers are also suitable for high speeds, as the number of internal wires that connect them to the output buffers is similar to the number of connections required for conventional crossbar switches.

Claims (7)

입력 포트를 통해 도착하는 셀을 출력 포트별로 구별해서 가상출력큐(VOQ) 형태로 저장하고, 각 가상출력큐에 대해 셀의 유무를 파악하여 셀이 있는 경우 전송 요구('1'), 셀이 없는 경우 전송 비요구('0')의 정보를 담은 요구 벡터를 보내는 입력 버퍼와;Cells arriving through input ports are classified by output ports and stored in the form of virtual output queues (VOQs). For each virtual output queue, the existence of cells is determined. An input buffer for sending a request vector containing information of non-transmission request ('0') if none; 입력 포트와 출력 포트의 개수가 N,M 일 때 i번째 소자가 N(i-1)/L+1번부터 Ni/L번까지의 입력 포트를 모든 출력 포트의 i번째 버퍼로 연결해주는L개의크로스바 스위치 소자와;Of L that is the number of input and output ports N, connecting the input port to the i-th element is N (i-1) / L + Ni / L times from the number 1 when M in the i-th buffer of all output ports A crossbar switch element; 상기 각 크로스바 스위치 소자당 하나씩 할당되어N/L개의 입력에서L개의 출력으로의 매칭문제를 해결하고 그 결과에 따라 크로스바 스위치 소자를 세팅하는 중재기와;An arbiter assigned to each crossbar switch element to solve a matching problem from N / L inputs to L outputs and to set a crossbar switch element according to the result; 상기 크로스바 스위치 소자를 통과한 셀을 그 셀이 거쳐온 입력 포트 정보에 따라서, 또는 그 셀이 속하는 트래픽의 클래스에 따라서, 또는 그 셀이 속하는 flow에 따라 구별해서 저장 및 관리하는 출력 버퍼와;An output buffer for storing and managing a cell that has passed through the crossbar switch element according to input port information passed by the cell, according to a class of traffic to which the cell belongs, or according to a flow to which the cell belongs; 상기 각 출력 포트마다 하나씩 할당되어L개의 출력 버퍼를 관리하고L개의 출력 버퍼에 속하는 셀들을 QoS를 고려해서 스케줄링하는 스케줄러;를 포함하여Wherein each output port is allocated one by one scheduler for managing the L output buffers, and the scheduling in consideration of the cells that belong to the L output buffers QoS; including 상기의 소자로서 고정 길이의 셀을 받아 원하는 출력포트 방향으로 보내주는 역할을 하는 것을 특징으로 하는 분할형 크로스바 스위치.A split type crossbar switch, characterized in that the device receives a fixed length cell and sends the cell to a desired output port direction. 청구항 1에 있어서,The method according to claim 1, 각 행에 대해서 허가 받은 요구가 있는지 없는지를 기억하는 레지스터(RR[])와;A register (RR []) for storing whether there is an authorized request for each row; 각 열에 대해서 허가 받은 요구가 있는지 없는지를 기억하는 레지스터(CR[])와;A register (CR []) for storing whether there is an authorized request for each column; 상기의 소자로서 입력 포트의 개수를 N, 출력 포트의 개수를 M, 출력 포트 당 버퍼의 개수를 L이라 하고, N(k-1)/L+1번째 입력 버퍼부터 Nk/L번째 입력 버퍼까지의 집합을 k번째 그룹이라고 했을 때 k번째 그룹에 속하는 입력 버퍼들의요구 행렬에 대해서 min(N/L,M)개의 모두 서로 다른 행과 열에 속하는 요구의 셋을 일단 선택해서 그 셋부터 시작해서 전송을 허가할 요구들을 찾고, 허가할 요구를 찾은 경우 그 요구가 속하는 행에 대한 레지스터에 허가가 발생했음을 기억시키고, 그 요구가 속하는 열에 대한 레지스터에 허가가 발생했음을 기억시킨 후 다음부터 계속해서 나머지 요구들 가운데 독립인 min(N/L,M)개의 요구 집합을 선택해서 위의 중재 과정을 NM/L/min(N/L,M)번 반복해서 최종적으로 현재 셀타임에 전송을 허가할 요구를 결정하고, 다음 셀타임에는 중재를 시작하는 요구의 셋을 이전 셀타임과 다르게 하는k번째 중재기;를 더 포함하는 것을 특징으로 하는 분할형 크로스바 스위치.As the above elements, the number of input ports is N, the number of output ports is M, the number of buffers per output port is L, and N (k-1) / L + 1st input buffers to Nk / Lth input buffers. When the set of k is called the kth group, the input buffers belonging to the kth group For a request matrix, we first select a set of requests belonging to min (N / L, M) all different rows and columns, and start with that set to find the requests to grant the transfer, and if it finds a request to grant, Remember that a grant has occurred in the register for a row, remember that a grant has occurred in the register for the column to which the request belongs, and then continue to select an independent set of min (N / L, M) requests among the remaining requests. Repeat the above arbitration process NM / L / min (N / L, M) times to finally determine the request to authorize transmission at the current cell time, and then transfer the set of requests to start arbitration at the next cell time. A split crossbar switch, characterized in that it further comprises a k- th arbiter different from the time. 청구항 1에 있어서,The method according to claim 1, k번째 그룹에 대해 셀 충돌을 해결하는k번째 중재기()와; kth arbiter that resolves cell conflicts for the kth group ( )Wow; 상기의 소자로서 매 셀타임마다 모든 중재기에서 중재를 시작하는 요구의 집합을 요구 행렬의 같은 열에서 취하는L개의 중재기;를 더 포함하는 것을 특징으로 하는 분할형 크로스바 스위치.And the L arbitrators taking in the same column of the request matrix a set of requests for commencing arbitration in all arbitrators at every cell time as said element. 청구항 1에 있어서,The method according to claim 1, k번째 그룹에 대해 셀 충돌을 해결하는k번째 중재기()와; kth arbiter that resolves cell conflicts for the kth group ( )Wow; 상기의 소자로서 매 셀타임마다 각 중재기에서 중재를 시작하는 요구의 집합이 요구 행렬에서 서로 공유하는 열(column)이 없이 항상 엇갈리도록 하는L개의 중재기;를 더 포함하는 것을 특징으로 하는 분할형 크로스바 스위치.And an L arbiter such that the set of requests for starting arbitration in each arbiter at every cell time are always staggered without sharing columns in the request matrix. Type crossbar switch. 셀이 도착하면 그 셀이 가고자 하는 출력 포트 번호(j)를 보고번째 버퍼로 보내주는 분배기와;When a cell arrives, look at the output port number (j) it wants to go to A distributor to send to the first buffer; 각 입력 포트별로E개가 존재하며 입력 포트를 통해 도착한 셀을 출력 포트별로 구별해서 가상 출력 큐 형태로 저장하고, 매 셀타임마다 요구 벡터를 중재기로 보내는 버퍼와; E buffers for each input port, each cell arriving through the input port for each output port is stored in the form of a virtual output queue, and sends a request vector to the arbiter every cell time; 입력 포트와 출력 포트의 개수가N, M일 때 i번째 소자가 모든 입력 포트의 i번째 버퍼를 M(i-1)/E+1번부터 M i/E번까지의 출력 포트로 연결해주는E개의크로스바 스위치 소자와;When the number of input ports and output ports is N, M , the i device connects the i-th buffer of all input ports to the output ports from M (i-1) / E + 1 to M i / E. doggy A crossbar switch element; 상기 각 크로스바 스위치 소자당 하나씩 할당되어N개의 입력에서M/E개의 출력으로의 매칭문제를 해결하고 그 결과에 따라 크로스바 스위치 소자를 세팅하는중재기;를 포함하여An arbitrator assigned to each crossbar switch element to solve the matching problem from N inputs to M / E outputs and to set the crossbar switch elements according to the result; 상기의 소자로서 고정 길이의 셀을 받아 원하는 출력포트 방향으로 보내주는 역할을 하는 것을 특징으로 하는 분할형 크로스바 스위치.A split type crossbar switch, characterized in that the device receives a fixed length cell and sends the cell to a desired output port direction. 셀이 도착하면 그 셀이 가고자 하는 출력 포트 번호(j)를 보고번째 버퍼로 보내주는 분배기와;When a cell arrives, look at the output port number (j) it wants to go to A distributor to send to the first buffer; 각 입력 포트별로E개가 존재하며 입력 포트를 통해 도착한 셀을 출력 포트별로 구별해서 가상 출력 큐 형태로 저장하고, 매 셀타임마다 요구 벡터를 중재기로 보내는 버퍼와; E buffers for each input port, each cell arriving through the input port for each output port is stored in the form of a virtual output queue, and sends a request vector to the arbiter every cell time; 입력 포트와 출력 포트의 개수가N, M일 때 i번째 소자가 모든 입력 포트의 i번째 버퍼를 M(i-1)/E+1번부터 M i/E번까지의 출력 포트로 연결해주는E개의크로스바 스위치 소자와;When the number of input ports and output ports is N, M , the i device connects the i-th buffer of all input ports to the output ports from M (i-1) / E + 1 to M i / E. doggy A crossbar switch element; 상기 각 크로스바 스위치 소자당 하나씩 할당되어N개의 입력에서M/E개의 출력으로의 매칭문제를 해결하고 그 결과에 따라 크로스바 스위치 소자를 세팅하는 중재기와;An arbiter assigned to each crossbar switch element to solve a matching problem from N inputs to M / E outputs and to set a crossbar switch element according to the result; 내부 속도 상승(internal speed-up)을 하는 경우에 혹은 품질을 고려한 스케줄링을 하기 위해서 크로스바 스위치를 통과한 셀을 그 셀이 거쳐온 입력 포트 정보에 따라서, 또는 그 셀이 속하는 트래픽의 클래스에 따라서, 또는 그 셀이 속하는 flow에 따라서 구별해서 저장 및 관리하는 출력 버퍼와;Depending on the input port information that the cell has passed through the cell that passed the crossbar switch for internal speed-up or for scheduling that takes into account quality, or depending on the class of traffic to which the cell belongs, Or an output buffer for storing and managing the cell according to the flow to which the cell belongs; 상기 각 출력 포트마다 하나씩 할당되어 출력 버퍼에 저장된 셀들을 QoS를고려해서 스케줄링하는 스케줄러;를 포함하여A scheduler for allocating one of each output port and scheduling the cells stored in an output buffer in consideration of QoS. 상기의 소자로서 고정 길이의 셀을 받아 원하는 출력포트 방향으로 보내주는 역할을 하는 것을 특징으로 하는 분할형 크로스바 스위치.A split type crossbar switch, characterized in that the device receives a fixed length cell and sends the cell to a desired output port direction. 셀이 도착하면 그 셀이 가고자 하는 출력 포트 번호(j)를 보고번째 버퍼로 보내주는 분배기와;When a cell arrives, look at the output port number ( j ) it wants to go to A distributor to send to the first buffer; 각 입력 포트별로E개가 존재하며 입력 포트를 통해 도착한 셀을 출력 포트별로 구별해서 가상 출력 큐 형태로 저장하고, 매 셀타임마다 요구 벡터를 중재기로 보내는 버퍼와; E buffers for each input port, each cell arriving through the input port for each output port is stored in the form of a virtual output queue, and sends a request vector to the arbiter every cell time; 입력 포트와 출력 포트의 개수가N, M일 때k()번째 행의l()번째 열에 있는 소자가 N(k-1)/L+1번부터 N k/L번까지의 입력 포트의l번째 버퍼들을 M(l-1)/E+1번부터 M l/E번까지의 출력 포트의k번째 버퍼들과 연결해주는LE개의크로스바 스위치 소자와;When the number of input and output ports is N, M , k ( L of line 1 The device in column 1 sets the lth buffers of the input ports from N (k-1) / L + 1 to N k / L from M (l-1) / E + 1 to M l / E. LE to connect to the kth buffer of the output port of A crossbar switch element; 상기 각 크로스바 스위치 소자당 하나씩 할당되어N/L개의 입력에서M/E개의 출력으로의 매칭문제를 해결하고 그 결과에 따라 크로스바 스위치 소자를 세팅하는 중재기와;An arbiter assigned to each crossbar switch element to solve a matching problem from N / L inputs to M / E outputs and to set a crossbar switch element according to the result; 상기 각 출력 포트마다L개씩 할당되어 크로스바 스위치를 통과한 셀을 그 셀이 거쳐온 입력 포트 정보에 따라서, 또는 그 셀이 속하는 트래픽의 클래스에 따라서, 또는 그 셀이 속하는 flow에 따라서 구별해서 저장 및 관리하는 출력 버퍼와; L cells are allocated to each output port and stored according to the input port information passed by the cell, the class of the traffic to which the cell belongs, or the flow to which the cell belongs. An output buffer for managing; 상기 각 출력 포트마다 하나씩 할당되어L개의 출력 버퍼를 관리하고L개의 출력 버퍼에 속하는 셀들을 QoS를 고려해서 스케줄링하는 스케줄러;를 포함하여Wherein each output port is allocated one by one scheduler for managing the L output buffers, and the scheduling in consideration of the cells that belong to the L output buffers QoS; including 상기의 소자로서 고정 길이의 셀을 받아 원하는 출력포트 방향으로 보내주는 역할을 하는 것을 특징으로 하는 분할형 크로스바 스위치.A split type crossbar switch, characterized in that the device receives a fixed length cell and sends the cell to a desired output port direction.
KR10-2001-0084875A 2001-12-26 2001-12-26 Partitioned Crossbar Switch with Multiple Input/Output Buffers KR100404376B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0084875A KR100404376B1 (en) 2001-12-26 2001-12-26 Partitioned Crossbar Switch with Multiple Input/Output Buffers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0084875A KR100404376B1 (en) 2001-12-26 2001-12-26 Partitioned Crossbar Switch with Multiple Input/Output Buffers

Publications (2)

Publication Number Publication Date
KR20030054664A KR20030054664A (en) 2003-07-02
KR100404376B1 true KR100404376B1 (en) 2003-11-05

Family

ID=32213295

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0084875A KR100404376B1 (en) 2001-12-26 2001-12-26 Partitioned Crossbar Switch with Multiple Input/Output Buffers

Country Status (1)

Country Link
KR (1) KR100404376B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030091601A (en) * 2002-05-24 2003-12-03 손승일 Circuits for VOQ Block supporting Read and Write of Variable Packet Data
KR100641633B1 (en) * 2004-12-02 2006-11-06 한국전자통신연구원 An efficient switching device and its method using multiple shared memory
US8050280B2 (en) 2004-12-02 2011-11-01 Electronics And Telecommunications Research Institute Efficient switching device and method for fabricating the same using multiple shared memories

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0715442A (en) * 1993-03-03 1995-01-17 Nippon Telegr & Teleph Corp <Ntt> Atm switch and atm switching method
JPH10117196A (en) * 1996-10-09 1998-05-06 Nippon Telegr & Teleph Corp <Ntt> Atm switch
JPH10243000A (en) * 1997-02-19 1998-09-11 Telefon Ab L M Ericsson Switching flow control
JPH11163882A (en) * 1997-11-28 1999-06-18 Nippon Telegr & Teleph Corp <Ntt> Atm switch
KR20020045276A (en) * 2000-12-08 2002-06-19 박종섭 Switch for hot spot traffic

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0715442A (en) * 1993-03-03 1995-01-17 Nippon Telegr & Teleph Corp <Ntt> Atm switch and atm switching method
JPH10117196A (en) * 1996-10-09 1998-05-06 Nippon Telegr & Teleph Corp <Ntt> Atm switch
JPH10243000A (en) * 1997-02-19 1998-09-11 Telefon Ab L M Ericsson Switching flow control
JPH11163882A (en) * 1997-11-28 1999-06-18 Nippon Telegr & Teleph Corp <Ntt> Atm switch
KR20020045276A (en) * 2000-12-08 2002-06-19 박종섭 Switch for hot spot traffic

Also Published As

Publication number Publication date
KR20030054664A (en) 2003-07-02

Similar Documents

Publication Publication Date Title
US7539199B2 (en) Switch fabric scheduling with fairness and priority consideration
US7525978B1 (en) Method and apparatus for scheduling in a packet buffering network
US7492782B2 (en) Scalable crossbar matrix switching apparatus and distributed scheduling method thereof
US5500858A (en) Method and apparatus for scheduling cells in an input-queued switch
US6856622B1 (en) Multicast cell scheduling protocol
US7889729B2 (en) System and method for reevaluating granted arbitrated bids
US6370148B1 (en) Data communications
WO2003017593A1 (en) Method and apparatus for parallel, weighted arbitration scheduling for a switch fabric
US20040083326A1 (en) Switch scheduling algorithm
US20070081515A1 (en) Integrated circuit and method for avoiding starvation of data
WO2003017594A1 (en) Method and apparatus for weighted arbitration scheduling separately at the input ports and the output ports of a switch fabric
US7020131B1 (en) System and method for hierarchical switching
WO2003017595A1 (en) Arbitration scheduling with a penalty for a switching fabric
JP2002217962A (en) Method for scheduling data packet from a plurality of input ports to output ports
US20240031304A1 (en) Virtual channel starvation-free arbitration for switches
US8145823B2 (en) Parallel wrapped wave-front arbiter
CN109379304B (en) Fair scheduling method for reducing low-priority packet delay
KR100404376B1 (en) Partitioned Crossbar Switch with Multiple Input/Output Buffers
US20040120321A1 (en) Input buffered switches using pipelined simple matching and method thereof
US20050163127A1 (en) Buffer switch and scheduling method thereof
Qu et al. Designing fully distributed scheduling algorithms for contention-tolerant crossbar switches
Mhamdi A Partially Buffered Crossbar packet switching architecture and its scheduling
KR100508635B1 (en) Scalable crossbar matrix switch and arbitration method thereof
Nam et al. Decomposed crossbar switches with multiple input and output buffers
Pan et al. Hardware efficient two step iterative matching algorithms for VOQ switches

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080930

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee