KR20080077189A - 상호접속 대기시간을 감소시키기 위한 방법 및 시스템 - Google Patents

상호접속 대기시간을 감소시키기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20080077189A
KR20080077189A KR1020087014427A KR20087014427A KR20080077189A KR 20080077189 A KR20080077189 A KR 20080077189A KR 1020087014427 A KR1020087014427 A KR 1020087014427A KR 20087014427 A KR20087014427 A KR 20087014427A KR 20080077189 A KR20080077189 A KR 20080077189A
Authority
KR
South Korea
Prior art keywords
request
packet
fabric
arbitration
data packet
Prior art date
Application number
KR1020087014427A
Other languages
English (en)
Inventor
프랑코이스 지. 아벨
알란 에프. 베너
리차드 알. 그리지보우스키
브루스터 알. 주니어 히멘웨이
일리아스 일리아디스
라자람 크리쉬나무르티
로널드 피. 루이즈텐
씨리엘 민켄버그
Original Assignee
코닝 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 코닝 인코포레이티드 filed Critical 코닝 인코포레이티드
Publication of KR20080077189A publication Critical patent/KR20080077189A/ko

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
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/62Wavelength based
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/58Changing or combining different scheduling modes, e.g. multimode scheduling
    • 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
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing
    • 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/0852Delays
    • H04L43/087Jitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3027Output queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures
    • H04L49/508Head of Line Blocking Avoidance

Landscapes

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

Abstract

중재 대기시간을 감소시키기 위한 방법 및 시스템은 라우팅 패브릭 스케줄된 중재와 협력하여 이전 중재 없이 추론 전송(STX)을 채용한다. 패킷은 추론적으로 전송된 패킷에 라우팅 패브릭에 이전에 비축되지 않은 출력을 충돌시키지 않고 할당하기 위해 스케줄된 중재를 통해, 또한 추론 중재를 통해 소스 위치에서 라우팅 패브릭으로 송신된다.
데이터 패킷, 라우팅 패브릭, 중재기, 추론 요청, 스위칭 패브릭

Description

