KR100339329B1 - 입력/출력 테라비트 스위치들을 위한 rrgs-라운드-로빈 그리디 스케쥴링 - Google Patents

입력/출력 테라비트 스위치들을 위한 rrgs-라운드-로빈 그리디 스케쥴링 Download PDF

Info

Publication number
KR100339329B1
KR100339329B1 KR1019990027469A KR19990027469A KR100339329B1 KR 100339329 B1 KR100339329 B1 KR 100339329B1 KR 1019990027469 A KR1019990027469 A KR 1019990027469A KR 19990027469 A KR19990027469 A KR 19990027469A KR 100339329 B1 KR100339329 B1 KR 100339329B1
Authority
KR
South Korea
Prior art keywords
input
output
time slot
packet
mod
Prior art date
Application number
KR1019990027469A
Other languages
English (en)
Other versions
KR20000047434A (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 가네코 히사시
Publication of KR20000047434A publication Critical patent/KR20000047434A/ko
Application granted granted Critical
Publication of KR100339329B1 publication Critical patent/KR100339329B1/ko

Links

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
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • 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
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/15Interconnection of switching modules
    • H04L49/1515Non-blocking multistage, e.g. Clos
    • H04L49/1546Non-blocking multistage, e.g. Clos using pipelined operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)

Abstract

초고속 교환 시스템에 있어서 입출력간 스케쥴을 고속으로 확립할 수 있는 신규의 스케쥴링 방법 및 장치를 제공한다.
N×N 교환 시스템에서, N개의 입력 각각은 N개의 출력에 각각 대응하는 논리적 큐와, N개의 입력에 각각 대응하여 인접 중재기로 제어 정보를 송출하는 N개의 중재기가 설치되어 있다. 복수의 스케쥴링 과정이 타이밍을 어긋나게하여 시작되고, N 타임 슬롯 거리의 미래의 타임 슬롯이 각각 결정된다. 시작 중재기로부터 라운드 로빈 방식으로 순차적으로 1개의 중재기가 선택되고, 선택된 중재기는 미래의 타임 슬롯에 있어서의 이용 가능한 출력의 집합 중에서 1개의 출력을 선택한다. 선택된 출력을 출력 집합으로부터 제외하고, 선택된 입력과 그것에 관련하는 선택된 출력의 세트를 스케쥴링하여 메모리에 기록한다. 복수의 스케쥴링 과정이 파이프라인 처리에 의해 동시에 병렬 처리 가능하기 때문에, 스케쥴을 고속으로 확립할 수 있다.

Description

입력/출력 테라비트 스위치들을 위한 RRGS-라운드-로빈 그리디 스케쥴링{RRGS-Round-Robin Greedy Scheduling for input/output terabit switches}
본 발명은 전자 및 광학 미디어용의 어플리케이션으로 사용되는 초고속(테라비트급)교환 시스템에 관계된 것으로, 특히, 초고속 교환 시스템에서 입출력간의 스케쥴링 및 그 스케쥴링을 실현하기 위한 교환 시스템에 관한 것이다.
광대역화의 요구에 동반하여, 테라비트 스위칭에 대한 필요성이 증가되고 있다. M. Beshai 및 E. Miinter가 ICC'95,pp.1724-1730에 발표한 버스트 전송 및 독립적인 공유된 버퍼들을 토대로한 멀티-테라-비트/s 스위치, N. McKeown 등이 1997년 1월-2월에 IEEE Micro, vol. 171에 발표한 타이니 테라(tiny tera):패킷 스위치 코어, 및 W.D.Zhong, Y.Shimazu, M.Tsukuda, 및 K.Yukimatsu가 1994년 2월에 통신에 대한 IEICE 논문, vol. E77-B, no.2, pp 190-196에 발표한 광학 버퍼들을 사용하는 모듈러 T비트/s TDM-WDM 포토닉 ATM 스위치를 참조하라.전자적으로 제어되는 광 스위칭 코어[견해를 바꾸면 논리적 크로스바 스위치(logical cross bar switch)]는 고성능 스위치의 후보로서 매력적이다. 10Gbps의 라인 속도로, 64바이트의 셀/패킷이 40ns 이내에 처리될 필요가 있기 때문이다.
당업자에게 있어서 중요한 문제는, 이러한 광 스위칭 코어를 효율적으로 사용하는 스케쥴링의 고속 결정법의 확립이다. 이 경우, 스위치(교환기)의 설계에 있어서, 입력 버퍼링, 출력 버퍼링 또는 그들 양쪽을 사용하는 것이 가능하다. 출력 버퍼링을 사용하는 스위치에서는 출력 버퍼의 액세스 속도가 스위치 전체의 처리량을 상회하고 있을 필요가 있다. 이러한 출력 버퍼에 필요로 되는 속도를 억제하기 위해서, 녹아웃 아키텍쳐(knockout architecture)이 채용된다. 상기 방법에서는, 유한개의 셀만이 출력 버퍼에 받아 들여지고, 나머지는 폐기된다. 광학 녹아웃 스위치는 Zhong, Y. Shimazu, M. Tsukuda, 및 K. Yukimatsu가 1994년 2월에 통신에 대한 IEICE 논문, vol. E77-B, no.2, pp 190-196에 발표한 광학 버퍼들을 사용하는 모듈러 T 비트(들) TDM-WDM 포토닉 ATM 스위치에 제안되어 있다. 각각의 출력이 여러개의 광학 리버스 Banyan 네트워크들 및 광학 버퍼들을 필요로하기 때문에, 광학 녹아웃 스위칭의 복잡도가 높게된다.
입력 버퍼를 사용하는 스위치는 더 효율적으로 버퍼를 사용할 수 있고, 메모리의 대역폭도 라인 속도의 2배로 충분하다. 간단한 방법에서는, 각 입력이 그 입력의 대기 행렬(큐)에 있어의 최조의 패킷을 송신하는 요구를 낸다. 만약 2이상의 입력이 동일 출력 포트를 요구한 경우, 그 중의 하나가 랜덤으로 선택된다. 입력 버퍼링 알고리즘이 균일한 트래픽 조건하에서 0.587의 처리량을 초래한다라는, M.J. Karol, M.G.Hluchyj 및 S.P.Morgan이 1987년 12월에 IEEE Transactions on Communications, vol. COM-35, no.12, pp.1347-1356에 발표한 공간-분할 패킷 스위치에 대한 입력 대 출력 큐잉을 참조하라. 이 효율은 불균일한 트래픽의 경우에 더욱 감소한다. 여러 다른 스케쥴링 방식들에서, HOL(head of line) 패킷들 이외의 패킷들은 출력포트들에 대해 경쟁한다. R.Fan, M.Akiyama 및 Y.Tanaka 가 1991년에 일본의 전자 및 통신(Electronics and Communications in Japan)의 Part Ⅰ, vol. 74, no. 11, pp.17-25에 발표한 스케쥴 비교를 사용하는 입력 버퍼형 ATM 스위칭 , S.Motoyama, D.W. Petr 및 V.S. Frost가 1995년 7월에 전자 레터(Electronics Letter), vol. 31, no.14. pp. 1127-1128에 발표한 스케쥴링 알고리즘을 토대로한 입력-큐된 스위치 및 H.Obara가 1991년 3월에 전자 레터, vol.27, no.7, pp.555-557에 발표한 입력 큐잉 ATM 스위치들을 위한 최적의 아키텍쳐를 참조하라. 보다 상세히 말하면, 각 타임 슬롯에 있어서, 1개의 입력은 복수의 출력 포트를 요구한다. 타임 슬롯마다 정확하게 4개의 요구를 내면, 1에 가까운 효율이 얻어진다. 그렇지만, 이 방법에서는, 고속시, 스케쥴링을 위한 복수의 요구 및 그 확인응답을 1 타임 슬롯내에서 처리할 수 없다(여기서 1 슬롯은 패킷 송신 시간을 나타낸다). 또한, 트래픽에 급격한 변화가 있는 경우에는, 각 입력이 어떤 출력을 요구하는 가를 독립하여 결정하기 때문에 스위치 퍼포먼스는 저하할 것이다.
스위치 제어기가 모든 입력-출력 큐들의 상태들을 안다면, 스위치 수행성능은 개선될 수 있다. 이와같은 정보는 스위치 제어기로 하여금 매 타임 슬롯에서 동시 전송의 수를 증가시키도록 한다. SLIP 프로토콜에서, 출력들은 입력들에게 승인들을 독립적으로 발부하는데, 이것이 어떤 비효율성을 초래한다. N. McKeown, P. Varaiya, J. Walrand가 1993년 12월에 전자 레터, vol. 29, no. 25, pp.2174-2175에 발표한 입력-큐의 스위치에서 스케쥴링 셀들을 참조하라. D. Guo, Y. Yemini, Z. Zhang이 IEEE INFOCOM'94에 발표한 WDM 광학 성형 네트워크용 스케일러블(scalable) 고속 프로토콜들에 서술된 알고리즘들에 의해 입력들간의 보다 낳은 조정(coordination)이 이루어진다. 그러나, 이들 알고리즘들은 스케쥴링 판단을 하기 위하여 많은 타임 슬롯들을 필요로하는 단점이 있다.또한, 양호한 퍼포먼스를 나타내는 랜덤 그리디 스케쥴링법(RGS)이 제안되어 있다. 이것에 관해서는, R.Chipalkatti.Z.Xhang, and A.A.Acampora, Protocols for optical star-coupler network using WDM: preformance and complexity study, IEEE Journal on Selected Areas in Communications, vol.11, no.4, May 1993, pp.579-589, 및 D.Guo, Y. Yemini, Z.Zhang, Scalable high-speed protocols for WDM optical star networks IEEE INFOCOM' 94를 참조하라.이 종래의 RGS법에서는, 입력 및 그것에 대응하는 매칭한 출력의 양쪽이 랜덤으로 선택된다. 그렇지만, 실제로는, 이러한 랜덤 선택을 실장하는 것은 곤란하다. 각 타임 슬롯에 있어서, N개의 패킷이 N개의 입력으로부터 N개의 출력으로 전송될 수 있는 것에 주목하라.
상술한 바와 같이, 광 스위칭 코어를 효율적으로 사용하기 위한 스케쥴링 결정 방법으로는 아직 만족할 만한 것이 없다. 즉, 입출력 버퍼링을 사용하는 것에서는, 구성의 복잡화나 스위치의 처리량의 저하를 야기한다. 또한, 스위치 제어기가 입출력 버퍼의 큐를 집중 관리하는 방식에서는, 스위치의 입력 수 및 출력 수가 증가함에 따라서 계산량이 현저하게 증가하고, 1 타임 슬롯내에서 처리를 완료하는 것이 곤란하여진다.그래서, 본 발명의 목적은, 초고속 교환 시스템에 있어서 입출력간 스케쥴을 고속으로 확립할 수 있는 신규의 스케쥴링 방법 및 장치[라운드 로빈 그리디 스케쥴링(Round-robin greedy scheduling): 이하, RRGS라고 한다]를 제공하는 것이다.본 발명의 다른 목적은, 교환기의 내부 속도를 상승시키지 않고 엄격한 타이밍 요구를 만족함과 동시에 양호한 퍼포먼스를 얻을 수 있는 신규의 파이프라인 아키텍쳐를 갖는 교환 시스템을 제공하는 것에 있다.
도1은 N=5를 갖는 스위치 제어기의 바람직한 실시예에 대한 타이밍 도.
도2는 N=4를 갖는 스위치 제어기의 바람직한 실시예에 대한 타이밍 도.
도3은 N×N 스위치에 대한 제어를 수행하는 도면.
도4는 분석 및 시뮬레이션 결과들을 토대로, RRGS, RGS, HOL, SLIP 및 I-TDMA 의 실행을 위한 평균 패킷 지연들의 비교를 도시한 도면.
도5는 시뮬레이션 결과들을 토대로한 (a) 0.8 및 (b) 0.9의 고정되어 제공된 트래픽 부하에 대한 I-TDMA, SLIP, RGS 및 RRGS에서의 패킷 지연의 상보적인 분포 함수를 도시한 도면.
도6은 4개의 그룹들의 큐들 (a)G1, (b)G2, (c)G3 및 (d) 전체에 대한 RRGS, RGS, SLIP 및 I-TDMA에 대한 불균일한 트래픽 부하 하에서 평균 패킷 지연을 도시한 도면.
* 도면의 주요 부분에 대한 부호의 설명 *
3.11 : 입력 모듈
3.22 : RR 중재기 및 파이프라인 제어기
3.33 : 접속 메모리
이 목적에 부합하기 위하여, N 개의 입력 및 N 개의 출력(N은 2 이상의 정수)을 갖고, 각각의 입력은 상기 N 출력에 각각 대응하는 N개의 논리적 대기 행렬(논리적 큐)로 이루어지는 라운드 로빈 그리디 스케쥴링 프로토콜(round robin greedy scheduling protocol)을 위한 크로스바 스위치의 타임 슬롯 결정 방법으로서, 상기 프로토콜의 입력은 모든 입출력 큐의 상태이고, 상기 프로토콜의 출력은 스케쥴이고,a) i=(정수-k-1) mod N 에 대응하는 입력 i 을 선택하고,b) 만약 입력이 없으면 정지하고, 그 이외이면 라운드 로빈의 방식으로 i= (i+1)mod N 에 의해 결정되는 다음 입력을 선택하고,c) 집합 C={(i, j)|출력 j 에 대응하는 입력 i 에서 적어도 1개의 패킷이 존재함}의 요소인 세트(i, j)가 존재하면, 출력 j 을 선택하고,d) 스텝 c)에서 상기 세트(i, j)가 존재하지 않으면, 입력 집합으로부터 i를 제거하여 스텝 b)에 되돌아가고,e) 입력 집합으로부터 i를, 출력 집합으로부터 j를 각각 제거하고,f) 상기 세트(i, j)를 상기 스케쥴에 추가하여 스텝 b)에 되돌아가는 스텝으로 이루어지는 것을 특징으로 한다.
본 발명의 또 다른 양상은, 각각의 타임 슬롯에서, N개의 다른 스케쥴이 미래의 N 타임 슬롯 사이에서 동시 진행하는 스케쥴 링방법에 있어서,a) 라운드 로빈 방식으로, 스케쥴링을 위한 입력에 대하여 특정한 미래의 타임 슬롯을 이용 가능하게 하고,b) 입력 i 에 의해, 미래의 k번째의 타임 슬롯에 대한 출력을 선택하고,c) 미래의 k번째의 타임 슬롯에 대한 스케쥴을 시작하고,d) 다음의 입력 (i+1) mod N 을 결정하고, 상기 k번째의 타임 슬롯 사이에 패킷을 자유롭게 수신 가능한 나머지의 출력을 상기 다음의 입력으로 송출하는 스텝으로 이루어지는 것을 특징으로 한다.
본 발명에 대한 입력이 홀수개인 경우의 파이프라인 라운드 로빈 그리디 스케쥴링 방법에 있어서, 이 방법에서 i번째 타임 슬롯은,
e) k(i, h) 0은 입력 i 이 h번째의 타임 슬롯에서 확보하는 출력의 타임 슬롯을 나타내고, ih= (정수 - N - h) mod N은 h번째의 타임 슬롯에서 새롭게 스케쥴링을 시작하는 입력을 나타내고, k(i, h)=0은 h번째의 타임 슬롯에서의 입력 i 의 동작이 억제되는 것을 의미하는 것으로서, k(0, 1)= k(1, 1)=…= k(N-1, 1)=0, 정수 = N+1에 초기화하고,
f) Oh+N={0, 1,… ,N-1}, 0≤i≤N-1 및 i≠ih로서, k(ih, h)= h+N 및 k(i, h)= k((i-1) mod N, h-1)로 설정하고,
g) 0≤i≤N-1인 입력 i 에서 패킷을 송신해야 할 출력 j 을 집합 Ok(i, h) 으로부터 라운드 로빈 방식으로 선택하고(단, k(i, h)≠0), j를 Ok(i, h)로부터 제외하고,
h) 0≤i≤N-1인 입력 i 에서 선택된 출력 j 의 어드레스를 접속 메모리의 메모리 위치 k(i, h)mod N 에 기억하고, 대응하는 수신 입출력 큐로부터 라인 헤드의 HOL 패킷이 개별의 송신 입출력 큐로 이동하고,
i) 0≤i≤N-1에서 i≠ (ih-2)mod N 인 입력 i 에서, 다음의 입력 (i+1)mod N 에 집합 Ok(i, h)을 전송하고,
j) 0≤i≤N-1인 상기 입력 i 과, 입력 i 의 메모리 로케이션 h mod (N+1)로부터 판독되는 어드레스의 출력과의 사이에 크로스바 접속을 확립하고,
k) 0≤i≤N-1인 각각의 입력 i 에, 스케쥴링된 송신 입출력 큐의 헤드에 유지된 패킷을 스위치 코어를 통하여 송신하는, 스텝으로 이루어지는 프로세스를 사용하여 h번째의 타임 슬롯을 완료시키는 것을 특징으로 한다.
본 발명의 또다른 양상은 입력이 짝수개인 경우의 파이프라인 라운드 로빈 그리디 스케쥴링 방법인데, 이 방법에서 h 번째 타임 슬롯은,
m) k(i, h)0는 입력 i 이 h 번째의 타임 슬롯에서 확보하는 출력의 타임 슬롯을 나타내고, ih=(정수 - N - h)mod N은 h번째의 타임 슬롯에서 새롭게 스케쥴링을 시작하는 입력을 나타내고, k(i, h)=O 은 h 번째의 타임 슬롯에서의 입력 i 의 동작이 억제되는 것을 의미하는 것으로서, k(0, 1)=k(1, 1)=…= k(N-1, 1)=0, 정수= N+1에 초기화하고,
n) Oh+N+1={0, 1,…, N-1}, 0 ≤ i ≤ N-1인 i에서 집합{ih, (ih+1) mod N}의 요소가 아닌 것으로서, k(ih, h)=h + N + 1, k(mod(ih+1) mod N, h)= k(ih, h-2) 및 k(i, h)= k((i-1)mod N, h-1)에 설정하고,
o) 0≤i≤N-1인 입력 i 에 있어서 패킷을 송신해야 할 출력 j 을 집합 Ok(i, h)로부터 라운드 로빈 방식으로 선택하고 [단, k(i, h)≠0)], j를 Ok(i, h)로부터 제외하고,
p) 0≤i≤N-1인 입력 i 에 있어서, 선택된 출력 j 의 어드레스를 접속 메모리의 메모리 위치 k(i, h)mod (N+1) 에 기억하고, 대응하는 수신 입출력 큐로부터 라인 헤드의 HOL 패킷이 별개의 송신 입출력 큐로 이동시키고,
q) 0≤i≤N-1에서 i≠(ih-2)mod N인 입력 i 에 있어서, (ih-2)mod N 의 입력이 집합 Ok(ih-2)mod N, h)을 1타임 슬롯분 만큼 지연시킨 후, 다음의 입력 (i+1)modN로 집합 Ok(i, h)를 전송하고,
r) 0≤i≤N-1인 입력 i 과, 입력 i 의 메모리 위치 h mod (N+1) 로부터 읽어들인 어드레스의 출력과의 사이에 크로스바 접속을 확립하고,
s) 0≤i≤N-1인 각각의 입력 i 에 관해서, 스케쥴된 송신 입출력 큐의 헤드의 패킷을 스위치 코어를 통하여 송신하는 스텝으로 이루어지는 프로세스를 사용하여 h번째의 타임 슬롯을 완료시키는 것을 특징으로 한다.
바람직한 멀티캐스트 스케쥴링이 라운드 로빈 그리디 스케쥴링 알고리즘에 편입되어 있고, 멀티캐스트 패킷은 도착순으로 처리되는 방식으로 격납되고, 유니캐스트 큐보다도 우선적으로 처리되고, h번째의 타임 슬롯에서의 스텝은, 또한,u) 0 ≤ i ≤ N-1 인 입력 i 에서, j∈ Ok(i, h)∩BMi를 만족하는 모든 출력 j 을 선택하고(BMi= HOL 패킷의 목적지를 표시하는 멀티케스트 비트맵), HOL 멀티캐스트 패킷을 k번째의 타임 슬롯에서 선택된 출력으로 송신하고,v) Ok(i, h)∩BMi가 공집합이면 유니캐스트 큐를 처리하고, 그 이외인 경우는, 선택된 출력을 Ok(i, h) 및 BMi로부터 제외하고,w) BMi가 비어 있으면, HOL 멀티캐스트 패킷을 멀티캐스트 큐로부터 삭제하는 스텝으로 이루어지는 것을 특징으로 한다.
바람직한 멀티캐스트 스케쥴링이 라운드 로빈 그리디 스케쥴링 알고리즘에 편입되어있고, 멀티캐스트 패킷은 도착순으로 처리되는 방식으로 격납되고, 유니캐스트 큐보다도 우선적으로 처리되고, h번째의 타임 슬롯에서의 스텝은, 또한,x) 0≤ i ≤ N-1 인 입력 i 에서, j∈0k(i, h)∩BMi를 만족하는 모든 출력 j 을 선택하고, HOL 멀티캐스트 패킷을 k번째의 타임 슬롯에서 선택된 출력으로 송신하고,y) Ok(i, h)∩BMi가 공집합이면 유니캐스트 큐를 처리하고, 그 이외의 경우 는 선택된 출력을 Ok(i, h) 및 BMi로부터 제외하고,z) BMi가 비어 있으면, HOL 멀티캐스트 패킷을 멀티캐스트 큐로부터 삭제하는 스텝으로 이루어지는 것을 특징으로 한다.
N 개의 입력 포트와 N개의 출력 포트를 갖는 패킷 스위치의 스케줄링을 행하는 N 스테이지의 파이프 라인 시스템에 있어서,파이프 라인의 제 i 스테이지는 상기 패킷 스위치의 입력 포트 i에 대응하고 있으며, 해당 파이프 라인의 제 i 스테이지는, 미래의 어떤 타임 슬롯에 있어서 입력 포트 i 로부터 어떤 출력 포트로의 패킷의 전송 가부를 판단하고,상기 미래의 어떤 타임 슬롯에 있어서의 패킷의 전송 가부의 판단은 출력 포트에 전송 가능한 적어도 1개의 패킷이 입력 포트 i 에 준비되어 있는 경우에, 해당 전송 가능한 적어도 1개의 패킷의 전송처인 출력 포트 번호 중 빈 출력 포트 번호 집합에 포함되어 있는 것을 전부 선택하고, 선택된 출력 포트 번호가 하나인 경우에는 해당 출력 포트 번호에 대하여 패킷 전송 가능이라고 판단하고, 선택된 출력 포트 번호가 복수인 경우에는, 그 중 1개의 출력 포트 번호를 라운드 로빈 방식으로 선택하여, 그 출력 포트 번호에 대하여 패킷 전송 가능이라고 판단하고,패킷 전송 가능이라고 판단된 출력 포트 번호는 상기 빈 출력 포트 번호 집합으로부터 제거되고,상기 종래의 어떤 타임 슬롯에 있어서의 패킷의 전송 가부의 판단은 파이프 라인의 모든 스테이지에서 순차 실행되며,파이프 라인의 각각의 스테이지는 각각의 스테이지가 미래의 서로 다른 타임 슬롯에 있어서의 패킷 전송 가부의 판단을 동시에 실행하고,상기 빈 출력 포트 번호 집합은 미래의 다른 타임 슬롯에 대하여 각각 준비되고, 또한 파이프 라인의 상기 미래의 어떤 타임 슬롯에 있어서의 패킷 전송 불가의 판단을 행하는 최초의 스테이지에서, 모든 출력 포트 번호를 포함하는 것을 특징으로 한다.
본 발명의 상기 목적들 및 장점들이 첨부한 도면들을 참조하여 바람직한 실시예들을 상세하게 설명함으로써 더욱 명백하게 될 것이다.
본 발명에 의하면, N 입력으로부터 라운드 로빈 방식으로 순차 1개의 입력을 선택하고, 그 선택된 입력에 대하여 미래의 타임 슬롯에 있어서의 이용 가능한 출력의 집합 중에서 1개의 출력을 선택하고, 스케쥴로서 기억한다. 이로써, 복수의 출력 할당 동작(스케쥴링)을 병렬 처리하는 것이 가능해져, 내부 속도의 향상을 필요로 하지 않고, 엄격한 타이밍 기준을 만족할 수 있다. 또한, 병렬 처리에 의해, RGS의 양호한 퍼포먼스를 손상하지 않고, 100%에 가까운 사용율을 달성할 수 있다.
1.라운드-로빈 그리디 스케쥴링(RRGS)
본 실시예가 지금부터 상세히 설명된다. 본 발명에 사용되는 프로토콜을 RRGS 프로토콜이라 칭한다. N출력들의 각각에 대응하는 각각의 입력 포트 i,즉 i∈{0, 1, ... , N - 1}이 N논리적인 큐들을 갖는 N×N 크로스 바 스위치를 고려하자. 이 스위치에 의해 수신되는 모든 패킷들은 고정된 크기의 셀들이다. RRGS 프로토콜로의 입력은 모든 입력-출력 큐들의 상태이다. 이와같은 입력은 다음과 같은 집합 C로 설명될 수 있다.
C = {(i,j)| 출력 j 에 대한 입력 i 에서 적어도 하나의 패킷이 존재한다}
RRGS 프로트콜의 출력은, N개의 입력을 N개의 출력에 대응하는 스케쥴이다. 이러한 스케쥴의 집합(S)은 다음과 같이 나타낼 수 있다.
S = {(i,j)/패킷은 입력 i 에서 출력 j 까지 이송될 것이다}
당업자에게 있어서는 자명하지만, 각 타임 슬롯에 있어서, 1개의 입력은 1개의 패킷만을 이송할 수 있고, 1개의 출력은 1개의 패킷만을 수신할 수 있다. 이러한 조건하에서, 임의의 k번 F의 타임 슬롯의 스케쥴은, 다음의 스텝 1) 내지 4)에 의해 결정된다.
스텝 1)모든 입력의 집합을 Ik={0, 1,…, N-1}, 모든 출력의 집합을 Ok={0, 1, …, N-1)으로 한다. i=(정수-k-1)mod N의 계산식에 의해,즉, (정수-k-1)를 N으로 제산한 잉여로서 입력 i 을 선택한다. 스케쥴을 시작하는 입력을 이와 같이 선택함으로써 스케쥴링의 임플리먼테이션을 간단하게 할 수 있을 것이다.
스텝 2)만약 Ik가 비어 있으면, 정지한다. 비어 있지 않으면, 라운드 로빈 방식으로 i=(i+1)mod N이 되는 다음의 입력 i 을 선택한다.
스텝 3)(i, j)∈Ck가 되도록 Ok로부터 출력 j 을 라운드 로빈의 방식으로선택한다. 만약 그와 같은 출력이 존재하지 않으면, Ik로부터 i를제거하고, 스텝 2)로 되돌아간다.
스텝 4)Ik로부터 입력 i 을, Ok로부터 출력 j 을 제거하고, Sk에 (i, j)를더하고, 스텝 2)로 되돌아간다.
상기 프로토콜은, 분명히 상술한 종래의 RGS법의 개량이다. 상술한 바와 같이, 종래의 RGS법에서는, 입력 및 그것에 대응하는 매칭한 출력의 양쪽이 랜덤으로 선택되어 있었다. 그러나, 실제로는, 이러한 랜덤 선택을 실장하기는 어렵다. 각 타임 슬롯에 있어서, N개의 패킷이 N개의 입력으로부터 N개의 출력으로 전송될 수 있는 것에 주목하라.
이에 반해, RRSG에서는, 어떤 주어진 타임 슬롯의 스케쥴링 프로세스는 N개의 위상으로 이루어진다. 어떤 타임 슬롯의 스케쥴링의 각 위상에 있어서, 1개의 입력은 해당 타임 슬롯에서의 송신을 위해 사용 가능한 잔존하는 출력의 1개를 선선택한다. 후술하는 바와 같이, 1개의 위상은, 입력 모듈(IM)로부터 라운드 로빈(RR) 중재기로 출선 리퀘스트(요구)를 송출하고, RR 중재기에 있어서 라운드 로빈 방식으로 출력 선택을 행하고, 그리고 RR 중재기로부터 입력 모듈(IM)에 요구 응답(출선 선택 응답)을 송출하는 스텝으로 이루어진다. 입력이 출력을 선택하는 라운드 로빈(RR) 순서는, 모든 입력에 대하여 동일 액세스를 보증하도록 타임 슬롯마다 순환적으로 시프트한다.
2.홀수 개의 입력들을 위한 파이프라인 RRGS
10Gbps와 같은 고속 링크 속도에 있어서는, N 위상을 1개의 타임 슬롯(64바이트의 패킷 사이즈를 가정하면 40ns) 내에서 종료시키는 것을 불가능하다. 링크 속도가 고속화함에 따라서, 종래의 기술에서는 1타임 슬롯에서 1위상을 초과하는 처리를 완료할 수 없다.이러한 문제를 해결하기 위해서, 본 발명에서는 파이프라인 방식을 사용한다. 즉, 타임 슬롯마다, 미래의 N개의 타임 슬롯에 걸쳐서, N개의 다른 스케쥴이 동시 진행한다. 어떤 1개의 스케쥴의 각 위상은 1개의 입력에에만 관련한다. 바꿔 말하면, 임의의 타임 슬롯에 있어서, 다른 복수의 입력은, 또다른 미래의 타임 슬롯에 대한 스케쥴의 위상을 실행하게 된다.정의: 어떤 미래의 타임 슬롯(Tk)의 스케쥴이 완료했다는 것은, N 위상모두가 완료하였을 때, 즉, 타임 슬롯(Tk)에 있어서 송신하기 위한 출력을 선택하는 챤스(성공/실패에 관계없음)가 모든 입력에 주어졌을 때를 말한다.어떤 스케쥴의 N개의 위상을 완료하는 데에 N개의 타임 슬롯이 필요하지만, 후술하는 바와 같이 파이프라인 어프로치를 사용하여 N개의 스케쥴을 병렬 계산함으로써, N개의 다른 스케쥴의 N개의 위상을 1 타임 슬롯내에서 완료시킬 수 있다. 그러나, 이것은 타임 슬롯마다 1개의 스케쥴을 완료시키는 것과 결과적으로 등가이다.바꿔 말하면, RRGS에 있어서는, 어떤 미래의 타임 슬롯이 모든 입력에 대한 라운드 로빈 스케쥴링에 이용 가능하게 된다. 즉, 미래의 k번째의 타임 슬롯(Tk)의 스케쥴을 시작하는 입력 i 은 라운드 로빈 방식으로 출력을 선택하고, (i+1)modN인 다음의 입력 i 에 대하여, 해당 k번째의 타임 슬롯(Tk)에서 패킷을 자유롭게 수신 가능한 출력 포트를 나타내는 집합 Ok를 송출한다.
앞의 입력 (i-1)mod N 으로부터 k번째의 타임 슬롯(Tk)에서 아직 이용 가능한 출력 포트의 집합(Ok)을 받아들인 임의의 입력 i 은, 만약 가능하면, 이 중에서 1개의 출력을 선택하고, 만약 k번째의 타임 슬롯(Tk)의 스케쥴이 완료하지 않으면, 갱신된 출력 집합(Ok)을 다음의 입력 i=(i+1)mod N 으로 송출한다. k번째의 타임 슬롯(Tk)의 스케쥴링이 완료하면, 갱신된 집합 Ok은 다음의 입력 (i+1)mod N으로 송출되지 않는다. 이로써, 현 타임 슬롯에 있어서, 출력 집합 Ok을 수취하지 않은 입력 (i+1)mod N 은, 다음의 타임 슬롯에서 새로운 미래의 타임 슬롯을 위한 새로운 스케쥴링을 시작할 것이다.
RRGS의 상기 스텝(1)은, N개의 타임 슬롯의 기간에 1번, 입력이 출력 집합 Ok을 송출하지 않은 것을 함의하고 있다. 집합 Ok을 송출하지 않은 입력 i 은 k번째의 타임 슬롯에서의 출력을 선택하는 최후의 입력이다.
정리 1: 입력 수(N)이 홀수이고, (정수-k) mod N 의 입력이 k-1번째의 타임슬롯에 있어서 집합 Ok을 송출하지 않으면, (정수-k) modN의 입력은 k번째의 타임 슬롯의 스케쥴을 완료시킨다.
(증명): 이 정리는, 상기 정리 1은 다음의 것을 함의(含意)한다.
① 각 타임 슬롯에 있어서, N개 모든 입력은, 미래의 어떤 타임 슬롯에서의 송신을 스케쥴링하는 기회를 갖는다.
② 각 타임 슬롯에 있어서, 입력은 미래의 1을 초과하지 않은 타임 슬롯에서의 송신을 스케쥴링할 수 있다.
③ 각 타임 슬롯에 있어서, 어떤 출력은 1개만의 입력으로부터 송신을 접수하도록 스케쥴될 수 있다.
(정수-k)mod N의 입력 i 을 k-1번째의 타임 슬롯에 있어서 집합 Ok을 송출하지 않는 입력으로 가정하면, 그 이전의 N-1개의 입력의 각각은 k번째의 타임 슬롯의 예약을 했을 때에 집합 Ok을 송출하지 않으면 안된다. 또한, k-1-j 번째의 타임 슬롯에 있어서, (i+j)mod N의 입력은 집합 Oh를 다음의 입력으로 송출하지 않는다. 또한, (i-j)modN의 입력은 k번째의 타임 슬롯을 위한 예약을 행한다. 이러한 스케쥴은, 1≤j≤(N-l)의 임의의 j에 관해서,
N이 홀수인, 경우 가능하다.
입력 i 이 k - N - 1 번째 타임 슬롯에서 집합 Ok-N을 진행시키지 않기 때문에, k번째 타임 슬롯을 위하여 스케쥴은 k - N 타임 슬롯에서 입력 (i+1) mod N에 의해 시작된다.(증명 종료)
도 1는, 홀수 입력수의 5×5 크로스바 스위치를 사용한 경우의 RRGS 스케쥴링의 일례를 도시하는 타이밍챠트이다. 도 1에서는, 5개의 입력(I0내지 I4)과, 그들 입력이 출력 포트를 선택하는 타임 슬롯(T1, T2…)의 관계가 예시되어 있다.도 1에 있어서, 예를 들면 타임 슬롯(T5)에서, 입력(I1)은 타임 슬롯(T1)에서, 송신을 행하기 위한 출력 포트의 선택(스케쥴링)을 행하고, 입력(I3)은 타임 슬롯(T9)에 있어서의 스케쥴링을 행하고 있다. 또한, 다음의 타임 슬롯(T6)에서는, 입력(I1)은 타임 슬롯(T8)에 있어서의 스케쥴링을 행하고 있다. 이하 동일하다. 도면 중의 굵은 세로선은, 그 전의 입력으로 스케쥴링이 완료하고, 다음의 입력으로 새로운 스케쥴링을 개시하는 것을 나타내고 있다. 관련하는 타임 슬롯에 있어서 출력을 선택하는 최후의 입력인 경우에는, 해당 입력은 다음의 입력으로 집합 0 을 송출하지 않는다. 이 조건은 N= 5 타임 슬롯마다 발생하 므로, 입력은 모듈 N 카운터에 의해서 집합 O 을 송출하지 않을 것을 결정할 수 있다.
마지막에, h번째의 타임 슬롯(예를 들면 현재의 타임 슬롯)에 있어서의 RRGS의 동작을 설명한다. Ok는 k번째의 타임 슬롯의 이용 가능한 출력의 집합을 나타낸다. k(i, h)0은, 입력 i 이 h번째의 타임 슬롯에 있어서 확보하는 출력의 타임 슬롯을 나타내고, ih=(정수-N-h)mod N은 h번째의 타임 슬롯에서 새롭게 스케쥴링을 시작하는 입력을 나타낸다. 또한, k(i, h)=0은, h번째의 타임 슬롯에서의 입력 i 의 동작이 억제되는 것을 의미한다. 스케쥴은 최적의 초기화가 필요하고, 초기화기간은 N 타임 슬롯 계속된다. 초기화가 최초의 타임 슬롯(T1)에서 시작되는 것으로 가정하면, 초기화는 k(0, 1)= k(1, 1)=…=k(N-1, 1)=0, 정수=N+1로 설정함으로써 시작된다. 요컨대, 그 이후 갱신될 때까지 최초의 N 타임 슬롯은 모든 입력 동작이 억제된다. 또한, 패킷은, 입력 포트에 있어서, 논리적으로 분리한 큐(입출력큐)에서 대기하는 것으로 가정한다. 이 입출력 큐에서는 각 출력 포트에 대응하여 1개의 큐가 형성되기 때문에, HOL(Head Of Line: 라인 선두)블브로킹이 방지된다. 또한, 수신 입출력 큐 및 송신 입출력 큐도 마련되어 있다.1) Oh+N=(0, 1…, N-1}, 0≤i≤N-1 및 i≠ih로서,
k(ih, h)= h+ N 및 k(i, h)= (i-1) modN, h-1).
2) 0≤i≤N-1인 입력 i 은, 패킷을 송신해야 할 출력 j 을 출력 집합 Ok(i, h)로부터 RR 방식으로 선택한다. 단지, k(i, h)≠0이다. 또한, 0≤i≤N-1 및 i≠ ih인 입력 i 은 선행하는 타임 슬롯에 있어서 (i-1)modN의 입력으로부터 집합 Ok(i, h)를 수신하고 있다. 선택된 출력 j 을 수신한 집합 Ok(i, h)로부터 제외된다.
3) 0≤i≤N-1인 입력 i 은, 선택된 출력 j 의 어드레스를 접속 메모리의 메모리 위치 k(i, h)mod N에 기억한다. 대응하는 수신 입출력 큐로부터 라인 선두의 HOL 패킷이 별개의 송신 입출력 큐로 옮겨진다.
4) 0≤i≤N-1에서 i≠(ih-2) modN인 입력 i (현 중재기)은, 다음의 입력 (i+ 1)modN(후속하는 중재기)으로 집합 Ok(i, h)를 전송한다. 여기서는, 출력 포트의 사용/비사용 상황을 나타내는 N bit의 정보만을 전송하면 된다.
5) 계속해서, 크로스바 스위치는, 0≤i≤N-1인 입력 i 과, 입력 i 의 메모리 로케이션 h mod(N+1) 으로부터 읽어들인 어드레스의 출력 포트와의 사이에 크로스바 접속을 확립한다.
6) 0≤i≤N-1인 각 입력 i 에 관해서, 스케쥴링된 송신 입출력 큐의 선두(HOL) 패킷을 스위치 코어에 확립된 접속을 통하여 선택된 출력 라인으로 송신한다.
3. 짝수 개의 입력을 위한 파이프라인 RRGS
상술한 바와 같이, 입력 포트수가 홀수개인 경우, 각 입력은, 해당 입력이 미래의 타임 슬롯을 위한 출력 포트를 선택하는 최후의 것이면, 갱신된 집합(Ok)을 인접 입력으로 전송하지 않고, 이로써 해당 타임 슬롯의 스케쥴링을 완료한다. 그러나, 이 홀수개용의 알고리즘을 짝수인 경우에 직접 적용하면, 몇개의 입력은 복수의 미래의 타임 슬롯에 대하여 스케쥴링을 행고, 반대로 다른 입력은 전혀 스케쥴링을 실행하지 않게 된다. 그러므로, 입력 포트수가 짝수개의 스위치를 제어하기 위해서는, 상술한 파이프라인 기법을 수정한다.
상술한 정리 1의 증명으로부터, 제어 정보를 블록하는 대신에 지연시킴으로써, 입력이 짝수개인 경우에 대응 가능한 것으로 추론할 수 있다. 입력이 짝수개인 경우는, 각 입력은 N개의 타임 슬롯에서 1회전만 집합(Oh)을 다음으로 보내지 않고, 다음의 타임 슬롯에 있어서, 해당 입력은 앞의 타임 슬롯으로부터 지연된 집합 Oh을 송출한다. 입력 i 이 지연한 집합 Oh을 전송할 때, 현재의 집합 Ok은 전송하지 않는다. 따라서, 해당 입력 i 은 k번째의 타임 슬롯에 있어서 출력을 선택하는 최후의 입력이 된다.
정리 2: 입력 수(N)가 짝수이고, (정수-k)mod N의 입력이 k-2번째의 타임 슬롯에 에 있어서의 집합 Oh을 지연시키고, k-1번째의 타임 슬롯에 있어서 전송하면, (정수-k)mod N의 입력은 k번째의 타임 슬롯의 스케쥴을 완료시킨다.
(증명)(정수-k) modN의 입력 i 이 k-2번째의 타임 슬롯에서의 집합 Oh을 지연시키고, k-1번째의 타임 슬롯에 있어서 현집합 Ok대신에 지연된 집합 Oh을 전송하는 것으로 가정한다. 이 경우, k-1-j 번째의 타임 슬롯에 있어서, (i+j-1)mod N 의 입력은 집합 Om 을 지연시키고, (i+j)mod N 의 입력은 지연된 집합 On을 다음의 입력으로 전송한다. k-1-j 번째의 타임 슬롯에 있어서, (i-j)mod N 의 입력은 k번째의 타임 슬롯을 예약하고, 집합 Ok을 전송한다. 단지, N이 짝수이고, 0≤j≤N/2-1로 한 경우, i-j≠ 1+jmod N 및 i-j≠ i+ j-1modN 이다.(i-N/2)mod N 의 입력은 k번째의 타임 슬롯을 어느 입력도 예약하지 않도록, (k-1-N /2)번째의 타임 슬롯에 있어서 집합 Ok을 격납한다. k-2-N/2 번째의 타임 슬롯에 있어서, (1-N/2)mod N의 입력은, k번째의 타임 슬롯을 예약한다. N/2+2 ≤ j ≤ N으로서 (k-1-N/2)번째의 타임 슬롯에 있어서, (i+1)mod N의 입력은 k번째의 타임 슬롯을 예약하고, 집합 Ok을 전송한다. 단지, N이 짝수이고, i-j+1≠i+jmod N 및 i-j+1≠i+j-1mod N이다.따라서, k번째의 타임 슬롯의 스케쥴링은, 입력 i 에 대응하는 유저(i)에 의해서 종료될 때까지 중단하지 않고 파이프라인에 의해서 진행한다. 이 스케쥴이 k-N-1 번째의 타임 슬롯에서 (i+1)mod N의 유저(입력)에 의해 시작된다고 하는 것은, 해당 입력이 k-N-2 번째의 타임 슬롯에 있어서 제어 정보(즉, 집합 O)의 전송을 지연시킨 때문이다.
(증명 종료)
도 2은, 짝수 입력수의 4×4 크로스바 스위치를 사용한 경우의 RRGS 스케쥴링의 일례를 도시하는 타이밍챠트이다. 도 2에서는, 4개의 입력(I0 내지 I3)과, 그들 입력이 출력 포트를 선택하는 타임 슬롯(T1, T2…)과의 관계가 도시되어 있다.도면 중의 굵은 세로선은, 그 전의 입력으로 스케쥴링이 완료하여 다음의 입력으로부터 새로운 스케쥴링을 개시하는 것을 나타내고, 사선부는 제어 정보(O)가 지연하고 있는 것을 나타낸다.
상술한 바와 같이, h번째의 타임 슬롯(예를 들면 현재의 타임 슬롯)에 있어서의 RRGS의 동작을 설명한다. Ok는 k번째의 타임 슬롯의 이용 가능한 출력의 집합을 나타낸다. k(i, h)0은, 입력 i 이 h번째의 타임 슬롯에 있어서 확보하는 출력의 타임 슬롯를 나타내고, ih=(정수-N-1-h)mod N은 h번째의 타임 슬롯에서 새롭게 스케쥴링을 시작하는 입력을 나타낸다. 또한, k(i, h)=0은, h번째의 타임 슬롯에서의 입력 i 의 동작이 억제되는 것을 의미한다. 스케쥴러는 적절한 초기화가 필요하고, 초기화 기간은 N 타임 슬롯 계속한다. 초기화가 최초의 타임 슬롯(T1)에서 시작된다고 가정하면, 초기화는 k(0, 1)= k(1, 1)=…= k(N-1, 1)=0, 정수= N+2로 설정함으로써 시작된다. 즉, 그 이후 갱신되지 않는 한 최초의 N 타임 슬롯은 모든 입력의 동작이 억제된다.
1) Oh+N+1={0, 1,…, N-1}, 0≤i≤N-1인 i가 집합 {ih, (ih+1)modN}의 요소가 아닌 것으로서, k(ih, h)=h+N+1, k(mod(ih+1)mod N, h)= k(ih, h-2), 및 k(i, h)= k((i- 1)modN, h-1)
2) 0≤i≤N-1인 입력 i 은 패킷을 송신해야 할 출력 j 을 출력 집합 Ok(i, h)로부터 RR 방식에서 선택한다. 단, (i, h)≠ 0이다. 또한, 0≤i≤N-1 및 i≠ ih인 입력 i 은 선행하는 타임 슬롯에 있어서 (i-1)mod N의 입력으로부터 집합 Ok(i, h)를 수신하고 있다. 선택된 출력 j 은, 수신한 집합 Ok(i, h)로부터 제외된다.
3) 0≤i≤N-1인 입력 i 은, 선택된 출력 j 의 어드레스를 접속 메모리의 메모리 위치 k(i, h)mod(N+1)에 기억한다. 대응하는 수신 입출력 큐로부터 라인 선두의 HOL 패킷이 별개의 송신 입출력 큐로 옮겨진다.
4) 0≤i≤N-1에서 i≠(ih-2)mod N인 입력 i (현 중재기)는, 다음의 입력(i+ 1)modN(후속하는 중재기)으로 집합 0k(i, h)를 전송한다. (ih-2)mod N 의 입력은 집합 Ok(ih-2)modN, h)을 1타임 슬롯분만 지연시킨 후, 전송한다.
5) 계속해서, 크로스바 스위치는, 0≤i≤N-1인 입력 i 과, 입력 i 의 메모리 위치 h mod (N+1) 로부터 읽어들인 어드레스의 출력 포트 사이에(크로스바 접속을 확립한다.
6) 0≤i≤N-1인 각 입력 i 에 관해서, 스케쥴된 송신 입출력 큐의 선두(H0L)의 패킷을 스위치 코어에 확립된 접속을 통하여 선택된 출력 라인으로 송신한다.
4. 멀티캐스트 스케쥴링
본 발명은 또한 멀티캐스트 기능을 갖는다. 멀티캐스트 패킷은 개별의 큐에 격납되어 도착 순서로 처리된다(FCFS: first come first served). 각 큐는 그의 HOL 패킷의 수신인을 나타내는 멀티캐스트 비트 맵 BM 을 갖는다. 가장 간단한 버젼에서는 멀티캐스트 큐는 유니캐스트 큐보다도 우선되어 처리된다. h번째의 타임 슬롯에 있어서의 멀티캐스트의 경우, 다음 동작이 부가된다.
1) 0≤i≤N-1인 입력 i 은 j∈Ok(i, h)∩BMi을 만족하는 모든 출력 j 을 선택한다. HOL 멀티캐스트 패킷은 k번째의 타임 슬롯에 있어서, 선택된 모든 출력포트로 송신된다.
2) Ok(i, h)∩BMi가 공집합이면 유니캐스트 큐가 동작한다. 그 이외의 경우는, 선택된 출력이 Ok(i,h)및 BMi로부터 제외된다.
3) BMi가 비어 있으면, HOL 멀티캐스트 패킷이 멀티캐스트 큐로부터 삭제된다.
5. 스위치 제어기의 수행N ×N 광학 크로스 바 스위치용 제어기가 도3에 도시되어 있다. 각각의 입력은 입력 모듈(3.11, 3.21, 3.31... 3.N1), RR 중재기 및 파이프라인 제어기(3.12, 3.22, 3.32...3.N2), 및 접속 메모리(3.13, 3.23, 3.33...3.N3)을 필요로한다. RR 중재기 제어기(ARB0내지 ARBN-1)는 본 발명에 의한 파이프 라인 처리를 행하기 위한 링상에 접속되어 있다.각 입력 모듈(IM)은, 도착한 패킷을 논리적으로 분리한 큐(수신 입출력 큐)에 격납한다. 상술한 바와 같이, 각 수신 입출력 큐에 의해서, 해당 입력 포트가 어떤 특정한 출력 포트로 패킷을 출력하도록 관련되어 있다. 입력 모듈(IM)은, 도착 패킷의 출선 리퀘스트(RQ)에 의해서 각 수신 큐에 격납한 도착 패킷의 관리를 행함과 동시에, 출선 리퀘스트(RQ)를 관련된 RR 중재기 제어기 ARB에 송출한다.RR 중재기 제어기(ARB)는, 입력한 출선 리퀘스트(RQ)에 응답하여, 이용 가능 출선 정보(O)로부터 미래의 타임 슬롯에서 이용 가능한 출력 포트의 1개를 선택하고, 선택된 출력 포트(출선 번호)(GR)를 관련된 입력 모듈로 되돌린다. 상술한 파이프 라인의 초기화 프로세스에 의해서, 어떤 타임 슬롯에 있어서도, RR 중재기 제어기(ARB)가 동일 타임 슬롯에 대하여 중복하여 송신 스케쥴링을 행하지 않은 것이 보증된다.각 입력 모듈(IM)은 또한 미래의 타임 슬롯에 있어서 출력 포트의 예약(스케쥴링)에 성공한 패킷을 별개의 송신 입출력 큐로 하여 격납한다. 또한, RR 중재기 제어기(ARB)는, 대응하는 접속 메모리(M)의 특정 장소에 스케쥴링 결과를 기록한다. 메모리의 어드레스는 패킷이 스케쥴링된 타임 슬롯에 의해서 결정된다.
RR 중재기 제어기 (ARB)는, 어떤 타임 슬롯에서 이미 예약되지 않은 모든 출력 포트를 나타내는 제어 정보를 후속하는 RR 중재기 제어기(ARB)에 통지한다. 보다 정확하게는, 그의 제어 정보에 의해서 예약 종료의 출력에 대한 출선 리퀘스트가 금지된다. 만약 제어 정보를 다음 포트로 전송하지 않은 것이 있으면, 그의 RR 중재기 제어기에 계속되는 다음의 RR 중재기 제어기는 미래의 타임 슬롯에서 임의의 출력을 선택할 수 있게 된다.접속 메모리에 기록된 스케쥴에 의거하여, 패킷은 입력 모듈로부터 스위치 코어를 통해서 출력 모듈(OM)로 전송된다.
또한, 본 발명의 변경이나 변형은, 상기 기재 및 교시로부터 당업자게에는 분명할 것이다. 여기서는 본 발명의 몇개의 실시예만을 기재하였지만, 본 발명의 기술적 범위에서 일탈하지 않고, 많은 변형예를 이루는 것이 가능하다.
6. 수행 성능 비교
우선, RRGS와 같은 정도의 복잡함(complexity)을 갖는 다른 프로토콜과의 비교를 행한다. 「복잡함」은, 1개의 스케쥴을 완료하는 데 필요한 시간에 의해 계산된다. 여기서는, HOL(Head Of Line), I-TDMA(Interleaved TDMA), SLIP(Iterative round-robin matching with slip), RGS(Random greedy scheduling), 및 RRGS 프로토콜의 비교를 행한다.
HOL 프로토콜은, 입력 큐를 사용한 스위치를 위한 가장 간단한 프로토콜인 (M. Karol et al., inpput vs. output queuing on space-division packet switch IEEE Transactions on Communications, vol. COM-35, no.12, Dec. 1987.pp1347-1356). 각 입력은 적절한 출력으로 HOL 패킷의 송신 요구를 송출한다. 요구된 출력은, 라운드 로빈 방식으로 입력의 1개에 대하여 송신 허가를 준다. 다음의 타임 슬롯으로, 송신 허가를 받은 입력은 패킷을 대응하는 출력을 향하여 송출한다.
인터리브 TDMA(I-TDMA)에 있어서, 출력은 입력 i 에 고정화된 방법에 의해 할당된다(K. Bogineni et al., Low-complexity multiple access protocols for wavelength-division multiplexed photonic networks., IEEE Journal on Selected Areas in Communications, vol. 11, no.4, May 1993, pp.590-604). 시간이 프레임으로 분할되고, 그 프레임의 각 타임 슬롯에 있어서 송신 스케줄이 사전에 결정되어 있다. 패킷은 행선지에 따라서 별개의 큐에 격납되고, 그들의 스케쥴된 타임 슬롯으로 송신된다.
SLIP 프로토콜은, N. McKeown et al. Scheduling cells in an input-queued switch Electronic Letters, vol. 29, no. 25, Dec. 1993, pp.2174-2175에 제안되어 있다. 각 입력은, 송출해야 할 패킷을 갖는 경우, 그들 패킷의 모든 송출처인 출력(i)에 대하여 요구를 낸다. 요구된 출력은, 라운드 로빈 방식으로, 요구를 내고 있는 입력의 1개에 대하여 송신 허가를 준다. 복수의 허가를 받은 입력은, 라운드 로빈 방식으로, 허가된 출력의 1개를 선택한다. 라운드 로빈 선택은, 전회 선택된 후보자의 다음으로부터 시작된다.
RGS 프로토콜은, 라운드 로빈 선택을 랜덤 선택으로 바꿔 놓은 점을 제외하면, RRGS와 유사하고 있다(D. Guo et., al. Scalable high-speed protocol for WDM optical star networks, IEEE INFOCOM' 94). 제어기는 랜덤에 일련의 입력을 선택하고, 그들을 비교하지 않은 출력과 랜덤으로 비교한다. 고속으로 되면, RGS는 1 타임 슬롯내에서 작업을 종료할 수 없다. 그렇지만, 본 발명자 등은, 랜덤 선택을 라운드 로빈 선택으로 바꿔 놓은 경우의 영향을 검사하여 그의 성능 평가를 행하였다.
도4에서, 평균 패킷 지연 대 HOL에 대해 제공된 로드, I-TDAM, SLIP, RGS 및 RRGS가 구분되어 있다. 분석적인 수행성능은 시뮬레이션 결과와 잘 일치한다는 것을 얻었다.
도5는 고정되어 제공된 트래픽에 대한 I-TDMA, SLIP, RGS 및 RRGS에서 패킷 지연의 상보적인 분포 함수를 도시한다. 구분된 곡선들은 시뮬레이션 결과를 이용하여 얻어진다. RRGS는 대부분의 트래픽 로드들에 대해 I-TDMA 및 SLIP 보다 상당히 우수하다.
도6은 4개의 서로다른 로드들 G1,G2,G3및 G4에 대한 특정한 트래픽 매트릭스에 대한 불균일한 트래픽을 위한 프로토콜 수행성능을 도시한다.
7. 결론
본 발명은 고속 입력 버퍼링된 패킷 스위치들을 위한 파이프라인 라운드 로빈 스케쥴러를 제안한 것이다. 본 발명의 RRGS 프로토콜은 유사한 복잡도의 다른 프로토콜 보다 짧은 평균 패킷 지연을 제공한다. 패킷 지연 분포는 두꺼운 테일(heavy tail)을 나타내지 않는다. 불균일한 트래픽 로딩하에서, 적게 로딩된 큐들은 보다 긴 지연을 겪지만, 많이 로딩된 큐들은 다른 프로토콜에서 지연과 비교하여 상당히 낮은 지연을 겪는다.
본 발명은 입력 버퍼 부가 고속 스위치를 위한 파이프라인 라운드 로빈 스케쥴링 방법을 제공한다. 본 발명에 의한 RRGS 프로토콜에서는 복잡함에 있어서, 다른 프로토콜보다도 패킷의 평균 지연 시간이 짧다. 또한, 패킷 지연 분포가 크게 넓지 않다. 트래픽 부하가 비단조인 경우, 다른 프로토콜에 비하면, 부하가 적은 큐의 지연 시간은 길게 되지만, 부하가 큰 큐의 지연 시간은 대단히 짧게 되어 있다.

Claims (9)

  1. N 개의 입력 및 N 개의 출력(N은 2 이상의 정수)을 갖고, 각각의 입력은 상기 N 개의 출력에 각각 대응하는 N개의 논리적 대기 행렬(논리적 큐)로 이루어지는 라운드 로빈 그리디 스케쥴링 프로토콜(round robin greedy scheduling protocol)을 위한 크로스바 스위치에서의 타임 슬롯 결정 방법으로서, 상기 프로토콜의 입력은 모든 입출력 큐의 상태이고, 상기 프로토콜의 출력은 스케쥴인 타임 슬롯 결정 방법에 있어서,
    a) i=(정수-k-1) mod N 에 대응하는 입력 i 을 선택하고(k 는 k 번 째 타임슬롯),
    b) 만약 입력이 없으면 정지하고, 그 이외이면 라운드 로빈의 방식으로 i= (i+1)mod N 에 의해 결정되는 다음 입력을 선택하고,
    c) 집합 C={(i, j)|출력 j 에 대응하는 입력 i 에서 적어도 1개의 패킷이 존재한다}의 요소인 세트(i, j)가 존재하면, 출력 j 을 선택하고,
    d) 스텝 c)에서 상기 세트(i, j)가 존재하지 않으면, 입력 집합으로부터 i를 제거하여 스텝 b)에 되돌아가고,
    e) 입력 집합으로부터 i를, 출력 집합으로부터 j를 각각 제거하고,
    f) 상기 세트(i, j)를 상기 스케쥴에 추가하여 스텝 b)에 되돌아가는 스텝으로 이루어지는 것을, 특징으로하는 타임 슬롯의 결정방법.
  2. 각각의 타임 슬롯에서, N개의 다른 스케쥴이 미래의 N 개의 타임 슬롯 사이에서 동시 진행하는 스케쥴링 방법에 있어서,
    a) 라운드 로빈 방식으로, 스케쥴링을 위한 입력에 대하여 특정한 미래의 타임 슬롯을 이용 가능하게 하고,
    b) 입력 i 에 의해, 미래의 k번째의 타임 슬롯에 대한 출력을 선택하고,
    c) 미래의 k번째의 타임 슬롯에 대한 스케쥴을 시작하고,
    d) 다음의 입력 (i+1) mod N 을 결정하고, 상기 k번째의 타임 슬롯 사이에 패킷을 자유롭게 수신 가능한 나머지의 출력을 상기 다음의 입력으로 송출하는 스텝으로 이루어지는 것을 특징으로하는 스케쥴링 방법.
  3. 제 2 항에 있어서,
    입력 i 가 k번째의 타임 슬롯에 대한 스케쥴을 완료하지 않은 경우, 출력을 선택하고, 갱신된 출력 집합을 다음의 입력으로 송출하고, 상기 입력 i 이 상기 k번째의 타임 슬롯에 대한 스케쥴을 완료하는 경우, 상기 출력 집합을 상기 다음의 입력으로 송출하지 않는 것을 특징으로하는, 스케쥴링 방법.
  4. 제 3 항에 있어서,
    출력의 갱신된 집합을 사전의 입력으로부터 수신하지 않은 입력은, 새로운 스케줄을 시작하는 것을 특징으로하는, 스케쥴링 방법.
  5. 입력이 홀수개인 경우의 파이프라인 라운드 로빈 그리디 스케쥴링 방법에 있어서,
    e) k(i, h) 0은 입력 i 이 h번째의 타임 슬롯에서 확보하는 출력의 타임 슬롯을 나타내고, ih=(정수-N-h) modN은 h번째의 타임 슬롯에서 새롭게 스케쥴링을 시작하는 입력을 나타내고, k(i, h)=0은 h번째의 타임 슬롯에서의 입력 i 의 동작이 억제되는 것을 의미하는 것으로서, k(0, 1)= k(1, 1)=…= k(N-1, 1)=0, 정수= N+1에 초기화하고,
    f) Oh+N={0, 1,… ,N-1}, 0≤i≤N-1 및 i≠ih로서, k(ih, h)= h+N 및 k(i, h)= k((i-1)modN, h-1)로 설정하고,
    g) 0≤i≤N-1인 입력 i 에서 패킷을 송신해야 할 출력 j 을 집합 Ok(i, h) 으로부터 라운드 로빈 방식으로 선택하고(단, k(i, h)≠0), j를 Ok(i, h)로부터 제외하고,
    h) 0≤i≤N-1인 입력 i 에서 선택된 출력 j 의 어드레스를 접속 메모리의 메모리 위치 k(i, h)mod N 에 기억하고, 대응하는 수신 입출력 큐로부터 라인 헤드의 HOL 패킷이 개별의 송신 입출력 큐로 이동하고,
    i) 0≤i≤N-1에서 i≠ (ih-2)mod N 인 입력 i 에서, 다음의 입력 (i+1)mod N에 집합 Ok(i, h)을 전송하고,
    j) 0≤i≤N-1인 상기 입력 i 과, 입력 i 의 메모리 로케이션 h mod (N+1) 로부터 판독되는 어드레스의 출력과의 사이에 크로스바 접속을 확립하고,
    k) 0≤i≤N-1인 각각의 입력 i 에 대하여, 스케쥴링된 송신 입출력 큐의 헤드에 유지된 패킷을 스위치 코어를 통하여 송신하는, 스텝으로 이루어지는 프로세스를 사용하여 h번째의 타임 슬롯을 완료시키는, 입력이 홀수개인 경우의 파이프라인 라운드 로빈 그리디 스케쥴링 방법.
  6. 입력이 짝수개인 경우의 파이프라인 라운드 로빈 그리디 스케쥴링 방법에 있어서,
    m) k(i, h)0는 입력 i 이 h 번째의 타임 슬롯에서 확보하는 출력의 타임 슬롯을 나타내고, ih=(정수 - N - h)mod N은 h번째의 타임 슬롯에서 새롭게 스케쥴링을 시작하는 입력을 나타내고, k(i, h)=O 은 h 번째의 타임 슬롯에서의 입력 i 의 동작이 억제되는 것을 의미하는 것으로서, k(0, 1)=k(1, 1)=…= k(N-1, 1)=0, 정수= N+1에 초기화하고,
    n) Oh+N+1={0, 1,…, N-1}, 0 ≤ i ≤ N-1인 i에서 집합{ih, (ih+1) mod N}의 요소가 아닌 것으로서, k(ih, h)=h + N + 1, k(mod(ih+1)mod N, h)= k(ih, h-2) 및 k(i, h)= k((i-1)mod N, h-1)에 설정하고,
    o) 0≤i≤N-1인 입력 i 에 있어서 패킷을 송신해야 할 출력 j 을 집합 Ok(i, h)로부터 라운드 로빈 방식으로 선택하고[단, k(i, h)≠0)], j를 Ok(i, h)로부터 제외하고,
    p) 0≤i≤N-1인 입력 i 에 있어서, 선택된 출력 j 의 어드레스를 접속 메모리의 메모리 위치 k(i, h)mod (N+1) 에 기억하고, 대응하는 수신 입출력 큐로부터 라인 헤드의 HOL 패킷이 별개의 송신 입출력 큐로 이동시키고,
    q) 0≤i≤N-1에서 i≠(ih-2)mod N인 입력 i 에 있어서, (ih-2)mod N 의 입력이 집합 Ok(ih-2)mod N, h)을 1타임 슬롯분 만큼 지연시킨 후, 다음의 입력 (i+1)modN로 집합 Ok(i, h)를 전송하고,
    r) 0≤i≤N-1인 입력 i 과, 입력 i 의 메모리 위치 h mod (N+1) 로부터 읽어들인 어드레스의 출력과의 사이에 크로스바 접속을 확립하고,
    s) 0≤i≤N-1인 각각의 입력 i 에 대하여, 스케쥴링된 송신 입출력 큐의 헤드의 패킷을 스위치 코어를 통하여 송신하는 스텝으로 이루어지는 프로세스를 사용하여 h번째의 타임 슬롯을 완료시키는, 입력이 짝수개인 경우의 파이프라인 라운드 로빈 그리디 스케쥴링 방법.
  7. 제 5 항에 있어서,
    멀티캐스트 스케쥴링이 라운드 로빈 그리디 스케쥴링.알고리즘에 짜넣어져 있고, 멀티캐스트 패킷은 도착순으로 처리되는 방식으로 격납되고, 유니캐스트 큐보다도 우선적으로 처리되고, h번째의 타임 슬롯에서의 스텝은, 또한,
    u) 0 ≤ i ≤ N-1 인 입력 i 에서, j∈ Ok(i, h)∩BMi를 만족하는 모든 출력 j 을 선택하고(BMi= HOL 패킷의 목적지를 표시하는 멀티캐스트 비트맵), HOL 멀티캐스트 패킷을 k번째의 타임 슬롯에서 선택된 출력으로 송신하고,
    v) Ok(i, h)∩BMi가 공집합이면 유니캐스트 큐를 처리하고, 그 이외인 경우는, 선택된 출력을 Ok(i, h) 및 BMi로부터 제외하고,
    w) BMi가 비어 있으면, HOL 멀티캐스트 패킷을 멀티캐스트 큐로부터 삭제하는 스텝으로 이루어지는 것을 특징으로 하는, 입력이 홀수개인 경우의 파이프라인 라운드 로빈 그리디 스케쥴링 방법.
  8. 제 6 항에 있어서,
    멀티캐스트 스케쥴링이 라운드 로빈 그리디 스케쥴링 알고리즘에 짜넣어져 있고, 멀티캐스트 패킷은 도착순으로 처리되는 방식으로 격납되고, 유니캐스트 큐보다도 우선적으로 처리되고, h번째의 타임 슬롯에서의 스텝은, 또한,
    x) 0≤ i ≤ N-1 인 입력 i 에서, j∈0k(i, h)∩BMi를 만족하는 모든 출력 j 을 선택하고, HOL 멀티캐스트 패킷을 k번째의 타임 슬롯에서 선택된 출력으로 송신하고,
    y) Ok(i, h)∩BMi가 공집합이면 유니캐스트 큐를 처리하고, 그 이외의 경우 는 선택된 출력을 Ok(i, h) 및 BMi로부터 제외하고,
    z) BMi가 비어 있으면, HOL 멀티캐스트 패킷을 멀티캐스트 큐로부터 삭제하는 스텝으로 이루어지는 것을 특징으로 하는, 입력이 짝수개인 경우의 파이프라인 라운드 로빈 그리디 스케쥴링 방법.
  9. N 개의 입력 포트와 N개의 출력 포트를 갖는 패킷 스위치의 스케줄링을 행하는 N 스테이지의 파이프 라인 시스템에 있어서,
    파이프 라인의 제 i 스테이지는 상기 패킷 스위치의 입력 포트 i 에 대응하고 있으며, 해당 파이프 라인의 제 i 스테이지는, 미래의 어떤 타임 슬롯에 있어서 입력 포트 i 로부터 어떤 출력 포트로의 패킷의 전송 가부를 판단하고,
    상기 미래의 어떤 타임 슬롯에 있어서의 패킷의 전송 가부의 판단은 출력 포트에 전송 가능한 적어도 1개의 패킷이 입력 포트 i 에 준비되어 있는 경우에, 해당 전송 가능한 적어도 1개의 패킷의 전송처인 출력 포트 번호 중 빈 출력 포트 번호 집합에 포함되어 있는 것을 전부 선택하고, 선택된 출력 포트 번호가 하나인 경우에는 해당 출력 포트 번호에 대하여 패킷 전송 가능이라고 판단하고, 선택된 출력 포트 번호가 복수인 경우에는, 그 중 1개의 출력 포트 번호를 라운드 로빈 방식으로 선택하여, 그 출력 포트 번호에 대하여 패킷 전송 가능이라고 판단하고,
    패킷 전송 가능이라고 판단된 출력 포트 번호는 상기 빈 출력 포트 번호 집합으로부터 제거되고,
    상기 미래의 어떤 타임 슬롯에 있어서의 패킷의 전송 가부의 판단은 파이프 라인의 모든 스테이지에서 순차 실행되며,
    파이프 라인의 각각의 스테이지는, 각각의 스테이지가 미래의 서로 다른 타임 슬롯에 있어서의 패킷 전송 가부의 판단을 동시에 병렬적으로 실행하고,
    상기 빈 출력 포트 번호 집합은 미래의 다른 타임 슬롯에 대하여 각각 준비되고, 또한 파이프 라인에 있어서 상기 미래의 어떤 타임 슬롯에 있어서의 패킷 전송 불가의 판단을 행하는 최초의 스테이지에서는, 모든 출력 포트 번호를 포함하는 것을 특징으로 하는 파이프 라인 스케줄링 시스템.
KR1019990027469A 1998-12-08 1999-07-08 입력/출력 테라비트 스위치들을 위한 rrgs-라운드-로빈 그리디 스케쥴링 KR100339329B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/206,975 1998-12-08
US09/206,975 US6618379B1 (en) 1998-12-08 1998-12-08 RRGS-round-robin greedy scheduling for input/output terabit switches

Publications (2)

Publication Number Publication Date
KR20000047434A KR20000047434A (ko) 2000-07-25
KR100339329B1 true KR100339329B1 (ko) 2002-06-03

Family

ID=22768718

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990027469A KR100339329B1 (ko) 1998-12-08 1999-07-08 입력/출력 테라비트 스위치들을 위한 rrgs-라운드-로빈 그리디 스케쥴링

Country Status (6)

Country Link
US (1) US6618379B1 (ko)
EP (1) EP1009189B1 (ko)
JP (1) JP3221436B2 (ko)
KR (1) KR100339329B1 (ko)
CN (1) CN1197275C (ko)
DE (1) DE69931587T2 (ko)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477169B1 (en) * 1999-05-14 2002-11-05 Nortel Networks Limited Multicast and unicast scheduling for a network device
KR100378588B1 (ko) * 1999-05-19 2003-03-29 주식회사 머큐리 대용량화가 가능한 다중 경로 비동기 전송 모드 스위치 및 셀구조
KR100312363B1 (ko) * 1999-06-18 2001-11-03 가네코 히사시 데이터 흐름 제어 스위치 및 그 스케줄링방법
US7058063B1 (en) * 1999-06-18 2006-06-06 Nec Corporation Pipelined packet scheduler for high speed optical switches
KR100317123B1 (ko) * 1999-10-29 2001-12-24 오길록 선형 시스톨릭 라운드로빈 스케줄러 및 그의 스케줄링방법
JP3389913B2 (ja) 1999-11-10 2003-03-24 日本電気株式会社 グループ化パイプライン・スケジューリング方式及びその方法
JP3473687B2 (ja) 2000-03-29 2003-12-08 日本電気株式会社 分散パイプラインスケジューリング方法および方式
WO2001097469A2 (en) * 2000-06-14 2001-12-20 Sun Microsystems, Inc. Packet transmission scheduler
US7072353B2 (en) * 2000-06-15 2006-07-04 At&T Corp. Flexible bandwidth allocation in high-capacity grooming switches
DE60115998T2 (de) 2000-07-05 2006-06-22 Roke Manor Research Ltd., Romsey Verbesserungen in oder zu Vermittlungsvorrichtungen
GB0016475D0 (en) * 2000-07-05 2000-08-23 Roke Manor Research Distributed schedules for a routing device
JP3567878B2 (ja) * 2000-10-02 2004-09-22 日本電気株式会社 パケット交換装置
US6848017B2 (en) * 2000-10-26 2005-01-25 Emc Corporation Method and apparatus for determining connections in a crossbar switch
US20020110086A1 (en) * 2000-12-18 2002-08-15 Shlomo Reches Multiport switch and a method for forwarding variable length packets across a multiport switch
US7042883B2 (en) * 2001-01-03 2006-05-09 Juniper Networks, Inc. Pipeline scheduler with fairness and minimum bandwidth guarantee
US20020172197A1 (en) * 2001-05-18 2002-11-21 Dale Michele Zampetti System interconnect with minimal overhead suitable for real-time applications
US7911980B1 (en) 2001-07-17 2011-03-22 At&T Intellectual Property Ii, L.P. Flexible multicasting in high-capacity switches
CA2465234A1 (en) * 2001-10-31 2003-05-08 Siemens Aktiengesellschaft Method for communication of a real-time data exchange in a collision-recognition based communication network, corresponding memory medium and communication network
KR100459036B1 (ko) * 2001-12-18 2004-12-03 엘지전자 주식회사 에이티엠 스위치 시스템의 트레인 패킷 구성 방법
AU2003250913A1 (en) * 2002-07-08 2004-01-23 Abbott Laboratories Vascular Enterprises Limited Drug eluting stent and methods of manufacture
US20040037558A1 (en) * 2002-08-20 2004-02-26 Nortel Networks Limited Modular high-capacity switch
US7346757B2 (en) 2002-10-08 2008-03-18 Rmi Corporation Advanced processor translation lookaside buffer management in a multithreaded system
US8015567B2 (en) * 2002-10-08 2011-09-06 Netlogic Microsystems, Inc. Advanced processor with mechanism for packet distribution at high line rate
US9088474B2 (en) 2002-10-08 2015-07-21 Broadcom Corporation Advanced processor with interfacing messaging network to a CPU
US7984268B2 (en) 2002-10-08 2011-07-19 Netlogic Microsystems, Inc. Advanced processor scheduling in a multithreaded system
US8478811B2 (en) 2002-10-08 2013-07-02 Netlogic Microsystems, Inc. Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip
US8037224B2 (en) 2002-10-08 2011-10-11 Netlogic Microsystems, Inc. Delegating network processor operations to star topology serial bus interfaces
US7627721B2 (en) 2002-10-08 2009-12-01 Rmi Corporation Advanced processor with cache coherency
US8176298B2 (en) 2002-10-08 2012-05-08 Netlogic Microsystems, Inc. Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline
US7961723B2 (en) 2002-10-08 2011-06-14 Netlogic Microsystems, Inc. Advanced processor with mechanism for enforcing ordering between information sent on two independent networks
US7924828B2 (en) 2002-10-08 2011-04-12 Netlogic Microsystems, Inc. Advanced processor with mechanism for fast packet queuing operations
US7334086B2 (en) * 2002-10-08 2008-02-19 Rmi Corporation Advanced processor with system on a chip interconnect technology
US7352699B2 (en) * 2003-04-25 2008-04-01 Alcatel Usa Sourcing, L.P. Switch fabric access scheduler
US7397796B1 (en) 2003-08-21 2008-07-08 Smiljanic Aleksandra Load balancing algorithms in non-blocking multistage packet switches
US8345701B1 (en) * 2003-08-26 2013-01-01 F5 Networks, Inc. Memory system for controlling distribution of packet data across a switch
US7542473B2 (en) * 2004-12-02 2009-06-02 Nortel Networks Limited High-speed scheduling apparatus for a switching node
WO2006090332A2 (en) 2005-02-28 2006-08-31 Nxp B.V. Input buffered switch
FR2898750B1 (fr) 2006-03-14 2008-06-06 Alcatel Sa Dispositif de communtation de donnees a mecanisme d'arbitrage entre demandes de transfert d'ensembles de donnees, pour un noeud d'un reseau de communication a tres haut debit
JP5096102B2 (ja) * 2007-10-17 2012-12-12 株式会社ユニバーサルエンターテインメント 無線通信タグ及び無線通信システム
US9596324B2 (en) 2008-02-08 2017-03-14 Broadcom Corporation System and method for parsing and allocating a plurality of packets to processor core threads
GB2464310B (en) 2008-10-10 2012-10-17 Micron Technology Inc Switching device
US8824496B2 (en) * 2009-10-30 2014-09-02 Oracle America, Inc. Two-phase arbitration mechanism for shared optical links
US8473659B2 (en) * 2010-01-15 2013-06-25 Oracle America, Inc. Time division multiplexing based arbitration for shared optical links
US8655120B2 (en) 2011-07-11 2014-02-18 Oracle International Corporation Arbitrated optical network using tunable drop filters
US10834065B1 (en) 2015-03-31 2020-11-10 F5 Networks, Inc. Methods for SSL protected NTLM re-authentication and devices thereof
US10404698B1 (en) 2016-01-15 2019-09-03 F5 Networks, Inc. Methods for adaptive organization of web application access points in webtops and devices thereof
EP4002770B1 (en) * 2020-11-16 2024-04-03 Ratier-Figeac SAS Serial time triggered data bus

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4761780A (en) 1986-12-22 1988-08-02 Bell Communications Research, Inc. Enhanced efficiency Batcher-Banyan packet switch
JPH0287745A (ja) 1988-09-26 1990-03-28 Nippon Telegr & Teleph Corp <Ntt> セル競合制御回路
US5161156A (en) * 1990-02-02 1992-11-03 International Business Machines Corporation Multiprocessing packet switching connection system having provision for error correction and recovery
JP2805992B2 (ja) 1990-06-28 1998-09-30 松下電器産業株式会社 パケットスイッチ及びその接続制御装置
JPH04271546A (ja) 1991-02-27 1992-09-28 Nec Corp 入力キューイング型パケット処理装置の競合制御方式
US5299190A (en) 1992-12-18 1994-03-29 International Business Machines Corporation Two-dimensional round-robin scheduling mechanism for switches with multiple input queues
JP3221997B2 (ja) 1993-03-26 2001-10-22 株式会社東芝 画像処理装置
JPH0823213A (ja) 1994-07-05 1996-01-23 Matsushita Electric Ind Co Ltd 誘電体同軸共振器
US5517495A (en) 1994-12-06 1996-05-14 At&T Corp. Fair prioritized scheduling in an input-buffered switch
US5822540A (en) * 1995-07-19 1998-10-13 Fujitsu Network Communications, Inc. Method and apparatus for discarding frames in a communications device
JP2865139B2 (ja) * 1997-04-18 1999-03-08 日本電気株式会社 Atmセルバッファ回路及びatm交換機における優先順位任意割付方法
JP3506612B2 (ja) 1998-08-31 2004-03-15 富士通株式会社 スケジューリング制御装置
JP3684308B2 (ja) 1998-12-15 2005-08-17 富士通株式会社 スケジューリング制御装置および交換機

Also Published As

Publication number Publication date
KR20000047434A (ko) 2000-07-25
DE69931587T2 (de) 2007-06-06
EP1009189A3 (en) 2003-03-12
JP3221436B2 (ja) 2001-10-22
EP1009189A2 (en) 2000-06-14
CN1264226A (zh) 2000-08-23
DE69931587D1 (de) 2006-07-06
US6618379B1 (en) 2003-09-09
EP1009189B1 (en) 2006-05-31
CN1197275C (zh) 2005-04-13
JP2000174817A (ja) 2000-06-23

Similar Documents

Publication Publication Date Title
KR100339329B1 (ko) 입력/출력 테라비트 스위치들을 위한 rrgs-라운드-로빈 그리디 스케쥴링
EP0981878B1 (en) Fair and efficient scheduling of variable-size data packets in an input-buffered multipoint switch
US6160812A (en) Method and apparatus for supplying requests to a scheduler in an input buffered multiport switch
US7046661B2 (en) Scheduling the dispatch of cells in non-empty virtual output queues of multistage switches using a pipelined hierarchical arbitration scheme
US7173931B2 (en) Scheduling the dispatch of cells in multistage switches
US8937964B2 (en) Apparatus and method to switch packets using a switch fabric with memory
US6940851B2 (en) Scheduling the dispatch of cells in non-empty virtual output queues of multistage switches using a pipelined arbitration scheme
US7463641B2 (en) Flexible bandwidth allocation in high-capacity grooming switches
US7830903B2 (en) Method and apparatus for scheduling packets and/or cells
JP2000261506A (ja) レート制御されるマルチクラスの大容量パケットスイッチ
CN100490383C (zh) 一种支持多优先级的高速Crossbar调度方法
US7203202B2 (en) Arbitration using dual round robin matching with exhaustive service of winning virtual output queue
JP2002217962A (ja) 複数の入力ポートから出力ポートにデータパケットをスケジューリングする方法
US7103056B2 (en) Scheduling the dispatch of cells in multistage switches using a hierarchical arbitration scheme for matching non-empty virtual output queues of a module with outgoing links of the module
KR100368439B1 (ko) 이중 스위칭 평면을 갖는 패킷 스위치에서 전송 순서 보장 방법 및 장치
Park et al. An efficient ATM cell scheduling scheme for improving real-time ATM services
USRE42600E1 (en) Scheduling the dispatch of cells in non-empty virtual output queues of multistage switches using a pipelined arbitration scheme
Chen et al. Design and analysis of a scalable terabit multicast packet switch with dual round robin dynamic link reservation
KR20030074665A (ko) 간결한 중재용 교신 정보를 갖는 분배결합 패킷 스위칭장치 및 그를 이용한 내부 블록킹 중재 장치
KR20030055765A (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
FPAY Annual fee payment

Payment date: 20120507

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130503

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee