KR20200068417A - Method for scheduling data traffic cyclic switch - Google Patents
Method for scheduling data traffic cyclic switch Download PDFInfo
- Publication number
- KR20200068417A KR20200068417A KR1020180155384A KR20180155384A KR20200068417A KR 20200068417 A KR20200068417 A KR 20200068417A KR 1020180155384 A KR1020180155384 A KR 1020180155384A KR 20180155384 A KR20180155384 A KR 20180155384A KR 20200068417 A KR20200068417 A KR 20200068417A
- Authority
- KR
- South Korea
- Prior art keywords
- port
- traffic
- destination
- connection state
- switch
- Prior art date
Links
- 125000004122 cyclic group Chemical group 0.000 title claims abstract description 95
- 238000000034 method Methods 0.000 title claims abstract description 38
- 239000004744 fabric Substances 0.000 claims abstract description 73
- 238000004891 communication Methods 0.000 claims description 22
- 230000000737 periodic effect Effects 0.000 claims description 2
- 238000012544 monitoring process Methods 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000007423 decrease Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007562 laser obscuration time method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3018—Input queuing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
Abstract
Description
본 발명은 사이클릭 스위치의 스루풋(throughput) 향상을 위한 트래픽 스케줄링 방법에 관한 것이다. The present invention relates to a traffic scheduling method for improving throughput of a cyclic switch.
네트워크 스위치는 통신 노드들을 연결하는 통신 장비로서, 상기 통신 노드들과 연결되는 다수의 포트와 다수의 포트를 연결하는 스위칭 패브릭(switching fabric) 및 스위칭 패브릭을 제어하는 중앙 스케줄러를 포함한다.The network switch is a communication device connecting communication nodes, and includes a switching fabric connecting multiple ports and multiple ports connected to the communication nodes and a central scheduler controlling the switching fabric.
네트워크 스위치의 처리 용량이 증가함에 따라, 중앙 스케줄러의 처리 용량 및 그에 따른 중앙 스케줄러의 복잡도가 증가하고 있다. 이러한 문제를 해결하기 위해, 중앙 스케줄러 없이, 트래픽을 관리하는 네트워크 스위치가 개발된 바 있으며, 이러한 네트워크 스위치를 사이클릭 스위치(cyclic switch)라 부른다.As the processing capacity of the network switch increases, the processing capacity of the central scheduler and thus the complexity of the central scheduler is increasing. To solve this problem, a network switch has been developed to manage traffic without a central scheduler, and the network switch is called a cyclic switch.
사이클릭 스위치는 다수의 포트와 이들을 연결하는 스위치 패브릭으로만 구성된다. 즉, 사이클릭 스위치의 내부에는 중앙 스케줄러가 없다. 사이클릭 스위치 내의 스위칭 패브릭은 사전에 정해진 방식(사전에 정해진 연결 방식)으로 다수의 포트들을 연결한다. Cyclic switches consist only of multiple ports and a switch fabric connecting them. That is, there is no central scheduler inside the cyclic switch. The switching fabric in the cyclic switch connects multiple ports in a predetermined manner (predetermined connection scheme).
이처럼 사이클릭 스위치는 포트들간 연결을 트래픽의 분포에 따라 최적화하여 연결해 주는 기능을 갖는 중앙 스케쥴러가 없기 때문에, 트래픽의 분포에 따라 스루풋(throughput)이 증감한다. As such, since the cyclic switch does not have a central scheduler having a function of optimizing and connecting connections between ports according to the distribution of traffic, throughput increases or decreases according to the distribution of traffic.
또한, 사이클릭 스위치 내의 스위치 패브릭은, 사전에 정해진 방식에 따라 다수의 포트들을 연결하기 때문에, 출발지 포트로 입력되는 트래픽들을 목적지 포트로 전달하는 과정에서 상기 출발지 포트로 입력되는 트래픽들의 입력 순서가 상기 목적지 포트로 입력되는 트래픽들의 입력 순서가 일치하지 않을 수 있다.In addition, since the switch fabric in the cyclic switch connects a plurality of ports according to a predetermined method, the input order of traffic input to the source port in the process of forwarding traffic input to the source port to the destination port is the above. The input order of the traffics entering the destination port may not match.
이와 같이, 입력 순서가 일치하지 않는 문제를 해결하기 위해, 목적지 포트로 입력되는 트래픽들의 입력 순서를 재정렬하는 작업이 추가로 필요하게 된다. 이러한 재정렬 작업은 사이클릭 스위치의 레이턴시(latency) 및 복잡성을 증가시키는 요인이다. As described above, in order to solve the problem that the input order does not match, it is necessary to further rearrange the input order of traffic input to the destination port. This rearrangement is a factor that increases the latency and complexity of the cyclic switch.
본 발명의 목적은 스루풋(throughput)을 향상시키고, 트래픽들의 재정렬 작업이 요구되지 않는 사이클릭 스위치 및 사이클릭 스위치에서의 트래픽 스케쥴링 방법을 제공하는 데 있다. An object of the present invention is to provide a cyclic switch and a method for scheduling traffic in a cyclic switch that improves throughput and does not require reordering of traffic.
상술한 목적을 달성하기 위한 본 발명의 사이클릭 스위치에서의 트래픽 스케쥴링 방법은, 다수의 포트로서, 각 포트가 출발지 포트, 경유지 포트 및 목적지 포트 중 어느 하나로 동작하는 상기 다수의 포트 및 주기적으로 반복하는 다수의 연결 상태에 따라 상기 다수의 포트를 서로 연결하는 스위치 패브릭을 포함하는 사이클릭 스위치의 스케쥴링 방법으로서, 각 포트에 구비된 스케줄러는, 입력되는 트래픽들을 목적지에 따라 분류하여 버퍼 메모리에 저장하는 단계; 및 트래픽들의 입력 순서가 상기 목적지 포트에서 변경되는 것을 방지하도록 각 트래픽의 목적지에 따라 송신 가능한 상기 스위치 패브릭의 연결 상태를 사전에 설정한 연결 상태 테이블을 참조하여, 상기 버퍼 메모리에 저장된 다수의 입력 트래픽 중에서 상기 스위치 패브릭의 현재 연결 상태에서 다른 포트로 송신할 트래픽을 결정하는 단계를 수행한다.The traffic scheduling method in the cyclic switch of the present invention for achieving the above object is a plurality of ports, wherein each port operates at any one of a source port, a destination port, and a destination port, and the multiple ports are periodically repeated. A scheduling method of a cyclic switch including a switch fabric that connects the plurality of ports to each other according to a plurality of connection states, wherein the scheduler provided in each port classifies incoming traffic according to a destination and stores it in a buffer memory ; And a connection state table in which connection state of the switch fabric that can be transmitted according to a destination of each traffic is set in advance to prevent an order of input of traffic from being changed at the destination port, a plurality of input traffic stored in the buffer memory Among them, a step of determining traffic to be transmitted to another port in a current connection state of the switch fabric is performed.
본 발명의 사이클릭 스위치는, 다수의 포트로서, 각 포트가 출발지 포트, 경유지 포트 및 목적지 포트 중 어느 하나로 동작하는 상기 다수의 포트; 및 주기적으로 순환하는 다수의 연결 상태에 따라 상기 다수의 포트를 서로 연결하는 스위치 패브릭을 포함하고, 상기 각 포트에 구비된 스케줄러는, 입력된 다수의 트래픽의 입력 순서가 상기 목적지 포트에서 변경되는 것을 방지하기 위해, 각 트래픽의 목적지에 따라 송신 가능한 상기 스위치 패브릭의 적어도 하나의 연결 상태를 사전에 설정한 연결 상태 테이블을 저장한 메모리; 현재 입력되는 다수의 트래픽을 목적지에 따라 분류하여 저장하는 버퍼 메모리; 및 상기 연결 상태 테이블에 따라, 상기 버퍼 메모리에 저장된 다수의 입력 트래픽 중에서 상기 스위치 패브릭의 현재 연결 상태에서 다른 포트로 송신할 트래픽을 결정하는 프로세서;를 포함한다.The cyclic switch of the present invention includes a plurality of ports, wherein the plurality of ports each port operates as one of a source port, a destination port, and a destination port; And a switch fabric that connects the plurality of ports to each other according to a plurality of connection states that periodically circulate, and the scheduler provided in each port indicates that the input order of the input multiple traffics is changed at the destination port. In order to prevent, a memory storing a connection state table in which at least one connection state of the switch fabric that can be transmitted according to the destination of each traffic is preset; A buffer memory for classifying and storing a plurality of traffic currently input according to a destination; And a processor for determining traffic to be transmitted to another port in a current connection state of the switch fabric among a plurality of input traffics stored in the buffer memory according to the connection state table.
본 발명에 따르면, 트래픽의 목적지 별로 사전에 설정된 스위칭 패브릭의 연결 상태를 기반으로 트래픽을 스케줄링함으로써, 사이클릭 스위치의 약점인 스루풋 감소를 개선하고, 목적지 포트로 입력되는 트래픽들의 입력 순서를 재정렬하는 작업이 불필요함에 따라 사이클릭 스위치의 레이턴시(latency) 및 복잡성을 낮출 수 있다.According to the present invention, by scheduling traffic based on a connection state of a preset switching fabric for each destination of traffic, improving throughput reduction, which is a weakness of a cyclic switch, and rearranging the input order of traffic input to a destination port As this is unnecessary, the latency and complexity of the cyclic switch can be reduced.
도 1은 일반적인 네트워크 스위치의 내부 구성을 나타내는 도면이다.
도 2는 본 발명이 적용되는 사이클릭 스위치의 내부 구성을 나타내는 도면이다.
도 3은 도 2에 도시한 사이클릭 스위칭 패브릭이 제공하는 연결 상태들을 설명하기 위해 도 2에 도시한 각 포트들을 재배열한 도면이다.
도 4는 도 3에 도시한 사이클릭 스위칭 패브릭이 제공하는 연결 상태들을 도시한 도면이다.
도 5는 본 발명이 적용되는 사이클릭 스위치에서 경유지 포트를 이용하여 스루풋을 향상시키는 방법을 설명하기 위한 도면이다.
도 6은 본 발명에 따른 트래픽 스케줄링 개념을 설명하기 위한 도면이다.
도 7 및 8은 본 발명의 실시 예에 따른 트래픽의 입력 순서가 목적지 포트에서 변경되지 않게 하는 연결 상태를 결정하는 방법을 알고리즘 형태로 나타낸 순서도이다.
도 9는 본 발명의 실시 예에 따른 사이클릭 스위치의 내부 구성을 도시한 도면이다.
도 10은 도 9에 도시된 각 포트의 내부 구성을 상세히 도시한 도면이다.
도 11은 본 발명의 실시 예에 따른 사이클릭 스위치에서의 트래픽 스케쥴링 방법을 나타내는 순서도이다.1 is a view showing the internal configuration of a typical network switch.
2 is a view showing the internal configuration of a cyclic switch to which the present invention is applied.
FIG. 3 is a rearranged view of each port shown in FIG. 2 to describe connection states provided by the cyclic switching fabric shown in FIG. 2.
FIG. 4 is a view showing connection states provided by the cyclic switching fabric shown in FIG. 3.
5 is a view for explaining a method of improving throughput using a stop port in a cyclic switch to which the present invention is applied.
6 is a diagram for explaining a traffic scheduling concept according to the present invention.
7 and 8 are flowcharts showing a method of determining a connection state in which an input order of traffic is not changed in a destination port according to an embodiment of the present invention in the form of an algorithm.
9 is a view showing the internal configuration of a cyclic switch according to an embodiment of the present invention.
10 is a view showing in detail the internal configuration of each port shown in FIG.
11 is a flowchart illustrating a traffic scheduling method in a cyclic switch according to an embodiment of the present invention.
본 발명의 다양한 실시 예에서 사용될 수 있는 "포함한다" 또는 "포함할 수 있다" 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시 예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Expressions such as “comprises” or “can include” that may be used in various embodiments of the present invention indicate the existence of a corresponding function, operation, or component disclosed, and additional one or more functions, operations, or The components and the like are not limited. In addition, in various embodiments of the present invention, terms such as “include” or “have” are intended to designate the existence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification. Or other features or numbers, steps, actions, components, parts, or combinations thereof, should not be excluded in advance.
본 발명의 다양한 실시예에서 "또는" 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한 다. 예를 들어, "A 또는 B"는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.In various embodiments of the present invention, expressions such as “or” include any and all combinations of words listed together. For example, "A or B" may include A, may include B, or may include both A and B.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성 요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.When a component is said to be "connected" to or "connected" to another component, the component may be directly connected to or connected to the other component, but may not be connected to the component. It will be understood that other new components may exist between the other components. On the other hand, when it is mentioned that a component is "directly connected" or "directly connected" to another component, it will be understood that no other new component exists between the component and the other components. You should be able to.
이하에서는, 본 발명의 이해를 돕기 위해, 본 명세서 전반에 걸쳐 사용되는 몇 가지 기술적 용어들을 설명한 후에 본 발명의 실시 예에 대해 상세히 기술하기로 한다.Hereinafter, in order to help understanding of the present invention, some technical terms used throughout the specification will be described, and then an embodiment of the present invention will be described in detail.
네트워크 스위치Network switch
도 1은 일반적인 네트워크 스위치의 내부 구성을 나타내는 도면이다.1 is a view showing the internal configuration of a typical network switch.
도 1을 참조하면, 일반적인 네트워크 스위치는 다수의 포트, 스위칭 패브릭(10) 및 중앙 스케줄러(12)로 구성된다.Referring to Figure 1, a typical network switch consists of a number of ports, a
각 포트는 송신 포트(TX)와 수신 포트(RX)로 구성된다.Each port is composed of a transmission port (TX) and a reception port (RX).
스위칭 패브릭(10)은 중앙 스케줄러(12)의 제어에 의해 통신 노드로부터 수신한 트래픽(데이터 트래픽, 데이터 프레임, 패킷, 데이터 패킷, 트래픽)을 상기 다수의 포트 중에서 목적지 포트로 경로배정(라우팅)한다.The switching
사이클릭Cyclic 스위치 switch
도 2는 본 발명이 적용되는 사이클릭 스위치의 내부 구성을 나타내는 도면이다.2 is a view showing the internal configuration of a cyclic switch to which the present invention is applied.
도 2를 참조하면, 본 발명이 적용되는 사이클릭 스위치는 통신 노드와 연결되는 N개의 포트 및 사이클릭 스위칭 패브릭(25)을 포함하며, 각 포트는 트래픽을 송신하는 송신 포트(TX)와 트래픽을 수신하는 수신 포트(TX)를 포함한다.Referring to FIG. 2, the cyclic switch to which the present invention is applied includes N ports and a
도 2에 도시된 사이클릭 스위치는 4개의 포트를 포함하도록 구성된 예로서, ??신 노드 1과 연결되는 포트 1(21), 통신 노드 2와 연결되는 포트 2(22), 통신 노드 3과 연결되는 포트 3(23) 및 통신 노드 4와 연결되는 포트 4(24)를 포함한다. The cyclic switch illustrated in FIG. 2 is an example configured to include four ports, ??port 1 (21) connected to
본 발명이 적용되는 사이클릭 스위치의 사이클릭 스위칭 패브릭(25)은, 도 1에 도시한 네트워크 스위치와 다르게 중앙 스케줄러의 제어 없이, 모든 포트들(21, 22, 23, 24)을 서로 연결을 보장해야 한다. The
이를 위해, 사이클릭 스위칭 패브릭(25)은 모든 포트들(21, 22, 23, 24)을 서로 연결하기 위해, 다수의 연결 상태를 갖도록 사전에 설정된다.To this end, the
도 3은 도 2에 도시한 사이클릭 스위칭 패브릭이 제공하는 연결 상태들을 설명하기 위해 도 2에 도시한 각 포트들을 재배열한 도면이고, 도 4는 도 3에 도시한 사이클릭 스위칭 패브릭이 제공하는 연결 상태들을 도시한 도면이다.FIG. 3 is a rearranged view of each port shown in FIG. 2 to describe connection states provided by the cyclic switching fabric shown in FIG. 2, and FIG. 4 is a connection provided by the cyclic switching fabric shown in FIG. 3 It is a diagram showing states.
사이클릭 스위칭 패브릭이 제공하는 연결 상태들의 정확한 이해를 위해, 도 3에 도시된 바와 같이, 도 2에 도시된 각 포트의 수신 포트들(RX1, RX2, RX3, RX4)이 사이클릭 스위칭 패브릭(25)의 왼쪽에 배열되고, 각 포트의 송신 포트들(TX1, TX2, TX3, TX4)이 사이클릭 스위칭 패브릭(25)의 오른쪽에 배열된다. 이러한 배열 방식에 따라, 도 2 및 3에 도시한 사이클릭 스위치는 '4 × 4 사이클릭 스위치'라 불릴 수 있다.For an accurate understanding of the connection states provided by the cyclic switching fabric, as shown in FIG. 3, the reception ports RX1, RX2, RX3, RX4 of each port shown in FIG. 2 are cyclic switching fabric 25 ), and the transmission ports TX1, TX2, TX3, TX4 of each port are arranged on the right side of the
4 × 4 사이클릭 스위치의 사이클릭 스위치 패브릭(25)은 도 4에 도시된 바와 같이, 3개의 연결 상태들을 제공한다. 도 4에서는 4개의 연결 상태들이 도시되어 있으나, 연결 상태 4는 연결 상태 1과 동일하므로, 연결 상태 4와 연결 상태 1은 하나의 연결 상태로 간주한다.The
이와 같이, 4 × 4 사이클릭 스위치에서는, 사이클릭 스위치 패브릭(25)이 제공하는 3개의 연결 상태들에 의해 모든 포트들 간의 연결이 완성된다. 따라서, 중앙 스케줄러의 제어 없이, 사이클릭 스위치 패브릭(25)의 3개의 연결 상태들의 주기적인 반복에 따라, 모든 포트들 간의 연결이 보장된다. 이를 일반화하면, N × N 사이클릭 스위치에서 N-1 개의 연결 상태에 의해 모든 포트들(N개의 포트들)은 서로 연결될 수 있다. 이때, 사이클릭 스위치 패브릭(25)의 내부 연결 상태가 첫 번째 연결 상태에서 N-1번째 연결 상태로 전환될 때까지의 시간을 1 사이클(cycle)로 정의한다.As such, in the 4x4 cyclic switch, the connection between all ports is completed by the three connection states provided by the
전술한 바와 같이, 사이클릭 스위치는, 트래픽 분포에 따라 최적화된 방식에 따라 포트들의 연결을 제어하는 중앙 스케줄러가 없기 때문에, 입력되는 트래픽 분포에 따라 스루풋이 증감한다. As described above, since the cyclic switch does not have a central scheduler that controls the connection of ports in a manner optimized according to the traffic distribution, the throughput increases or decreases according to the input traffic distribution.
예를 들어, 모든 포트에 균일한 트래픽이 입력되고, 목적지로 동작하는 포트에도 균일한 트래픽이 입력되는 상황을 가정했을 때, 이러한 분포를 갖는 트래픽을 uniform 트래픽이라고 부른다. Uniform 트래픽의 경우, 사이클릭 스위치의 스루풋은 1(또는 100%)이 될 것이다. For example, assuming a situation in which uniform traffic is inputted to all ports and uniform traffic is inputted to ports serving as a destination, traffic having such a distribution is called uniform traffic. For Uniform traffic, the throughput of the cyclic switch will be 1 (or 100%).
반면에, 네트워크 스위치에 입력되는 트래픽이 모두 하나의 포트로만 입력되고, 입력된 트래픽의 목적지도 하나라고 가정하자. 본 명세서에서는 이러한 분포를 갖는 트래픽을 Sparse 트래픽 이라고 부른다. On the other hand, it is assumed that all the traffic input to the network switch is inputted to only one port, and the destination of the input traffic is also one. In this specification, traffic having such a distribution is referred to as sparse traffic.
만약 모든 트래픽이 포트 1로 입력되고, 목적지가 포트 4라면, 포트 1의 송신 포트와 포트 4의 수신 포트는 연결 상태 3 에서만 연결되므로, 총 3개의 연결 상태들 중 1개의 연결 상태에서만 트래픽의 송수신이 가능하다. 이 경우, 스루풋은 1/3 로 감소한다. If all traffic is input to
N × N 사이클릭 스위치의 경우, Sparse 트래픽에 대해서는 1/N, uniform 트래픽에 대해서는 1의 스루풋을 제공한다. 이처럼 N × N 사이클릭 스위치는 N이 증가함에 따라 스루풋이 반비례하여 감소한다. 따라서, N × N 사이클릭 스위치의 경우, Sparse 트래픽에 대해 스루풋의 개선이 필요하다.For N × N cyclic switches, it provides 1/N for sparse traffic and 1 for uniform traffic. In this way, the N × N cyclic switch decreases in inverse proportion to the increase in N. Therefore, in the case of an N×N cyclic switch, an improvement in throughput is required for sparse traffic.
트래픽이 입력되는 출발지 포트와 상기 트래픽의 목적지에 대응하는 목적지 포트를 제외한 나머지 포트들 중 일부 포트들을 경유지 포트로 활용하면, Sparse 트래픽에 대해 스루풋을 향상시킬 수 있다. By using some ports of the remaining ports other than the source port to which the traffic is input and the destination port corresponding to the destination of the traffic as a stop port, throughput can be improved for sparse traffic.
도 5는 본 발명이 적용되는 사이클릭 스위치에서 경유지 포트를 이용하여 스루풋을 향상시키는 스케줄링 방법을 설명하기 위한 도면이다.5 is a view for explaining a scheduling method for improving throughput using a stop port in a cyclic switch to which the present invention is applied.
먼저, 모든 트래픽이 포트 1(RX1)으로 입력되고, 포트 1으로 입력된 트래픽이 포트 4(TX4)를 통해 출력되는 Sparse 트래픽이 사이클릭 스위치로 입력되는 경우를 가정한다. 이 경우, 포트 1은 출발지 포트로 동작하고, 포트 4는 목적지 포트로 동작한다. 각 연결 상태에서 ①, ②, ③, ④, ⑤, ⑥은 입력되는 트래픽을 나타낸다.First, it is assumed that all traffic is inputted to the port 1 (RX1), and the traffic inputted to the
연결 상태 1에서 포트 1(RX1)은 포트 2(TX2)와 연결되므로, 포트 1으로 입력된 트래픽 ①은 포트 2(TX2)로 입력된다. 위의 경우에 따라, 포트 2는 목적지 포트(포트 4)가 아니므로, 경유지 포트로 활용된다.In
사이클릭 스위칭 패브릭이 연결 상태 1에서 연결 상태 2로 전환되면, 연결 상태 2에서 포트 2(RX2)는 포트 4(TX4)와 연결되므로, 포트 2로 입력된 트래픽 ①은 연결 상태 2에서 최종 목적지 포트로 동작하는 포트 4(TX4)로 전달된다.When the cyclic switching fabric is switched from the
한편, 연결 상태 2에서 포트 1(RX1)은 포트 3(TX3)과 연결되므로, 트래픽 ②은 연결 상태 2에서 포트 3(TX3)으로 전달된다. 위의 경우에 따라, 포트 3(TX3)은 목적지 포트가 아니므로, 경유지 포트로 활용된다. Meanwhile, in the
사이클릭 스위칭 패브릭이 연결 상태 2에서 연결 상태 3으로 전환되면, 포트 3(RX3)은 포트 2(TX2)와 연결된다. 위의 경우에서 트래픽 ②의 목적지는 포트 4이므로, 포트 2로 전달되지 않고, 다음 연결 상태(연결상태 4 = 연결 상태1)로 전환될 때까지 포트 3(RX3)의 버퍼 메모리에서 대기한다.When the cyclic switching fabric transitions from
사이클릭 스위칭 패브릭이 연결 상태 3에서 연결상태 4(연결 상태1)로 전환되면, 연결상태 4(연결 상태1)에서는 포트 3(RX3)이 포트 4(TX4)와 연결되므로, 사이클릭 스위칭 패브릭이 연결상태 4(연결 상태1)로 전환된 시점에서 포트 3(RX3)의 버퍼 메모리에서 대기하고 있는 트래픽 ②는 최종 목적지로 동작하는 포트 4(TX4)로 전달된다. When the cyclic switching fabric is switched from the
유사하게, 트래픽 ③, ④, ⑤, ⑥은 각 연결 상태에서 설정된 경로를 따라 최종 목적지인 포트 4로 전달된다. 트래픽 ③, ④, ⑤, ⑥이 목적지 포트로 동작하는 포트 4로 전달되는 과정은 트래픽 ①, ②가 목적지 포트로 동작하는 포트 4로 전달되는 과정에 대한 설명으로 대신한다.Similarly,
이와 같이, 포트 1으로 입력되는 모든 트래픽들 ①, ②, ③, ④, ⑤, ⑥은 손실 없이 최종 목적지인 포트 4로 전달되므로, 위 트래픽 조건에서 스루풋은 100% 임을 알 수 있다. 이 방식은 트래픽이 목적지에 도달하기까지 최대 2번에 걸쳐 전송되므로 2-hop 방식이라고 부른다.As described above, all traffic inputted to
2-hop 방식은 Sparse 트래픽에 대해서는 100% 의 스루풋을 가진다. 하지만 하나의 트래픽을 최대 2번에 걸쳐 전송해야 하므로 송수신에 필요한 자원이 2배로 늘어난다. The 2-hop method has 100% throughput for sparse traffic. However, since one traffic has to be transmitted up to twice, the resources required for transmission and reception are doubled.
Sparse 트래픽이 사이클릭 스위치로 입력되는 상황에서는, 유휴(idle) 포트(경유지 포트)로 활용될 수 있는 포트가 존재하기 때문에 Sparse 트래픽을 목적지 포트로 전달하는 과정에서 큰 문제는 없다.In the situation where the sparse traffic is input to the cyclic switch, there is no problem in the process of delivering sparse traffic to the destination port because there are ports that can be used as idle ports (stop ports).
하지만, 모든 포트에 트래픽이 입력되는 Uniform 트래픽에 대해서는, 트래픽을 송수신하는데 2배의 자원이 필요하기 때문에, 스루풋이 약 50%로 감소한다. However, for uniform traffic, in which traffic is input to all ports, throughput is reduced to about 50% because twice the resources are required to transmit and receive traffic.
추가로, 도 5에 도시된 바와 같이, 출발지 포트로 입력되는 트래픽들의 입력 순서와 목적지 포트로 입력되는 트래픽들의 입력 순서가 서로 다른 문제점이 있다. In addition, as illustrated in FIG. 5, there is a problem in that the input order of traffic input to the source port and the input order of traffic input to the destination port are different.
즉, 도 5에 도시된 바와 같이, 출발지 포트로 동작하는 포트 1으로 입력되는 트래픽들의 입력 순서는 ①→②→③→④→⑤→⑥이지만, 목적지 포트로 동작하는 포트 4로 입력되는 트래픽들의 입력 순서(또는 수신 순서)는 ①→③→②→④→⑥→⑤이다. That is, as shown in FIG. 5, the input order of traffic input to
변경된 입력 순서는 교정될 필요가 있다. 변경된 입력 순서를 교정하기 위해, 트래픽의 입력 순서를 재정렬하는 작업이 필요하다. 이러한 재정렬 작업은, 전술한 바와 같이, 사이클릭 스위치의 레이턴시(latency) 및 복잡성을 증가시킨다.The changed input order needs to be corrected. In order to correct the changed input order, it is necessary to rearrange the input order of traffic. This reordering operation, as described above, increases the latency and complexity of the cyclic switch.
본 발명은 경유지 포트를 이용하여 사이클릭 스위치의 스루풋을 증가시키되, 출발지 포트로 입력되는 트래픽의 입력 순서와 목적지 포트로 입력되는 트래픽의 입력 순서가 달라지는 문제점을 해결할 수 있는 트래픽 스케줄링 방법을 제안한 것이다.The present invention proposes a traffic scheduling method that can increase the throughput of a cyclic switch by using a stopover port, but solve a problem in which an input order of traffic input to a source port and an input order of traffic input to a destination port are different.
도 6은 본 발명에 따른 트래픽 스케줄링 개념을 설명하기 위한 도면이다. 6 is a diagram for explaining a traffic scheduling concept according to the present invention.
도 6을 참조하면, 출발지 포트가 포트 1이고, 목적지 포트가 포트 4인 경우를 가정한다. 그리고, 포트 1으로 입력되는 트래픽은 ①과 ②로 가정한다. 이 경우, 포트 1으로 트래픽 ①이 입력된 후, 트래픽 ②가 입력될 때, 포트 4가 트래픽 ①을 수신한 후, 트래픽 ②를 수신하면, 트래픽의 입력 순서를 재정렬하는 작업은 필요 없다.Referring to FIG. 6, it is assumed that the source port is
포트 4가 ①→②의 순서로 트래픽을 수신하려면, 포트 1으로 입력되는 트래픽이 연결 상태 1과 3에서만 송신을 시작하도록 설정하면 된다. 이 경우, 총 3개의 연결 상태들 중에서 2개의 연결 상태들에서만 트래픽의 송신이 시작되므로, Sparse 트래픽에 대한 스루풋은 2/3 로 감소한다. 그러나, 목적지 포트인 포트 4에 입력되는 트래픽의 입력 순서는 포트 1에 입력되는 트래픽의 입력 순서를 그대로 유지하게 된다.In order for
정리하면, 4 × 4 사이클릭 스위치의 경우, 포트 1을 출발지로 하고, 포트 4를 목적지로 하는 트래픽은 연결 상태 1과 3에서만 송신하도록 미리 설정하고, 포트 1을 출발지로 하고, 포트 2를 목적지로 하는 트래픽에 대해서는 연결 상태 1과 2에서만 송신하도록 설정하고, 포트 1을 출발지로 하고, 포트 3을 목적지로 하는 트래픽은 연결 상태 2에서만 송신하도록 설정하면, 목적지 포트에서 트래픽의 입력 순서(수신 순서)가 변경되는 문제를 해결할 수 있다.In summary, in the case of a 4x4 cyclic switch,
이러한 개념에 기초하여, 본 발명에서는 출발지 포트로 입력되는 트래픽들의 입력 순서가 목적지 포트에서 변경되는 것을 방지하기 위해, 목적지 포트에 따라 트래픽의 입력 순서가 변경되지 않는 연결 상태를 사전에 결정하고, 사전에 결정된 연결 상태를 데이터화하여 각 포트 내의 메모리에 미리 저장시키는 것이다.Based on this concept, in the present invention, in order to prevent an input order of traffic input to a source port from being changed at a destination port, a connection state in which an input order of traffic is not changed according to a destination port is determined in advance, and The connection status determined in the data is pre-stored in the memory in each port.
이렇게 함으로써, 각 포트는 현재 입력된 트래픽을 사전에 저장된 연결상태에서만 목적지 포트로 송신하도록 스케줄링하여, 트래픽의 입력 순서가 목적지 포트에서 변경되는 것을 방지할 수 있다.By doing so, each port can be scheduled to transmit the currently input traffic to the destination port only in a pre-stored connection state, thereby preventing the traffic input order from being changed at the destination port.
본 발명의 일 특징에 따른 According to one aspect of the invention
트래픽
본 발명의 트래픽 스케줄링 정책 1은, 트래픽들의 입력 순서가 목적지 포트에서 변경되는 것을 방지하기 위해, 목적지 포트 별로 연결 상태를 사전에 결정하는 것이다. 이러한 연결 상태는 트래픽이 목적지 포트에 도달하기 까지 경유하는 경유지 포트를 찾는 과정을 통해 결정될 수 있다.The
경유지 포트는 다음과 같은 방법으로 계산될 수 있다.The waypoint port can be calculated in the following way.
도 4에서 각 연결 상태를 주의 깊게 살펴보면, 먼저, 연결 상태 1 에서 포트 k에서 송신된 트래픽은 포트 k+1로 전달되고, 연결 상태 2에서 포트 k에서 송신된 트래픽은 포트 k+2로 전달됨을 알 수 있다. 이를 일반화하면, 연결 상태 s에서 포트 k에서 송신된 트래픽은 제 k + s 포트로 전달된다. 이때 만일 포트 k+s가 N 보다 크다면, k+s를 N 으로 나눈 나머지를 번호로 갖는 포트로 전달된다. 설명의 편의를 위해, k+s를 N으로 나누었을 때 나머지를 구하는 연산을 mod(k+s, N)으로 표현한다. 여기서, N은 사이클릭 스위치 내부에 구비된 포트들의 전체 개수이다.Looking carefully at each connection state in FIG. 4, first, the traffic transmitted from port k in
트래픽이 1개의 경유지 포트를 통과하는 경우에, 연결 상태 s(s번째 연결 상태)에서 포트 k에서 송신된 트래픽은, mod(k+s, N) 포트를 거쳐 mod((k+s)+(s+1), N) 포트로 전달된다. 이를 일반화 하면, 트래픽이 n개의 경유지 포트를 통과할 경우, 연결 상태 s에서 포트 k에서 송신된 트래픽은, 경유지 포트 mod(k+s, N), 경유지 포트 mod(k+2s+1, N), 경유지 포트 mod(k+3s+3, N)를 거쳐, 최종 경유지 포트 mod(k+(n+1)s+(1+2+3+…+n), N)로 전달된다. When traffic passes through one waypoint port, traffic transmitted from port k in connection state s (sth connection state) is mod((k+s)+() through port mod(k+s, N) s+1), N). Generalizing this, if the traffic passes through n waypoint ports, the traffic sent from port k in connection state s is the waypoint port mod(k+s, N), waypoint port mod(k+2s+1, N). , Via the stopover port mod(k+3s+3, N), to the final stopover port mod(k+(n+1)s+(1+2+3+…+n), N).
잘 알려진 (1+2+3+ … +n) = n×(n+1)/2의 관계식을 이용하면, mod(k+(n+1)s+(1+2+3+…+n), N)은 mod(k+(n+1)×(s+n/2), N)로 나타낼 수 있다. 이때 사이클릭 스위치의 주기성을 고려하면, k 는 1부터 N 사이의 정수이며, s 는 1부터 N-1 사이의 정수, n 은 0부터 N-1 사이의 정수이다. n = 0 은 경유지 포트가 없는 경우이다.Using the well-known relation (1+2+3+… +n) = n×(n+1)/2, mod(k+(n+1)s+(1+2+3+…+n), N) can be expressed as mod(k+(n+1)×(s+n/2), N). At this time, considering the periodicity of the cyclic switch, k is an integer from 1 to N, s is an integer from 1 to N-1, and n is an integer from 0 to N-1. n = 0 if there is no waypoint port.
이와 같이, n개의 경유지 포트가 모두 계산되면, n개의 경유지 포트를 기반으로 연결 상태를 결정할 수 있다. 예를 들면, 3개의 경유지 포트가 계산된 경우, 스위치 패브릭의 전체 연결 상태들 중에서 목적지 포트와 첫 번째 경유지 포트를 연결하는 연결 상태, 첫 번째 경유지 포트와 두 번째 경유지 포트를 연결하는 연결 상태, 두 번째 경유지 포트와 세 번째 경유지 포트를 연결하는 연결 상태 및 세 번째 경유지 포트와 목적지 포트를 연결하는 연결 상태를 선택할 수 있다. 이때, 선택된 연결 상태들에 식별 가능한 지시자를 부여하는 방식으로 선택된 연결 상태들의 데이터화가 가능하다. As described above, when all n stop ports are calculated, a connection state may be determined based on the n stop ports. For example, if three waypoint ports are counted, the connection state connecting the destination port and the first waypoint port among the total connection states of the switch fabric, the connection state connecting the first waypoint port and the second waypoint port, two You can select the connection status connecting the third stop port and the third stop port, and the connection status connecting the third stop port and the destination port. At this time, it is possible to data the selected connection states in such a way that an identifiable indicator is given to the selected connection states.
이상의 과정을 알고리즘 형태로 구현하면, 도 7 및 8과 같다.When the above process is implemented in the form of an algorithm, it is as shown in FIGS. 7 and 8.
도 7 및 8은 본 발명의 실시 예에 따른 트래픽의 입력 순서가 목적지 포트에서 변경되지 않게 하는 연결 상태를 결정하는 방법을 알고리즘 형태로 나타낸 순서도이다.7 and 8 are flowcharts showing a method of determining a connection state in which an input order of traffic is not changed in a destination port according to an embodiment of the present invention in the form of an algorithm.
먼저, 도 8을 참조하면, 단계 S810에서, 변수(N, K, L, n, s, s_tx) 정의 및 정의된 변수에 초기 조건을 입력한다. 여기서, N은 사이클릭 스위치 내부의 전체 포트 개수이고, k는 출발지 포트의 포트 번호이고, L은 목적지 포트의 포트 번호, n은 트래픽이 송신된 후 목적지 포트에 도달할 때까지 경유하는 경유지 포트의 개수, s는 사이클릭 스위칭 패브릭의 연결 상태의 식별 번호이고, s_tx는 트래픽의 입력 순서가 변경하지 않게 설정 가능한 연결 상태를 원소로 하는 집합.First, referring to FIG. 8, in step S810, variables (N, K, L, n, s, s_tx) are defined and initial conditions are input to the defined variables. Here, N is the total number of ports inside the cyclic switch, k is the port number of the source port, L is the port number of the destination port, and n is the number of the destination port that passes through until traffic reaches the destination port after transmission. The number, s is an identification number of the connection state of the cyclic switching fabric, and s_tx is a set of elements whose connection state can be set so that the input order of traffic does not change.
이어, 단계 S812에서, 변수 n에 '0(zero)'을 입력한다. 이 경우, 집합 s_tx에 포함되는 원소(트래픽의 입력 순서가 변경하지 않게 설정 가능한 연결 상태)는 존재하지 않는다.Next, in step S812, '0 (zero)' is input to the variable n. In this case, the element included in the set s_tx (the connection state that can be set so that the input order of traffic is not changed) does not exist.
이어, 단계 S814에서, mod(k+(n+1)×(s+n/2), N) = L을 만족하는 s를 모두 찾아 임시 변수 s_temp에 저장한다.Next, in step S814, all s satisfying mod(k+(n+1)×(s+n/2), N) = L are found and stored in the temporary variable s_temp.
이어, 단계 S816에서, s_temp에 저장된 원소들 중 s_tx에 속하는 원소(설정 가능한 연결 상태)가 있는지를 판단한다. Next, in step S816, it is determined whether there is an element (configurable connection state) belonging to s_tx among the elements stored in s_temp.
단계 S818에서, s_temp에 저장된 원소들 중에서 s_tx에 속하는 원소(설정 가능한 연결 상태)가 있으며, s_temp에 저장된 원소들에서 s_tx에 속하는 원소와 겹치는 원소를 삭제하고, S816에서 수행되는 과정을 반복한다.In step S818, among elements stored in s_temp, there is an element belonging to s_tx (configurable connection state), and elements that overlap with elements belonging to s_tx from elements stored in s_temp are deleted, and the process performed in step S816 is repeated.
단계 S820에서, s_temp에 저장된 원소들 중에서 s_tx에 속하는 원소(설정 가능한 연결 상태)가 없으면, s_tx과 s_temp에 저장된 설정 가능한 연결 상태에서 트래픽을 송신한다고 가정하고, 트래픽이 목적지 포트에 수신하는 시간을 계산한다.In step S820, if there is no element belonging to s_tx (configurable connection state) among the elements stored in s_temp, it is assumed that the traffic is transmitted in the configurable connection state stored in s_tx and s_temp, and the time that the traffic receives to the destination port is calculated. do.
도 8를 참조하면, 단계 S822에서, 목적지 포트에 수신된 시간(이하, 수신 시간)을 기준으로 트래픽의 순서가 변경되는 지를 판단한다. Referring to FIG. 8, in step S822, it is determined whether an order of traffic is changed based on a time (hereinafter, a reception time) received at the destination port.
단계 S824에서, 수신 시간에서 트래픽의 순서가 변경되면, s_temp에 저장된 원소(설정 가능한 연결 상태)에서, 목적지 포트의 수신 시간에 트래픽의 순서가 변경되게 하는 원소를 찾아 삭제한다.In step S824, when the order of traffic is changed at the reception time, in the element (configurable connection state) stored in s_temp, an element that causes the order of traffic to be changed at the reception time of the destination port is found and deleted.
단계 S826에서, 수신 시간에서 트래픽의 순서가 변경되지 않으며, s_temp에 저장된 원소(설정 가능한 연결 상태)를 s_tx에 추가하고, 경유지 포트 개수 n을 1씩 증가시킨다.In step S826, the order of traffic is not changed at the reception time, and the element (configurable connection state) stored in s_temp is added to s_tx, and the number of stop ports n is increased by one.
단계 S828에서, 1이 증가된 경유지 포트의 개수 n이 사이클릭 스위치 내부의 전체 포트 개수 N보다 작은지를 판단한다.In step S828, it is determined whether the number n of stop ports where 1 is increased is less than the total number N of ports in the cyclic switch.
1이 증가된 경유지 포트의 개수 n이 사이클릭 스위치 내부의 전체 포트 개수 N보다 작으면, 단계 S814~S826를 반복 수행한다.If the number n of the waypoint ports where 1 is increased is less than the total number N of ports in the cyclic switch, steps S814 to S826 are repeatedly performed.
1이 증가된 경유지 포트의 개수 n이 사이클릭 스위치 내부의 전체 포트 개수 N과 동일하거나 크면, 단계 S830에서, 모든 s_tx에 포함된 원소(설정 가능한 연결 상태)와 경유지 포트의 포트 번호를 각 포트의 메모리에 저장한다.If the number n of the via ports increased by 1 is equal to or greater than the total number N of the internal ports of the cyclic switch, in step S830, the elements (configurable connection state) included in all s_tx and the port numbers of the via ports are Store in memory.
본 발명의 다른 특징에 따른 According to another feature of the invention
트래픽
본 발명의 트래픽 스케줄링 정책2에서는, 모든 포트가 사이클릭 스위치 패브릭의 현재 연결 상태에서 입력된(또는 수신된) 트래픽의 목적지를 분석하고, 목적지가 자신인지 아닌지를 확인하고, 자신이 아니면 그 트래픽을 사이클릭 패브릭의 연결 상태가 다음 연결 상태로 전환되면, 다음 연결 상태로 전환된 시점에서 바로 송신하도록 스케줄링한다. In the
예를 들면, 자신의 버퍼 메모리에 자신이 경유지 포트로 동작하는 경우에 송신해야 하는 트래픽(자신을 거쳐가지는 트래픽)과 자신이 출발지 포트 또는 목적지 포트로 동작하는 경우에서 송신해야 하는 트래픽(외부 통신 노드로부터 직접 수신된 트래픽 또는 외부 통신 노드로 송신해야 하는 트래픽)이 축적되어 있는 경우, 자신이 출발지 포트 또는 목적지 포트로 동작하는 경우에서 송신해야 하는 트래픽에 우선하여 자신이 경유지 포트로 동작하는 경우에 송신해야 하는 트래픽을 먼저 송신하도록 스케줄링 한다.For example, in the buffer memory of itself, traffic that should be transmitted when it is operating as a way-over port (traffic passing through itself) and traffic that must be transmitted when it is operating as a source or destination port (external communication node) When traffic directly received from or traffic to be transmitted to an external communication node) is accumulated, it transmits when it operates as a destination port in preference to the traffic to be transmitted when it operates as a source port or a destination port. Schedule the traffic to be sent first.
본 발명의 또 다른 특징에 다른 스케줄링 정책 3
자신이 경유지 포트로 동작하는 경우에 송신해야 하는 트래픽과 자신이 출발지 포트 또는 목적지 포트로 동작하는 경우에서 송신해야 하는 트래픽 간의 경합이 발생한 경우, 전술한 트래픽 스케줄링 정책에 따라 경유지 포트로 동작하는 경우에 송신해야 하는 트래픽에 우선권을 부여하는 경우, 자신이 출발지 포트 또는 목적지 포트로 동작하는 경우에서 송신해야 하는 트래픽의 송신이 크게 지연될 수 있다. When there is a contention between the traffic to be transmitted when the user is operating as the waypoint port and the traffic to be transmitted when the user is acting as the source port or the destination port, when the traffic is to be used as the waypoint port according to the aforementioned traffic scheduling policy When priority is given to traffic to be transmitted, transmission of traffic to be transmitted may be significantly delayed when the user operates as a source port or a destination port.
이에 본 발명의 또 다른 특징은 출발지 포트가 경유지 포트가 송신해야 할 트래픽 양을 실시간으로 모니터링하고, 경유지 포트가 송신해야 할 트래픽 양이 어느 수준을 넘어 설 경우, 출발지 포트는 현재 연결 상태에서 해당 경유지 포트로 트래픽을 송신하지 않고, 다음 사이클의 현재 연결 상태가 도래할 때까지 트래픽 송신을 중단한다. Accordingly, another feature of the present invention is that the source port monitors in real time the amount of traffic that the destination port should transmit, and when the amount of traffic that the destination port needs to transmit exceeds a certain level, the source port is the corresponding destination in the current connection state. It does not send traffic to the port, but stops sending traffic until the current connection status of the next cycle arrives.
예를 들면, 포트 1이 연결 상태 1에서 트래픽 1과 트래픽 2를 경유지 포트로 동작하는 포트 2를 경유하여 목적지 포트로 동작하는 포트 4로 송신하는 경우를 가정한다. For example, it is assumed that
포트 1은, 포트 2에 저장된 트래픽 양(포트 2에 대기중인 트래픽 양)을 모니터링하여, 포트 2로 송신될 트래픽이 기준 트래픽양을 초과하는 경우, 포트 1은, 연결 상태 1에서 트래픽 1과 트래픽 2를 포트 2로의 송신하지 않는다.
반대로, 포트 1은, 포트 2에 저장된 트래픽 양(포트 2에 대기중인 트래픽 양)을 모니터링하여, 포트 2로 송신될 트래픽이 기준 트래픽양 이하인 경우, 포트 1은, 연결 상태 1에서 트래픽 1과 트래픽 2를 포트 2로의 송신한다. Conversely,
이렇게 함으로써, 경유지 포트는 자신이 출발지 포트 또는 목적지 포트로 동작할 때 송신해야 하는 트래픽을 원활히 송신할 수 있게 된다. By doing this, the waypoint port can smoothly transmit traffic that needs to be transmitted when it operates as a source port or a destination port.
한편, 포트 2로 송신될 트래픽이 기준 트래픽양을 초과하여, 포트 1에서 송신되지 않은 트래픽은 다음 사이클의 연결 상태 1에서 트래픽을 포트 2로 전송할 수 있다. 또는 포트 1은 다음 사이클의 연결 상태 1에서 트래픽을 포트 2로 전송하는 것이 아니라 자신과 목적지 포트로 동작하는 포트 4가 직접 연결되는 연경 상태에서 트래픽을 포트 4로 송신할 수 있다. 이 경우는 경유지 포트를 전혀 활용하지 않는 경우이다.On the other hand, the traffic to be transmitted to
전술한 스케줄링 정책 3을 원활히 구현하기 위해서는, 사이클릭 스위치 내의 모든 포트가 자신의 버퍼 메모리에 축적된 트래픽 양을 공유해야 한다. 이를 위해, 본 발명에서는 각 포트가 자신의 버퍼 메모리에 축적된 트래픽 양을 다른 포트에 전달한다. 또한, 각 포트가 다른 포트로부터 전달받은 다른 포트의 버퍼 메모리에 축적된 트래픽 양을 또 다른 포트로 전달하도록 구성된다. In order to implement the above-described
이하, 전술한 본 발명의 스케줄링 정책 1, 2, 3이 적용된 사이클릭 스위치의 하드웨어 구성에 대해 상세히 설명한다.Hereinafter, the hardware configuration of the cyclic switch to which the
도 9는 본 발명의 실시 예에 따른 사이클릭 스위치의 내부 구성을 도시한 도면이다.9 is a view showing the internal configuration of a cyclic switch according to an embodiment of the present invention.
도 9을 참조하면, 본 발명의 실시 예에 따른 사이클릭 스위치(100)는 통신 노드와 연결되는 다수의 포트들(110_1, … 110_N-1, 110_N) 및 사이클릭 스위칭 패브릭(120)을 포함한다. Referring to FIG. 9, the
각 포트는 트래픽을 수신하는 수신 포트(RX)와 트래픽을 송신하는 송신 포트(TX)를 포함한다. 각 포트는 출발지 포트, 경유지 포트 및 목적지 포트 중 어느 하나로 동작한다. Each port includes a reception port RX for receiving traffic and a transmission port TX for transmitting traffic. Each port acts as either a source port, a destination port, or a destination port.
추가로, 각 포트는 스케줄러(130)를 포함한다. 각 포트는 독립적인 스케줄러(130)를 포함하는 점에서 도 2에 도시한 사이클릭 스위치와 차이가 있다. 각 스케줄러(130)는 전술한 트래픽 스케줄러 정책 1, 2, 3에 따라 트래픽을 스케줄링한다. 스케줄러(130)의 내부 구성에 대해서는 도 10을 참조하여 상세히 설명한다. Additionally, each port includes a
사이클릭 스위칭 패브릭(130)은 주기적으로 반복하는 다수의 연결 상태에 따라 N개의 포트를 서로 연결한다.The
도 10은 도 9에 도시된 각 포트의 내부 구성을 상세히 도시한 도면이다.10 is a view showing in detail the internal configuration of each port shown in FIG.
도 10에서는 포트 N-1(110_N-1)의 내부 구성이 도시되며, 다른 포트들 각각의 내부 구성은 포트 N-1(110_N-1)의 내부 구성에 대한 설명으로 대신한다.In FIG. 10, the internal configuration of the port N-1 (110_N-1) is illustrated, and the internal configuration of each of the other ports is replaced with a description of the internal configuration of the port N-1 (110_N-1).
도 10을 참조하면, 포트 N-1(110_N-1)는 수신 포트(RX), 송신 포트(TX), 분류기(111), 버퍼 메모리(113), 스케줄러(115) 및 통신부(117)를 포함한다.Referring to FIG. 10, the port N-1 (110_N-1) includes a reception port (RX), a transmission port (TX), a
수신 포트(RX)는 통신 노드 또는 다른 포트(목적지 포트 또는 경유 포트로 동작하는 포트)로부터 다수의 트래픽을 수신한다.The receiving port RX receives multiple traffics from a communication node or other port (a port acting as a destination port or a transit port).
송신 포트(TX)는 다른 포트(목적지 포트 또는 경유 포트로 동작하는 포트)로부터 송신된(입력된) 다수의 트래픽을 다른 포트(경유지 포트로 동작하는 포트 또는 목적지 포트로 동작하는 포트) 또는 통신노드로 송신한다.The transmission port (TX) is a communication port that transfers (inputs) a number of traffic transmitted from another port (a port acting as a destination port or a destination port) to another port (a port acting as a destination port or a port acting as a destination port) or a communication node. To send.
분류기(111)는 수신 포트(RX)를 통해 입력된 다수의 트래픽을 목적지에 따라 분류한다. 예를 들면, 각 트래픽의 목적지는 각 트래픽의 헤더 영역에 기록된 목적지 정보의 분석을 통해 알 수 있다. 목적지 정보는 목적지 포트의 포트 번호 및 목적지 포트에 연결되는 통신 노드의 주소 정보를 포함한다.The
버퍼 메모리(113)는 분류기(111)에 의해 목적지 별로 분류된 트래픽을 저장하는 구성으로, 가상 출력 큐(Virtual Output Queue, VOQ)로 불릴 수 있다.The
스케줄러(115)는 버퍼 메모리(113)에 저장된 트래픽을 전술한 본 발명의 특징에 따른 트래픽 스케줄링 정책들에 따라 사이클릭 스위치 패브릭(130)을 통해 다른 포트(경유지 포트 또는 목적지 포트로 동작하는 포트)로 송신(전달)한다.The
이를 위해, 스케줄러(115)는 프로세서(115A), 제1 메모리(115B) 및 제2 메모리(115C)를 포함한다.To this end, the
프로세서(115A)는 SoC(system on chip) 또는 SiP(system in package)으로 구현될 수 있다. 프로세서(115A)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 본 발명의 특징에 따른 트래픽 스케줄링 정책들에 따라 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(115A)는 다른 포트들로부터 수신된 명령, 데이터 또는 정보를 휘발성 메모리에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.The
제1 메모리(115B)에는 목적지 포트에서 트래픽의 입력 순서가 변경되지 않도록 각 트래픽의 목적지에 따라 사전에 설정한 적어도 하나의 연결 상태를 포함하는 연결 상태 테이블이 저장된다. 이때, 제1 메모리(115B)는 비휘발성 메모리일 수 있다. In the
이러한 연결 상태 테이블은 출발지 포트의 포트 번호, 목적지 포트의 포트 번호, 경유지 포트의 포트 번호, 경유지 포트를 통과하는 경로를 나타내는 적어도 하나의 연결 상태를 지시하는 지시자를 포함한다.The connection status table includes an indicator indicating at least one connection status indicating a port number of a source port, a port number of a destination port, a port number of a destination port, and a path through a destination port.
경유지 포트가 제1 내지 제3 경유지 포트를 포함하는 경우, 상기 지시자는 출발지 포트와 제1 경유지 포트를 연결하는 스위치 패브릭의 연결상태를 나타내는 제1 지시자, 제1 경유지 포트와 제2 경유지 포트를 연결하는 스위치 패브릭의 연결상태를 나타내는 제2 지시자, 제2 경유지 포트와 제3 경유지 포트를 연결하는 스위치 패브릭의 연결상태 나타내는 제3 지시자 및 제3 경유지 포트와 목적지 포트를 연결하는 스위치 패브릭의 연결상태를 나타내는 제4 지시자를 포함한다.When the waypoint port includes the first to third waypoint ports, the indicator connects the first waypoint, the first waypoint port, and the second waypoint port indicating the connection state of the switch fabric connecting the source port and the first waypoint port The second indicator indicating the connection state of the switch fabric, the third indicator indicating the connection state of the switch fabric connecting the second stop port and the third stop port, and the connection status of the switch fabric connecting the third stop port and the destination port. It includes a fourth indicator.
경유지 포트가 없는 경우, 상기 지시자는 출발지 포트와 목적지 포트를 직접 연결하는 스위치 패브릭의 연결상태를 나타내는 제5 지시자를 포함한다.If there is no waypoint port, the indicator includes a fifth indicator indicating the connection state of the switch fabric that directly connects the source port and the destination port.
경유지 포트의 존재여부에 상관없이, 상기 지시자는 출발지 포트로 입력된 트래픽이 목적지 포트에서 입력 순서가 변경되지 않도록 사전에 설정한 연결상태를 지시하는 데이터라는 점이 중요하다.It is important to note that regardless of the presence or absence of a stopover port, the indicator is data indicating a connection state set in advance so that traffic inputted to the source port does not change the input order at the destination port.
제2 메모리(115C)에는 통신부(117)를 통해 전달된 다른 포트들의 트래픽 상황 정보가 저장된다. 이하, 트래픽 상황 정보는 VOQ 상황 정보라 한다. VOQ 상황 정보는 다른 포트들 각각의 버퍼 메모리에 축적된 트래픽양을 나타내는 정보일 수 있다.Traffic condition information of other ports transmitted through the
프로세서(115A)는 제1 메모리에 저장된 연결 상태 테이블, 제2 메모리에 저장된 다른 포트들의 VOQ 상황 정보 및 자신이 포함된 포트의 VOQ 상황을 고려하여 스위치 패브릭(130)의 현재 연결 상태에서 다른 포트로 송신할 트래픽을 결정한다. The
예를 들면, 프로세서(115A)는 버퍼 메모리(113)에 다른 포트로부터 전달된 트래픽(자신이 경유지 포트로 동작하는 경우에 송신해야 하는 트래픽)과 통신 노드로부터 전달된 트래픽(자신이 출발지 포트로 동작하는 경우에 송신해야 하는 트래픽)이 저장되어 있는 경우, 통신 노드로부터 전달된 트래픽에 우선하여, 다른 포트로부터 전달된 트래픽을 스위치 패브릭(130)의 현재 연결 상태에서 송신할 트래픽으로서 결정한다. For example, the
또한, 프로세서(115A)는 송신하기 전에, 자신의 VOQ 상황과 다른 포트들로부터 전달된 VOQ 상황 정보를 고려하여, 스위치 패브릭(130)의 현재 연결 상태에서 송신할 트래픽으로서 최종적으로 결정한다.In addition, before transmitting, the
또한, 프로세서(115A)는 다른 포트들로부터 전달된 현재의 VOQ 상황 정보를 제2 메모리(115C)에 저장하여, 제2 메모리에 저장된 이전의 VOQ 상황 정보를 실시간으로 업데이트한다.In addition, the
이와 같이, 스케줄러는 연결 상태 테이블을 참조하여, 버퍼 메모리에 저장된 입력된 트래픽들 중에서 스위치 패브릭의 현재 연결 상태에서 다른 포트로 송신할 입력된 트래픽을 결정하고, 다른 포트들로부터 전달된 VOQ 상황 정보를 이용하여 스위치 패브릭의 현재 연결 상태에서 다른 포트로 송신할 입력된 트래픽을 최종 결정하고, 최종 결정된 트래픽을 외부 통신 노드로 송신한다.As described above, the scheduler determines the input traffic to be transmitted to the other port in the current connection state of the switch fabric among the input traffic stored in the buffer memory by referring to the connection state table, and the VOQ status information transmitted from the other ports Finally, the input traffic to be transmitted to another port in the current connection state of the switch fabric is finally determined, and the finally determined traffic is transmitted to the external communication node.
도 11은 본 발명의 실시 예에 따른 사이클릭 스위치에서의 트래픽 스케쥴링 방법을 나타내는 순서도이다. 이해를 돕기 위해, 도 9 및 10이 함께 참조될 수 있다.11 is a flowchart illustrating a traffic scheduling method in a cyclic switch according to an embodiment of the present invention. For understanding, FIGS. 9 and 10 may be referred together.
도 11을 참조하면, 단계 S1110에서, 분류기(111)가, 자신이 포함된 포트로 입력되는 트래픽들을 목적지에 따라 분류하는 과정이 수행된다. 이러한 분류 과정은 각 트래픽의 헤더 영역에 기록된 목적지 정보(목적지 포트의 포트 번호, 목적지 포트에 연결되는 통신 노드의 주소 정보)를 기반으로 수행될 수 있다. 목적지 별로 분류된 트래픽들은 버퍼 메모리(113)에 저장된다.Referring to FIG. 11, in step S1110, the
이어, 단계 S1120에서, 스케줄러(115) 또는 프로세서(115A))가 제1 메모리(115B)에 사전 저장된 연결 상태 테이블을 참조하여, 입력 트래픽을 목적지로 송신하는 시점에서 송신 가능한 스위치 패브릭의 연결 상태를 결정하는 과정이 수행된다. 연결 상태 테이블은 출발지 포트의 포트 번호, 목적지 포트의 포트 번호, 출발지 포트로 입력되는 트래픽의 입력순서가 목적지 포트에서 변경되지 않게 하는 경로 상에 존재하는 경유지 포트의 포트 번호 및 출발지 포트, 경유지 포트 및 목적지 포트를 연결하는 스위칭 패브릭의 적어도 하나의 연결 상태를 지시하는 지시자를 포함하도록 구성된다.Subsequently, in step S1120, the
이어, 단계 S1130에서, 스케줄러(115) 또는 프로세서(115A))가 상기 단계 S1120에서 결정된 연결 상태와 상기 스위치 패브릭의 현재 연결 상태가 동일한지를 판별하는 과정이 수행된다. 동일하지 않은 경우, 입력된 다른 트래픽에 대해 단계 S1120을 재 수행한다. Subsequently, in step S1130, a process in which the
이어, 단계 S1140에서, 상기 단계 S1120에서 결정된 연결 상태와 상기 스위치 패브릭의 현재 연결 상태가 동일하면, 스케줄러(115) 또는 프로세서(115A))가 상기 다른 포트로부터 전달된 상기 다른 포트의 VOQ 상황(다른 포트의 버퍼메모리에서 송신 대기중인 트래픽양)을 고려하여, 상기 입력된 트래픽을 상기 다른 포트로 송신할지를 결정하는 과정이 수행된다.Subsequently, in step S1140, if the connection state determined in step S1120 and the current connection state of the switch fabric are the same, the
예를 들면, 상기 다른 포트의 VOQ 상황, 즉, 다른 포트의 버퍼메모리에서 송신 대기중인 트래픽양이 기준 트래픽량을 초과하면, 현재 연결 상태에서 입력된 트래픽을 송신하지 않고, 다음 사이클의 현재 연결 상태에서 입력된 트래픽을 송신하거나 자신(스케줄러(115))이 포함된 포트와 목적지 포트(입력된 트래픽의 목적지)를 직접 연결하는 연결 상태에서 입력된 트래픽을 송신하도록 스케줄링한다.For example, if the VOQ situation of the other port, that is, the amount of traffic waiting to be transmitted in the buffer memory of the other port exceeds the reference traffic amount, the current connection state of the next cycle is not transmitted without input traffic in the current connection state. It transmits the traffic input from or schedules to transmit the input traffic in the connection state that directly connects the port (destination of the input traffic) and the port containing itself (the scheduler 115).
이와 같이, 상기 단계 S1120에서 결정된 연결 상태와 상기 스위치 패브릭의 현재 연결 상태가 동일하더라도, 해당 트래픽을 상기 스위치 패브릭의 현재 연결 상태에서 목적지에 대응하는 다른 포트로 송신할 트래픽으로 결정하는 것이 아니라 자신이 포함된 포트의 VOQ 상황(자신의 버퍼 메모리에서 송신 대기중인 트래픽양)과 상기 다른 포트로부터 전달된 상기 다른 포트(목적지 포트 또는 경유지 포트)의 VOQ 상황을 모두 고려하여 현재 연결 상태에서 다른 포트로 송신할 트래픽을 결정한다. As described above, even if the connection state determined in step S1120 and the current connection state of the switch fabric are the same, the traffic is not determined as traffic to be transmitted to another port corresponding to the destination in the current connection state of the switch fabric. Considering both the VOQ status of the included port (the amount of traffic waiting to be transmitted in its buffer memory) and the VOQ status of the other port (destination port or destination port) delivered from the other port, the current connection status is transmitted to another port. Decide what traffic to do.
이상에서 본 발명에 대하여 실시예를 중심으로 설명하였으나 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 예를 들어, 본 발명의 실시예에 구체적으로 나타난 각 구성 요소는 변형하여 실시할 수 있는 것이다. 그리고 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다.In the above, the present invention has been mainly described with reference to examples, but this is merely an example, and is not intended to limit the present invention, and those of ordinary skill in the art to which the present invention pertains are not limited to the essential characteristics of the present invention. It will be appreciated that various modifications and applications not illustrated in the examples are possible. For example, each component specifically shown in the embodiments of the present invention can be implemented by modification. And differences related to these modifications and applications should be construed as being included in the scope of the invention defined in the appended claims.
Claims (13)
각 포트에 구비된 스케줄러가, 입력된 트래픽들을 목적지에 따라 분류하여 버퍼 메모리에 저장하는 단계; 및
각 포트에 구비된 스케줄러가, 트래픽들의 입력 순서가 상기 목적지 포트에서 변경되는 것을 방지하도록 각 트래픽의 목적지에 따라 송신 가능한 상기 스위치 패브릭의 연결 상태를 사전에 설정한 연결 상태 테이블을 참조하여, 상기 버퍼 메모리에 저장된 상기 입력된 트래픽들 중에서 상기 스위치 패브릭의 현재 연결 상태에서 다른 포트로 송신할 트래픽을 결정하는 단계
를 포함하는 사이클릭 스위치에서의 트래픽 스케줄링 방법.As a plurality of ports, each port includes a switch fabric that connects the plurality of ports to each other according to the plurality of ports periodically operating as one of a source port, a destination port, and a destination port, and a plurality of periodic connections. In the scheduling method of the click switch,
The scheduler provided in each port classifies the input traffic according to the destination and stores it in a buffer memory; And
The scheduler provided in each port refers to the connection state table in which the connection state of the switch fabric, which can be transmitted according to the destination of each traffic, is set in advance to prevent the input order of traffic from being changed at the destination port, and the buffer Determining traffic to be transmitted to another port in the current connection state of the switch fabric among the input traffic stored in the memory
Traffic scheduling method in a cyclic switch comprising a.
상기 연결 상태 테이블을 사전에 생성하는 단계는,
각 트래픽이 상기 목적지 포트에 도달하기까지 경유하는 적어도 하나의 경유지 포트를 결정하는 단계;
다수의 연결 상태 중에서 자신(스케줄러)이 포함된 포트와 상기 목적지 포트를 직접 연결하는 경로와 상기 결정된 경유지 포트를 통과하는 경로를 나타내는 상기 적어도 하나의 연결 상태를 선택하는 단계; 및
상기 목적지 포트의 포트 번호, 상기 결정된 적어도 하나의 경유지 포트의 포트 번호 및 상기 선택한 적어도 하나의 연결 상태를 지시하는 지시자를 포함하도록 구성된 상기 연결 상태 테이블을 메모리 저장하는 단계;
를 포함하는 사이클릭 스위치에서의 트래픽 스케줄링 방법.The method of claim 1, further comprising generating the connection status table in advance,
The step of generating the connection status table in advance,
Determining at least one stopover port through which each traffic reaches the destination port;
Selecting the at least one connection state indicating a path directly connecting the port including the host (scheduler) and the destination port among a plurality of connection states and a path passing through the determined waypoint port; And
Memory storing the connection status table configured to include a port number of the destination port, a port number of the determined at least one destination port, and an indicator indicating the selected at least one connection status;
Traffic scheduling method in a cyclic switch comprising a.
상기 적어도 하나의 경유지 포트를 결정하는 단계는,
n개의 경유지 포트들을 결정하는 경우, 를 N으로 나눈 나머지를 포트 번호로 갖는 포트를 n번째 포트로 결정하는 단계인 것인 사이클릭 스위치에서의 트래픽 스케줄링 방법.The method of claim 2, wherein the current connection state of the switch fabric is the s (where s is a natural number) th connection state, the total number of ports provided in the cyclic switch is N, and the traffic reaches the destination port. In traffic with n as the number of ports, and the kth port (where k is a natural number, the port number of the source port) as the source port,
Determining the at least one waypoint port,
When determining n stop ports, It is a step of determining the port having the remainder divided by N as the port number as the n-th port.
상기 스위치 패브릭의 이전 연결 상태에서 입력된 트래픽을 분석하여 자신(스케줄러)이 포함된 포트가 경유지 포트인지를 판단하는 단계; 및
자신(스케줄러)이 포함된 포트가 경유지 포트인 경우, 자신이 출발지 포트로 동작하는 경우에 송신하도록 상기 버퍼 메모리에 저장된 트래픽에 우선하여 상기 입력된 트래픽을 상기 스위치 패브릭의 현재 연결 상태에서 다른 포트로 송신할 트래픽으로 결정하는 단계
를 포함하는 것인 사이클릭 스위치에서의 트래픽 스케줄링 방법.In claim 1, wherein the determining step,
Analyzing traffic input in a previous connection state of the switch fabric to determine whether a port including itself (scheduler) is a stopover port; And
When the port containing itself (scheduler) is a stopover port, the input traffic is transferred from the current connection state of the switch fabric to another port in preference to traffic stored in the buffer memory to transmit when it operates as a source port. Determining which traffic to send
Traffic scheduling method in a cyclic switch comprising a.
상기 트래픽을 상기 스위치 패브릭을 통해 다른 포트로 송신하기 전에 상기 버퍼 메모리에 저장된 트래픽의 양을 분석하는 단계; 및
상기 트래픽의 양을 분석한 결과데이터를 다른 모든 포트에 전달하는 단계
를 더 포함하는 것인 사이클릭 스위치에서의 트래픽 스케줄링 방법.In claim 1, wherein the determining step,
Analyzing the amount of traffic stored in the buffer memory before sending the traffic to another port through the switch fabric; And
The result of analyzing the amount of traffic and passing the data to all other ports
Traffic scheduling method in a cyclic switch further comprising a.
자신(스케줄러)이 포함된 포트가, 출발지 포트이고, 상기 입력된 트래픽을 상기 경유지 포트로 동작하는 다른 포트로 송신해야 하는 경우, 상기 다른 포트의 버퍼 메모리에 저장된 트래픽량을 모니터링 하는 단계; 및
상기 다른 포트의 버퍼 메모리에 저장된 트래픽량이 기준 트래픽량보다 큰 경우, 상기 현재 연결 상태에 따른 트래픽 경로를 통해 상기 입력된 트래픽을 송신하지 않고, 자신(스케줄러)이 포함된 포트와 상기 목적지 포트가 직접 연결되는 연결 상태에서 상기 입력된 트래픽을 상기 목적지 포트로 송신하는 단계
를 포함하는 것인 사이클릭 스위치에서의 트래픽 스케줄링 방법.In claim 1, wherein the determining step,
Monitoring a traffic amount stored in the buffer memory of the other port when the port including itself (scheduler) is a source port and the input traffic needs to be transmitted to another port operating as the stop port; And
When the amount of traffic stored in the buffer memory of the other port is greater than the reference traffic amount, the port including the (scheduler) and the destination port are directly transmitted without transmitting the input traffic through the traffic path according to the current connection state. Transmitting the input traffic to the destination port in a connected state
Traffic scheduling method in a cyclic switch comprising a.
주기적으로 순환하는 다수의 연결 상태에 따라 상기 다수의 포트를 서로 연결하는 스위치 패브릭을 포함하고,
상기 각 포트에 구비된 스케줄러는,
다수의 트래픽의 입력 순서가 상기 목적지 포트에서 변경되는 것을 방지하기 위해, 각 트래픽의 목적지에 따라 송신 가능한 상기 스위치 패브릭의 적어도 하나의 연결 상태를 사전에 설정한 연결 상태 테이블을 저장한 메모리;
현재 입력되는 다수의 트래픽을 목적지에 따라 분류하여 저장하는 버퍼 메모리; 및
상기 연결 상태 테이블에 따라, 상기 버퍼 메모리에 저장된 다수의 입력 트래픽 중에서 상기 스위치 패브릭의 현재 연결 상태에서 다른 포트로 송신할 트래픽을 결정하는 프로세서;
를 포함하는 사이클릭 스위치.A plurality of ports, each port operating as one of a source port, a destination port, and a destination port; And
And a switch fabric connecting the plurality of ports to each other according to a plurality of connection states that periodically circulate,
The scheduler provided in each port,
A memory for storing a connection state table in which at least one connection state of the switch fabric that can be transmitted according to a destination of each traffic is preset in order to prevent an order of input of multiple traffics from being changed at the destination port;
A buffer memory for classifying and storing a plurality of traffic currently input according to a destination; And
A processor for determining traffic to be transmitted to another port in a current connection state of the switch fabric among a plurality of input traffics stored in the buffer memory according to the connection state table;
Cyclic switch comprising a.
자신이 포함된 포트의 포트 번호, 상기 목적지 포트의 포트 번호, 상기 경유지 포트의 포트 번호 및 상기 적어도 하나의 연결 상태를 지시하는 지시자가 맵핑된 상기 연결 상태 테이블을 사전에 생성하여, 상기 메모리 저장하는 것인 사이클릭 스위치.In claim 7, wherein the processor,
The port number of the port including itself, the port number of the destination port, the port number of the destination port, and the connection status table to which the indicator indicating the at least one connection status is mapped are generated in advance to store the memory Cyclic switch.
상기 스위치 패브릭의 현재 연결 상태가 s(여기서, s는 자연수)번째 연결 상태이고, 상기 사이클릭 스위치 내부에 구비된 전체 포트의 개수가 N이고, 현재 입력되는 트랙픽이 목적지 포트에 도달하기까지 경유하는 포트의 수가 n이고, 자신이 포함된 포트의 포트 번호가 k인 경우,
상기 다수의 포트 중에서 n개의 경유지 포트들을 결정하고,
를 N으로 나눈 나머지를 포트 번호로 갖는 포트를 n번째 경유지 포트로 결정하는 것인 사이클릭 스위치.In claim 7, wherein the processor,
The current connection state of the switch fabric is the s (where s is a natural number) th connection state, the total number of ports provided in the cyclic switch is N, and the currently input traffic passes through to reach the destination port. If the number of ports is n and the port number of the port it contains is k,
Among the plurality of ports, n stop ports are determined,
A cyclic switch that determines a port having a remainder divided by N as a port number as an nth stop port.
상기 스위치 패브릭의 이전 연결 상태에서 현재 입력된 트래픽에 포함된 목적지 정보를 분석하여, 자신이 포함된 포트가 경유지 포트인 것으로 확인된 경우, 자신이 출발지 포트로 동작하는 경우에 송신해야 하는 트래픽에 우선하여 상기 입력된 트래픽을 송신하도록 상기 현재 입력된 트래픽을 상기 스위치 패브릭의 현재 연결 상태에 상기 다른 포트로 송신하는 것인 사이클릭 스위치.In claim 7, wherein the processor,
By analyzing the destination information included in the traffic currently input in the previous connection state of the switch fabric, when it is determined that the port containing it is the waypoint port, the traffic to be transmitted when it operates as the source port has priority A cyclic switch that transmits the currently input traffic to the other port in the current connection state of the switch fabric to transmit the input traffic.
상기 현재 입력된 트래픽을 상기 스위치 패브릭을 통해 상기 경유지 포트 또는 상기 목적지 포트로 송신하기 전에 상기 버퍼 메모리에 저장된 트래픽량을 분석하는 것인 사이클릭 스위치.In claim 7, wherein the processor,
A cyclic switch that analyzes the amount of traffic stored in the buffer memory before transmitting the currently input traffic to the waypoint port or the destination port through the switch fabric.
상기 프로세서의 제어에 따라, 상기 버퍼 메모리에 저장된 트래픽량을 분석하여 획득한 결과 데이터를 다른 모든 포트에게 전달하는 통신부를 더 포함하는 것인 사이클릭 스위치를 더 포함하는 것인 사이클릭 스위치.In claim 11, The scheduler,
According to the control of the processor, the cyclic switch further comprises a cyclic switch that further comprises a communication unit for transmitting the result data obtained by analyzing the amount of traffic stored in the buffer memory to all other ports.
상기 다른 포트의 트래픽량이 기준 트래픽량보다 큰 경우, 상기 입력된 트래픽을 상기 스위치 패브릭의 현재 연결 상태에서 상기 다른 포트로 송신하지 않고, 상기 스위치 패브릭의 연결 상태가 자신이 포함된 포트와 목적지 포트가 직접 연결되는 연결 상태로 전환되는 시점에서 상기 입력된 트래픽을 상기 목적지 포트로 송신하는 것인 사이클릭 스위치.In claim 7, wherein the processor,
When the traffic amount of the other port is greater than the reference traffic amount, the input traffic does not transmit the input traffic from the current connection state of the switch fabric to the other port. A cyclic switch that transmits the input traffic to the destination port at a point in time when the connection state is directly connected.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180155384A KR20200068417A (en) | 2018-12-05 | 2018-12-05 | Method for scheduling data traffic cyclic switch |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180155384A KR20200068417A (en) | 2018-12-05 | 2018-12-05 | Method for scheduling data traffic cyclic switch |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20200068417A true KR20200068417A (en) | 2020-06-15 |
Family
ID=71081750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180155384A KR20200068417A (en) | 2018-12-05 | 2018-12-05 | Method for scheduling data traffic cyclic switch |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20200068417A (en) |
-
2018
- 2018-12-05 KR KR1020180155384A patent/KR20200068417A/en unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1689278B (en) | Methods and apparatus for network congestion control | |
US7826371B2 (en) | Flow control method and receiving end device | |
US8102763B2 (en) | Method, system and node for backpressure in multistage switching network | |
CN105745879A (en) | Shortening of service paths in service chains in a communications network | |
US7916737B2 (en) | Relaying device, network system, and network system controlling method | |
US20220150159A1 (en) | Control device, switch device and methods | |
KR20190100347A (en) | Communication system, communication device and communication method | |
US20080080504A1 (en) | System and method for managing flow of a plurality of packets in a lossless communication network | |
US8665755B2 (en) | Communication device, communication system, and route allocation method | |
WO2016132402A1 (en) | Communication frame transfer device and communication system | |
KR20200068417A (en) | Method for scheduling data traffic cyclic switch | |
CN110365580B (en) | Service quality scheduling method and device, electronic equipment and computer readable storage medium | |
EP3579500B1 (en) | A communication system for transmitting a transmission control protocol segment over a communication network using a multipath transmission control protocol, corresponding method and computer program | |
EP4336795A1 (en) | Message transmission method and network device | |
JP6101114B2 (en) | Packet transmission apparatus and program thereof | |
US10367751B2 (en) | Distributing and rate limiting packets among multiple paths in a single stage switching topology to a reordering node | |
US20210092065A1 (en) | Multihop network routing | |
JP2007110483A (en) | Apparatus and method for controlling packet communication quality | |
CN100448207C (en) | Grouping redirectional method for network processor | |
KR102128417B1 (en) | Multiple path priority routing methods for wireless sensor network and routing apparatus for performing the same | |
US20050190795A1 (en) | Method and allocation device for allocating pending requests for data packet transmission at a number of inputs to a number of outputs of a packet switching device in successive time slots | |
US8824484B2 (en) | System and method for deterministic I/O with ethernet based industrial networks | |
CN108924066B (en) | Message forwarding method and device | |
KR101142983B1 (en) | System and method for packet switching | |
He et al. | ShuttleBus: Dense packet assembling with QUIC stream multiplexing for massive IoT |