상호접속 대기시간을 감소시키기 위한 방법 및 시스템{METHOD AND SYSTEM TO REDUCE INTERCONNECT LATENCY}
본 발명은 패킷 스위칭 분야에 관한 것으로, 특히 컴퓨터 상호접속 네트워크에 특히 적합한 입력-큐잉 패킷-스위치 아키텍처 분야 관한 것이다.
전송기술의 발전과 통신 및 컴퓨팅의 병행은 정보 데이터를 전송하기 위해 이용가능한 대역폭의 엔벨로프(envelope)를 끊임없이 확장시킨다. 예컨대, 파장분할 다중화(WDM) 및 고밀도 파장분할 다중화(DWDM) 등의 발전은 단일의 파이버(fiber) 상에 많은 수의 채널을 멀티플렉싱함으로써 이용가능한 대역폭을 크게 증가시킨다. 각각의 개별 채널은 OC-x(Optical Carrier) 속도인 OC-48(2.5 Gb/s), OC-192(10 Gb/S), 또는 OC-768(40 Gb/s)에서 동작한다. 최신의 DWDM 기술을 사용하면, 단일의 파이버는 초당 5 테라비트(terabit)의 데이터를 전송할 수 있다.
동시에, 그와 같은 발전에 의해 크게 증가된 고속의 속도와 이용가능한 스위치가 스위칭할 수 있는 속도간 갭이 커진다. 광 스위치가 자유공간을 통한 라우 팅, 광범위한 거리에 걸친 최소 신호 저하, 및 광영역에서 전기영역으로의 전환 및다시 그 반대로의 전환의 배재와 같은 이론적인 장점을 제공하지만, 현재의 모든 광타입의 스위치들은 비교적 느리거나 아주 고비용이다. 또한, 광정보 스토리지(storage)가 부담이 되고 종종 비실용적이다. 광 스위치의 결점이 극복될 때까지, 전자 스위치가 패킷 스위칭 스킴(scheme)의 지배적인 역할을 계속할 것이다.
통상 백플레인 스위치(backplane switch), 또는 보다 일반적으로 라우팅 패브릭(routing fabric)은 상호접속 보드(interconnect board)에 사용된다. 네트워킹 시스템에서는 이들 보드를 라인 카드라 부르고, 컴퓨팅 및 스토리지에서는 이들을 종종 아답터(adapter) 또는 블레이드(blade)라 부른다. 점점 광범위한 시스템 세트는 통신 스위치, 멀티 서비스 제공 플랫폼, 가/감(add/drop) 멀티플렉서, 디지털 크로스 커넥터, 스토리지 스위치, 라우터, 대형 엔터프라이즈 스케일 스위치, 매개 플랫폼, 멀티프로세서 시스템 및 블레이드 서버 등과 같은 보드를 접속하기 위해 백플레인을 사용한다.
정보 데이터가 상호접속 시스템을 통해 소스에서 목적지로 전송되면, 그 정보는 종종 먼저 데이터 패킷으로 분할된다. 통상 각각의 데이터 패킷은 헤더(header), 패이로드(payload) 및 테일(tail) 섹션들을 포함하고, 보다 작은 유닛으로 좀더 분할된다. 데이터 패킷은 또 다른 소스로부터 기원하는 또 다른 데이터와 동시에 라우팅 패브릭을 통해 스위치된다. 병렬 컴퓨터용 인터커넥터, 인터넷 라우터, S(t)AN 네트워크, 비동기 전송모드(ATM: Asynchronous Transfer Mode) 네트워크, 및 특히 광 네트워크에 채용된 이들 많은 현재의 패킷 스위치 시스템은 입력-큐잉 배열(input-queuing arrangement)을 사용하고(종종 가상 출력 큐잉(VOQ: Virtual Output Queuing)라 부르는 그와 같은 배열은 FIFO 큐(queue)의 사용에 있어 본래부터 갖고 있는 HOL 블로킹(Head-Of-Line blocking)을 생략), 매 라인 카드에서 출력마다 분류된 큐, 크로스바 라우팅 패브릭, 및 스위칭 리소스(resource)를 할당하고 큐들을 중재하는 중심 스케줄러(예컨대, 중재기 또는 중재 유닛)를 포함한다.
도 1은 VOQ 아키텍처를 이용하는 기존의 스위칭 배열을 나타낸다. 도 1의 배열에 있어서, 데이터 패킷(예컨대, 셀, 프레임 또는 데이터그램)이 각 라인 카드(102)의 각 N개의 데이터 링크(2a1~2aN)로부터 수신된다. 그 데이터 패킷은 멀티플렉서(105a)를 통해 N개의 버퍼 그룹(121)의 N개의 버퍼 중 어느 하나로 라우팅 패브릭(106; N×N 크로스바로 나타낸)의 출력(31~3N)마다 분류된다. 즉, 각각의 입력 라인 카드(102)에서, 각 독립된 큐는 라우팅 패브릭(106)의 입력측에서 N2 VOQ를 야기하는 각각의 출력 31~3N을 유지한다. 중재기(107)는 라우터 패브릭(106)의 동일한 출력을 추구하는 데이터 패킷들간 회선 경쟁을 관리하고 입력을 출력과 매칭시키기 위해 제공된다. 상기 중재기(107)는 제어 경로(108, 109)를 따라 각각의 라인 카드와 통신하고 제어 경로(112)를 따라 라우팅 패브릭(106)에 스위칭 구성을 제공한다. 통상, 중재기(107)는 라우팅 패브릭(106)에 물리적으로 가깝게 위치한다.
중재기(107)는 버퍼 그룹(121)의 버퍼 내에 대기하는 패킷에 비충돌 방식으 로 입력 포트 및 출력 포트를 할당하는 것을 포함한 프로세스를 수행한다. 이들 프로세서는 할당 및 중재를 포함한다. 할당은 각 버퍼 그룹(121)으로부터 많아야 하나의 패킷이 기껏해야 하나의 출력 리소스로 출력되기 위해 선택되도록 라우팅 패브릭(106)의 입력(2b1~2bN) 및 출력(31~3N)간 매칭을 결정한다. 중재는 단일의 출력 리소스 31~3N에 대한 다중 요청을 분석하여 요청자 그룹 중 하나에 그 출력들 중 단일의 하나를 할당한다. 도 1의 기존의 배열에 있어서, 중재기(107)는 제어 경로(108) 상의 라인 카드(102)로부터 스위치 액세스에 대한 요청을 수신한다. 중재기(107)는 입력(2b1~2bN) 중 어느 것이 각 다수의 타임 슬롯(time slot)으로 출력된 데이터 패킷을 전송하게 할 지를 결정하기 위해 수신된 요청과 적절한 매칭 알고리즘에 기초하여 매치를 평가한다. 각 라인 카드(102) 위닝 액세스(winning access; 즉, 허용 액세스)는 패킷, 특히 특정 출력에 대한 타임 슬롯 또는 스위칭 사이클과 같은 데이터 유닛을 전송하기 위해 허용된 라인 카드(102)를 알리기 위해 제어 경로(109)를 따라 제어 메시지를 보낸다. 타임 슬롯 동안, 중재기(107)는 평가된 스위칭 구성을 라우팅 패브릭(106)으로 전송하고, 각각의 위닝 라인 카드(102)는 디멀티플렉서(105b)를 통해 그 버퍼 그룹(121)의 큐로부터 유닛의 데이터 패킷을 방출하고 라우팅 패브릭(106)에 그 대응하는 입력(2b1, ..., 또는 2bN)을 따라 그 데이터 유닛을 전송한다. 다음에, 각각의 데이터 패킷은 출력 31, ..., 또는 3N 중 요청된 하나에 중재기(107)에 의해 구성된 경로를 따라 라우팅 패브 릭(106)을 통해 전송한다.
알 수 있는 바와 같이, 그와 같은 입력-큐잉 시스템에는 2개의 기본적인 통신로가 있다. 즉, 라인 카드에서 중재기로의 제어 정보(예컨대, 요청)의 흐름과 다시 라인 카드로의 제어 정보(예컨대, 허용)의 흐름을 포함하는 제어 경로, 및 크로스바를 통해 입력 라인 카드에서 출력 라인 카드로의 흐름을 포함하는 데이터 경로가 있다.
도 1에 도시된 기존의 패킷 스위칭 배열이 단방향의 통신로만을 갖는 라우팅 패브릭(106)을 나타냈지만, 이러한 일반적인 개념은 양방향 데이터 및 제어 경로를 포함한다는 것을 알 수 있을 것이다. 예컨대, 도 1에 나타낸 각각의 데이터 링크(2b1~2bN) 및 각각의 출력(31~3N)은 양방향 링크로 나타낼 수 있으며, 또한 각각의 버퍼 그룹(121)과 연관된 라인 카드는 인그레스(ingress) 및 이그레스(egress) 버퍼 모두를 포함한다. 그와 같은 경우에, 라인 카드(102)는 라우팅 패브릭을 거쳐 데이터 패킷을 전송하기 위한 소스 위치 및 목적지 위치 모두로 볼 수 있다. 유사하게, 요청, 허용, 및 링크(2a1~2aN) 또한 양방향 링크로 나타낼 수 있다.
용량 증가시, 패킷 스위치의 물리적인 크기 또한 증가한다. 동시에, 단일의 패킷 또는 셀의 지속기간(T=L/B, 여기서 L은 비트의 패킷 길이이고, B는 초당 비트의 링크 속도이다)은 라인 속도가 증가할 지라도 패킷 크기가 거의 일정하게 유지되기 때문에 감소한다. 이는 패킷 타임으로 측정된 스위치-내부 라운드 트립(RT: Round Trip)의 상당한 점프를 직접적으로 암시하는 경향이 있다. 이러한 결과는 그와 같은 스위치의 최소 변이 대기시간이 2번의 대기시간을 포함하기 때문에 2배로 견고한 중심-중재 입력-큐잉 스위치를 필요로 한다. 상기 대기시간은 (1) 중재기에 요청을 제기하여 대응하는 허용이 도달할 때까지 대기하는 대기시간이고, 이 대기시간은 중재기로 그리고 중재기로부터의 경과 시간 및 중재하기 위한 시간을 포함하며, 또한 상기 대기시간은 (2) 서데스(SerDes: Serialization/Deserialization), 전송, 및 스위치를 통해 패킷을 송신하기 위한 경과 시간의 대기시간이다. 대체로, 이 대기시간은 2·(RT) 패킷 시간의 최소 대기시간이 되고, 이는 유사한 스위치의 2배이지만, 버퍼된 라우팅 패브릭이 갖는 시간이다.
이들 대기시간이 최근 이제 막 당면한 문제가 되고 있기 때문에, 좀처럼 관심을 받고 있지 못하고 있다. 실제로, 바람직한 해결책으로 라우팅 패브릭(예컨대, 크로스바 및 중재기를 포함하는 스위치 코어)에 가깝게 입력 큐(통상 VOQ 방식으로 구성된)를 갖는 라인 카드와 같은 보드를 물리적으로 위치시키고 있다. 그러나, 현재의 패키징 및 파워 억제는 스위치 코어에 가깝게 많은 수의 라인 카드를 위치시키는 것을 금지하고 있다. 결과적으로, 그와 같은 기존의 배열은 라우팅 패브릭에 위치된 라인 카드의 수를 단순히 증가시킴으로써 끊임없이 중가하는 더 큰 대역폭의 요구를 받아들일 수 없다.
McKeown 등에 의한 미국특허 제6,647,019호는 라우팅 패브릭으로부터 라인 카드를 물리적으로 분리시킴으로써 라인 카드의 수, 및 그에 따른 총 시스템 대역폭의 증가를 꾀했다. 대부분의 버퍼링 및 프로세싱이 물리적으로 원격 라인 카드 상에서 실시되었다. 도 2a는 이러한 접근방식에 따른 시스템을 나타낸다.
도 2에 나타낸 바와 같이, 시스템은 스위치 코어(210) 및 이 스위치 코어(210)로부터 물리적으로 떨어져 위치된 다수의 라인 카드(202)를 포함한다. 각각의 라인 카드(202)는 인그레스 VOQ 버퍼 그룹(221; 큐) 및 이그레스 버퍼(222)를 포함한다. 스위치 코어(210)는 다수의 포트 모듈(280; 즉, "스위치 포트"), 병렬 슬라이스 셀프-라우팅 크로스바-타입 패브릭 모듈(206) 및 중심 중재기 모듈(207)을 포함한다. 데이터 패킷은 라인 카드(202)와 스위치 포트(280)간 데이터 링크(231)를 따라, 그리고 스위치 포트(280)와 크로스바-타입 라우팅 패브릭(206)간 데이터 링크(203)를 따라 전송 및 수신된다. 각각의 라인 카드(202)는 포워드 경로(forward path)로 보내지는 패킷을 저장하기 위한 버퍼 그룹(221) 및 리턴 경로(return path)에 패킷을 저장하기 위한 이그레스 버퍼(222)를 포함한다. 제어 메시지는 라인 카드(202)와 스위치 포트(280)간 제어 경로(232)를 따라, 그리고 스위치 포트(280)와 중재기 모듈(207)간 제어 링크(204)를 따라 송신 및 수신된다. 중재기(207)는 각 타임 슬롯에 대한 적절한 구성을 결정하여 구성 링크(212)를 따라 그 구성을 라우팅 패브릭(206)에 제공한다. 스위치 코어(210)의 각 인그레스 포트에 있어서, VOQ를 갖는 작은 버퍼(281)는 VOQ(221)와 중재기(207)간 RT를 최소화하기 위해 스위치 코어(210)에 가깝게 위치된다. 이것은 LCS(Line Card-to-Switch) 프로토콜에 의해 달성되어, 라인 카드(202)와 스위치 포트(280)간 통신 손실을 줄일 수 있게 한다.
상기 McKeown 등에 의한 접근방식의 주요 결점은 라인 카드(202)와 스위치 포트(280) 모두가 버퍼를 포함한다는 것이며, 심지어 소량의 버퍼링일 지라도, 즉 하나의 RT를 커버하기 위해 충분한 패킷이 스위치 포트(280)에 필요하다는 것이다. 이들 버퍼된 스위치 포트는 비용, 카드 공간, 전력 뿐만 아니라 대기시간(예컨대, 추가적인 서데스(SerDes) 및 버퍼링)을 추가해야 한다. 이들은 또한 라인 카드(202)에 이미 제공된 기능에 두배를 한다.
심지어 상기 McKeown 등에 의한 특허에 기술된 접근방식을 이용할 경우, 한번의 셀 타임보다 짧은 스위치 포트(280)와 중재기 모듈(207)간 라운드 트립(RT) 타임을 달성하기가 사실상 어렵다는 것이다. 더욱이, 라인 카드에서 스위치 코어(라인 카드에서 스위치 코어까지의 긴 거리를 커버하기 위해) 및 광 라우팅 패브릭까지의 광 링크로 이루어진 스위치 패브릭의 특정 경우에, 스위치 포트(280)는 광 버퍼가 현재 실질적으로 또는 경제적으로 가능하지 않기 때문에 추가적인 전-광 변환(electrical-to optical conversion) 및 광-전 변환(optical-to electrical conversion)을 필요로 한다. 그와 같은 추가의 변환회로는 시스템 비용 및 복잡성을 크게 증가시킨다.
2004년 W.J.Dally, Morgan Kaufman 등에 의한 "상호접속 네트워크의 원리 및 실시(Principles and Practices of Interconnection Networks)"의 페이지 316~318에 제공된 상호접속 네트워크 대기시간을 감소시키기 위한 또 다른 접근방식은 "예견과 추론"을 포함한다. Dally 등에 의해 기술된 바와 같이, 라우터의 매칭 중재기는 제1멤버(HOL: Head of Line)보다 인그레스 VOQ 큐로 좀더 깊게 보기 위해 예견과 추론을 이용하여 허용이 이들 다음 패킷에 제공되기를 기대(희망)하는 몇몇 스위치 리소스를 시간 전에 할당한다. 이러한 접근방식은 라우터가 몇몇 매칭을 수행할 수 있게 함으로써 가능한 한 다소의 스테이지로 파이프라인을 감소시켜 병렬로 태스크(task)를 구성한다. 예견과 추론은 인그레스 VOQ에 있는 큐잉된 패킷, 및 중재기에 의해 곧바로 제공될 수 없는 이미 전송 요청이 이루어진 패킷에 효과가 있는 반면, 인그레스 VOQ에 방금 도달한 패킷 및/또는 고려된 중재기에 의해 여전히 수신되지 않은 패킷의 전송은 빠르게 행하지 못한다.
더욱이, 예견과 추론은 대개 중재기 알고리즘에서 대기시간을 보내고 전송기에서 스위치 패브릭까지의 보통 긴 전송 대기시간을 보내지 않는다. 훨씬 더 많은 스위치의 리소스를 추론으로 할당하기 위해 내부 스위치 속도 증가 및 광 스위치 로딩에 의존하는 이중 및 심지어 삼중 추론(예컨대, Dally 등의 페이지 317 참조) 이전의 개념은 대부분 적용에 실패했다. 많은 기존의 엄격한 비블로킹 스위치 패브릭에 있어서, 내부 패브릭은 몇개의 연속하는 스위칭 스테이지로 내부적으로 분할된다. 이중 및 삼중 추론에 있어서, 이들 스테이지는 추론의 로드를 증가적으로 설정(할당)한다. 속도 증가가 최고이거나 로드가 약할 때 전체 멀티스테이지 패브릭을 통해 규칙적으로 허용이 성공하는 이들 체계의 추론을 행한다. 로드가 증가함에 따라, 이러한 추론 할당의 접근방식은 성공적으로 중재된 요청으로 보다 잘 할당된 리소스를 쓸데없이 비축하기 때문에 실행에 해를 끼친다.
추가적으로, 모든 상술한 시스템은 출력 리소스의 요청을 행한 후 허용이 도달할 때까지 라인 카드가 대기해야 하는 제1RT 대기시간이 여전히 걸린다.
따라서, 상호접속 시스템의 라우팅 패브릭과 관련된 대기시간을 감소시키기 위해 좀더 효율적이고, 덜 복작하며 보다 낮은 비용을 위한 기술이 필요하다.
따라서, 본 발명은 관련 기술의 한계와 단점으로 인한 다수의 결점 및 문제를 해결하는 방법 및 장치를 제공한다.
본 발명은 라우팅 패브릭을 채용하는 시스템의 스케줄된 중재에 의해 야기된 전체적인 대기시간을 감소시키는 정보 유닛을 전송하기 위한 시스템 및 방법을 포함한다. 상기 방법은 데이터 패킷을 스케줄된 중재에 의해 또는 중재 없이 다수의 소스에서 라우팅 패브릭의 입력으로 송신하는 스위칭 패브릭을 포함하는 시스템에 특히 적합하며, 상기 스위칭 패브릭은 입력 패킷을 지정된 라우팅 패브릭 출력으로 스위칭한다.
본 발명의 한 특징에 따른 방법은 스케줄된 중재의 결과가 존재하면, 이전 중재(즉, 스케줄된 중재)의 결과에 따라 적어도 하나의 데이터 패킷을 송신하는 단계, 및 스케줄된 중재의 결과가 없으면, 추론적으로 전송하기 위한 데이터 패킷을 선택하는 단계를 포함한다. 또한, 상기 방법은 동시에 상기 선택된 데이터 패킷의 출력 식별자를 포함하는 추론 요청을 제기하면서 상기 선택된 패킷을 라우팅 패브릭에 송신하는 단계를 포함한다.
본 발명의 또 다른 특징에 따른 라우팅 패브릭의 다수의 입력에서 다수의 출력으로 스케줄된(이전) 중재에 의해 또는 중재 없이 데이터 패킷을 전송하기 위한 시스템은 이전 중재의 결과가 존재하면, 스케줄된 중재의 결과에 따라 적어도 하나의 데이터 패킷을 송신하기 위한 메커니즘, 및 스케줄된 중재 결과가 없으면, 추론적으로 전송하기 위한 데이터 패킷을 선택하고, 동시에 상기 선택된 데이터 패킷의 출력 식별자를 포함하는 추론 요청을 제기하면서 상기 선택된 패킷을 라우팅 패브릭에 송신하는 메커니즘을 포함한다.
본 발명의 또 다른 특징은 복수의 위치에 걸친 정보 유닛의 흐름을 처리하기 위한 시스템을 포함한다. 상기 시스템은 소스 위치에서 목적지 위치로 정보 유닛을 전송하기 위해 스위칭 패브릭에 액세스를 위한 요청을 수신하기 위한 다수의 입력을 포함한다. 상기 액세스를 위한 요청은 스케줄된 중재된 허용 액세스를 위한 요청과 이전 중재된 허용 없이 추론의 액세스를 위한 요청을 포함한다. 또한, 각각의 요청은 관련된 정보 유닛을 전송하는 목적지 위치의 표시를 포함한다. 상기 시스템은 상기 스케줄된 액세스의 중재 허용을 위한 요청의 그룹 또는 서브그룹에 대한 스위칭 패브릭 리소스의 비충돌 할당을 결정하기 위한 중재기를 포함한다. 상기 시스템은 결정된 요청의 그룹이 다음에 스위칭 패브릭에 제공되는 시간에 추론의 액세스 요청을 수신하고, 상기 결정된 할당에 기초하여 상기 수신된 추론의 요청을 허용 또는 부정하기 위한 추론 중재기를 포함한다.
본 발명의 또 다른 특징은 허용이 부정되면 결국 쓸데없어지는 스위칭 리소스를 미리 할당 또는 비축할 필요 없이 인그레스 큐에 방금 도달하는 데이터 패킷의 전송 속도를 용이하게 증가시킨다.
본 발명의 또 다른 특징은 패킷 소스와 라우팅 패브릭간 라운드 트립 전송량을 감소시킴에 따라 평균 대기시간을 감소시킨다. 예컨대, 패킷의 각각의 성공적인 추론 전송은 라우팅 패브릭을 통해 패킷을 송신하기 위해 요청되는 적어도 하나의 라운드 트립(즉, 요청의 전송부터 허용이 받아들여질 때까지)을 절약한다.
본 발명의 추가적인 특징 및 장점은 이하 상세히 설명되고, 부분적으로 그 설명으로부터 명백해지거나, 본 발명의 실시에 의해 알 수 있을 것이다. 본 발명의 특징 및 장점은 기술된 설명 및 청구항 뿐만 아니라 첨부된 도면을 통해 제시된 시스템 및 방법에 의해 실현되어 달성될 것이다.
상술한 설명 및 이하의 상세한 설명 모두는 단지 예시일 뿐이고 청구항과 같이 본 발명을 한정하지 않는다는 것을 알 수 있을 것이다.
본 발명을 좀더 이해할 수 있도록 제공되면서 본 명세서에 통합되어 본 발명의 일부를 구성하는 첨부 도면은 본 발명의 원리를 설명하기 위해 제공된 상세한 설명과 함께 본 발명의 예시의 실시예를 기술한다.
도 1은 가상 출력 버퍼링을 포함하는 기존 시스템의 상부 개략도를 나타낸다.
도 2는 LCS(Line-Card-to-Switch) 프로토콜을 이용하는 최적화되지 않은 기존 시스템을 나타낸다.
도 3은 본 발명에 따른 예시의 시스템을 나타낸다.
도 4는 본 발명의 예에 따른 인그레스 버퍼 유닛을 나타낸다.
도 5는 본 발명에 따른 라인 카드의 이그레스 버퍼 유닛의 예를 나타낸다.
도 6a는 본 발명에 따른 라인 카드의 이그레스 버퍼 유닛의 또 다른 예를 나타낸다.
도 6b는 도 6a에 나타낸 이그레스 버퍼의 보다 상세한 예를 나타낸다.
도 7은 본 발명에 따른 예시의 중재 유닛을 개략적으로 나타낸다.
도 8은 본 발명에 따른 또 다른 예시의 시스템을 나타낸다.
본 발명의 상기 및 또 다른 특징들은 첨부의 예시 도면을 참조하여 이하 보다 상세히 기술한다.
관련 기술과 연관시켜 상술한 바와 같이, 중심 중재 배열은 최고의 처리량을 달성하지만, 중재 대기시간의 불편, 특히 매체 이용의 저하를 야기한다. 본 발명은 추론 전송(STX)이라 부르는 새로운 종류의 추론을 이용하여 그와 같은 대기시간을 처리한다. 여기에 기술된 STX의 개념은 분배된 매체에 걸쳐 이전 중재(즉, 주어진 전송의 성공의 추론이 있는) 없이 패킷이 전송되는 ALOHA 및 Ethernet 전의 기본 개념과 관련된다. 그러나, 본 발명에서, 이러한 개념은 중재 대기시간을 없애기 위해 스위치된 매체의 환경에 적용된다. 추론 전송만을 이용하여 패킷 스위치를 동작시키는 것은 높은 이용에 따른 매체의 성능 파멸을 야기하는 패킷 충돌을 종종 이끌기 때문에, 본 발명은 양 개념의 장점, 즉 최고의 처리량 및 매체 이용 저하시 보다 낮은 대기시간을 얻기 위해 추론 전송 및 중재를 연합시킨다.
본 발명은 라우팅 패브릭에 가깝게 추가적인 버퍼링의 스테이지를 실시하지 않고 라우팅 패브릭 중재와 협력하여 이전 중재 없이 STX를 채용함으로써 중재 대기시간을 감소시킨다. 더욱이, 본 발명은 추론 동작의 아주 깊은 파이프라이닝을 허용함으로써, 패킷 구간(pcaket duration)보다 더 많은 라운드 트립이 효율적으로 처리될 수 있다. 본 발명은 스위칭 패브릭의 중재에 의해 야기된 평균 대기시간을 거의 감소 또는 없앰으로써 전체적인 대기시간을 50% 또는 그 이하의 감소를 달성한다.
종종 쓸데없이 낭비되는 스위치 리소스의 전-할당(pre-allocation)을 포함하는 종래의 추론 구성에 비해, 여기에 기술된 라우팅의 유효한 비블로킹 싱글-스테이지 브로드캐스트(non-blocking single-stage broadcast) 특성은 그와 같은 리소스를 전-할당하지 않는다. 즉, 본 발명은 스위칭 패브릭의 싱글-스테이지 선택기를 수행함으로써, 패브릭 리소스가 사실상 추론적으로 설정되지 않기 때문에 쓸데없이 낭비되는 스위치 리소스를 피할 수 있다.
본 발명은 STX 선택 방침(selection policy), 충돌(collision), 재전송(retransmission), 순서가 잘못된 전달(out-of-order delivery), 재정렬(resequencing), 중복 전달(duplicate delivery), 재전송 및 재정렬 윈도우 사이징(window sizing)과 관련된 이슈를 처리한다. 그러나, 본 발명의 다른 이슈 및 특정 적용에 적절한 스위칭 패브릭과 관련된 특징은 당업자라면 용이하게 이해할 수 있다는 것을 알 수 있을 것이다.
도 3은 본 발명에 따른 예시의 시스템을 나타낸다. 도 3에 나타낸 바와 같이, 상기 시스템은 N개의 라인 카드(302)에 연결되는 N개의 양방향 전이중(full- duplex) 인그레스/이그레스 데이터 링크(301)를 포함한다. 패이로드 정보를 갖는 데이터 패킷, 및 요청된 패킷 목적지를 나타내는 정보를 포함하는 헤더는 데이터 링크(301)를 통해 전송 및 수신된다. 각각의 라인 카드(302)는 양방향 전이중 패브릭-내부 데이터 링크(303)를 통해 스위치 코어(310)에 연결된다. 상기 스위치 코어(310)는 N개의 입력 및 N개의 출력 포트를 포함하는 크로스바로서 예시로 나타낸 라우팅 패브릭을 포함한다. 또한, 각각의 라인 카드(302)는 이 라인 카드(302)와 중재기(307)간 제어 메시지(예컨대, 요청 및 허용을 포함하는)를 교환하는 공개된 양방향 제어 링크(304)에 의해 중심 할당 및 중재 유닛(307)에 연결된다. 상기 중재기(307)는 구성 링크(312)를 통해 크로스바(306)에 연결된다. 각각의 라인 카드(302)는 인그레스 버퍼 유닛(321) 및 이그레스 버퍼 유닛(322)을 더 포함한다. 중재기(307), 인그레스 버퍼 유닛(321) 및 이그레스 버퍼 유닛(322)의 구성 및 기능은 이하 도 4 내지 7을 참조하여 보다 상세히 기술한다.
본 발명은 또 다른 타입의 라우팅 패브릭이 사용될 것이다. 그러나, 이는 크로스바-기반 스위치에 특히 적합하다. 따라서, 도 3에 나타낸 시스템이 바람직한 예를 기술할 목적으로 크로스바-기반 스위치를 포함하는 스위치 코어와 연관지어 기술했지만, 본 발명이 다수의 스위칭 패브릭 아키텍처에 적용한다는 것은 당업자라면 알 수 있을 것이다.
크로스바-타입 스위치의 특성은 언제든지 하나의 입력이 하나의 출력에만 접속될 수 있으며, 그 반대로도 접속될 수 있다는 것이다. 즉, 스위치의 입력과 출력간 1 대 1 매칭이다. 대기시간과 처리량에 대한 양호한 성능을 얻기 위해, 통 상 중심 할당 및 중재 유닛에 의해 매칭이 평가된다. 추가적으로, 할당 및 중재 유닛은 스위치의 단일의 출력 리소스의 회선 경쟁을 해결한다. 도 3에 나타낸 예시의 시스템에 있어서, 중재기(307)는 이들 할당 및 중재 기능을 수행한다. 도 3에 도시된 중재기(307)가 단일의 유닛으로 나타나 있지만, 할당 및 중재의 기능은 프로그램 명령에 의해 동작하는 하나의 하드웨어 유닛 및/또는 다수의 하드웨어 유닛보다 많은 수에 의해 수행될 수 있다는 것을 알 수 있다.
중재기(307)는 라인 카드(302)로부터 출력 리소스에 대한 요청을 수신한다. 요청은 시발된 라인 카드가 패킷을 특정 출력 포트로 전송하기를 원한다는 것을 나타내는 출력 포트 식별자를 포함한다. 수신된 요청에 기초하여, 중재기(307)는 이분 그래프 매칭(bipartite graph matching) 문제에 상당하는 입력 포트와 출력 포트간 적절한 1 대 1 매칭을 평가한다. 평가된 매칭에 기초하여, 중재기(307)는 라인 카드(302)로 그 대응하는 허용을 리턴하며, 여기서 허용은 이러한 허용을 수신하는 라인 카드(302)가 패킷을 이러한 특정 출력 포트로 전송하게 한다는 것을 의미하는 출력 포트 식별자를 포함한다. 선택적으로, 출력 리소스가 특정 요청에 이용가능하지 못하면, 중재기(307)는 부정된 요청에 대응하는 통지를 리턴한다. 라인 카드(302)가 허용을 수신하면, 인그레스 버퍼 유닛(321)의 대응하는 VOQ로부터 패킷을 디큐(dequeue)하여 데이터 링크(303)에 의해 크로스바(306)로 전송한다. 크로스바(306)는 중재기(307)에 의해 평가되어 구성 링크(312)를 통해 제공된 구성(즉, 매칭)에 따라 데이터 링크(303)로 그 입수의 패킷을 라우팅한다.
도 4는 인그레스 버퍼 유닛(321)을 좀더 상세히 도시한 도면을 나타낸다. 인그레스 버퍼 유닛(321)은 입력 디멀티플렉서(410), 모든 출력에 대응하는 다수의 가상 출력 큐(411: VOQ), 모든 출력에 대응하는 다수의 재전송(RTX) 큐(412), 모든 VOQ(411)를 위한 다수의 디멀티플렉서(413: 이들 디멀티플렉서 또한 라우팅 기능 외에 복제 기능을 가짐), 모든 VOQ(411)를 위한 다수의 멀티플렉서(414), 출력 멀티플렉서(415), 및 제어 유닛(416)을 포함한다.
동작에 있어서, 패킷이 인그레스 버퍼 유닛(321)에 접속된 입력 데이터 링크(301)에 도달하고, 디멀티플렉서(410)가 그들 각각의 목적지(출력 포트)에 따른 대응하는 VOQ(411)로 그 입수의 패킷을 라우팅한다. 또한, 패킷의 도달이 제어 유닛(416)으로 통보된다. 제어 유닛(416)은 중재 유닛(307)으로 요청을 송신하고 제어 채널(304)을 통해 중재 유닛(307)으로부터 허용을 수신한다. 신뢰할 수 있는 전달 스킴(delivery scheme)을 위해 순번(sequence number)이 요청되면, 제어 유닛(416)은 동일한 출력으로 예정된 다음 패킷에 다음 순번을 할당한다. 스케줄된 중재의 요청 및 추론 요청, 및 허용 및 통지 모두는 출력 식별자를 포함한다. 추론 요청, 허용, 및 통지는 추가적으로 순번을 포함한다. 예컨대, 이하 기술되는 소정 타입의 신뢰할 수 있는 전달(RD: Reliable Delivery) 방법의 몇몇은 스케줄된 중재의 결과로 전송된 데이터 패킷 및 각각 추론으로 전송된 데이터 패킷이 순번을 갖도록 요구할 것이다.
시스템은 2가지 전송 모드, 즉 중재 전송(즉, 스케줄된 중재로부터 야기되는 전송) 및 추론 전송(STX)으로 이루어진다. 전송의 스케줄된 중재 모드는 종래기술로 공지되어 있다. 예컨대, C. Minkenberg 등에 의한 2004년 6월 3일자 IP.com 의 기사 번호 IPCOM000028815D를 참조하고, 그 전체 내용은 참조로 여기에 반영된다. 본 발명은 상기 스케줄된 중재 모드와 추론 전송 모드간 상호작용 및 그 추론 전송 모드를 다룬다. 이는 어느 한측의 스케줄된 중재 요청과 대응하는 허용 사이, 및 또 다른 측의 추론 요청과 대응하는 긍정 및 부정적인 통지 사이를 구별함으로써 달성된다.
도 4로 되돌아 가서, 바람직한 실시예에 있어서, 라인 카드(302)는 주어진 타임 슬롯으로 스케줄된 중재 전송의 허용을 수신하지 못하는 경우에 한해 추론 전송을 수행하는 것이 바람직하다. 허용이 수신되지 못하면, 제어부(416)는 주어진 방침에 따라 하나의 패킷이 추론 전송을 위해 큐된 비어 있지 않은(non-empty) VOQ(411)를 선택한다. 이러한 방침은 예컨대 임의 선택방식(random), 순환 순서 선택방식(round robin), 오래된 셀 선 선택방식(oldest cell first), 새로운 셀 선 선택방식(youngest cell first) 등과 같은 방침이 될 것이다. 바람직한 실시예에 있어서, 대기시간 이득이 최대화되도록 방침이 선택된다. 예컨대, 새로운 셀 선 선택방식과 같은 좀더 새로운 도달을 선택하는 방침은 대기시간 이득을 최대화하는 경향이 있다.
선택된 패킷은 디멀티플렉서(413)를 통해 재전송 버퍼(412)에 저장되고 디멀티플렉서(413) 및 멀티플렉서(414, 415)를 통해 데이터 링크(303)에 의해 크로스바(306) 쪽으로 전송된다. 동시에, 제어부(416)는 중재기(307)에 제어 링크(304)를 통해 출력 식별자를 포함하는 대응하는 추론 전송 요청을 송신한다. 재전송 버퍼(412)에 패킷을 저장하는 목적은 추론 전송 실패시에 패킷의 재전송을 허가하 는 것이다. 또한 라인 카드(302)는 동시에 추론 요청과 허용을 찾는 스케줄된 중재의 요청을 제기한다. 바람직한 실시예에 있어서, 재전송 큐(412)에 저장된 패킷은 이미 추론으로 일단 전송되었기 때문에 추론 전송에 바람직하지 않다. 즉, 잠재적인 대기시간이 손실될 정도로 높기 때문에 실패한 STX 패킷을 추론으로 재송신하는데 있어 약간의 장점이 얻어지거나 장점이 없을 수 있다.
만약 라인 카드(302)가 주어진 타임 슬롯에 주어진 출력에 대한 스케줄된 중재에 의해 허용을 수신하면, 이 라인 카드(302)는 현재의 타임 슬롯으로 이 출력에 대한 패킷을 전송하는 것이 바람직하다. 제어 유닛은 먼저 대응하는 재전송 큐(412)의 점유기간을 체크한다. 만약 비어 있지 않으면, 하나의 패킷이 이러한 재전송 큐(412)로부터 디큐(dequeue)되고 멀티플렉서(414, 415)를 통해 크로스바(306)로 데이터 링크(303)에 의해 재전송된다. 만약 재전송 큐(412)가 비어 있으면, 제어 유닛은 대응하는 VOQ(411)의 점유기간을 체크한다. 만약 재전송 큐(411)가 비어 있지 않으면, 하나의 패킷이 이 VOQ(411)로부터 디큐되고 디멀티플렉서(413) 및 멀티플렉서(414, 415)를 통해 크로스바(306)로 데이터 링크(303)에 의해 전송된다. 이는 RTX 큐(412)에서 대기하는 패킷이 보통 허용이 도달할 때 대응하는 VOQ(411)의 패킷보다 높은 우선순위를 갖는다는 것을 알 수 있다. 이는 실패한 STX 패킷을 그들 목적지에 신속하게 전달하는 것을 보장하게 한다. 그러나, 우선순위 또한 큐에서 대기하는 또는 큐에 도달하는 데이터(예컨대, 음향 및 영상과 같은 입수-대기시간 감지 데이터)의 특성과 같은 다른 요인에 따른다. 동작의 추론 모드 때문에, 허용이 비어 있는 VOQ(411)에 도달하는 일이 발생한다. 그와 같은 허용은 쓸데없는 낭비와 연관된다. 바람직한 실시예에 있어서, 라인 카드(302)는 쓸데없는 허용을 수신하는 소정 타임 슬롯으로 추론 패킷을 송신하는 것이 바람직하다.
이하 기술한 본 발명의 예시의 실시예에 있어서, 라인 카드(302)가 통지를 수신하면, 그 통지에 포함된 순번을 갖는 패킷이 그 통지에 또한 포함된 출력 식별자에 의해 나타낸 재전송 큐(412)에 존재하는지를 체크한다. 만약 이 패킷이 존재하지 않으면, 그 통지는 무시된다. 만약 존재하면, 본 발명의 특정 적용, 예컨대 신뢰할 수 있는 전달 스킴(섹션 "신뢰할 수 있는 전달" 참조)을 통합하는 특정 적용에 따른 액션을 취한다. 예컨대, 선택의 재시도(SR: Selective Retry)를 이용하는 예시의 실시예에 있어서, 통지된 패킷(만약 존재할 경우)은 재전송 큐(412)의 소정 위치로부터 디큐된다. 선택적인 예시의 실시예들(예컨대, GBN(Go-Back-In), S&W(Stop & Wiat)에 있어서, 그 통지된 패킷은 재전송 큐(GBN) 또는 VOQ(S&W))의 헤드에 있으면 큐될 뿐이다.
이그레스에서 재정렬이 없을 경우
도 5는 재정렬이 수행되지 않은 라인 카드(302)의 이그레스 버퍼 유닛(322a)의 예를 도시한다. 버퍼 유닛(322a)은 Stop & Wait 또는 Go-Back-N(이하 기술하는)과 같은 재정렬 요구가 없는 RD 스킴과 연관되어 채용될 수 있다. 이그레스 버퍼 유닛(322a)은 인큐잉(enqueuing) 유닛(521), 출력 큐(526), 디큐잉(dequeuing) 유닛(527), 및 제어 유닛(528)을 포함한다.
동작에 있어서, 패킷은 데이터 링크(303)를 따라 이그레스 버퍼 유닛(322a)에 도달한다. 제어부(528)는 패킷 헤드를 조사하여 인큐잉 유닛(521)이 출력 큐(526)에 패킷을 저장하거나 패킷을 버릴지를 결정한다. Stop & Wait 또는 Go-Back-N RD 스킴이 사용될 때, 패킷은 올바른 순서로만 받아들인다. 그러나, 대등한 Stop & Wait 중복 전달이 발생하는 반면 GBN 중복 전달과 함께 순서가 잘못된 전달이 발생한다는 것을 알 수 있다. 따라서, 제어 유닛(528)은 모든 입력을 위한 다음 예상된 순번을 유지한다. 제어 유닛(528)은 수신된 패킷의 순번이 대응하는 입력을 위한 다음 예상된 순번(예컨대, 바로 전 연속적으로 수신된 패킷의 순번에 1을 더한)과 동일한지를 체크한다. 만약 그렇다면(즉, 예상된 순번과 수신된 순번이 동일하면), 패킷은 출력 큐(526)로 인큐잉된다. 만약 그렇지 않다면, 순번이 중복(예컨대, 순번이 너무 낮은)되거나 잘못(예컨대, 순번이 너무 높은)되기 때문에 그 패킷을 버린다.
만약 존재한다면 디큐잉 유닛(527)은 출력 큐(526)로부터 패킷을 디큐잉하여 외부 데이터 링크(301)에 의해 전송한다.
이그레스에서 재정렬할 경우
도 6a는 라인 카드(302)의 이그레스 버퍼 유닛(322b)의 또 다른 예시의 실시예를 도시한다. 본 실시예는 선택의 재시도와 같은 재정렬을 요구하는 RD 스킴과 연관되어 채용된다. 이그레스 버퍼 유닛은 디멀티플렉서(621), 디멀티플렉서(622), 모든 입력을 위한 다수의 재정렬(RSQ) 큐(623), 멀티플렉서(624), 멀티플 렉서(625), 출력 큐(626), 디큐잉 유닛(627), 및 제어 유닛(628)을 포함한다.
동작에 있어서, 이그레스 버퍼 유닛(322b)은 데이터 링크(303)에 의해 패킷을 수신한다. 제어 유닛(628)은 도달하는 패킷이 순서대로 도달하는지(즉, 그 순번이 대응하는 입력을 위한 다음 예상된 순번과 동일한지)를 체크한다. 만약 그렇다면, 패킷은 디멀티플렉서(621) 및 멀티플렉서(625)를 통해 라우팅되어 출력 큐(626)로 직접 인큐잉되고 예상된 다음 순번이 증가된다. 다음 예상된 번호의 값은 선택된 특정 타입의 정렬(sequencing) 스킴에 따른다. 예컨대, 이하 기술된 하나의 예시의 실시예에 있어서, 패킷 순번은 예상된 순서대로 각각의 다음 패킷에 1을 증가시킨 정수를 사용하여 정해진다. 물론, 다수의 다른 정렬 스킴 중 어느 하나를 이용하여, 순차의 순번 감소, 및/또는 1 이외의 값으로 패킷 순번 증가 또는 감소와 같이 재정렬이 수행된다. 만약 패킷이 잘못 도달되면(예컨대, 그 순번이 대응하는 입력을 위한 다음 예상된 순번보다 크면), 그것은 그 입력에 대응하는 재정렬 큐(623)에 디멀티플렉서 621 및 622를 통해 라우팅된다. 따라서, 재정렬 큐(625)는 잘못 도달되는 모든 패킷을 저장한다. 이들 패킷은 모든 이전 패킷이 정확하게 수신될 때만 출력 큐(626)로 진행하게 한다. 만약 패킷이 중복되면(예컨대, 그 순번이 대응하는 입력을 위한 다음 예상된 순번보다 작으면), 그것은 버려진다. 재정렬 큐의 패킷의 중복은 이러한 방침에 따라 버려지지 않으며 단지 미리 저장된 카피를 겹쳐 쓸 뿐이다.
순서대로 패킷이 도달할 때마다, 제어부(628)는 이러한 순서의 도달이 대응하는 재정렬 큐(623)로부터 패킷이 디큐잉되는 것을 가능하게 하는지를 체크한다. 만약 그렇다면, 하나 또는 그 이상의 그와 같은 패킷이 재정렬 큐(623)로부터 디큐잉되고, 멀티플렉서(624, 625)를 통해 라우팅되어, 출력 큐(626)로 인큐잉되며, 대응하는 입력을 위한 다음 예상된 순번이 갱신된다.
도 6b는 이그레스 버퍼 유닛(322b)에서의 재정렬의 예를 나타낸다. 데이터 링크(301) 및 특정 입력 라인 카드(302)에 있어서, 순번 3을 포함한 모든 패킷들이 정확하게 수신된다. 추가적으로, 순번 5, 6, 및 8이 정확하게 수신되지만, 잘못된 순번이다. 따라서, 패킷 5, 6, 및 8은 데이터 링크(301)를 위한 재정렬 큐(623)에 저장된다. 다음에, 패킷 4가 도달하고 즉시 출력 큐(626)로 라우팅되는데, 이는 그것이 다음 예상된 순번에 대응하기 때문이다. 추가적으로, 패킷 5 및 6이 이제 재정렬 버퍼(623)로부터 디큐잉되어 출력 큐(626)로 인큐잉되지만, 패킷 8은 그렇지 않다. 이것이 행해질 때, 데이터 링크(301)를 위한 다음 예상된 순번은 7과 같다.
만약 존재한다면 디큐잉 유닛(627)은 출력 큐(626)로부터 패킷을 디큐잉하여 외부 데이터 링크(301)에 의해 전송한다.
도 7은 예시의 중재 유닛(307)을 개략적으로 나타낸 도면이다. 중재 유닛은 모든 입력 제어 링크(304a)를 위한 다수의 제어 메시지 수신 유닛(761), 매칭 유닛(762), 모든 입력을 위한 다수의 매칭 지연라인((763), 추론 요청 중재 유닛(764), 및 모든 출력 제어 링크(304b)를 위한 다수의 제어 메시지 전송 유닛(765)을 포함한다.
도 7에 나타낸 바와 같이, 중재 유닛(307)은 제어 링크(304a)로부터 제어 메 시지를 수신한다. 제어 메시지 수신 유닛(761)은 그 입수의 제어 메시지를 디코딩한다. 디코딩된 스케줄의 중재 요청은 매칭 유닛(762)으로 향하고, 디코딩된 추론 요청은 추론 요청 중재 유닛(764)으로 향한다. 매칭 유닛(762)은 PIM, i-SLIP(1995년 버클리의 캘리포니아대의 PhD. Thesis, N. McKeown에 의한 "입력-큐잉 스위치를 위한 스케줄링 알고리즘(Scheduling Algorithms for Input-Queued Switches)" 참조), 또는 DRRM(Dual Round-Robin Matching) 알고리즘과 같은 적절한 공지의 매칭 알고리즘에 따른 입력과 출력간 1 대 1 매칭을 평가한다. 그와 같은 알고리즘이 당업자에게 공지되어 있기 때문에, 그 상세한 설명은 간결성을 위해 생략한다. 새롭게 평가된 매칭은 제어 메시지 전송 유닛(765) 및 매칭 지연라인(763)으로 향한다. 상기 지연라인(763)은 대응하는 패킷의 도달과 크로스바의 구성을 동기화시키기 위해 소정 시간동안 매칭을 지연한다. 사실상, 이러한 지연은 라운드-트립 타임과 같고, 이는 라인 카드로 이동하기 위한 허용을 위해 취해진 시간과 크로스바로 이동하기 위한 패킷을 위해 취해진 시간을 더한 것을 포함하며, 직렬화 및 역직렬화 지연, 전송 지연, 및 라우팅 패브릭에 구성 정보를 송신하여 구성하기 위해 취해진 시간을 뺀 경과시간을 포함한다.
추론 요청 중재 유닛(764)은 크로스바에 제공된 스케줄된 중재 전송 요청과 현재의 추론 요청의 현재 매칭을 입력으로 수신한다. 현재의 매칭에 이미 매칭된 출력에 대응하는 모든 추론 요청은 부정되며, 즉 스케줄된 중재 전송은 최고의 처리량을 보장하도록 추론보다 항상 우선시 한다. 적어도 하나의 추론 요청이 있는 모든 비매칭 출력에 있어서, 추론 요청 중재 유닛(764)은 몇몇 방침(예컨대, 순환 순서 선택방식)에 따라 어느 하나는 허용하도록 선택하고 모든 다른 것들은 부정한다. 요청을 송신하는 입력에 대응하는 제어 메시지 전송 유닛(765)에 모든 성공의 추론 전송 요청에 대응하는 통지(ACK: acknowledgment)를 송신한다. 선택적으로, 추론 요청 중재 유닛(764)은 각각 부정된 추론 전송 요청에 대응하는 부정 통지(NAK: negative acknowledgment)를 송신한다. 그 성공의 추론 전송 요청은 그 매칭에 추가되고 그 결과는 크로스바 구성 링크(312)를 통해 크로스바에 제공된다.
각각의 제어 메시지 전송 유닛(765)은 대응하는 라인 카드(302)에 대한 제어 메시지를 어셈블하여 제어 링크(304b)를 통해 그 라인 카드(302)로 송신한다. 제어 메시지는 새로운 추론 허용(만약 존재하면) 및 성공의 추론 전송을 위한 통지(만약 존재하면)를 포함한다.
일반적으로, 추론 전송의 이용은 순차 이동의 추론 패킷 외에, 하나 또는 그 이상이 충돌로 인해 손실되기 때문에 이그레스 버퍼 유닛(322)에 잘못 도달의 패킷을 야기할 수 있다. 따라서, 특정 RD 스킴에 따라 이그레스 버퍼 유닛(322)은 순차 체크 및/또는 재정렬을 수행할 필요가 있다.
신뢰할 수 있는 전달
동작의 STX 모드는 추론 중재에 의해 전송된 패킷이 스케줄된 중재에 의해 전송된 패킷 또는 다른 추론 패킷과 충돌하는 것을 암시한다. 만약 충돌이 발생하면, 에러가 없는 경우라 해도 손실이 많은 스위칭 동작을 발생시키는 하나 또는 그 이상의 패킷이 버려져야 한다. 신뢰할 수 있고, 올바르며, 단일-카피이면서, 순차의 전달을 보장하기 위해 추가의 측정이 행해질 수 있다. 예컨대, 본 발명은 시스템 신뢰성을 향상시키기 위해 다수의 신뢰할 수 있는 전달(RD) 스킴이 통합된다. 일반적으로, 그와 같은 스킴들은 수신기가 특정 패킷을 정확하게 수신한다는 것을 나타내는 통지(ACK)가 수신될 때까지 송신기에 저장된 패킷을 유지함으로써 동작한다. 재전송은 보통 타임아웃에 의해 암시적으로 또는 부정 통지(NAK)에 의해 명시적으로 야기된다. 특정 실행에 따라, 순번이 특정 패킷을 식별하기 위해 필요하고 또 재정렬 버퍼가 올바른 패킷 순서를 복원하기 위해 이그레스에서 필요하다.
예컨대, 스케줄된 중재와 협력하여 STX 중재는 추론 전송에 직면하여 신뢰할 수 있는 순차의 전달을 증가시키기 위해 공지의 S&W(Stop & Wait), GBN(Go-Back-N), 및 SR(Selective Retry) RD 스킴과 통합된다. 이하, 이들 예시의 스킴에 대해 기술한다.
Stop & Wait
S&W(Stop & Wait)의 경우에, 출력마다 오직 하나의 비통지 패킷이 소정 주어진 시간에 각각의 입력에서 발행되게 한다. 이러한 입-출력쌍에 대한 다음 패킷은 대응하는 출력을 위한 허용이 입력에 도달하거나, 또는 대응하는 통지가 도달할 때에만 전송될 수 있다. 이 경우, 패킷, 추론 전송 요청, 및 통지는 표시자, 예컨대 중복 검출을 허용하기 위한 1비트 순번을 수반한다. 예컨대, 이그레스 버퍼 유닛은 순번(예컨대, 순차인 순번이 교대로 일어나야만 하는)을 체크하여 만약 OK 이면(즉, 순차이면) 패킷을 인큐잉하고, 그렇지 않으면 그 패킷을 버린다. 예컨대, 도 5는 재정렬 없이 실행된 이그레스 버퍼 유닛(322a)을 나타낸다.
S&W는 실행하기가 간편하고 오버헤드(overhead)가 낮다. 예컨대, 각각의 RTX 큐의 물리적인 실행은 통지 또는 허용될 때까지 패킷이 VOQ의 HOL(Head-of-Line)에 남아있을 수 있기 때문에 필요치 않다. 그러나, 라운드-트립 타임이 하나의 패킷 타임보다 크면, 예상된 대기시간 향상은 추론 전송이 파이프라인될 수 없기 때문에 낮아질 것이다. 이것은 트래픽(traffic)이 폭주될 때 특히 불리해질 수 있다.
Go - Back -N
GBN(Go-Back-N)의 경우에, 출력마다 미리 정해진 최대의 패킷 수가 소정 주어진 시간에 각각의 입력에서 비통지되게 한다. 이 수는 재전송 큐(412)의 최대 허용된 길이에 따른다. GBN에 있어서, 이그레스 버퍼 유닛은 재정렬 없이 예컨대 도 5의 이그레스 버퍼 유닛(322a)에 따라 실행될 수 있다. 그러나, 올바른 순서여야만 패킷이 받아들여지기 때문에 상술한 바와 같은 정렬 체크가 요구될 것이다. 즉, 모든 잘못된 패킷은 버린다. 추가적으로, 통지 또한 그것들이 순서대로 있어야만 받아들여진다. 예컨대, ACK가 도달하면, 인그레스 버퍼 유닛(321)은 이 ACK가 대응하는 재전송 큐(412)의 HOL 패킷에 대응하는지를 체크한다. 만약 순번이 매치하여 동일한 VOQ(411)에 대한 가장 최근의 이전의 성공적인 전송이 적어도 하나의 RT 이전에 발생하면, 그것이 성공적으로 전달되기 때문에 패킷이 디큐잉되 고 버려진다. 만약 순번이 매치하지 않으면, ACK는 무시된다. 마지막의 성공적인 전송의 추가적인 조건(스케줄된 중재 또는 추론 중재로부터 야기되는 패킷 전송이 존재하는)은 초기의 추론 전송 실패의 결과에 따라 그것이 잘못 도달되기 때문에 성공적인 추론 전송이 이그레스 버퍼(322a)에서 이후에 여전히 버려지는 가능한 시나리오에 대처할 필요가 있다.
이것은 첫번째 순차의(파이프라인된) STX 요청이 실패하면 대응하는 순차의 ACK에 갭을 야기하여, 모든 다음의 ACK는 실패한 패킷이 성공적으로 전달될 때까지 무시되어야만 한다는 것을 암시한다. 따라서, RTX 큐의 모든 패킷은 ACK가 없으면 재전송되어야만 하고, 여기에서 Go-Back-N의 명칭이 유래했다. 새로운 STX 요청은 RTX 큐가 충만하지 않을 때에만 제기될 수 있다.
GBN은 S&W보다 실행하기가 좀더 복잡하다. 선입선출(FIFO) 구조를 갖는 RTX 큐로부터 추가적인 복잡성이 일부 나타난다. 여분의 오버헤드는 패킷의 좀더 긴 순번, STX 요청 및 통지를 포함한다. 또한, 인그레스 버퍼는 다른 방식(예컨대, 시프트-레지스터 RTX 큐 + 추가의 NAK 큐)으로 실행될 수 있다.
한편, GBN의 이용은 큰 라운트 트립을 갖는 시스템의 S&W보다 더 적합할 수 있다. 예컨대, GBN은 S&W 스킴에서는 가능하지 않은 연속적인 추론으로 많은 패킷을 송신할 수 있게 한다.
Selective Retry
SR(Selective Retry)은 출력마다 미리 정해진 최대의 패킷 수가 소정 주어진 시간에 각각의 입력에서 비통지되게 한다. 이 수는 재전송 큐(412)의 최대 허용된 길이와 재전송 큐(623)의 최대 허용된 길이에 따른다. 이그레스 버퍼 유닛은 예컨대 상술한 바와 같이 잘못된 패킷을 받아들여 재정렬하게 하는 도 6a 및 6b에 나타낸 이그레스 버퍼 유닛(322b)에 따라 실행된다. 또한, 인그레스 버퍼 유닛(321)은 소정 순서로 통지를 받아들인다. 이것은 실패한 STX 패킷만이 재전송된다는 것을 암시하고, 여기서 Selective Retry의 명칭이 유래했고, GBN에서와 같이 전체 RTX 큐를 재전송하는 것과는 반대이다.
SR은 이그레스 버퍼 유닛(322)에서 다수의 재정렬 큐의 추가된 복잡성으로 인해 GBN보다 실행하기가 좀더 복잡하다. 추가적으로, SR의 RTX 큐는 패킷이 오직 HOL 라인으로부터가 아니라 어느 지점에서라도 디큐잉될 수 있기 때문에 랜덤-액세스 구조를 필요로 한다.
재전송 및 재정렬 버퍼 사이징
일반적으로, 이것은 재전송 버퍼에 크기를 필요한 크기로 하는 장점이 있고, 따라서 대기시간 감소와 관련한 최대 장점을 얻기 위하여 적어도 풀 라운드-트립 가치만큼의 패킷이 추론적으로 전송될 수 있다. 이 경우, 링크는 100%의 추론 전송에 사용될 수 있다.
최적의 장점을 달성하기 위해, 바람직한 실시예가 모든 재정렬 큐(RSQ)를 필요한 크기로 함으로써 RSQ 버퍼에 대응하는 RTX와 동일한 적어도 다수의 패킷을 저장할 수 있다. 예컨대, RSQ(623)에 대응하는 RTX 큐(412)의 HOL 패킷의 순번과 RSQ(623)에 대응하는 RTX 큐(412)의 테일 패킷의 순번간 차이에 기초하여 RSQ(623)의 크기가 결정된다.
비대칭 라우팅 패브릭의 추론
상기와 같은 본 발명의 예는 통상 "스퀘어(sqrare)" 크로스바형 라우팅 패브릭(즉, 동일한 수의 입력 및 출력을 갖는 패브릭)을 나타낸다. 하나의 패브릭에 연결되는 라인 카드와 같은 보드가 통상적이지만, 본 발명은 입력보다 출력이 더 많은 특징을 나타내는 스위치 패브릭에 의해 실행될 수도 있다. 예컨대, 1보다 더 큰 K 정수를 갖는 입력보다 K배 만큼 더 많은 출력을 갖는다고 가정하면, 분명히 K개의 라우팅 패브릭 출력은 모든 이그레스 라인 카드에 할당될 수 있다. 이는 모든 이그레스 라인 카드가 모든 타임 슬롯에 K개의 패킷까지 수신할 수 있게 한다.
도 8은 비대칭 라우팅 패브릭을 포함하는 예시의 시스템을 나타낸다. 도 8에 나타낸 바와 같이, 시스템은 스위치 코어(810), N개의 라인 카드(802) 중 어느 하나의 인그레스 버퍼(821)의 각각의 출력간 제공되는 각각의 N개의 인그레스 데이터 링크(803a1~803aN), 및 라우팅 패브릭(806)과 각각의 이그레스 버퍼(822)간 제공된 데이터 링크(803b1~803bK)를 포함한다. 따라서, 여기에는 총 N·K개의 데이터 링크(803bX)가 존재하고, 여기서 x는 스위치 코어(810)의 라우팅 패브릭(806)으로부터 출력된 1과 k사이가 된다. 스위치 코어(810)와 라인 카드(802) 사이에는 상술 한 것과 유사한 제어 링크가 존재하지만, 제어 링크는 간결함을 위해 생략한다.
스위치 코어(810)는 입력 포트와 출력 포트간 적절한 매칭을 제공하기 위해 스케줄된 및/또는 추론 중재를 위한 요청의 그룹 또는 서브그룹에 대한 스위치 패브릭 리소스의 무충돌 할당을 결정하기 위한 라우팅 패브릭(806) 및 중재기(807)를 포함한다. 구성 링크(812)는 라우팅 패브릭(806)에 중재기(807)에 의해 결정된 스위칭 구성을 제공한다. 상술한 바와 같이, 각각의 이그레스(822)는 라인 카드(802)로부터의 입력수보다 K배 만큼 많은 라우팅 패브릭으로부터의 출력이 제공된다. 예컨대, K=2의 비대칭을 실행하는 시스템에 있어서, 이그레스 버퍼(822)는 스위칭 패브릭 입력 중 어느 하나로부터의 패킷을 수신할 수 있는 하나의 추가 데이터 링크(스위칭 패브릭으로부터의 출력)를 갖는다. 소정 시간 주기 또는 사이클로 수신된 데이터 패킷의 증가를 처리하기 위해, 이그레스 버퍼(822)의 큐는 로드 및/또는 여러 구속에 따라 필요한 크기로 한다. 또한, 바람직하게 이그레스 버퍼(822)는 라이트 대역폭(write bandwidth)을 K배 갖는다.
도 8의 예시의 시스템에 있어서, 패이로드 정보 및 요청된 패킷 목적지를 나타내는 정보를 포함하는 헤더를 갖는 데이터 패킷은 N개의 양방향 전이중 인그레스/이그레스 데이터 링크(801)를 통해 전송 및 수신된다. 수신된 데이터 패킷은 인그레스 버퍼(821)로부터 디큐잉되어 라우팅 패브릭(806)의 입력으로 데이터 링크(803a1~803aN)를 통해 전송된다. 각각의 라인 카드(802)는 또한 남아있는 N-1개의 라인 카드 중에서 K개의 출력까지 수신할 수 있기 때문에, 본 발명의 비대칭 예 의 라우팅 패브릭(806)은 예컨대 소정 다른 라인 카드(802)의 이그레스 버퍼(822)로 출력된 데이터 링크(803bx) 중 하나에 각각의 N개의 라인 카드(802)에 의해 스케줄된 중재 및/또는 추론 중재 방식으로 전송된 하나의 패킷을 매치시킬 수 있다. 따라서, 각각의 라인 카드(802)는 스케줄된 또는 추론 중재의 방식으로 전송된 패킷, 또는 또 다른 N-1개의 라인 카드(802)로부터 전송된 그 조합을 포함하는 K개의 패킷까지 수신할 수 있다.
이러한 특징은 다중 스케줄된 중재 전송, 다중 추론 전송, 또는 소정 타입 슬롯에 모든 이그레스에 의해 모두 받아들여지는 조합을 허용하는데 효과적으로 사용될 수 있다. 본 발명의 실시예에 있어서, 예컨대 이러한 특징은 추론 전송 스킴의 장점을 높이는데 사용될 수 있다. 예컨대, 주어진 타임 슬롯에, 만약 스케줄된 중재 전송이 없으면, 모든 이그레스(822)는 K개의 추론 전송까지 받아들일 수 있다. 만약 하나의 스케줄된 중재 전송이 있으면, 모든 이그레스(822)는 K-1개의 추론 전송까지 받아들일 수 있다. 이러한 예에 있어서, 스케줄된 중재 전송은 여전히 입력과 출력간 1 대 1 매칭을 형성할 수 있으며, 추론 중재 전송은 모든 남아있는 패브릭 출력 대역폭의 장점을 취할 수 있다. 이러한 방식에 있어서는, 추론 전송이 상당히 높은 성공될 가능성을 가지며, 따라서 아주 높은 대기시간 감소(로드에 따른)를 달성할 수 있다.
기존의 1 대 1 매칭 알고리즘은 본 발명의 비대칭 예를 실시하기 위한 변경을 최소로 하거나 변경을 필요로 하지 않을 것이다. 그러나, 전송된 패킷의 타입 및/또는 각 타입의 전송된 패킷의 수에 따라 라우팅 패브릭 입력을 출력과 매칭시키기 위해 다수의 스킴이 채용될 수 있다는 것을 알 수 있을 것이다.
타임 슬롯에 따른 출력당 K개의 추론 요청/통지까지 처리하기 위해, 도 7의 추론 요청 중재 유닛(764)은 변경되어야만 한다. 우선, 통지될 수 있는 최대 수의 추론 요청을 모든 출력을 위해 결정해야만 한다. 현재의 매칭에 있어 이미 매칭된 모든 출력에 대해, 이러한 최대 수는 K-1과 같다. 모든 다른 출력에 대해, 이러한 최대 수는 K와 같다. 다음에, 추론 요청 중재 유닛(764)은 결정된 최대 수의 위너(winner)까지 선택하여, 출력마다 수신된 추론 요청 중 하나를 선택하고, 모든 다른 것들은 부정한다. 이러한 선택은 바람직하게 공평을 위해 순환 순서 선택방식으로 실행되지만, 다른 방식으로도 실행될 수 있다.
본 발명은 고성능 컴퓨팅 시스템, 클러스터, 및 IO 네트워크를 포함하는 병렬 컴퓨팅 애플리케이션과 같은 상호접속 네트워크의 애플리케이션에 제공되고, 전체적으로 시스템의 컴퓨팅 성능에 직접적인 영향을 줌에 따라 낮은 대기시간이 필요하거나 요구된다. 본 발명은 전기적으로 제어된 전기 스위치, 전기적으로 제어된 광 스위치, 및 광학적으로 제어된 광 스위치를 포함하는 라우팅 패브릭으로 이용될 수 있다.
본 발명의 이해를 용이하게 하기 위해, 본 발명의 많은 특징들이 상호접속 시스템의 구성요소에 의해 실행되는 순차 액션의 관점에서 기술되었다. 각각의 예시의 실시예에 있어서, 여러 액션이 특정 회로(예컨대, 특정 기능을 실행하기 위해 상호접속된 이산 로직 게이트), 다수의 프로세서에 의해 실행되는 프로그램 명 령, 또는 양 조합에 의해 수행될 수 있다는 것을 알 수 있을 것이다. 더욱이, 본 발명은 프로세서가 여기에 기술된 기술을 실행할 수 있게 하는 적절한 세트의 컴퓨터 명령을 포함하는 고체상태 메모리, 마그네틱 디스크, 광 디스크 또는 캐리어 웨이브와 같은(라디오 주파수, 오디오 주파수 또는 광학 주파수 캐리어 웨이브와 같은) 소정 형태의 컴퓨터 판독가능 캐리어 내에 구체화되도록 추가적으로 고려될 수 있다. 따라서, 본 발명의 여러 특징들은 많은 다른 형태로 구체화되고, 모든 그와 같은 형태는 본 발명의 범위 내에 속하는 것으로 판단된다.
상술한 예에 있어서, 보드(예컨대, 라인 카드)는 주어진 타임 슬롯에 대한 허용을 수신하지 않을 때에만 추론 전송을 수행하는데 적합하다. 그러나, 다수의 패킷이 한번의 타임 슬롯으로 보내질 수 있도록 크로스바에 대한 링크의 효과적인 용량이 외부 링크의 용량을 초과하는 애플리케이션에 있어서, 여분의 용량이 동일한 타임 슬롯으로 추론 및 허용된 전송을 수행하기 위해 사용될 수 있다.
본 발명은 특정 실시예와 관련지어 기술하였다. 그러나, 본 발명이 본 발명의 목적 및 배경을 벗어나지 않는 범위 내에서 다양하게 변경 및 변형이 이루어질 수 있다는 것은 당업자에게는 자명하다. 따라서, 본 발명은 부가되는 청구항 및 그에 상응하는 범위 내에서 제공된 본 발명의 변형을 커버할 것이다.

Claims (20)

  1. 스케줄된 중재에 의해 또는 중재 없이 라우팅 패브릭의 다수의 입력에서 다수의 출력으로 데이터 패킷을 전송하기 위한 방법에 있어서,
    스케줄된 중재의 결과가 존재하면, 스케줄된 중재의 결과에 따라 적어도 하나의 데이터 패킷을 송신하는 단계; 및
    스케줄된 중재의 결과가 없으면, 추론적으로 전송하기 위한 데이터 패킷을 선택하고, 동시에 상기 선택된 데이터 패킷의 출력 식별자를 포함하는 추론 요청을 제기하면서 상기 선택된 패킷을 라우팅 패브릭에 송신하는 단계를 포함하는 것을 특징으로 하는 데이터 패킷 전송방법.
  2. 제1항에 있어서,
    저장된 패킷에 대한 통지 또는 허용이 수신될 때까지 선택된 데이터 패킷을 저장하는 단계를 더 포함하는 것을 특징으로 하는 데이터 패킷 전송방법.
  3. 제1항에 있어서,
    상기 라우팅 패브릭은 언버퍼드(unbuffered)인 것을 특징으로 하는 데이터 패킷 전송방법.
  4. 제1항에 있어서,
    모든 타임 슬롯에 대해, 입력을 스케줄된 중재 결과에 따라 라우팅 패브릭의 출력과 매칭시키는 단계;
    모든 비매칭 출력에 대해, 매칭된 입력과 출력이 라우팅 패브릭에 제공되는 타임 슬롯에 있어서, 만약 존재한다면 선택 방침에 따라 하나의 제기된 추론 요청을 선택하는 단계; 및
    라우팅 패브릭에 제공되는 현재의 스케줄된 중재 결과에 각각의 위닝 추론 요청에 대한 입력-출력 맵핑(mapping)을 더하는 단계를 더 포함하는 것을 특징으로 하는 데이터 패킷 전송방법.
  5. 제4항에 있어서,
    모든 위닝 선택된 추론 요청에 대응하는 통지를 리터닝하는 단계를 포함하는 것을 특징으로 하는 데이터 패킷 전송방법.
  6. 제1항에 있어서,
    추론적으로 제기된 요청은 라우팅 패브릭에 대한 스위치 상태가 패브릭을 가 로지르는 데이터 패킷의 통과가 방해되지 않도록 적시에 설정되도록 전송된 추론적으로 제기된 데이터 패킷의 도달에 의해 동기적으로 라우팅 패브릭에 제기된 전송 허용을 야기하는 다른 요청과 대비하여 분석되는 것을 특징으로 하는 데이터 패킷 전송방법.
  7. 제1항에 있어서,
    라우팅 패브릭은 전기적으로 제어된 전기 스위치, 전기적으로 제어된 광 스위치, 및 광학적으로 제어된 광 스위치 중 어느 하나인 것을 특징으로 하는 데이터 패킷 전송방법.
  8. 제1항에 있어서,
    라우팅 패브릭의 출력으로부터 데이터 패킷을 수신하는 단계;
    상기 데이터 패킷에 포함된 순차치를 다음 예상치와 비교하는 단계; 및
    상기 순차치가 다음 예상치와 동일하면 수신된 패킷을 인큐잉하는 단계를 더 포함하는 것을 특징으로 하는 데이터 패킷 전송방법.
  9. 제8항에 있어서,
    상기 순차치와 다음 예상치가 동일하지 않으면 수신된 패킷을 버리는 단계를 더 포함하는 것을 특징으로 하는 데이터 패킷 전송방법.
  10. 제9항에 있어서,
    상기 순차치와 다음 예상치가 동일하지 않으면 수신된 패킷을 저장하는 단계; 및
    상기 수신된 데이터 패킷 순차치보다 작은 대응하는 순차치를 갖는 모든 패킷을 수신하여 인큐잉한 후에만 상기 수신된 패킷을 인큐잉하는 단계를 더 포함하는 것을 특징으로 하는 데이터 패킷 전송방법.
  11. 스케줄된 중재에 의해 또는 중재 없이 라우팅 패브릭의 다수의 입력에서 다수의 출력으로 데이터 패킷을 전송하기 위한 시스템에 있어서,
    스케줄된 중재의 결과가 존재하면, 스케줄된 중재의 결과에 따라 적어도 하나의 데이터 패킷을 송신하기 위한 수단; 및
    스케줄된 중재의 결과가 없으면, 추론적으로 전송하기 위한 데이터 패킷을 선택하고, 동시에 상기 선택된 데이터 패킷의 출력 식별자를 포함하는 추론 요청을 제기하면서 상기 선택된 패킷을 라우팅 패브릭에 송신하기 위한 수단을 포함하는 것을 특징으로 하는 데이터 패킷 전송시스템.
  12. 제11항에 있어서,
    라우팅 패브릭은 전기적으로 제어된 전기 스위치, 전기적으로 제어된 광 스위치, 및 광학적으로 제어된 광 스위치 중 어느 하나인 것을 특징으로 하는 데이터 패킷 전송시스템.
  13. 제11항에 있어서,
    라우팅 패브릭에 추론적으로 제기된 요청은 스위치 상태가 패브릭을 가로지르는 데이터 패킷의 통과가 방해되지 않도록 적시에 설정되도록 추론적으로 제기된 데이터 패킷의 도달에 의해 동기적으로 라우팅 패브릭에 제기된 전송 허용을 야기하는 다른 요청과 대비하여 분석되는 것을 특징으로 하는 데이터 패킷 전송시스템.
  14. 제11항에 있어서,
    적어도 하나의 데이터 패킷을 송신하기 위한 수단은 상기 스케줄된 중재를 수행하는 중재기로부터 물리적으로 분리되어, 중재기에 대한 다수의 전방 전송 요청, 자체의 중재 기능, 또는 라우팅 패브릭으로 데이터 패킷의 전송과 관련된 신호 전파 및 그 외의 시간 지연이 패킷의 전송시간보다 긴 것을 특징으로 하는 데이터 패킷 전송시스템.
  15. 복수의 위치에 걸친 정보 유닛의 흐름을 처리하기 위한 시스템에 있어서,
    소스 위치에서 목적지 위치로 정보 유닛을 전송하기 위해 스위칭 패브릭에 액세스를 위한 요청을 수신하기 위한 다수의 입력;
    상기 스케줄된 중재 허용 액세스를 위한 요청의 그룹 또는 서브그룹을 위한 스위칭 패브릭 리소스의 비충돌 할당을 결정하기 위한 중재기; 및
    결정된 그룹이 다음에 스위칭 패브릭에 제공되는 시간에 추론 액세스 요청을 수신하고, 상기 결정된 할당에 기초하여 상기 수신된 요청을 허용 또는 부정하기 위한 추론 요청 중재기를 포함하고,
    상기 요청은 스케줄된 중재된 허용 액세스를 위한 요청과 스케줄된 중재된 허용 없이 추론 액세스를 위한 요청을 포함하고, 각각의 상기 요청은 관련된 정보 유닛을 전송하는 목적지 위치의 표시를 포함하는 것을 특징으로 하는 정보 유닛의 흐름 처리시스템.
  16. 제15항에 있어서,
    스위칭 패브릭은 전기적으로 제어된 전기 스위치, 전기적으로 제어된 광 스위치, 및 광학적으로 제어된 광 스위치 중 어느 하나인 것을 특징으로 하는 정보 유닛의 흐름 처리시스템.
  17. 제15항에 있어서,
    상기 수신된 추론 액세스 요청 중 허용된 어느 하나와 관련된 정보 유닛은 그룹 또는 서브그룹을 위해 비축되지 않은 출력으로 스위칭 패브릭을 통해 패스되는 것을 특징으로 하는 정보 유닛의 흐름 처리시스템.
  18. 제15항에 있어서,
    스위칭 패브릭은 정보 유닛을 저장하기 위한 버퍼회로를 포함하지 않은 것을 특징으로 하는 정보 유닛의 흐름 처리시스템.
  19. 제15항에 있어서,
    모든 허용된 추론 요청에 대해, 추론 요청 중재기는 추론 요청의 송신자에 통지 메시지를 송신하는 것을 특징으로 하는 정보 유닛의 흐름 처리시스템.
  20. 제15항에 있어서,
    스위칭 패브릭의 각각의 다수의 입력은 스위칭 패브릭의 각각의 출력과 동시에 접속가능한 것을 특징으로 하는 정보 유닛의 흐름 처리시스템.
KR1020087014427A 2005-11-14 2006-11-14 상호접속 대기시간을 감소시키기 위한 방법 및 시스템 KR20080077189A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US73677905P 2005-11-14 2005-11-14
US60/736,779 2005-11-14
US11/402,091 US8135024B2 (en) 2005-11-14 2006-04-10 Method and system to reduce interconnect latency
US11/402,091 2006-04-10

Publications (1)

Publication Number Publication Date
KR20080077189A true KR20080077189A (ko) 2008-08-21

Family

ID=38040753

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087014427A KR20080077189A (ko) 2005-11-14 2006-11-14 상호접속 대기시간을 감소시키기 위한 방법 및 시스템

Country Status (7)

Country Link
US (1) US8135024B2 (ko)
EP (1) EP1949622B1 (ko)
JP (1) JP4796149B2 (ko)
KR (1) KR20080077189A (ko)
CN (1) CN101341698B (ko)
DE (1) DE602006013180D1 (ko)
WO (1) WO2007120209A2 (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037754A2 (en) * 2000-11-03 2002-05-10 At & T Corp. Tiered contention multiple access (tcma): a method for priority-based shared channel access
US7027462B2 (en) * 2001-01-02 2006-04-11 At&T Corp. Random medium access methods with backoff adaptation to traffic
US7277413B2 (en) 2001-07-05 2007-10-02 At & T Corp. Hybrid coordination function (HCF) access through tiered contention and overlapped wireless cell mitigation
US7136361B2 (en) 2001-07-05 2006-11-14 At&T Corp. Hybrid coordination function (HCF) access through tiered contention and overlapped wireless cell mitigation
US7245605B2 (en) 2001-11-02 2007-07-17 At&T Corp. Preemptive packet for maintaining contiguity in cyclic prioritized multiple access (CPMA) contention-free sessions
US7245604B2 (en) 2001-11-02 2007-07-17 At&T Corp. Fixed deterministic post-backoff for cyclic prioritized multiple access (CPMA) contention-free sessions
US7248600B2 (en) 2001-11-02 2007-07-24 At&T Corp. ‘Shield’: protecting high priority channel access attempts in overlapped wireless cells
US20070201497A1 (en) * 2006-02-27 2007-08-30 International Business Machines Corporation Method and system for high-concurrency and reduced latency queue processing in networks
US8228930B1 (en) * 2006-06-02 2012-07-24 The Board Of Trustees Of The Leland Stanford Junior University Interconnection network router arrangements and methods therefor
US7916731B2 (en) * 2006-11-30 2011-03-29 Broadcom Corporation Method and system for efficient rapid loss detection in a bonding system
KR101387257B1 (ko) * 2007-11-22 2014-04-21 삼성전자주식회사 무선통신망에서 음성패킷을 전송하기 위한 장치 및 방법
US9430297B2 (en) * 2008-12-15 2016-08-30 International Business Machines Corporation Load balancing of adapters on a multi-adapter node
EP2377326B1 (en) * 2008-12-22 2012-10-10 Telefonaktiebolaget L M Ericsson (PUBL) Configuring synchronous optical switches
US7965705B2 (en) * 2009-03-19 2011-06-21 Oracle America, Inc. Fast and fair arbitration on a data link
US8670454B2 (en) * 2009-03-26 2014-03-11 Oracle America, Inc. Dynamic assignment of data to switch-ingress buffers
US8675494B2 (en) * 2009-12-04 2014-03-18 Brocade Communications Systems, Inc. Conflict identification in label switched services
US9137166B2 (en) * 2010-01-28 2015-09-15 Brocade Communications Systems, Inc. In-order traffic aggregation with reduced buffer usage
US8346988B2 (en) 2010-05-25 2013-01-01 International Business Machines Corporation Techniques for dynamically sharing a fabric to facilitate off-chip communication for multiple on-chip units
US8359417B2 (en) * 2010-07-16 2013-01-22 Miranda Technologies Inc. Audio/video router
WO2012029215A1 (ja) * 2010-09-03 2012-03-08 パナソニック株式会社 中継装置
US9253248B2 (en) * 2010-11-15 2016-02-02 Interactic Holdings, Llc Parallel information system utilizing flow control and virtual channels
US8520529B2 (en) * 2011-09-15 2013-08-27 Ixia Reordering network traffic
US9002931B2 (en) * 2011-09-23 2015-04-07 Real-Scan, Inc. High-speed low-latency method for streaming real-time interactive images
JP5867160B2 (ja) * 2012-02-28 2016-02-24 富士通株式会社 通信制御装置、通信制御方法および通信制御プログラム
EP2893678B1 (en) * 2012-09-10 2019-11-06 Marvell World Trade Ltd. Apparatus for transferring packets between interface control modules of line cards
US8984206B2 (en) 2012-10-31 2015-03-17 International Business Machines Corporation Weightage-based scheduling for hierarchical switching fabrics
US8902899B2 (en) * 2013-02-08 2014-12-02 International Business Machines Corporation Input buffered switching device including bypass logic
US10251194B2 (en) * 2013-06-17 2019-04-02 Nxp Usa, Inc. Efficient scheduling in asynchronous contention-based system
US9166886B1 (en) 2013-06-19 2015-10-20 Google Inc. Systems and methods for determining physical network topology
US9419887B1 (en) 2013-06-19 2016-08-16 Google Inc. Minimum latency routing
US9843906B2 (en) * 2013-08-13 2017-12-12 Motorola Solutions, Inc. Apparatus and method for retrieving group messages
US9336169B2 (en) 2013-10-02 2016-05-10 International Business Machines Corporation Facilitating resource use in multicycle arbitration for single cycle data transfer
US9288157B2 (en) * 2013-10-15 2016-03-15 National Instruments Corporation Time-sensitive switch for scheduled data egress
JP5821986B2 (ja) * 2014-03-07 2015-11-24 Nttエレクトロニクス株式会社 パケット受信装置
US9467396B2 (en) 2014-04-11 2016-10-11 International Business Machines Corporation Simultaneous transfers from a single input link to multiple output links with a timesliced crossbar
US9860615B2 (en) * 2015-05-14 2018-01-02 Huawei Technologies Co., Ltd. System and method for photonic switching
US11379208B2 (en) * 2015-07-30 2022-07-05 Hewlett Packard Enterprise Development Lp Firmware update of an interconnect device
CN107689923B (zh) * 2016-08-04 2021-02-12 华为技术有限公司 报文处理方法及路由器
US11502932B2 (en) 2019-05-17 2022-11-15 Keysight Technologies, Inc. Indirect testing using impairment rules
US11876790B2 (en) * 2020-01-21 2024-01-16 The Boeing Company Authenticating computing devices based on a dynamic port punching sequence
US11265269B2 (en) * 2020-03-02 2022-03-01 Arista Networks, Inc. Networking system having multiple components with multiple loci of control
CN111416630A (zh) * 2020-03-05 2020-07-14 烽火通信科技股份有限公司 一种编译码方法及***
US12001369B2 (en) 2022-03-30 2024-06-04 Arm Limited Broadcast regions for multi-processor arrangement
US20230315669A1 (en) * 2022-03-30 2023-10-05 Arm Limited Multi-processor arrangement with point of serialization for broadcast communications

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5500858A (en) * 1994-12-20 1996-03-19 The Regents Of The University Of California Method and apparatus for scheduling cells in an input-queued switch
US6647019B1 (en) * 1998-04-29 2003-11-11 Pmc-Sierra, Inc. Packet-switch system
AU2001265727A1 (en) 2000-06-06 2001-12-17 Accelight Networks Canada, Inc. A multiservice optical switch
GB0013571D0 (en) * 2000-06-06 2000-07-26 Power X Limited Switching system
JP3567878B2 (ja) * 2000-10-02 2004-09-22 日本電気株式会社 パケット交換装置
US20040136334A1 (en) * 2001-06-15 2004-07-15 Gilat Satellite Networks, Ltd. Efficient access in satellite communication system
US6920106B1 (en) * 2001-09-07 2005-07-19 Agilent Technologies, Inc. Speculative loading of buffers within a port of a network device
JP3914771B2 (ja) * 2002-01-09 2007-05-16 株式会社日立製作所 パケット通信装置及びパケットデータ転送制御方法
US7352741B2 (en) * 2002-02-21 2008-04-01 Sun Microsystems, Inc. Method and apparatus for speculative arbitration
US7240165B2 (en) * 2004-01-15 2007-07-03 Hewlett-Packard Development Company, L.P. System and method for providing parallel data requests
US7486687B2 (en) * 2004-02-27 2009-02-03 International Business Machines Corporation 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
US7688816B2 (en) * 2004-03-15 2010-03-30 Jinsoo Park Maintaining packet sequence using cell flow control

Also Published As

Publication number Publication date
CN101341698B (zh) 2011-07-06
US8135024B2 (en) 2012-03-13
WO2007120209A2 (en) 2007-10-25
DE602006013180D1 (de) 2010-05-06
CN101341698A (zh) 2009-01-07
EP1949622A2 (en) 2008-07-30
EP1949622B1 (en) 2010-03-24
JP2009516478A (ja) 2009-04-16
WO2007120209A3 (en) 2008-03-06
JP4796149B2 (ja) 2011-10-19
US20070110087A1 (en) 2007-05-17

Similar Documents

Publication Publication Date Title
EP1949622B1 (en) Method and system to reduce interconnect latency
US7724733B2 (en) Interconnecting network for switching data packets and method for switching data packets
US7792118B2 (en) Switch module memory structure and per-destination queue flow control for use in a switch
US5483526A (en) Resynchronization method and apparatus for local memory buffers management for an ATM adapter implementing credit based flow control
US6563837B2 (en) Method and apparatus for providing work-conserving properties in a non-blocking switch with limited speedup independent of switch size
EP1810466B1 (en) Directional and priority based flow control between nodes
EP1779607B1 (en) Network interconnect crosspoint switching architecture and method
WO2020236267A1 (en) Dynamic buffer management in data-driven intelligent network
EP0981878B1 (en) Fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch
US10645033B2 (en) Buffer optimization in modular switches
US20050025141A1 (en) Packet reassembly and deadlock avoidance for use in a packet switch
US20020012344A1 (en) Switching system
US9100313B1 (en) Shared egress buffer in a multi-stage switch
US7164687B2 (en) Queue control method and relay apparatus using the method
US7391787B1 (en) System and method for opportunistic request-grant switching
Chao et al. Trueway: a highly scalable multi-plane multi-stage buffered packet switch
Iliadis et al. Performance of a speculative transmission scheme for scheduling-latency reduction
WO2001067672A2 (en) Virtual channel flow control
Minkenberg et al. Speculative flow control for high-radix datacenter interconnect routers
US11979476B2 (en) High performance connection scheduler
Minkenberg et al. Design and performance of speculative flow control for high-radix datacenter interconnect switches
Liu et al. Pipelining packet scheduling in a low latency optical packet switch
Shen et al. A Lightweight Routing Layer Using a Reliable Link-Layer Protocol
EP2169883B1 (en) Asynchronous flow control and scheduling method
Iliadis et al. A speculative transmission scheme for scheduling‐latency reduction

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid