KR100368439B1 - 이중 스위칭 평면을 갖는 패킷 스위치에서 전송 순서 보장 방법 및 장치 - Google Patents

이중 스위칭 평면을 갖는 패킷 스위치에서 전송 순서 보장 방법 및 장치 Download PDF

Info

Publication number
KR100368439B1
KR100368439B1 KR10-1999-0022673A KR19990022673A KR100368439B1 KR 100368439 B1 KR100368439 B1 KR 100368439B1 KR 19990022673 A KR19990022673 A KR 19990022673A KR 100368439 B1 KR100368439 B1 KR 100368439B1
Authority
KR
South Korea
Prior art keywords
input
cell
queue
output
transmission
Prior art date
Application number
KR10-1999-0022673A
Other languages
English (en)
Other versions
KR20010002730A (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 KR10-1999-0022673A priority Critical patent/KR100368439B1/ko
Publication of KR20010002730A publication Critical patent/KR20010002730A/ko
Application granted granted Critical
Publication of KR100368439B1 publication Critical patent/KR100368439B1/ko

Links

Classifications

    • 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/2458Modification of priorities while in transit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/104Asynchronous transfer mode [ATM] switching fabrics
    • H04L49/105ATM switching elements

Abstract

입력 버퍼링 스위치의 성능 한계를 극복하기 위해 제시된 이중 입력큐와 이중 스위칭 평면을 갖는 비동기전송모드(Asynchronous Transfer Mode: ATM) 스위치에서 셀전송 순서 뒤바뀜을 막아주면서 입력단에서 낮은 큐잉 지연을 보장해주는 입력큐 관리 방식을 제안한다. 제안된 '순환적 입력 순환적 출력' (Cyclic-In-Cyclic-Out: CICO) 방식은 입력단에 ATM셀이 도착했을 때 두 입력큐에 도착셀을 교대로 분배하고, 전송 셀 중재시에 두 입력큐의 선두셀을 교대로 서비스함으로써 입력단에서 전송 순서가 뒤바뀌는 것을 막아준다. CICO 동작으로 교환기내에서 전송순서가 보장될 뿐만 아니라 도착셀을 두 입력큐에 교대로 분배하므로 군집성 트래픽 환경에서도 출력 버퍼링 스위치의 지연 특성을 보인다. 또한 기존의 방식과 달리 타임스탬프와 셀순서 복원회로가 필요 없으며, 도착셀 분배기, 전송중재기 그리고 출력단 제어기의 동작이 단순하므로 기가비트/초 급의 링크용량을 갖는 초고속 교환기설계에 적합하는 장점을 갖는다.

Description

이중 스위칭 평면을 갖는 패킷 스위치에서 전송 순서 보장 방법 및 장치 {METHOD AND APPARATUS FOR ENSURING TRANSFER ORDER IN A PACKET-SWITCH WITH A DUAL-SWITCHING PLANE000}
본 발명은 비동기전송모드(Asynchronous Transfer Mode: 이하 'ATM'이라 함) 셀 스위칭 방식에 관한 것으로서, 특히 이중 스위칭 평면을 갖는 패킷 스위치에 있어서 전송순서를 보장하여 전송 능력을 향상시키는 방법에 관한 것이다.
최근 근거리통신망(이하 'LAN'이라 함)과 광역통신망(이하 'WAN'이라 함)영역에서 네트워크 링크 용량이 초당 기가비트(Gigabit/sec) 급으로 확장되면서 초고속 링크를 지원하는 데 적합한 크로스바 스위칭 패브릭 기반의 입력 버퍼링 스위치에 대한 관심과 포트 전송율(port-density) 측면에서 확장성있는 스위치 구조에 대한 요구가 증대되고 있다. 즉, 기존의 ATM 스위치는 한 포트당 155Mbps의 전송율을 근간으로 설계되어 졌고 따라서 큐잉지연시간 측면에서 최적의 성능을 주는 출력 버퍼링 방식의 스위치가 주종을 이루었다. 그러나 ATM스위치의 경우 OC-48급 (2.5Gbps)의 링크를 지원하고 LAN스위치나 기가비트 라우터의 경우 1Gbps의 기가비트 이더넷 링크를 지원하기 위해서는 출력 버퍼링 방식에서 요구되는NV(N: 스위치 사이즈,V: 입출력링크 전송율) 의 동작 속도를 갖는 출력 버퍼 메모리의 구현이N이 커지면 현재의 기술로 불가능해진다. 따라서 기가급 이상의 포트 전송율을 갖는 패킷 스위치의 설계에 있어서 링크 속도의 버퍼 메모리와 스위칭 패브릭을 요구하는 입력 버퍼링 방식이 현실적인 대안으로 제시되고 있다.
그러나 입력 버퍼링 방식은 잘 알려진 선두 (Head-of-Line: 이하 'HOL'이라 함) 차단 현상으로 인해 최대 처리율이 58.6%로 제한된다는 문제를 가지고 있다. 이를 극복하기 위해 입력버퍼를 비선입선출(non-FIFO)큐로 구성하거나 스위칭 패브릭의 스위칭 능력을 향상시키는 방안들이 제시되어 있다.
종래의 방안중에 이중 스위칭 평면 (dual-switching plane)을 사용하여 전송 능력을 향상시키는 접근 방안이 있다. 이 방안은 이중 스위칭 평면을 어떻게 사용하느냐에 따라 도 1 또는 도 2에서 보이듯이 두 가지 방식으로 스위치 구성이 가능하다. 두 구조에서 각 입력큐는 선입선출 (First-In-First-Out) 큐로서 한 슬럿에 하나의 셀만 읽기 가능하며 출력큐는 두 배로 스피드업되어 있어 동일 슬럿에 두 개의 셀을 쓰기 가능하다. 도 1은 각 입력포트에 단일 FIFO 입력큐(10)를 두고 이 FIFO 입력큐(10)의 선두셀(HOL셀)이 입력평면선택기(20)를 통해 두 개의 스위칭 평면(30a, 30b)중 어느 하나를 선택하고, 출력단제어기(40)를 통해 출력포트의 FIFO출력큐(50)로 전송되는 방식에 관한 것으로서, 한 출력포트(50)로 두 개의 셀이 동시에 전송가능하다. 도 2는 각 입력포트에 두 개의 FIFO 입력큐(70)와 이의 선택을 제어하기 위한 입력큐선택기(60)를 두고, 각 FIFO 입력큐(70)는 해당 스위칭 평면(80a, 80b)에 바로 연결되어 있는 구조라는 점에서 도 1의 ATM 스위치 구조와 차이난다. 도 2의 ATM 스위치의 경우 한 입력포트에서 두 개의 셀이 동시에 전송가능하고, 한 출력단으로 동시에 두 개의 셀이 전송 가능하다. 여기서, 도 1의 ATM 스위치를 1Q2P (one input queue per input port, one switching plane) 스위치, 도 2의 ATM 스위치를 2Q2P (dual-input queue per input port, dual-switching plane) 스위치라고 지칭하기로 한다.
이중 스위칭 평면을 두는 경우 스위치내에 하나의 입출력포트쌍에 두 개의 스위칭 경로가 존재하므로 셀의 전송 순서가 바뀔 수 있으며 이를 고려한 세심한 설계가 필요하다. 도 1의 1Q2P 스위치 구조의 경우 각 입력단에 하나의 FIFO큐(10)만 존재하고 각 FIFO큐의 선두셀 즉, HOL셀만 경합에 참여하므로 셀전송 순서는 보장된다. 그러나 도 1의 1Q2P 스위치는 하나의 출력단으로 두 개의 셀이 동시에 전송 가능하나 하나의 입력단에서 하나의 셀만 전송가능하므로 처리율이 떨어지며 이중 스위칭평면을 충분히 활용하지 못하는 단점이 있다. 실측에 의하면, 1Q2P 스위치는 랜덤 트래픽을 인가할 때 88.6%의 처리율을 보이며, 이 구조에서 스위칭 평면을 3개와 4개로 늘리면 처리율이 각각 97.6%와 99.7%로 높아진다.
도 2의 2Q2P 스위치 구조에서는 하나의 출력단으로 두 개의 셀이 동시에 전송 가능할 뿐 만 아니라 하나의 입력큐(70)에서 두 개의 셀이 동시에 전송 가능하므로 출력단 충돌과 입력단 충돌이 줄어 우수한 성능을 보인다. 최근에 Kolias는 자신의 논문 ("Performance Analysis of Multiplane Nonblocking ATM Switches", IEEE Globecom'98, pp.356-362, 1998)을 통해 랜덤 트래픽 환경에서 각 입력단에 도착하는 셀을 두 입력큐 중 하나에 랜덤하게 분배할 때 2Q2P스위치의 최대 처리율이 100%에 이름을 증명하였다. 즉, 2Q2P 스위치 구조는 단지 순수 입력버퍼링 스위치 구조를 이중화 (입력단당 두 개의 입력큐, 두 개의 스위칭 평면)하고 각 출력단에 속도가 향상된 출력버퍼를 둠으로써, 링크 용량의 N배로 동작하는 스위칭 패브릭과 출력 버퍼 메모리를 요구하는 출력 버퍼링 스위치의 성능을 얻을 수 있다는 장점을 갖는다. 또한 출력버퍼링 방식과 달리 스위치 사이즈 N이 커져도 요구되는 각 입력 버퍼 메모리 속도, 스위칭 평면의 스위칭 속도, 출력 버퍼 메모리 속도는 변화가 없다는 탁월한 확장성을 갖는다. 따라서 포트당 수 '기가비트/초'의 용량을 갖는 초고속 대용량 ATM 교환기 및 인터넷 프로토콜(Internet Protocol) 라우터나 랜(LAN) 스위치를 설계할 때 매우 바람직한 구조라고 볼 수 있다.
그러나, 2Q2P 스위치 구조는 전송 순서 보장이라는 문제점이 있다. 즉, 각 입력단에 두 개의 입력큐가 존재하므로 각 입력단의 IQS는 셀이 도착하면 이 셀을 분배(저장)할 입력큐를 선택해야 한다. 흔히 두 입력큐중 하나를 랜덤하게 선택하거나 교대로 선택하는 방법이 고려되고 있는 데, 두 입력큐에서 겪는 큐잉 지연이 다르므로 출력단으로 스위칭되어 오는 셀들의 셀순서가 입력단에 도착한 셀순서와 달라져 전송 순서가 뒤바뀌는 경우가 발생할 수 있다. 특히 ATM과 같이 전송 순서가 보장되어야 하는 경우에 순수한 2Q2P 스위치 구조는 사용될 수 없으며 전송 순서를 보장해주기 위한 방안이 부가되어야 한다.
2Q2P스위치와 같이 하나의 입출력단쌍간에 복수개의 스위칭 경로가 존재하는 경우 전송순서를 보장해주기 위해 일반적으로 두 가지 방법이 제시되고 있다. 첫 번째로는, 입력단에서는 랜덤 또는 교대로 선택하고 출력단에서 전송 순서 복원을 위한 셀순서 복원기(Resequencer)를 두는 타임스탬프 방법과, 두 번째로는 가상 채널별로 저장할 입력큐를 호설정시에 명시적으로 지정해주는 고정라우팅 방법(static routing 또는 fixed path routing)이다. 출력단에 셀순서 복원기를 두는 방법은 구현이 매우 복잡하며 셀순서 복원을 위해 추가적인 지연이 발생한다는 문제점을 갖고 있다. 또한 고정라우팅 방법은 가상경로식별자/가상채널식별자(virtual path identifier/ virtual channel identifier) 테이블에 입력큐필드를 추가함으로써 간단하게 전송 순서를 보장해줄 수 있으나 동적인 트래픽 패턴 및 망 부하변화에 관계없이 고정된 입력큐에 도착셀을 저장하므로 스위치내 자원을 효율적으로 사용하지 못하게 되어 입력큐에서 큐잉 지연이 크고 버퍼가 유한한 경우 셀손실이 크다.
여기서, 복수개의 스위칭 경로를 갖는 패킷 스위치에서 셀전송 순서를 보장해주는 기존의 방법인 타임스탬프 방법과 고정할당 방법에 관해 보다 구체적으로 살펴보면 다음과 같다.
도 3에는 셀순서 복원기(resequencer)를 이용한 셀순서 복원방법인 타임스탬프 방법이 도시되어 있다. 입력단(110)에 셀이 도착하면 입력단 제어기(112)는 현재 시각 (도착 시각)을 기록한 타임스탬프를 도착셀에 부착하고 두 입력큐(114),결국 두 스위칭 경로 중 하나에 교대로 또는 랜덤하게 분배한다. 두 입력큐(114)에서 서로 다른 큐잉 지연시간을 겪으므로 출력단(120)에 도착했을 때 도착시간이 다르고 따라서 전송순서가 뒤바뀔 수가 있다. 출력단(120)에 셀이 들어오면 셀순서복원기(122)는 셀에 부착된 타임스탬프를 이용해 도착셀의 나이(age)를 계산하고, 타임스탬프를 제거한 뒤 셀과 그 셀의 나이를 순서복원용 버퍼(resequencing buffer: RSQ_BUFF)(122)에 저장한다. 이 때 나이는 '현재 시각 - 타임스탬프'로 계산되며 결국 입력큐(114)에서의 큐잉지연시간 Din을 의미한다. 순서복원용 버퍼(RSQ_BUFF)(122)에 저장된 셀의 나이는 매 슬럿마다 1씩 증가되며 최대 지연시간 Dmax에 이르면 출력큐(124)로 전달된다. 셀순서복원기(122)는 매 슬럿마다 순서복원용 버퍼(RSQ_BUFF)에 저장된 셀의 나이를 체크해서, (1) 나이값이 가장 크고, (2) 나이가 최대큐잉지연시간 Dmax를 넘은 셀을 출력큐(124)로 전달한다. 이 때, 셀순서복원기(122)는 출력큐(124)가 두 배로 스피드업되어 있으므로 한 슬럿당 두 개의 셀을 출력큐(124)로 전달될 수 있다. 이와 같이 타임스탬프 방법은 출력단에 도착한 셀을 순서복원용 버퍼(RSQ_BUFF)에서 최대지연시간과 큐잉지연시간의 차, 즉 Dmax- Din시간만큼 고의로 지연시킨 후 출력큐(124)로 전달함으로써, 모든 셀들이 입력단에 도착후 출력큐에 도착할 때까지의 소요시간을 Dmax로 동일하게 해주며 이에 의해 전송순서를 유지시켜 준다는 개념이다. 도 3에는 Dmax=12일 때 타임스탬프 방법의 예가 나타나 있다. 첫번째 도착셀이 하위큐에서 Din=9의 큰 큐잉 지연을 겪었지만, 출력단에 먼저 도착한 두번째 셀을 7슬럿(Dmax- Din= 12-5 = 7)동안 고의로 지연시킴으로써 첫번째 셀이 먼저 출력큐(124)로 보내져 입력단에 도착순서대로 출력큐에 저장됨을 볼 수 있다.
도 4에 나타난 고정라우팅 방법은 룩업테이블(150)에 예시된 바와 같이 호설정시에 각 가상 채널에 가상경로식별자(VPI)값 및 가상채널식별자(VCI)값과 더불어 그 가상채널의 셀을 저장할 입력큐를 명시적으로 지정해주는 방법으로 가상채널에 속한 모든 셀들이 스위치내에서 동일 스위칭 경로를 따라 스위칭되므로 전송 순서가 자연스럽게 보장해 준다. 그러나 트래픽의 동적인 상황에 무관하게 고정된 스위칭 경로를 따르므로 스위치내 자원을 효과적으로 사용하지 못하며 입력큐를 효과적으로 공유하지 못한다. 따라서 입력큐에서 큐잉 지연시간이 크며 버퍼가 유한한 경우 셀손실율도 크다.
그런데, 위의 두 가지 방법은 다음과 같은 문제점을 안고 있다. 먼저, 타임스탬프 방법은 ㄱ) 입력단에서 아무런 제어없이 두 스위칭 경로로 도착셀들을 분산시키고 출력단에서 셀순서복원기가 전송 순서를 복원해주는 방법이므로, 모든 출력단에 셀순서복원기가 필요하다는 문제점과, ㄴ) 입력단에서 도착셀에 긴 타임스탬프를 부착해야 되고 출력단에 두어야 하는 셀순서복원기가 그 구현이 복잡하다는 문제점이 있다. 즉, 셀순서복원기는 매 슬럿마다 순서복원용 버퍼(RSQ_BUFF)내의 모든 셀들의 타임스탬프를 검색하여 가장 큰 큐잉지연시간을 갖는 셀을 찾아야 하므로, 링크 전송율이 초당 기가비트(Gigabit/sec)급으로 확장되고 순서복원용버퍼(RSQ_BUFF)의 사이즈가 커지면 구현이 어려워진다. 또한, 입력단에 도착한 셀은 출력큐에 도달할 때까지 강제로 Dmax크기의 큐잉지연을 겪게 되므로 스위치 부하가 적은 상황에서도 큰 큐잉지연이 발생한다. 가장 큰 문제는 순서복원용 버퍼(RSQ_BUFF)의 사이즈와 Dmax값에 따라 순서복원용 버퍼(RSQ_BUFF)에서 셀손실이 발생할 수도 있고 셀순서가 뒤바뀔 확률이 여전히 존재한다는 점이다. 따라서 타임스탬프 방법을 실제로 스위치에 적용하기 위해서는 다양한 트래픽 패턴과 부하량에 대해 허용 큐잉 지연시간, 허용 셀손실율과 허용 시퀀스이탈율(out-of-sequence)을 만족시키는 순서복원용 버퍼(RSQ_BUFF) 사이즈와 Dmax값을 설정해줘야 하는 데, 2Q2P스위치 구조에서 타임스탬프 방법을 적용했을 때에 대한 분석이 아직까지는 제시되지 않고 있다.
고정라우팅 방법은 하나의 가상채널에 속한 모든 셀들이 스위치내에서 동일 스위칭 경로 즉, '상위입력큐(134a)->상위평면(140a)' 또는 '하위입력큐(134b)->하위평면(140b)'과 같은 경로를 따라 스위칭되므로 전송순서는 완전히 보장된다. 그러나, 트래픽의 동적인 상황에 무관하게 고정된 스위칭경로를 따르므로 이중 스위칭평면(140a, 140b)을 효과적으로 사용하지 못하며 두 입력큐(134a, 134b)를 효과적으로 공유하지 못한다. 특히, 트래픽이 연집적인(burst) 경우 하나의 입력단(130)내에는 한 버스트의 셀들이 점유할 확률이 높은 데, 이 버스트를 이루는 셀들이 모두 한 입력큐에 저장되므로 이들중 한 슬럿에 하나의 셀만 출력단으로 전달될 수 있어 입력큐(130)와 스위칭 평면(140a, 140b)을 이중화한 의미를 잃게한다. 따라서 입력큐에서 큐잉 지연시간이 크며 버퍼가 유한한 경우 셀손실율도 크다.
상설한 종래 기술의 문제점을 해결하기 위해, 본 발명은 2Q2P스위치에서 전송순서를 보장해주면서 버스트 트래픽 환경에서 우수한 큐잉 지연 시간 특성을 갖게 해주는 셀 분배 및 중재 방식을 제공함을 목적으로 한다.
도 1은 입력포트당 하나의 입력큐가 할당되고 이중 스위칭 평면을 갖는 종래의 ATM 스위치(1Q2P 스위치)의 구조를 도시한다.
도 2는 입력포트당 두 개의 입력큐가 할당되고 이중 스위칭 평면을 갖는 종래의 다른 ATM 스위치(2Q2P 스위치)의 구조를 도시한다.
도 3은 종래의 타임스탬프 방법에 따른 셀순서 보장방식을 설명하기 위한 개념도이다.
도 4는 종래의 고정라우팅 방법에 따른 셀순서 보장방식을 설명하기 위한 개념도이다.
도 5는 본 발명에 따른 입력큐의 분배와 중재에 관한 관리방법을 보여주는 개념도이다.
도 6은 본 발명에 따른 ATM셀의 태그 동작을 설명하기 위한 개념도이다.
도 7은 본 발명의 성능분석을 위한 시뮬레이션에 사용된 버스트 트래픽 모델을 도시한다.
도 8은 1Q2P 스위치에서 입력부하에 따른 큐잉 지연시간 특성을 보여주는 그래프이다.
도 9는 2Q2P 스위치에서 타임스탬프 방식을 적용했을 때 입력부하에 따른 큐잉 지연시간 특성을 보여주는 그래프이다.
도 10은 타임스탬프 방법에서 입력 부하에 따른 시퀀스이탈율 (out-of-sequence rate) 특성을 보여주는 그래프이다.
도 11은 2Q2P 스위치에서 고정라우팅(static routing)방식을 적용했을 때 입력부하에 따른 큐잉 지연시간의 특성을 나타내는 그래프이다.
도 12는 2Q2P 스위치에서 본 발명인 CICO 방법을 적용했을 때 입력부하에 따른 큐잉 지연시간의 특성을 보여주는 그래프이다.
도 13은 입력부하에 따른 입력큐에서 큐잉 지연시간의 비교특성을 나타낸 그래프이다.
도 14는 입력부하에 따른 총 큐잉 지연시간의 비교특성을 보여주는 그래프이다.
도 15는 버스트사이즈에 따른 입력단에서 큐잉지연시간의 비교특성을 보여주는 그래프이다.
도 16은 버스트사이즈에 따른 시스템에서 큐잉지연시간의 비교특성을 보여주는 그래프이다.
도 17은 입력부하에 따른 본 발명인 CICO 방법과 bi제약이 없는 경우의 큐잉지연 성능차이를 도시한 그래프이다.
도 18은 버스트사이즈에 대한 본 발명인 CICO 방법과 bi제약이 없는 경우의 큐잉지연 성능차이를 도시한 그래프이다.
도 19는l=8일 때 입력부하에 따른 셀손실율의 비교특성을 보여주는 그래프이다.
<도면의 주요부분에 대한 부호의 설명>
200: 입력큐 선택기 210: 이중 입력큐
220: 이중 스위칭평면 230: 출력단 제어기
240: 출력큐
상기의 목적 달성을 위해, 입력단에 도착한 비동기전송모드(ATM)셀의 출력단으로의 전송경로를 제공해주는 스위칭평면이 이중으로 구성되고, 상기 이중 스위칭평면의 입출력단에는 하나이상의 입력포트와 출력포트가 각각 제공되며, 각 입력포트는 상기 이중 스위칭평면 각각과 일 대 일로 연결되는 제1 및 제2 입력큐를 포함하고, 각 출력포트는 단일 출력큐를 포함하는 비동기전송모드(ATM) 스위치에 있어서,
상기 각 입력포트에 도착한 상기 비동기전송모드(ATM) 셀을 상기 두 입력큐에 교대로 분배하는 제1 단계,
매 전송주기마다, 선택된 입력포트의 두 입력큐의 양 선두셀에 대하여 도착순서에 따라 전송기회를 부여하여 선택된 출력포트로의 전송가능 여부를 판단하는 제2 단계,
전송가능으로 판단된 선두셀을 상기 이중 스위칭평면을 통해 상기 선택된 출력포트로 전송하는 제3단계를 구비하여 원래의 셀 전송순서가 그대로 유지되도록보장해주는 것을 특징으로 하는 이중 스위칭평면을 갖는 비동기전송모드(ATM) 스위치의 입력큐 관리 방법이 제공된다.
상기 제1단계의 두 입력큐에 대한 도착 셀의 교대 분배는, 각 입력포트마다 상기 두 입력큐를 택일적으로 가리키는 제1포인터(ai)를 두고, 상기 제1포인터(ai)의 값을 교호적으로 변경시켜 상기 두 입력큐를 교대로 인에이블시키는 것에 의해 달성될 수 있다.
상기 제2단계의 각 입력포트의 두 선두셀에 대한 교호적 전송기회의 부여는, 각 입력포트마다 할당되며 가장 먼저 도착한 셀이 저장되어 있는 입력큐를 가리키는 제2포인터(bi)를 이용하여, 전송선택된 셀이 생길 때마다 상기 제2포인터(bi)의 값을 교호적으로 변경시키므로써 이루어진다.
또한, 상기 제3단계는 동일 입력포트에서 동일 전송주기동안에 동일 출력포트로 전송되어야 할 두 셀간의 전송순서를 구분하기 위해 태그값을 이용하고, 상기 태그값은 상기 비동기전송모드셀이 상기 스위칭평면에 도착하기 전단계에서 상기 비동기전송모드셀에 부가되고, 상기 스위칭평면을 떠나서 상기 출력포트에 인가되기 전단계에서 출력단 제어기에 의해 제거된다.
한편, 본 발명의 다른 측면으로서, 복수개의 입력큐, 복수개의 출력큐 및 다중의 스위칭 평면이 구비된 스위칭 장치에 있어서, 다중으로 구성되어 상기 다중 스위칭 평면의 각 평면에 일 대 일로 연결된 다중 입력큐; 상기 다중 입력큐의 전단에 연결되며, 상기 다중 입력큐에 도착된 셀을 상기 다중 입력큐의 각 서브 입력큐에 순차적으로 분배하는 입력큐 선택기; 상기 다중입력큐와 상기 다중 스위칭 평면 사이에 연결되고, 1 사이클 이내에 상기 각각의 서브 입력큐를 상기 분배순으로 서비스하여 상기 서브 입력큐의 선두셀이 전송가능할 때 상기 선두셀에 상기 분배순에 대응하는 태그를 부착하는 전송 중재기; 및 상기 다중 스위칭 평면과 상기 출력큐 사이에 연결되고, 상기 출력큐에 도착된 셀이 동일 입력큐로부터 전송되어온 셀일 경우 상기 태그 정보에 따라 정렬하여 상기 출력큐에 저장하는 출력단 제어기를 포함하여 구성된 것을 특징으로 하는 전송 순서가 보장되는 스위칭 장치가 제공된다.
이상에서 알 수 있듯이, 본 발명이 제안하는 셀 분배 및 중재 방식의 핵심은 각 입력단에 도착한 셀을 두 개의 입력큐에 교대로 저장하고 두 입력단으로부터 교대로 셀을 출력단으로 전달함으로써 입력단에서 전송 순서가 바뀌지 않게 해주는 것이다. 가상채널별로 입력큐를 지정해주지 않고 교대 분배함으로써 동일 목적지를 가진 셀들(동일 가상 채널에 속한 셀도)이 두 큐에 분산되어 입력큐에서 큐잉 지연이 작으며 두 입력큐를 가상적으로는 하나의 선입선출(FIFO)큐처럼 공유하므로 셀손실 특성도 우수하다. 제안된 구조는 각 입력단에 두 개의 포인터와 출력단에 하나의 비교기를 필요로 하는 데 입력단의 포인터는 '0'과 '1'의 상태를 갖고 출력단의 비교기는 '0'과 '1'을 비교하면 되어 구현이 매우 간단하다. 또한, 도착셀을 셀단위로 두 입력큐에 분배하므로 동일 목적지를 가진 셀들이 두 큐에 분산되어 입력단 확장의 효과를 얻을 수 있어 큐잉지연 특성이 출력버퍼링 스위치와 거의 동일하다는 장점을 갖는다.
이하, 첨부한 도면을 참조하여, 본 발명의 실시예를 통해 본 발명을 보다 상세하게 설명하고자 한다.
먼저, 도 5와 6을 참조하면서, 2Q2P스위치 구조에서 셀전송 순서를 보장해 주는 입력큐 관리 방식을 설명한다. 제안된 방식의 핵심은 각 입력단에 도착한 셀을 두 개의 입력큐(210a, 210b)에 교대로 저장하고 두 입력단으로부터 교대로 셀을 출력단(230, 240)으로 전달함으로써 입력단에서 전송 순서가 바뀌지 않게 해주는 것이다. 즉, 두 개의 입력큐는 마치 하나의 FIFO큐로서 동작하게 된다. 여기서는 이 방법을 '순환적 입력 순환적 출력' (Cyclic-In-Cyclic-Out: CICO) 방법이라고 지칭한다.
도 5에 보이듯이 각 입력단에는 두 개의 입력큐(210) 즉, 상위큐(210a)와 하위큐(210b)가 존재하고 각 입력큐는 해당 스위칭 평면(220a, 220b)에 바로 연결된다. 각 입력큐(210a, 210b)는 ai, bi( 단,ii=1, ..., N의 값을 갖는 입력단번호임 ) 의 두 개의 포인터로 관리되며 전송 선택된 셀들은 스위칭 평면(220)으로 전달되기 전에 'H' 또는 'L'의 값을 갖는 태그가 부착된다.
스위치내에서 전송 순서는 입력큐 선택기(200), 스위칭 평면(220a, 220b)을 포함하는 전송 중재기(비도시) 그리고 출력단 제어기(230)의 동작으로 보장된다. 입력큐 선택기(200)는 포인터 ai를 이용해서 도착셀을 두 입력큐(210a, 210b)에 도 5에 점선으로 나타낸 바와 같이 교대로 저장하고, 전송 중재기는 포인터 bi를 이용해 두 입력큐(210a, 210b)에 저장되어 있는 셀들을 역시 점선의 순서로 서비스한다. 이 두 포인터 ai, bi의 동작으로 입력단에 늦게 도착한 셀이 먼저 출력단으로 전송 선택되는 것을 막아준다. 출력단 제어기(230)는 한 입력단으로부터 동시에 두 개의 셀이 한 출력단으로 전송되어오는 경우 이 두 셀간에 전송 순서를 구분해준다. 알고리즘을 기술하기 전에 먼저 포인터 ai, bi와 태그(tag)를 정의하면 다음과 같다.
<입력 포인터와 태그의 정의>
ㄱ) ai: 입력단i에 도착한 셀을 상위 입력큐(210a) 또는 하위 입력큐(210b) 중 어느 입력큐 에 저장할 것인가를 가리키는 포인터.
ㄴ) bi: 입력단i에 저장되어 있는 셀 중 가장 먼저 도착한 셀이 있는 입력큐를 가리키는 포인터.
ㄷ) 태그: 한 입력단에서 두 개의 셀이 동시에 동일 출력단으로 전송되는 경우 이 두 셀간에 전송 우선순위를 부여하기 위해 전송 선택된 셀에 부착되는 1 비트 정보.
여기서 ai, bi는 '0' 또는 '1'의 값을 가지며 이 포인터값이 '0'이면 상위 입력큐(210a)를, '1'이면 하위 입력큐(210b)를 가리킨다. 초기에 모든 포인터 ai, bi는 '0'값을 갖는다. 태그값은 'H'와 'L'의 값을 가지며 예컨대 크로스바 스위치와 같은 스위칭 패브릭(switching fabric) 즉, 스위칭평면(220)으로 전달되기 전에 부착되고 출력단제어기(230)가 이를 제거한다.
제안된 방식의 동작을 입력큐선택기(210), 중재 과정 그리고 출력단제어기(230)의 순으로 자세히 살펴보자.
먼저, 입력단 제어기의 동작을 설명한다. 입력단 제어기는 입력단의 개수에 해당하는 입력큐선택기(200)들로 구성된다. 각 입력단의 입력큐선택기(200)는 도착셀을 두 입력큐 즉, 상위 입력큐(210a) 와 하위 입력큐(210b)에 교대로 분배한다. 각 입력큐선택기(200)는 도착셀을 ai가 가리키는 입력큐에 저장하는데, 예를 들어 ai= 0 이면 상위 입력큐(210a)에 저장하고, ai값을 토글하여 즉, ai= 1 로 하여 다음 도착셀을 다른 입력큐 즉, 하위 입력큐(210b)에 분배하는 것을 하나의 주기로 하여 이를 반복적으로 수행함으로써 입력단i로의 도착셀들을 도착순서대로 두 큐(210a, 210b)에 교대로 분배할 수 있게 된다.
다음으로 중재과정을 설명한다. 입력단의 전체 입력포트의 개수를 N개라 할 때, 이들 N개 입력포트에 대한 중재는 라운드-로빈 방식 혹은 랜덤-선택 방식 혹은 그외의 다른 어떤 방법으로도 수행될 수 있다. 입력포트 간의 중재방식은 어떠해도 상관없으며, 입력포트 내부의 상위 입력큐와 하위 입력큐의 선두셀 간의 중재만 제대로 해주면 전송순서의 뒤비뀜은 방지된다. 각 입력포트에 대한 출력단으로의 전송중재는 두 입력큐의 HOL셀에 대해 수행해야 하므로 두 번의 서브라운드에 걸쳐서 이루어진다.
입력단i에서 중재 과정은 다음과 같다. 첫번째 서브라운드에서, 포인터 bi가 가리키는 입력큐의 HOL위치에 전송 대기중인 셀이 있고 그 셀의 해당 목적지출력단이 다른 입력단에 의해 선점되어 있지 않으면 그 셀을 전송 선택한다. 만약 해당 목적지 출력단이 다른 입력단에 의해 선점되어 있으면 그 셀은 전송될 수 없고 따라서 다음 전송중재기회가 주어질 때까지 대기해야 한다. 전송 선택된 셀이 있으면 첫번째 서브라운드의 끝에서 포인터 bi를 토글하고 전송 선택된 셀의 태그값을 'H'로 설정한다. 두번째 서브라운드에서도 동일한 과정이 반복된다. 따라서, 하나의 전송주기 동안에 이루어지는 두 번의 서브라운드를 통하여, 상위 및 하위 입력큐의 선두셀이 모두 출력단으로 전송될 수도 있지만, 출력단의 사정에 따라 한 개의 선두셀만이 전송되거나 혹은 그 어떤 선두셀도 전송되지 못할 수도 있다. 한편, 두 번째 서브라운드와 첫번째 서브라운드와 차이점은 1) 첫번째 서브라운드에서 입력단i의 셀이 선택된 경우 포인터 bi값이 바뀌어 있다는 점과 2) 전송 선택된 셀의 태그값을 'L'로 셋팅한다는 점이다. 이에 관련된 태그 동작은 후술한다. 포인터 bi가 가리키는 입력큐만 서비스되고 서비스 후 포인터 bi값을 토글하여 다른 입력큐에 전송 기회를 주므로 입력단에 저장되어 있는 셀들은 도착순서대로 서비스된다.
끝으로, 출력단 제어기(230)의 동작을 설명한다. 출력단 제어기(230)는 두 스위칭 평면(220a, 220b)으로부터 최대 두 개의 셀이 동시에 들어올 때 두 셀을 출력큐(240)에 저장하는 역할을 한다. 이 때 동시에 전송되어온 두개의 셀이 서로 다른 입력단으로부터 전송되어온 셀들이면 어느 셀을 먼저 출력큐에 넣어도 아무런 문제가 없다. 그러나 동일 입력단으로부터 전송되어온 셀인 경우에는 둘 셀간에 전송 순서를 보장해줘야 한다. 특히, 트래픽이 연집적(burst)인 경우에 동일 입력단의 두 입력큐(210a, 210b)의 HOL셀들의 목적지가 같을 확률이 높다. 이와 같이 두 개의 선두셀 간의 전송순서의 보장이 필요한 이유는, 매 전송주기마다 전송되는 셀의 개수는 0 ~ 2중 어느 하나가 되므로 첫 번째 서브라운드에서 전송선택된 셀이 항상 상위 입력큐에 저장되었던 선두셀이라고 볼 수 없기 때문이다.
도 6에 이에 관한 예가 나타나 있으며, 이 경우 첫번째 서브라운드에서 목적지가j번째 출력단인 셀j 1이 선택되고 포인터 bi가 '1'로 갱신되므로 두번째 서브라운드에서j번째 출력단인 셀j 2가 선택되게 된다. 이를 위해 태그 정보가 이용되며, 상설한 입력단 중재동작으로 인해, 동일 슬럿에서 동일 입력단으로부터 전송되어온 두 셀의 태그값은 항상 'H'과 'L'로 설정되어 서로 다르다. 이 경우 태그값이 'H'인 셀은 첫번째 서브라운드에서 선택된 셀이고, 태그값이 'L'인 셀은 두번째 서브라운드에서 선택된 셀이다.
따라서 출력단 제어기(230)는 태그값을 이용해 두 셀의 순서를 구별할 수 있다. 태그값이 'H'인 셀이 항상 먼저 도착한 셀이 되므로, 출력단 중재기(230)는 이 셀을 출력큐(240)에 먼저 저장한다. 출력단 중재기(230)는 태그값을 이용해 먼저 도착한 셀을 결정하고 난 뒤 셀들을 출력큐(240)에 집어 넣기 전에 태그를 제거한다.
이상에서와 같이 입력단에서 전송 순서 보장은 두 개의 포인터 ai와 bi를 이용해서 수행되며 한 입력단에서 동시에 두 개의 셀이 동일 출력단으로 전송될 때두 셀간의 전송 순서 구분은 태그값을 이용해서 수행된다. 제안된 방식에서는 각 입력단에 두 개의 포인터(각각 1비트정보 저장)가 필요하며 스위칭 평면으로 전송되기 전에 1비트의 태그가 장착된다. 포인터의 동작과 태그의 운용이 매우 단순하므로 고속 스위치 구현에 적합하다.
지금까지 전송 순서를 보장해주도록 2Q2P스위치를 운용하는 방법으로서, 종래기술의 대표적인 예로서 타임스탬프 방식과 고정라우팅 방식과 본 발명이 제안한 방식인 CICO방식을 살펴보았다. 이하에서는 연집적인 트래픽 환경에서 위 세 방법의 성능을 시뮬레이션을 통해 비교 및 분석한다. 입출력단에서 큐잉 지연 시간과 입력큐에서 셀손실율을 성능 평가 인자로 삼았으며 시뮬레이션에 사용된 가정은 다음과 같다.
ㄱ) 가정-1: 스위치 사이즈 N은 16으로 한다.
ㄴ) 가정-2: 연집적 트래픽 모델은 도 7에 나타난 균등 기하 버스트 모델을 사용한다.
ㄷ) 가정-3: 하나의 연집셀그룹에 속한 각 셀들의 목적지 출력단은 동일하다.
ㄹ) 가정-4: 각 연집셀그룹의 목적지는 N개 출력단에 균등히 분포한다.
ㅁ) 가정-5: 고정라우팅 방법의 성능을 실험하기 위해 신호원에서 연집셀그룹을 발생시킬 때 각 연집셀그룹별로 상위 입력큐나 하위 입력큐 중 임의의 입력큐를 할당해준다.
위와 같은 가정을 전제로 하여 먼저, 큐잉 지연 시간의 특성을 비교 분석한다.
도 8, 9, 11 및 12에는 평균 버스트 사이즈(l)가 8일 때(l=8) 입력부하에 따른 1Q2P스위치의 큐잉 지연과 타임스탬프 방법, 고정라우팅 방법 그리고 본 발명이 제안하는 CICO 방법을 적용한 2Q2P스위치의 큐잉 지연시간의 특성이 그래프로 도시되어 있다. 큐잉 지연 측면에서 이상적인 성능을 보이는 출력 버퍼링 스위치의 큐잉 지연 곡선도 비교를 위해 도시하였다.
도 8에서 1Q2P스위치에서는 입력부하가 0.85를 넘으면 입력큐에서 큐잉 지연시간이 유한한 값으로 한정되지 않는데, 이는 처리율이 제한되기 때문이다.
도 9에는, 셀순서 복원기(122)를 두는 경우, 순서복원용 버퍼(RSQ_BUFF)사이즈가 128이고 Dmax가 40과 60일 때 입력부하에 따른 큐잉 지연시간이 나타나있다. 입력부하가 작은 경우 순서복원용 버퍼(RSQ_BUFF)에서의 지연이 스위치내 큐잉 지연의 대부분을 차지함을 볼 수 있다. 즉, 대부분의 셀이 입력큐에서 거의 바로 출력단으로 전달되나 셀순서 보장을 위해 셀순서 복원기(122)에서 나이가 Dmax에 이를 때까지 기다려야 하기 때문이다. 부하가 증가하면서 출력큐(124)에서 큐잉이 증가하고 총 큐잉 지연은 이 출력큐에서 큐잉 지연 시간이 Dmax만큼 위로 쉬프트된 양상을 보인다. 따라서 총 큐잉 지연 시간은 Dmax가 60인 경우가 40 인 경우보다 20 슬럿정도 증가한다. 즉, Dmax값이 클수록 스위치내의 총큐잉 지연은 그 만큼 증가하게 된다.
따라서 스위치내의 큐잉 지연을 줄이기 위해서 Dmax값을 작게 설정해야 하는 데 Dmax값이 작으면 셀순서 복원기(122)를 두었어도 셀순서가 바뀌는 경우가 발생한다. 도착셀이 입력큐(110)에서 큐잉 지연이 Dmax를 넘으면 이 셀은 이 셀보다 나중에 도착한 셀보다 늦게 출력큐(124)로 전송될 확률이 크다. 즉, 나중에 도착한 셀이 셀순서 복원기(122)에서 나이가 Dmax에 이르면 출력큐(124)로 전달되는 데 먼저 도착한 셀은 이 때까지도 출력단에 도달하지 못했으므로 이 두 셀간에 셀순서가 뒤바뀌게 되는 것이다. 도 10에서 보듯이 Dmax가 40인 경우의 시퀀스이탈률(out-of-sequence rate)이 Dmax가 60인 경우의 그것보다 크다. Dmax가 작으면 입력큐에서 큐잉지연이 Dmax보다 클 확률이 높으므로 셀순서가 뒤바뀔 확률이 더 크기 때문이다. 따라서 시퀀스이탈률을 작게 하기 위해서는 Dmax값이 커야 한다. 즉, Dmax는 스위치내에서 허용 총큐잉 지연시간과 허용 시퀀스이탈률내에서 결정되어야 한다. 타임스탬프를 이용한 셀순서 복원 방법은 완벽하게 셀순서를 보장해주지 못하며 셀순서가 바뀔 확률이 작지만 항상 존재하게 되며 스위치 구조, 규모, 트래픽 패턴에 따른 Dmax값과 순서복원용 버퍼(RSQ_BUFF) 크기를 설정해야 하는 데 아직 이에 대한 명료한 해결책이 제시되고 있지 못하다. 이와 같이 셀순서 복원기를 두는 방법은 구현이 복잡할 뿐만 아니라 안정적인 성능을 얻기 위한 Dmax설정에도 근본적으로 문제를 가지고 있음을 확인할 수 있다.
도 11의 고정라우팅 방식의 경우 1Q2P스위치나 타임스탬프 방식보다는 큐잉지연이 적지만 여전히 입력큐에서 상당한 큐잉이 발생하며 이 성분이 총 큐잉지연으로 이어져 출력 버퍼링 방식보다 총 큐잉 지연 시간이 큼을 볼 수 있다. 고정라우팅 방식에서는 하나의 가상 채널의 연집셀그룹(버스트)에 속한 셀들을 하나의 입력큐 즉, 호설정시 지정받은 입력큐에 고정적으로 저장하므로 이 셀들중 HOL셀 하나만 전송 경합에 참여할 수 있게 된다. 즉, 하나의 입력단에 하나의 가상 채널에 속한 버스트의k개의 셀이 큐잉되어 있는 경우 이 셀들이 모두 서비스되는 데 최소k슬럿이 소요되게 된다. 따라서 이중 스위칭 경로를 충분히 활용하지 못하게 되어 입력큐에서 큐잉 지연시간이 커진다.
반면에 본 발명에 따른 CICO방식에서는 하나의 버스트의 셀들이 두 입력큐에 도착순서대로 분배되므로 한 버스트에 속한 두 개의 셀이 전송 경합에 참여할 수 있게 된다. 즉, 위에서 언급한k개의 셀이 최소k/2 슬럿에 모두 서비스될 수 있다. 이로 인해 도 12에서 보듯이 입력큐에서 큐잉 지연이 감소하며 따라서 총큐잉지연도 감소한다. 도 13 및 14에서 보듯이 입력부하에 따른 입력큐에서의 큐잉 지연 시간과 입력부하에 따른 총 큐잉 지연 시간은 본 발명에 따른 CICO방법을 적용한 경우가 가장 작으며 특히 총 큐잉 지연시간은 출력 버퍼링 방식과 거의 동일함을 볼 수 있다.
도 15와 16에는 입력 부하가 0.85일 때 버스트 사이즈l에 따른 입력단에서의 큐잉 지연과 총큐잉 지연이 나타나 있다. 각 방법 모두 버스트 사이즈가 증가하면 큐잉 지연 특성이 저하된다. 그러나 고정 할당 방식의 경우 버스트 사이즈l이1에서 8과 32로 커지면 입력큐에서 큐잉 지연시간이 각각 20.3과 96.0로 급격히 증가하나, CICO방법의 경우 큐잉 지연시간이 4.29와 19.3로 완만하게 증가함을 볼 수 있다. 고정할당 방법의 경우, 트래픽이 연집화될수록, 즉 버스트 사이즈가 커질수록 한 입력단내에 하나의 버스트만 존재할 확률이 커지므로 입력큐에서 큐잉 지연은 더욱 증가하게 된다. 그러나 본 발명에 따른 CICO 방법의 경우 버스트 사이즈가 증가해도 여전히 한 입력큐에서 한 버스트에 속한 두 개의 셀이 동일 슬럿에서 전송가능하므로 입력큐에서 큐잉 지연이 크게 증가하지 않는다. 즉, 본 발명에 따른 CICO 방법이 버스트 트래픽에 대한 대처 능력이 뛰어남을 확인할 수 있다.
다음으로, CICO방법의 가상 HOL차단 현상으로 인한 성능 저하 정도를 분석해 본 결과를 살펴본다.
제안된 CICO방법에서 HOL셀의 전송을 막는 원인은 두 가지이다. 첫번째는 출력단 경합에서 진 경우이고, 두 번째는 해당 출력단이 현재 다른 입력단의 선두셀에 의해 선점되어 있지 않아도 포인터 bi가 가리키고 있는 입력큐의 HOL이 전송 차단되어 경합에 참여하지 못하는 경우로 가상 FIFO큐에서 가상 HOL차단(virtual HOL blocking) 현상이 일어나는 경우를 들 수 있다. 여기서, 출력단 경합으로 인한 전송 차단은 CICO 방법과 관계없이 2Q2P스위치에서 피할 수 없는 현상이다. 따라서 가상 HOL차단 현상으로 인한 성능 저하 정도를 알아보기 위해, CICO 방법을 도착셀을 두 입력큐에 교대로 저장하고 전송셀 중재시에 포인터 bi를 고려하지 않고 해당 출력단이 현재 다른 입력단의 선두셀에 의해 선점되어 있지 않으면 전송을 허락해주는 방식과 성능을 비교하였다. 즉, 이 방식은 전송 순서는 보장되지 않으나 출력단 경합으로만 전송 차단되므로 2Q2P스위치의 최적의 성능을 보이는 구조이다.
도 17과 18에는 2Q2P스위치를 두 방식으로 관리하는 경우 입력 부하에 따른 큐잉 지연시간이 나타나 있다. 도면에서 보이듯이 두 방식의 성능차가 매우 미세하며 이는 본 발명의 CICO 방법에서 포인터 bi의 동작으로 인한 전송 제약이 가져다 주는 2Q2P 스위치의 성능 저하가 거의 없음을 알 수 있다.
끝으로, 셀손실율을 분석해 보면 다음과 같은 결과를 얻을 수 있다.
도 19에는 버스트 사이즈l이 8이고 입력버퍼 사이즈 Bin이 10과 20으로 유한한 경우, 1Q2P 스위치와 고정라우팅 방법과 본 발명의 CICO 방법을 적용한 2Q2P스위치의 입력부하에 따른 입력큐에서의 셀손실율이 나타나 있다. 2Q2P 스위치의 경우 입력 버퍼사이즈는 두 입력큐 사이즈의 합이며 출력버퍼는 충분히 크다고 가정하였다. 고정라우팅 방법의 경우 셀손실율이 가장 크며 1Q2P 스위치와 CICO 방법의 2Q2P 스위치의 셀손실율은 입력 부하가 0.8~0.85에 이를 때까지는 1Q2P 스위치가 더 적으나 이를 넘어서면 CICO 방법의 2Q2P스위치의 셀손실율이 더 적음을 볼 수 있다. 고정라우팅 방법의 경우 스위치의 동적인 큐잉 행태에 무관하게 지정된 입력큐에 셀을 분배하므로 두 입력큐를 동적으로 균등히 공유하지 못한 결과이고 CICO 방법의 경우 입력부하가 항상 두 입력큐에 균등히 분배되므로 마치 하나의 FIFO큐를 공유하는 것과 같은 효과를 얻어 셀손실이 작다.
이상에서는 구현이 용이하고 높은 성능을 가져다주는 2Q2P스위치에서 전송 순서 보장 방안을 제안하고 시뮬레이션을 통해 기존의 방안들과 성능을 비교하였다. 본 발명이 제안한 CICO(Cyclic-In-Cyclic-Out)방식은 각 입력단에 도착한 셀을 두 개의 입력큐에 교대로 저장하고 두 입력단으로부터 교대로 셀을 출력단으로 전달함으로써 입력단에서 전송 순서가 바뀌지 않게 해준다. 즉, 두 개의 입력큐는 마치 하나의 FIFO큐로서 동작하게 된다. 또한 동일 입력단에서 동일 목적지를 가진 두 개의 셀이 전송되는 경우 이 두 셀간의 전송 순서를 구별하기 위해 1-비트 태그를 이용하여 출력단에서 전송 순서를 보장해준다.
제안된 CICO방식은 타임스탬프가 필요 없어 구현이 간단하고 한 버스트에 속한 셀들을 두 입력큐에 교대로 분배하여 두 개의 셀이 동시에 출력단으로 전송 가능하여 입력큐에서 큐잉 지연시간이 감소하고 또한 버퍼 공유 효과가 뛰어나 셀손실율이 작다는 장점을 갖는다.
CICO방식을 적용한 2Q2P스위치는 높은 성능을 제공함과 동시에 타임스탬프를 사용하지 않고도 전송순서를 보장해주므로 구현이 용이해 포트당 Gbps급의 전송율을 갖는 초고속 ATM 스위치나 IP 라우터의 구현에 적합하다.
또한, 종래의 방식과 본 발명에 따른 방식의 성능을 분석해 본 바에 따르면, 본 발명이 제안한 CICO 방법은 큐잉 지연 특성에서 다른 방법보다 우수한 성능을 보이며 총 큐잉 지연 시간이 출력 버퍼링 스위치와 거의 동일하다. 또한 셀손실율 측면에서도 고정라우팅 방법보다 월등한 성능을 보인다. 즉, 제안된 CICO방법은 앞에서 언급했듯이 구현측면에서도 용이할 뿐만 아니라 큐잉 지연과 셀손실율의 성능측면에서도 뛰어남을 확인할 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (5)

  1. 입력단에 도착한 비동기전송모드(ATM)셀의 출력단으로의 전송경로를 제공해 주는 스위칭평면이 다중으로 구성되고, 상기 다중 스위칭평면의 입출력단에는 하나이상의 입력포트와 출력포트가 각각 제공되며, 각 입력포트는 상기 다중 스위칭평면 각각과 일 대 일로 연결되는 다중 입력큐를 포함하고, 각 출력포트는 단일 출력큐를 포함하는 비동기전송모드(ATM)스위치에 있어서,
    각 입력포트마다 상기 다중 입력큐를 택일적으로 가리키는 제1포인터(ai)를 두고, 상기 제1포인터의 값을 교호적으로 변경시켜 상기 다중 입력큐를 교대로 인에이블시킴으로써 상기 각 입력포트에 도착한 상기 비동기전송모드(ATM)셀을 상기 다중 입력큐에 교대로 분배하는 제 1단계;
    매 전송주기마다, 각 입력포트마다 할당되며 가장 먼저 도착한 셀이 저장되어 있는 입력큐를 가리키는 제2포인터(bi)를 이용하여 전송선택된 셀이 생길 때마다 상기 제2포인터의 값을 교호적으로 변경시키는 방식으로 선택된 입력포트의 다중 입력큐의 선두셀들에 대하여 도착순서에 따라 전송기회를 부여하여 선택된 출력포트로의 전송가능 여부를 판단하는 제 2단계; 및
    동일 입력포트에서 동일 전송주기동안에 동일 출력포트로 전송되어야 할 선두 셀들간의 전송순서를 구분하기 위해 태그값을 이용하고, 상기 태그값은 상기 비동기전송모드셀이 상기 스위칭평면에 도착하기 전단계에서 상기 비동기전송모드셀에 부가되고, 상기 스위칭평면을 떠나서 상기 출력포트에 인가되기 전단계에서 제거되는 방식으로, 전송가능으로 판단된 선두셀을 상기 다중 스위칭평면을 통해 상기 선택된 출력포트로 전송하는 제 3단계를 구비하여 원래의 셀 전송순서가 그대로 유지되도록 보장해주는 것을 특징으로 하는 다중 스위칭평면을 갖는 비동기전송모드(ATM) 스위치의 입력큐 관리방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 복수개의 입력큐, 복수개의 출력큐 및 다중의 스위칭 평면이 구비된 스위칭 장치에 있어서,
    다중으로 구성되어 상기 다중 스위칭 평면의 각 평면에 일 대 일로 연결된 다중 입력큐;
    상기 다중 입력큐의 전단에 연결되며, 상기 다중 입력큐에 도착된 셀을 상기 다중 입력큐의 각 서브 입력큐에 순차적으로 분배하는 입력큐 선택기;
    상기 다중입력큐와 상기 다중 스위칭 평면 사이에 연결되고, 1 사이클 이내에 상기 각각의 서브 입력큐를 상기 분배순으로 서비스하여 상기 서브 입력큐의 선두셀이 전송가능할 때 상기 선두셀에 상기 분배순에 대응하는 태그를 부착하는 전송 중재기; 및
    상기 다중 스위칭 평면과 상기 출력큐 사이에 연결되고, 상기 출력큐에 도착된 셀이 동일 입력큐로부터 전송되어온 셀일 경우 상기 태그 정보에 따라 정렬하여 상기 출력큐에 저장하는 출력단 제어기를 포함하여 구성된 것을 특징으로 하는 전송 순서가 보장되는 스위칭 장치.
KR10-1999-0022673A 1999-06-17 1999-06-17 이중 스위칭 평면을 갖는 패킷 스위치에서 전송 순서 보장 방법 및 장치 KR100368439B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-1999-0022673A KR100368439B1 (ko) 1999-06-17 1999-06-17 이중 스위칭 평면을 갖는 패킷 스위치에서 전송 순서 보장 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-1999-0022673A KR100368439B1 (ko) 1999-06-17 1999-06-17 이중 스위칭 평면을 갖는 패킷 스위치에서 전송 순서 보장 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20010002730A KR20010002730A (ko) 2001-01-15
KR100368439B1 true KR100368439B1 (ko) 2003-01-24

Family

ID=19593003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-0022673A KR100368439B1 (ko) 1999-06-17 1999-06-17 이중 스위칭 평면을 갖는 패킷 스위치에서 전송 순서 보장 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100368439B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4453915B2 (ja) * 2005-03-18 2010-04-21 富士通株式会社 クロスバー装置、制御方法及びプログラム

Also Published As

Publication number Publication date
KR20010002730A (ko) 2001-01-15

Similar Documents

Publication Publication Date Title
Iyer et al. Analysis of the parallel packet switch architecture
US5274642A (en) Output buffered packet switch with a flexible buffer management scheme
CA2490915C (en) Apparatus and method to switch packets using a switch fabric with memory
CA2271883C (en) Many dimensional congestion detection system and method
US7397808B2 (en) Parallel switching architecture for multiple input/output
US6944170B2 (en) Switching arrangement and method
US7136391B1 (en) ATM switch
JPH09512683A (ja) Atmアーキテクチャ及びスイッチング要素
JPH0637797A (ja) パケット交換網の予約リング機構
JPH0637800A (ja) 非ブロッキング自己経路指定式交換網を有する交換機
Chrysos et al. Scheduling in Non-Blocking Buffered Three-Stage Switching Fabrics.
Chao et al. An ATM queue manager handling multiple delay and loss priorities
KR100368439B1 (ko) 이중 스위칭 평면을 갖는 패킷 스위치에서 전송 순서 보장 방법 및 장치
Yun A terabit multi-service switch with Quality of Service support
Lee et al. A practical approach for statistical matching of output queueing
Guo et al. Packet switch with internally buffered crossbars
Yi et al. NETp1-02: Providing QoS Guarantees in Buffered Crossbars with Space-Division Multiplexing Expansion
Ryu et al. A novel address pointer switch architecture for variable length packets
KR20000074194A (ko) 대용량화가 가능한 다중 경로 비동기 전송 모드 스위치 및 셀구조
Stiliadis Efficient multicast algorithms for high-speed routers
Newman Fast packet switching for broadband ISDN
KR970002817B1 (ko) 에이티엠(atm)망에서 가상경로에 의한 링크공유 제어장치
Kannan et al. A fair and efficient multicast ATM switch based on deflection routing
Liu et al. A sliding‐window parallel packet switch for high‐speed networks
KR20020054207A (ko) 분배결합 패킷 스위칭 장치

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee