KR20200068417A - Method for scheduling data traffic cyclic switch - Google Patents

Method for scheduling data traffic cyclic switch Download PDF

Info

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
Application number
KR1020180155384A
Other languages
Korean (ko)
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 KR1020180155384A priority Critical patent/KR20200068417A/en
Publication of KR20200068417A publication Critical patent/KR20200068417A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Abstract

According to the present invention, disclosed is a method of scheduling traffic on a cyclic switch. A cyclic switch includes: a plurality of ports, each of which is operated as a starting point port, a stop port and a destination port; and a switch fabric connecting the plurality of ports with each other in accordance with a plurality of connection states repeated periodically. The traffic scheduling method for the cyclic switch includes: a step in which a scheduler provided in each of the ports stores inputted traffic in a buffer memory by classifying the traffic by destination; and a step in which the scheduler determines traffic of the input traffic stored in the buffer memory, which is going to be transmitted to another port in the current connection state of the switch fabric, by referring to a connection state table in which the connection state of the switch fabric is preset in accordance with a destination of each piece of the traffic to prevent the input order of the traffic from being changed on the destination port.

Description

사이클릭 스위치 및 상기 사이클릭 스위치에서의 트래픽 스케쥴링 방법{METHOD FOR SCHEDULING DATA TRAFFIC CYCLIC SWITCH}Cyclic Switch and Traffic Scheduling Method in the Cyclic Switch {METHOD FOR SCHEDULING DATA TRAFFIC CYCLIC SWITCH}

본 발명은 사이클릭 스위치의 스루풋(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 switching fabric 10 and a central scheduler 12.

각 포트는 송신 포트(TX)와 수신 포트(RX)로 구성된다.Each port is composed of a transmission port (TX) and a reception port (RX).

스위칭 패브릭(10)은 중앙 스케줄러(12)의 제어에 의해 통신 노드로부터 수신한 트래픽(데이터 트래픽, 데이터 프레임, 패킷, 데이터 패킷, 트래픽)을 상기 다수의 포트 중에서 목적지 포트로 경로배정(라우팅)한다.The switching fabric 10 routes (routes) the traffic (data traffic, data frame, packet, data packet, traffic) received from the communication node to the destination port among the multiple ports under the control of the central scheduler 12. .

사이클릭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 cyclic switching fabric 25 connected to a communication node, and each port has a transmission port (TX) and traffic for transmitting traffic. It includes a receiving port (TX) to receive.

도 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 new node 1, port 2 (22) connected to communication node 2, connected to communication node 3 Port 3 (23) and port 4 (24) connected to communication node 4.

본 발명이 적용되는 사이클릭 스위치의 사이클릭 스위칭 패브릭(25)은, 도 1에 도시한 네트워크 스위치와 다르게 중앙 스케줄러의 제어 없이, 모든 포트들(21, 22, 23, 24)을 서로 연결을 보장해야 한다. The cyclic switching fabric 25 of the cyclic switch to which the present invention is applied, unlike the network switch shown in FIG. 1, ensures that all ports 21, 22, 23, and 24 are connected to each other without control of a central scheduler. Should be.

이를 위해, 사이클릭 스위칭 패브릭(25)은 모든 포트들(21, 22, 23, 24)을 서로 연결하기 위해, 다수의 연결 상태를 갖도록 사전에 설정된다.To this end, the cyclic switching fabric 25 is pre-configured to have multiple connection states, in order to connect all the ports 21, 22, 23, 24 to each other.

도 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 cyclic switching fabric 25. According to this arrangement, the cyclic switch illustrated in FIGS. 2 and 3 may be referred to as a '4 × 4 cyclic switch'.

4 × 4 사이클릭 스위치의 사이클릭 스위치 패브릭(25)은 도 4에 도시된 바와 같이, 3개의 연결 상태들을 제공한다. 도 4에서는 4개의 연결 상태들이 도시되어 있으나, 연결 상태 4는 연결 상태 1과 동일하므로, 연결 상태 4와 연결 상태 1은 하나의 연결 상태로 간주한다.The cyclic switch fabric 25 of the 4×4 cyclic switch provides three connection states, as shown in FIG. 4. Although four connection states are shown in FIG. 4, since connection state 4 is the same as connection state 1, connection state 4 and connection state 1 are regarded as one connection state.

이와 같이, 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 cyclic switch fabric 25. Thus, without periodic repetition of the three connection states of the cyclic switch fabric 25, without the control of the central scheduler, connection between all ports is ensured. By generalizing this, all ports (N ports) may be connected to each other by N-1 connection states in an N×N cyclic switch. At this time, the time until the internal connection state of the cyclic switch fabric 25 is switched from the first connection state to the N-1th connection state is defined as one cycle.

전술한 바와 같이, 사이클릭 스위치는, 트래픽 분포에 따라 최적화된 방식에 따라 포트들의 연결을 제어하는 중앙 스케줄러가 없기 때문에, 입력되는 트래픽 분포에 따라 스루풋이 증감한다. 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 port 1 and the destination is port 4, the transmission port of port 1 and the reception port of port 4 are connected only in connection state 3, so traffic is transmitted and received only in one connection state among total 3 connection states. This is possible. In this case, the throughput is reduced to 1/3.

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 port 1 is input to the sparse traffic output through the port 4 (TX4) through the cyclic switch. In this case, port 1 acts as a source port and port 4 acts as a destination port. In each connection state, ①, ②, ③, ④, ⑤, ⑥ indicate the incoming traffic.

연결 상태 1에서 포트 1(RX1)은 포트 2(TX2)와 연결되므로, 포트 1으로 입력된 트래픽 ①은 포트 2(TX2)로 입력된다. 위의 경우에 따라, 포트 2는 목적지 포트(포트 4)가 아니므로, 경유지 포트로 활용된다.In connection state 1, port 1 (RX1) is connected to port 2 (TX2), so traffic 1 input to port 1 is input to port 2 (TX2). According to the above case, since port 2 is not the destination port (port 4), it is used as a stopover port.

사이클릭 스위칭 패브릭이 연결 상태 1에서 연결 상태 2로 전환되면, 연결 상태 2에서 포트 2(RX2)는 포트 4(TX4)와 연결되므로, 포트 2로 입력된 트래픽 ①은 연결 상태 2에서 최종 목적지 포트로 동작하는 포트 4(TX4)로 전달된다.When the cyclic switching fabric is switched from the connection state 1 to the connection state 2, in the connection state 2, the port 2 (RX2) is connected to the port 4 (TX4), so the traffic ① input to the port 2 is the final destination port in the connection state 2 It is delivered to port 4 (TX4) operating as.

한편, 연결 상태 2에서 포트 1(RX1)은 포트 3(TX3)과 연결되므로, 트래픽 ②은 연결 상태 2에서 포트 3(TX3)으로 전달된다. 위의 경우에 따라, 포트 3(TX3)은 목적지 포트가 아니므로, 경유지 포트로 활용된다. Meanwhile, in the connection state 2, the port 1 (RX1) is connected to the port 3 (TX3), so the traffic ② is transmitted to the port 3 (TX3) in the connection state 2. According to the above case, since port 3 (TX3) is not a destination port, it is used as a stopover port.

사이클릭 스위칭 패브릭이 연결 상태 2에서 연결 상태 3으로 전환되면, 포트 3(RX3)은 포트 2(TX2)와 연결된다. 위의 경우에서 트래픽 ②의 목적지는 포트 4이므로, 포트 2로 전달되지 않고, 다음 연결 상태(연결상태 4 = 연결 상태1)로 전환될 때까지 포트 3(RX3)의 버퍼 메모리에서 대기한다.When the cyclic switching fabric transitions from link state 2 to link state 3, port 3 (RX3) is connected to port 2 (TX2). In the above case, since the destination of the traffic ② is port 4, it is not delivered to port 2, but waits in the buffer memory of port 3 (RX3) until it is switched to the next connection state (connection state 4 = connection state 1).

사이클릭 스위칭 패브릭이 연결 상태 3에서 연결상태 4(연결 상태1)로 전환되면, 연결상태 4(연결 상태1)에서는 포트 3(RX3)이 포트 4(TX4)와 연결되므로, 사이클릭 스위칭 패브릭이 연결상태 4(연결 상태1)로 전환된 시점에서 포트 3(RX3)의 버퍼 메모리에서 대기하고 있는 트래픽 ②는 최종 목적지로 동작하는 포트 4(TX4)로 전달된다. When the cyclic switching fabric is switched from the connection state 3 to the connection state 4 (connection state 1), in the connection state 4 (connection state 1), since the port 3 (RX3) is connected to the port 4 (TX4), the cyclic switching fabric The traffic ② waiting in the buffer memory of the port 3 (RX3) at the time of transition to the connection state 4 (connection state 1) is transferred to the port 4 (TX4) operating as the final destination.

유사하게, 트래픽 ③, ④, ⑤, ⑥은 각 연결 상태에서 설정된 경로를 따라 최종 목적지인 포트 4로 전달된다. 트래픽 ③, ④, ⑤, ⑥이 목적지 포트로 동작하는 포트 4로 전달되는 과정은 트래픽 ①, ②가 목적지 포트로 동작하는 포트 4로 전달되는 과정에 대한 설명으로 대신한다.Similarly, traffic ③, ④, ⑤, and ⑥ are delivered to the final destination port 4 along the route set in each connection state. The process in which traffic ③, ④, ⑤, and ⑥ are delivered to port 4 operating as the destination port is replaced by the description of the process in which traffic ①, ② is delivered to port 4 operating as the destination port.

이와 같이, 포트 1으로 입력되는 모든 트래픽들 ①, ②, ③, ④, ⑤, ⑥은 손실 없이 최종 목적지인 포트 4로 전달되므로, 위 트래픽 조건에서 스루풋은 100% 임을 알 수 있다. 이 방식은 트래픽이 목적지에 도달하기까지 최대 2번에 걸쳐 전송되므로 2-hop 방식이라고 부른다.As described above, all traffic inputted to port 1 ①, ②, ③, ④, ⑤, and ⑥ are delivered to the final destination port 4 without loss, so it can be seen that the throughput is 100% under the above traffic conditions. This method is called a 2-hop method because the traffic is transmitted up to two times before reaching the destination.

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 port 1 acting as a source port is ①→②→③→④→⑤→⑥, but traffic input to port 4 acting as a destination port The input order (or reception order) is ①→③→②→④→⑥→⑤.

변경된 입력 순서는 교정될 필요가 있다. 변경된 입력 순서를 교정하기 위해, 트래픽의 입력 순서를 재정렬하는 작업이 필요하다. 이러한 재정렬 작업은, 전술한 바와 같이, 사이클릭 스위치의 레이턴시(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 port 1 and the destination port is port 4. In addition, it is assumed that traffic input to port 1 is ① and ②. In this case, when traffic ① is input to port 1 and traffic ② is input, and port 4 receives traffic ① and then traffic ②, there is no need to rearrange the order of traffic input.

포트 4가 ①→②의 순서로 트래픽을 수신하려면, 포트 1으로 입력되는 트래픽이 연결 상태 1과 3에서만 송신을 시작하도록 설정하면 된다. 이 경우, 총 3개의 연결 상태들 중에서 2개의 연결 상태들에서만 트래픽의 송신이 시작되므로, Sparse 트래픽에 대한 스루풋은 2/3 로 감소한다. 그러나, 목적지 포트인 포트 4에 입력되는 트래픽의 입력 순서는 포트 1에 입력되는 트래픽의 입력 순서를 그대로 유지하게 된다.In order for port 4 to receive traffic in the order of ①→②, it is necessary to set the traffic input to port 1 to start transmission only in connection states 1 and 3. In this case, since the transmission of traffic starts only in two of the three connection states, the throughput for sparse traffic is reduced to 2/3. However, the input order of the traffic input to the destination port, port 4, maintains the input order of the traffic input to the port 1.

정리하면, 4 × 4 사이클릭 스위치의 경우, 포트 1을 출발지로 하고, 포트 4를 목적지로 하는 트래픽은 연결 상태 1과 3에서만 송신하도록 미리 설정하고, 포트 1을 출발지로 하고, 포트 2를 목적지로 하는 트래픽에 대해서는 연결 상태 1과 2에서만 송신하도록 설정하고, 포트 1을 출발지로 하고, 포트 3을 목적지로 하는 트래픽은 연결 상태 2에서만 송신하도록 설정하면, 목적지 포트에서 트래픽의 입력 순서(수신 순서)가 변경되는 문제를 해결할 수 있다.In summary, in the case of a 4x4 cyclic switch, port 1 is set as a source, traffic set to port 4 as a destination is preset to be transmitted only in connection states 1 and 3, port 1 as a source, and port 2 as a destination. If traffic is set to be transmitted only in connection status 1 and 2, and traffic set to port 1 as the destination and traffic set to port 3 is set to be transmitted only in connection status 2, the order of traffic input at the destination port (reception order) ) Can be fixed.

이러한 개념에 기초하여, 본 발명에서는 출발지 포트로 입력되는 트래픽들의 입력 순서가 목적지 포트에서 변경되는 것을 방지하기 위해, 목적지 포트에 따라 트래픽의 입력 순서가 변경되지 않는 연결 상태를 사전에 결정하고, 사전에 결정된 연결 상태를 데이터화하여 각 포트 내의 메모리에 미리 저장시키는 것이다.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 트래픽traffic 스케줄링 정책 1 Scheduling Policy 1

본 발명의 트래픽 스케줄링 정책 1은, 트래픽들의 입력 순서가 목적지 포트에서 변경되는 것을 방지하기 위해, 목적지 포트 별로 연결 상태를 사전에 결정하는 것이다. 이러한 연결 상태는 트래픽이 목적지 포트에 도달하기 까지 경유하는 경유지 포트를 찾는 과정을 통해 결정될 수 있다.The traffic scheduling policy 1 of the present invention is to predetermine a connection state for each destination port in order to prevent the input order of traffic from being changed at the destination port. This connection state can be determined through a process of finding a waypoint port through which traffic passes until it reaches a destination port.

경유지 포트는 다음과 같은 방법으로 계산될 수 있다.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 connection state 1 is delivered to port k+1, and the traffic transmitted from port k in connection state 2 is delivered to port k+2. Able to know. To generalize this, in the connection state s, the traffic transmitted on the port k is delivered to the k+s port. At this time, if the port k+s is greater than N, it is transferred to the port having the remainder divided by k+s by N. For convenience of explanation, when k+s is divided by N, the operation to find the remainder is expressed by mod(k+s, N). Here, N is the total number of ports provided in the cyclic switch.

트래픽이 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 트래픽traffic 스케줄링 정책 2 Scheduling Policy 2

본 발명의 트래픽 스케줄링 정책2에서는, 모든 포트가 사이클릭 스위치 패브릭의 현재 연결 상태에서 입력된(또는 수신된) 트래픽의 목적지를 분석하고, 목적지가 자신인지 아닌지를 확인하고, 자신이 아니면 그 트래픽을 사이클릭 패브릭의 연결 상태가 다음 연결 상태로 전환되면, 다음 연결 상태로 전환된 시점에서 바로 송신하도록 스케줄링한다. In the traffic scheduling policy 2 of the present invention, all ports analyze the destination of the input (or received) traffic in the current connection state of the cyclic switch fabric, check whether the destination is it or not, and if not, the traffic When the connection state of the cyclic fabric is switched to the next connection state, it is scheduled to transmit immediately when the connection state is changed to the next connection state.

예를 들면, 자신의 버퍼 메모리에 자신이 경유지 포트로 동작하는 경우에 송신해야 하는 트래픽(자신을 거쳐가지는 트래픽)과 자신이 출발지 포트 또는 목적지 포트로 동작하는 경우에서 송신해야 하는 트래픽(외부 통신 노드로부터 직접 수신된 트래픽 또는 외부 통신 노드로 송신해야 하는 트래픽)이 축적되어 있는 경우, 자신이 출발지 포트 또는 목적지 포트로 동작하는 경우에서 송신해야 하는 트래픽에 우선하여 자신이 경유지 포트로 동작하는 경우에 송신해야 하는 트래픽을 먼저 송신하도록 스케줄링 한다.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.

본 발명의 또 다른 특징에 다른 스케줄링 정책 3Scheduling policy 3 according to another feature of the present invention

자신이 경유지 포트로 동작하는 경우에 송신해야 하는 트래픽과 자신이 출발지 포트 또는 목적지 포트로 동작하는 경우에서 송신해야 하는 트래픽 간의 경합이 발생한 경우, 전술한 트래픽 스케줄링 정책에 따라 경유지 포트로 동작하는 경우에 송신해야 하는 트래픽에 우선권을 부여하는 경우, 자신이 출발지 포트 또는 목적지 포트로 동작하는 경우에서 송신해야 하는 트래픽의 송신이 크게 지연될 수 있다. 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 port 1 transmits traffic 1 and traffic 2 in connection state 1 to port 4 operating as a destination port via port 2 operating as a destination port.

포트 1은, 포트 2에 저장된 트래픽 양(포트 2에 대기중인 트래픽 양)을 모니터링하여, 포트 2로 송신될 트래픽이 기준 트래픽양을 초과하는 경우, 포트 1은, 연결 상태 1에서 트래픽 1과 트래픽 2를 포트 2로의 송신하지 않는다. Port 1 monitors the amount of traffic stored in port 2 (the amount of traffic waiting on port 2), so that if the traffic to be sent to port 2 exceeds the reference traffic amount, port 1 is connected to traffic 1 and traffic in connection state 1 Do not send 2 to port 2.

반대로, 포트 1은, 포트 2에 저장된 트래픽 양(포트 2에 대기중인 트래픽 양)을 모니터링하여, 포트 2로 송신될 트래픽이 기준 트래픽양 이하인 경우, 포트 1은, 연결 상태 1에서 트래픽 1과 트래픽 2를 포트 2로의 송신한다. Conversely, port 1 monitors the amount of traffic stored in port 2 (the amount of traffic waiting on port 2), so that if the traffic to be sent to port 2 is less than or equal to the reference traffic, port 1 is traffic 1 and traffic in connection state 1 Send 2 to port 2.

이렇게 함으로써, 경유지 포트는 자신이 출발지 포트 또는 목적지 포트로 동작할 때 송신해야 하는 트래픽을 원활히 송신할 수 있게 된다. 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 port 2 exceeds the reference traffic amount, and traffic not transmitted from port 1 may transmit traffic to port 2 in connection state 1 of the next cycle. Alternatively, the port 1 may transmit traffic to the port 4 in the state where the port 4 operating as the destination port is directly connected rather than transmitting the traffic to the port 2 in the connection state 1 of the next cycle. In this case, the waypoint port is not utilized at all.

전술한 스케줄링 정책 3을 원활히 구현하기 위해서는, 사이클릭 스위치 내의 모든 포트가 자신의 버퍼 메모리에 축적된 트래픽 양을 공유해야 한다. 이를 위해, 본 발명에서는 각 포트가 자신의 버퍼 메모리에 축적된 트래픽 양을 다른 포트에 전달한다. 또한, 각 포트가 다른 포트로부터 전달받은 다른 포트의 버퍼 메모리에 축적된 트래픽 양을 또 다른 포트로 전달하도록 구성된다. In order to implement the above-described scheduling policy 3 smoothly, all ports in the cyclic switch must share the amount of traffic accumulated in their buffer memory. To this end, in the present invention, each port transfers the amount of traffic accumulated in its buffer memory to another port. In addition, each port is configured to deliver the amount of traffic accumulated in the buffer memory of another port received from the other port to another port.

이하, 전술한 본 발명의 스케줄링 정책 1, 2, 3이 적용된 사이클릭 스위치의 하드웨어 구성에 대해 상세히 설명한다.Hereinafter, the hardware configuration of the cyclic switch to which the scheduling policies 1, 2, and 3 of the present invention are applied will be described in detail.

도 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 cyclic switch 100 according to an embodiment of the present invention includes a plurality of ports 110_1,… 110_N-1, 110_N and a cyclic switching fabric 120 connected to a communication node. .

각 포트는 트래픽을 수신하는 수신 포트(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 scheduler 130. Each port is different from the cyclic switch shown in FIG. 2 in that it includes an independent scheduler 130. Each scheduler 130 schedules traffic according to the aforementioned traffic scheduler policies 1, 2, and 3. The internal configuration of the scheduler 130 will be described in detail with reference to FIG. 10.

사이클릭 스위칭 패브릭(130)은 주기적으로 반복하는 다수의 연결 상태에 따라 N개의 포트를 서로 연결한다.The cyclic switching fabric 130 connects N ports to each other according to a plurality of connection states that periodically repeat.

도 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 classifier 111, a buffer memory 113, a scheduler 115, and a communication unit 117 do.

수신 포트(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 classifier 111 classifies a plurality of traffic input through the reception port RX according to a destination. For example, the destination of each traffic can be known through analysis of destination information recorded in the header area of each traffic. The destination information includes a port number of the destination port and address information of a communication node connected to the destination port.

버퍼 메모리(113)는 분류기(111)에 의해 목적지 별로 분류된 트래픽을 저장하는 구성으로, 가상 출력 큐(Virtual Output Queue, VOQ)로 불릴 수 있다.The buffer memory 113 is configured to store traffic classified for each destination by the classifier 111 and may be referred to as a virtual output queue (VOQ).

스케줄러(115)는 버퍼 메모리(113)에 저장된 트래픽을 전술한 본 발명의 특징에 따른 트래픽 스케줄링 정책들에 따라 사이클릭 스위치 패브릭(130)을 통해 다른 포트(경유지 포트 또는 목적지 포트로 동작하는 포트)로 송신(전달)한다.The scheduler 115 transfers the traffic stored in the buffer memory 113 to another port (a port acting as a destination port or a destination port) through the cyclic switch fabric 130 according to the traffic scheduling policies according to the features of the present invention described above. Send (deliver) to.

이를 위해, 스케줄러(115)는 프로세서(115A), 제1 메모리(115B) 및 제2 메모리(115C)를 포함한다.To this end, the scheduler 115 includes a processor 115A, a first memory 115B, and a second memory 115C.

프로세서(115A)는 SoC(system on chip) 또는 SiP(system in package)으로 구현될 수 있다. 프로세서(115A)는, 예를 들면, 운영 체제 또는 응용 프로그램을 구동하여 본 발명의 특징에 따른 트래픽 스케줄링 정책들에 따라 각종 데이터 처리 및 연산을 수행할 수 있다. 프로세서(115A)는 다른 포트들로부터 수신된 명령, 데이터 또는 정보를 휘발성 메모리에 로드하여 처리하고, 결과 데이터를 비휘발성 메모리에 저장할 수 있다.The processor 115A may be implemented as a system on chip (SoC) or a system in package (SiP). The processor 115A, for example, may drive an operating system or an application program to perform various data processing and operations according to traffic scheduling policies according to the characteristics of the present invention. The processor 115A loads and processes instructions, data, or information received from other ports into a volatile memory and stores the result data in a nonvolatile memory.

제1 메모리(115B)에는 목적지 포트에서 트래픽의 입력 순서가 변경되지 않도록 각 트래픽의 목적지에 따라 사전에 설정한 적어도 하나의 연결 상태를 포함하는 연결 상태 테이블이 저장된다. 이때, 제1 메모리(115B)는 비휘발성 메모리일 수 있다. In the first memory 115B, a connection state table including at least one connection state set in advance according to a destination of each traffic is stored so that an input order of traffic at a destination port is not changed. In this case, the first memory 115B may be a non-volatile memory.

이러한 연결 상태 테이블은 출발지 포트의 포트 번호, 목적지 포트의 포트 번호, 경유지 포트의 포트 번호, 경유지 포트를 통과하는 경로를 나타내는 적어도 하나의 연결 상태를 지시하는 지시자를 포함한다.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 communication unit 117 is stored in the second memory 115C. Hereinafter, traffic situation information is referred to as VOQ situation information. The VOQ status information may be information indicating the amount of traffic accumulated in the buffer memory of each of the other ports.

프로세서(115A)는 제1 메모리에 저장된 연결 상태 테이블, 제2 메모리에 저장된 다른 포트들의 VOQ 상황 정보 및 자신이 포함된 포트의 VOQ 상황을 고려하여 스위치 패브릭(130)의 현재 연결 상태에서 다른 포트로 송신할 트래픽을 결정한다. The processor 115A takes the connection status table stored in the first memory, VOQ status information of other ports stored in the second memory, and the VOQ status of the port containing it into the other port from the current connection status of the switch fabric 130. Decide which traffic to send.

예를 들면, 프로세서(115A)는 버퍼 메모리(113)에 다른 포트로부터 전달된 트래픽(자신이 경유지 포트로 동작하는 경우에 송신해야 하는 트래픽)과 통신 노드로부터 전달된 트래픽(자신이 출발지 포트로 동작하는 경우에 송신해야 하는 트래픽)이 저장되어 있는 경우, 통신 노드로부터 전달된 트래픽에 우선하여, 다른 포트로부터 전달된 트래픽을 스위치 패브릭(130)의 현재 연결 상태에서 송신할 트래픽으로서 결정한다. For example, the processor 115A may send traffic from another port to the buffer memory 113 (traffic that should be transmitted when it is operating as a stopover port) and traffic delivered from a communication node (which itself acts as a source port). Traffic that needs to be transmitted) is stored, priority is given to traffic transmitted from a communication node, and traffic transmitted from another port is determined as traffic to be transmitted in the current connection state of the switch fabric 130.

또한, 프로세서(115A)는 송신하기 전에, 자신의 VOQ 상황과 다른 포트들로부터 전달된 VOQ 상황 정보를 고려하여, 스위치 패브릭(130)의 현재 연결 상태에서 송신할 트래픽으로서 최종적으로 결정한다.In addition, before transmitting, the processor 115A considers its VOQ status and VOQ status information transmitted from other ports, and finally determines as traffic to be transmitted in the current connection status of the switch fabric 130.

또한, 프로세서(115A)는 다른 포트들로부터 전달된 현재의 VOQ 상황 정보를 제2 메모리(115C)에 저장하여, 제2 메모리에 저장된 이전의 VOQ 상황 정보를 실시간으로 업데이트한다.In addition, the processor 115A stores the current VOQ status information transmitted from other ports in the second memory 115C, and updates the previous VOQ status information stored in the second memory in real time.

이와 같이, 스케줄러는 연결 상태 테이블을 참조하여, 버퍼 메모리에 저장된 입력된 트래픽들 중에서 스위치 패브릭의 현재 연결 상태에서 다른 포트로 송신할 입력된 트래픽을 결정하고, 다른 포트들로부터 전달된 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 classifier 111 classifies traffic inputted to a port including itself according to a destination. This classification process may be performed based on destination information (port number of the destination port, address information of a communication node connected to the destination port) recorded in the header area of each traffic. Traffic classified by destination is stored in the buffer memory 113.

이어, 단계 S1120에서, 스케줄러(115) 또는 프로세서(115A))가 제1 메모리(115B)에 사전 저장된 연결 상태 테이블을 참조하여, 입력 트래픽을 목적지로 송신하는 시점에서 송신 가능한 스위치 패브릭의 연결 상태를 결정하는 과정이 수행된다. 연결 상태 테이블은 출발지 포트의 포트 번호, 목적지 포트의 포트 번호, 출발지 포트로 입력되는 트래픽의 입력순서가 목적지 포트에서 변경되지 않게 하는 경로 상에 존재하는 경유지 포트의 포트 번호 및 출발지 포트, 경유지 포트 및 목적지 포트를 연결하는 스위칭 패브릭의 적어도 하나의 연결 상태를 지시하는 지시자를 포함하도록 구성된다.Subsequently, in step S1120, the scheduler 115 or the processor 115A refers to the connection state table pre-stored in the first memory 115B to determine the connection state of the switch fabric that can be transmitted at the time of transmitting the input traffic to the destination. The decision-making process is performed. The connection status table includes the port number of the source port, the port number of the destination port, the port number of the destination port and the source port, the destination port, and the source port of the destination port on the route that prevents the input order of traffic input to the source port from being changed. And an indicator indicating at least one connection status of the switching fabric connecting the destination port.

이어, 단계 S1130에서, 스케줄러(115) 또는 프로세서(115A))가 상기 단계 S1120에서 결정된 연결 상태와 상기 스위치 패브릭의 현재 연결 상태가 동일한지를 판별하는 과정이 수행된다. 동일하지 않은 경우, 입력된 다른 트래픽에 대해 단계 S1120을 재 수행한다. Subsequently, in step S1130, a process in which the scheduler 115 or the processor 115A determines whether the connection state determined in step S1120 and the current connection state of the switch fabric are the same. If they are not the same, step S1120 is performed again for other input traffic.

이어, 단계 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 scheduler 115 or the processor 115A sends another port's VOQ status (different from the other port). Considering the amount of traffic waiting to be transmitted in the buffer memory of the port, a process of determining whether to transmit the input traffic to the other port is performed.

예를 들면, 상기 다른 포트의 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.
제1항에서, 상기 연결 상태 테이블을 사전에 생성하는 단계를 더 포함하고,
상기 연결 상태 테이블을 사전에 생성하는 단계는,
각 트래픽이 상기 목적지 포트에 도달하기까지 경유하는 적어도 하나의 경유지 포트를 결정하는 단계;
다수의 연결 상태 중에서 자신(스케줄러)이 포함된 포트와 상기 목적지 포트를 직접 연결하는 경로와 상기 결정된 경유지 포트를 통과하는 경로를 나타내는 상기 적어도 하나의 연결 상태를 선택하는 단계; 및
상기 목적지 포트의 포트 번호, 상기 결정된 적어도 하나의 경유지 포트의 포트 번호 및 상기 선택한 적어도 하나의 연결 상태를 지시하는 지시자를 포함하도록 구성된 상기 연결 상태 테이블을 메모리 저장하는 단계;
를 포함하는 사이클릭 스위치에서의 트래픽 스케줄링 방법.
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.
제2항에서, 상기 스위치 패브릭의 현재 연결 상태가 s(여기서, s는 자연수)번째 연결상태이고, 상기 사이클릭 스위치 내부에 구비된 전체 포트의 개수가 N이고, 트랙픽이 목적지 포트에 도달하기까지 경유하는 포트의 수가 n이고, k번째 포트(여기서, k는 자연수로서, 출발지 포트의 포트 번호)를 출발지 포트로 하는 트래픽에서,
상기 적어도 하나의 경유지 포트를 결정하는 단계는,
n개의 경유지 포트들을 결정하는 경우,
Figure pat00001
를 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,
Figure pat00001
It is a step of determining the port having the remainder divided by N as the port number as the n-th port.
제1항에서, 상기 결정하는 단계는,
상기 스위치 패브릭의 이전 연결 상태에서 입력된 트래픽을 분석하여 자신(스케줄러)이 포함된 포트가 경유지 포트인지를 판단하는 단계; 및
자신(스케줄러)이 포함된 포트가 경유지 포트인 경우, 자신이 출발지 포트로 동작하는 경우에 송신하도록 상기 버퍼 메모리에 저장된 트래픽에 우선하여 상기 입력된 트래픽을 상기 스위치 패브릭의 현재 연결 상태에서 다른 포트로 송신할 트래픽으로 결정하는 단계
를 포함하는 것인 사이클릭 스위치에서의 트래픽 스케줄링 방법.
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.
제1항에서, 상기 결정하는 단계는,
상기 트래픽을 상기 스위치 패브릭을 통해 다른 포트로 송신하기 전에 상기 버퍼 메모리에 저장된 트래픽의 양을 분석하는 단계; 및
상기 트래픽의 양을 분석한 결과데이터를 다른 모든 포트에 전달하는 단계
를 더 포함하는 것인 사이클릭 스위치에서의 트래픽 스케줄링 방법.
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.
제1항에서, 상기 결정하는 단계는,
자신(스케줄러)이 포함된 포트가, 출발지 포트이고, 상기 입력된 트래픽을 상기 경유지 포트로 동작하는 다른 포트로 송신해야 하는 경우, 상기 다른 포트의 버퍼 메모리에 저장된 트래픽량을 모니터링 하는 단계; 및
상기 다른 포트의 버퍼 메모리에 저장된 트래픽량이 기준 트래픽량보다 큰 경우, 상기 현재 연결 상태에 따른 트래픽 경로를 통해 상기 입력된 트래픽을 송신하지 않고, 자신(스케줄러)이 포함된 포트와 상기 목적지 포트가 직접 연결되는 연결 상태에서 상기 입력된 트래픽을 상기 목적지 포트로 송신하는 단계
를 포함하는 것인 사이클릭 스위치에서의 트래픽 스케줄링 방법.
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.
제7항에서, 상기 프로세서는,
자신이 포함된 포트의 포트 번호, 상기 목적지 포트의 포트 번호, 상기 경유지 포트의 포트 번호 및 상기 적어도 하나의 연결 상태를 지시하는 지시자가 맵핑된 상기 연결 상태 테이블을 사전에 생성하여, 상기 메모리 저장하는 것인 사이클릭 스위치.
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.
제7항에서, 상기 프로세서는,
상기 스위치 패브릭의 현재 연결 상태가 s(여기서, s는 자연수)번째 연결 상태이고, 상기 사이클릭 스위치 내부에 구비된 전체 포트의 개수가 N이고, 현재 입력되는 트랙픽이 목적지 포트에 도달하기까지 경유하는 포트의 수가 n이고, 자신이 포함된 포트의 포트 번호가 k인 경우,
상기 다수의 포트 중에서 n개의 경유지 포트들을 결정하고,
Figure pat00002
를 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,
Figure pat00002
A cyclic switch that determines a port having a remainder divided by N as a port number as an nth stop port.
제7항에서, 상기 프로세서는,
상기 스위치 패브릭의 이전 연결 상태에서 현재 입력된 트래픽에 포함된 목적지 정보를 분석하여, 자신이 포함된 포트가 경유지 포트인 것으로 확인된 경우, 자신이 출발지 포트로 동작하는 경우에 송신해야 하는 트래픽에 우선하여 상기 입력된 트래픽을 송신하도록 상기 현재 입력된 트래픽을 상기 스위치 패브릭의 현재 연결 상태에 상기 다른 포트로 송신하는 것인 사이클릭 스위치.
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.
제7항에서, 상기 프로세서는,
상기 현재 입력된 트래픽을 상기 스위치 패브릭을 통해 상기 경유지 포트 또는 상기 목적지 포트로 송신하기 전에 상기 버퍼 메모리에 저장된 트래픽량을 분석하는 것인 사이클릭 스위치.
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.
제11항에서, 상기 스케줄러는,
상기 프로세서의 제어에 따라, 상기 버퍼 메모리에 저장된 트래픽량을 분석하여 획득한 결과 데이터를 다른 모든 포트에게 전달하는 통신부를 더 포함하는 것인 사이클릭 스위치를 더 포함하는 것인 사이클릭 스위치.
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.
제7항에서, 상기 프로세서는,
상기 다른 포트의 트래픽량이 기준 트래픽량보다 큰 경우, 상기 입력된 트래픽을 상기 스위치 패브릭의 현재 연결 상태에서 상기 다른 포트로 송신하지 않고, 상기 스위치 패브릭의 연결 상태가 자신이 포함된 포트와 목적지 포트가 직접 연결되는 연결 상태로 전환되는 시점에서 상기 입력된 트래픽을 상기 목적지 포트로 송신하는 것인 사이클릭 스위치.
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.
KR1020180155384A 2018-12-05 2018-12-05 Method for scheduling data traffic cyclic switch KR20200068417A (en)

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)

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