KR20000018321A - 우선순위 스케쥴링 시스템 및 방법 - Google Patents

우선순위 스케쥴링 시스템 및 방법 Download PDF

Info

Publication number
KR20000018321A
KR20000018321A KR1019980035860A KR19980035860A KR20000018321A KR 20000018321 A KR20000018321 A KR 20000018321A KR 1019980035860 A KR1019980035860 A KR 1019980035860A KR 19980035860 A KR19980035860 A KR 19980035860A KR 20000018321 A KR20000018321 A KR 20000018321A
Authority
KR
South Korea
Prior art keywords
port
data
input
threshold
priority
Prior art date
Application number
KR1019980035860A
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 윤종용
Priority to KR1019980035860A priority Critical patent/KR20000018321A/ko
Publication of KR20000018321A publication Critical patent/KR20000018321A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority

Landscapes

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

Abstract

본 발명은 우선순위 스케쥴링 시스템 및 스케쥴링 방법에 한 것으로, 특히 입력 포트의 트래픽에 따라서 우선순위를 변화시켜 패킷 손실을 최소화하기 위한 시스템 및 방법에 관한 것이다. 본 우선순위 스케쥴링 시스템은 입력 데이터를 받아서 저장하고 처리하기 위한 레지스터와 간단한 제어로직을 구비하여 이루어지는 입력 버퍼단, 라운드 로빈 스케쥴링 알고리즘에 의해 입력 버퍼단의 우선순위를 설정하는 업노멀 스케쥴링 로직 및 임계값을 넘은 포트의 데이터만 스케쥴링하는 임계값 스케쥴링 로직으로 구성되고, 본 우선순위 스케쥴링 방법은 두 개의 100M MAC의 송수신 포트는 각 포트에서 송수신한 패킷에 대한 정보를 RMON 블록으로 전송하는 단계, 선택 로직이 각 입력단에 설정되어 있는 임계값을 넘는 포트가 있는지 확인하는 단계, 임계값을 넘는 포트가 있을 경우 업노멀 스케쥴링 로직을 통해 포트를 선택하여 데이터를 우선 처리하는 단계, 임계값을 넘는 포트가 없을 경우 노멀 스케쥴링 로직에서 처리해야하는 데이터가 있는 포트를 결정하는 단계, 결정된 처리해야할 데이터가 있는 포트의 데이터를 우선순위에 맞춰 순서적으로 처리하여 RMON 데이터 베이스를 작성하고, 이를 시스템에 알리는 단계 및 시스템은 선택된 포트의 데이터를 처리하고 이를 완료했다는 완료 신호를 각 포트 및 선택 로직에게 전송하는 단계로 이루어짐으로써, 패킷을 최소화하여 시스템의 성능을 향상시킨다.

Description

우선순위 스케쥴링 시스템 및 방법
본 발명은 입력 포트의 트래픽에 따라서 우선순위(Priority)를 변화하여 패킷 손실을 최소화함으로써 시스템의 성능을 향상시키기 위한 우선순위 스케쥴링 시스템 및 스케쥴링 방법에 관한 것이다. 특히 본 발명은 주어진 n개의 입력단에서 입력 데이터가 포트당 도착률 λ로 랜덤(random)하게 들어오고 시스템의 처리 속도가 μ(μ ≥ n × λ)로 정해져 있고 입력 데이터가 버스트니스(burstness) 및 버스트 길이(burst length)가 큰 경우에, 각 단의 상태에 따라서 처리 순서를 결정짓는 알고리즘에 관한 것이다.
오늘날 네트웍 시스템 분야에 있어서, 2개 이상의 입력단에서 처리를 기다리는 데이터가 존재할 때 이를 처리하는 순서를 결정짓는 것은 때에 따라서는 매우 중요한 문제가 된다. 트래픽의 특성과 시스템의 종류에 따라서 달라질 수 있지만, 데이터의 처리 순서를 결정짓는 중요한 요소 중의 하나는 데이터의 손실을 막는 것이다.
현재 SECore10+ RMON(Remote Monitoring) 블록에서 사용하고 있는 스케쥴링 방식(scheduling scheme)은 각 포트마다 똑같은 우선순위를 부여하여 처리를 한다. 도 1은 종래 기술에 따른 입력 데이터 선택 로직의 구성도를 나타낸다.
도 1에서 보듯이, 종래의 입력 데이터 선택 로직은 n개의 입력 포트(10), 상기 입력 포트(10)로부터 데이터를 입력하는 멀티플렉서(20), 상기 입력 포트(10)로부터 입력한 데이터에 기초하여 우선 순위를 결정하여 상기 멀티플렉서(20)로 출력하는 우선 순위 엔코더(30)로 이루어져 있다. 이 경우, 예를 들어 n개의 입력 포트가 있다고 가정하면, n개의 입력단(10)에 m(0≤m≤n)개의 입력단에서 처리해야할 데이터가 있을 때, "어떤 것을 먼저 처리할 것인가?"를 결정하는 것은 스케쥴링 로직에서 처리할 일이다. 기존의 스케쥴링 알고리즘에서는 각 포트에 똑같은 우선순위를 부여하여 처리하였다.
기존의 포트 선택 로직은 4개의 입력 포트에서 데이터의 유무를 알리는 입력 벡터를 받아서 우선 순위에 따른 서브 모듈로 나누고, 그 결과를 현재의 우선 순위에 맞춰서 선택하였다. 현재의 우선 순위가 높은 것이 무엇이었든지 상관없이 현재 k번째 포트가 선택되었다면, 다음에는 k+1번째부터 높은 우선 순위를 갖는다. 이렇게 모든 포트는 각각의 우선 순위가 공평하게 순환된다.
즉 1번 포트에 처리해야될 데이터가 10개가 있고, 2번 포트에 2개의 데이터가 존재하는 경우에 선택 로직은 1번과 2번 포트에 똑같은 우선순위를 부여하여 처리하였다. 이와 같은 경우에 1번 포트에 순간적으로 많은 데이터가 몰린다면, 1번 포트에서의 데이터 손실을 피할 수 없을 것이다.
만약 특정 포트에 데이터가 통계적으로 많이 들어오는 경우에는 그 포트에 우선순위를 부여하여 처리하는 알고리즘을 생각할 수 있다. 하지만 상당히 긴 시간동안 통계적인 데이터양은 같아도 어느 특정순간에 포트별 데이터 도착률은 다를 수 있고, 또 이 변화의 폭이 상대적으로 크다면 다른 각도의 접근을 생각해야 할 것이다. 이러한 경우에 기존의 방법을 그대로 사용하면 데이터 손실이 일어날 수 있다.
각각의 입력단에 똑같은 비중을 두고 데이터의 처리순서를 결정하는 기존의 방법에서는 입력 데이터의 트래픽 특성이 버스트(burst)가 크고, 버스트 길이가 긴 경우(일반적인 데이터 트래픽의 특성)에는 데이터의 손실이 일어날 수 있다. 만약 모든 입력단의 데이터가 동시에 λmax(도착률의 최대값)로 도착하는 경우에도 시스템의 처리속도 μ가 이를 처리할 수 있다면 별 문제가 없겠지만, μ가 그렇지 않다면 각 포트에서 입력 데이터가 오버플로(overflow)에 의해 손실될 수 있다.
또 다른 해결책의 하나는 각 입력단에 충분히 큰 버퍼를 두는 방법을 생각할 수 있다. 이 경우에는 입력 데이터의 트래픽 특성이 버스트니스와 버스트 길이가 크다면, 버퍼의 길이가 이를 감당할 수 있을 만큼 충분히 커야하고 이 말은 곧 그만큼의 비용이 올라가는 문제가 된다.
따라서 본 발명은 상기한 문제점들을 해결하기 위하여 각 입력단의 현재상태를 고려하여 스케쥴링하는, 우선순위 스케쥴링 시스템 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 다른 목적과 장점은 하기된 발명의 상세한 설명을 읽고 첨부된 도면을 참조하면 보다 명백해질 것이다.
도 1 은 종래 기술에 따른 입력 데이터 선택 로직 구성도.
도 2 는 본 발명에 따른 노멀 스케쥴링 로직 구성도.
도 3 은 본 발명에 따른 업노멀 스케쥴링 로직 구성도.
도 4 는 본 발명에 따른 우선순위 스케쥴링 방법을 나타내는 흐름도.
< 도면의 주요한 부분에 대한 간단한 설명 >
10, 40 : 입력 포트
20 : 멀티플렉서
30 : 우선순위 엔코더
50 : 시프트 이퀴벌런스 로직(shift equivalence logic)
60 : 4×2 엔코더
70 : 4×1 멀티플렉서
80 : 우선순위 결정부
90 : 가중치부
상기한 목적을 달성하기 위한 본 발명에 따른 우선순위 스케쥴링 시스템의 바람직한 실시예는, 입력 포트의 트래픽에 따라서 우선순위를 변화시켜 패킷 손실을 최소화하여 시스템의 성능을 향상시키기 위해, 입력 데이터를 받아서 저장하고 처리하기 위한 레지스터와 간단한 제어로직을 구비하여 이루어지는 입력 버퍼단, 라운드 로빈 스케쥴링 알고리즘에 의해 상기 입력 버퍼단의 우선순위를 설정하는 업노멀 스케쥴링 로직 및 임계값을 넘는 포트의 데이터만 스케쥴링하는 임계값 스케쥴링 로직을 포함하여 이루어진다.
상기한 목적을 달성하기 위한 본 발명에 따른 우선순위 스케쥴링 방법의 바람직한 실시예는, 입력 포트의 트래픽에 따라서 우선순위를 변화시켜 패킷 손실을 최소화하여 시스템의 성능을 향상시키기 위해, 두 개의 100M MAC의 송수신 포트는 각 포트에서 송수신한 패킷에 대한 정보를 RMON 블록으로 전송하는 단계, 선택 로직이 각 입력단에 설정되어 있는 임계값을 넘는 포트가 있는지 확인하는 단계, 상기 임계값을 넘는 포트가 있을 경우 업노멀 스케쥴링 로직을 통해 포트를 선택하여 데이터를 우선 처리하는 단계, 상기 임계값을 넘는 포트가 없을 경우 노멀 스케쥴링 로직에서 처리해야하는 데이터가 있는 포트를 결정하는 단계, 상기 단계에서 결정된 처리해야할 데이터가 있는 포트의 데이터를 우선순위에 맞춰 순서적으로 처리하여 RMON 데이터 베이스를 작성하고, 이를 시스템에 알리는 단계 및 상기 시스템은 선택된 포트의 데이터를 처리하고 이를 완료했다는 완료 신호를 상기 각 포트 및 선택 로직에게 전송하는 단계를 포함하여 이루어진다.
상기한 구성의 본 발명이 의미를 갖기 위해선 몇 가지 가정이 필요하다. 첫째는 장시간 평균적으로 볼 때 시스템의 처리용량이 데이터의 도착량보다는 커야만 한다. 둘째는 각각의 입력단의 데이터 도착이 서로 독립적이며 또한 그 변화의 폭이 상대적으로 커야한다. 이러한 조건하에서 각 포트의 입력단에 약간의 버퍼를 두고 버퍼의 길이가 어떤 임계값을 넘는 포트가 발생하는 경우, 이 포트의 데이터를 우선적으로 처리하는 알고리즘을 적용한다면 최소의 비용으로 데이터의 손실을 막을 수 있다. 이는 시스템의 비용을 떨어뜨릴 수 있을 뿐 아니라, 각 포트별로 버퍼의 임계값을 조정한다면, 포트별로 패킷 손실과 지연 등과 같은 서비스 질(Quality Of Service : QOS)을 다양하게 제공하는 데도 응용 가능하다.
이제 본 발명의 시스템을 도면을 참조하여 설명하면 다음과 같다. 도 2는 본 발명에 따른 노멀 스케쥴링 로직의 구성도를 나타내고, 도 3은 본 발명에 따른 업노멀 스케쥴링 로직의 구성도를 나타낸다. 두 경우에 있어서 실질적으로 구성이 같다. 따라서 도 2의 구성에 대해서만 설명한다.
상기 노멀 스케쥴링 로직은, 4비트의 입력 벡터를 입력하는 4개의 입력 포트(40), 상기 입력 포트(40)로부터의 데이터를 읽어들이는 4개의 시프트 이퀴벌런스 로직(shift equivalence logic)(50), 상기 시프트 이퀴벌런스 로직(50)에 직렬 연결된 4개의 4×2 엔코더(60), 상기 엔코더의 출력을 입력하는 4×1 멀티플렉서(70), 상기 멀티플렉서의 출력에 +1의 가중치를 가하여 우선순위 결정부(80)로 출력하는 가중치부(90)를 포함하여 이루어진다. 이때 상기 우선순위 결정부(80)는 상기 멀티플렉서(70)를 제어한다. 이제 이들에 대해 보다 상세히 설명하면 다음과 같다.
입력 버퍼단 : 현재 SECore10+의 RMON 블록에서는 MAC(Media Access Control) 블록의 RX 포트와 TX 포트로부터 수신 패킷(receive packet)과 송신 패킷(transmit packet)에 대한 정보를 각 패킷의 수신과 송신이 끝나는 시점에 받는다. 입력 버퍼단은 입력 데이터를 받아서 저장하고 처리하기 위한 레지스터와 간단한 제어 로직으로 구성된다.
노멀 스케쥴링 로직(Normal Scheduling Logic) : 각 입력단의 버퍼에 설정되어있는 임계값(threshold)을 넘는 입력단이 없을 경우 사용되며, 현재상태의 우선순위가 0, 1, …, k, …, n이었다면 0번 포트에 데이터가 있는 경우 가장 우선순위를 갖고, 0번 포트에 데이터가 없는 경우에는 1번, 1번도 없는 경우에는 2번 포트 순으로 우선순위를 갖는다. 만약 현재 상태에 k 번째 포트의 데이터가 처리되었다면, 다음 상태의 우선순위는 k+1, …, n, 0, …, k가 되며, 이제는 k+1번 포트에서부터 처리할 데이터가 있는지 찾아간다. 이와 같이 우선순위는 공정하게 돌아가며, 노멀 상태의 동작에서는 아무런 문제가 없다. 이와 같은 스케쥴링 기법을 라운드 로빈 스케쥴링(round robin scheduling) 기법이라 한다.
임계 스케쥴링 로직(Threshold Scheduling Logic) : 입력버퍼의 임계값을 넘는 입력단이 생겼을 경우에 이를 우선적으로 처리하기 위한 로직으로서 임계값을 넘는 포트의 데이터만 스케쥴링한다. 노멀 스케쥴링 로직보다 우선적으로 처리된다.
이하 본 발명의 동작 원리를 도면을 참조하여 상세히 설명한다. 본 발명에서는 먼저 2개의 100M MAC의 TX, RX 포트에서 각 포트에서 받거나 전송한 패킷에 대한 정보를 RMON 블록으로 전송한다. 이는 RMON 블록의 입장에서는 4개의 입력단이 존재하는 것과 같다. 입력 버퍼단의 각 포트별로 들어온 데이터를 처리하여 RMON 데이터 베이스를 작성하기 위해 선택 로직(selection Logic)에서는 어떤 포트의 데이터를 먼저 처리할 것인가를 결정해야 한다. 각 입력단에 설정되어있는 임계값을 넘는 포트가 없을 경우에는 4개의 포트를 돌아가며 데이터가 있는 포트의 데이터를 순서적으로 처리하게 된다. 이러한 경우에는 노멀 스케쥴링 로직에서 처리할 포트를 결정하고 이를 선택하는 순간에 시스템에 data-valid 신호를 내어준다. 시스템에서는 선택되어진 포트의 데이터를 처리하고 이를 완료했다는 신호를 각 포트와 선택 로직에 제공하여 다음 데이터를 처리할 수 있게 한다.
현재 구현되어진 상태에서 하나의 포트를 선택하고 이를 처리하는데 걸리는 시간은 시뮬레이션 결과 약 4μs가 걸린다. 따라서 시스템이 초당 처리할 수 있는 데이터 수 P는 다음과 같다.
P≒1/4㎲ 또는 P≒250k/s
따라서 4개의 입력 포트에서 하나의 포트당 처리할 수 있는 데이터의 수는 대략 62.5 k/s가 된다. 각각의 입력 데이터는 특성을 다음과 같이 간단히 가정한다.
즉, 각 포트의 입력 데이터는 포트당 최대 164.5k/s(1/(5.12+0.96)μs = 164.5k/s)로 들어온다. 64byte의 최소 프레임을 전송/수신하는데 걸리는 시간과 interframe gap(0.96μs)을 더한 값이 최대로 데이터가 들어오는 경우의 데이터가 시간 간격이다. 이 값의 역수가 초당 들어오는 최대 데이터 수가 된다. 이 값이 최대 버스트니스(maximum burstness)값이 된다. 이러한 최대 버스트의 지속길이를 최대 T초라고 가정하면, 최대 버스트 길이(maximum burst length)는 T가 된다. 따라서 가정할 수 있는 포트의 최악의 경우는 입력 포트에 164.5k/s로 T초간 데이터가 들어오는 경우이다. 이러한 경우에 입력단에서는 이를 처리할 수 있는 버퍼가 필요하게 되고, 또 이러한 버퍼 크기를 줄이기 위해 처리 알고리즘을 수정할 필요가 생긴다.
여기서 Bth를 입력 버퍼의 임계값이라고 하자. 특정 포트의 버퍼 길이가 Bth를 넘게되면, 그 포트의 데이터를 우선적으로 처리해준다. 만약 하나 이상의 포트에서 버퍼 길이가 Bth를 넘는 경우에는 Bth를 넘는 포트들 가운데 한 포트를 결정하기 위한 라운드 로빈 스케쥴링을 적용한다.
본 발명의 핵심은 데이터의 특성에 따라서 입력 버퍼 크기를 적절히 정해주는 것과 임계값 Bth를 최적의 효과를 낼 수 있는 값으로 정하는 것이다. SECore10+에서는 실험에 의해 이 값을 정했다. 실험 결과에 따라 버퍼 크기는 10으로 고정시켰고, 이에 따른 최적의 임계값을 구했더니 Bth= 4였다.
도 3은 입력 포트 가운데 어느 하나라도 정해진 임계값을 넘는 경우가 생기면 이를 우선적으로 처리하기 위한 회로도이다. 이 회로의 기본적 구성은 노멀 스케쥴링 로직과 같고, 단지 판단의 기준이 되는 vector_Bth가 의미하는 바가 달라진다. 도 4는 본 발명에 따른 우선순위 스케쥴링 방법을 나타내는 흐름도를 나타낸다. 우선 vector_Bth = "0" 이면, 임계값을 넘는 입력 포트가 없다는 의미이다. 따라서 이 경우는 노멀 스케쥴링 로직에 의해 처리할 데이터가 있는 전 입력 포트를 대상으로 선택을 수행한다.
반면, vector_Bth/ = "0" 인 경우는 적어도 하나의 입력 버퍼가 있는 임계값을 넘었다는 것을 의미한다. 이 경우엔 업노멀 스케쥴링 로직을 수행한다.
본 발명은 다양하게 변형될 수 있고 여러 가지 형태를 취할 수 있으며 상기 발명의 상세한 설명에서는 그에 따른 특별한 실시예에 대해서만 기술하였다. 하지만 본 발명은 상기 발명의 상세한 설명에서 언급된 특별한 형태로 한정되는 것이 아닌 것으로 이해되어야 하며, 오히려 첨부된 청구범위에 의해 정의되는 본 발명의 정신과 범위 내에 있는 모든 변형물과 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.
상기한 바와 같이 본 발명은, 여러 개의 입력단에서 데이터가 램덤하게 들어오고 또 그 트래픽의 특성상 버스트가 큰 경우에, 시스템의 처리속도가 이의 최대값을 처리할 수 없는 경우에 어쩔 수 없이 필요한 입력단의 버퍼의 크기를 줄이고 효율적인 자원배분으로 전체 네트웍의 성능을 향상시킬 수 있다. 또한 데이터의 도착률이 시스템의 처리율에 비해서 빨라지는 현 추세에서 스위치의 입력단에서 어떤 포트의 데이터를 먼저 처리해야 할 지 합리적으로 결정할 수 있게 함으로써 이와 같은 상황이 가능한 여러 분야에 응용될 수 있으리라 생각된다. 각 시스템의 특성과 처리할 데이터의 특성에 따라서 서로 다른 버퍼 크기와 임계값을 설정할 수 있고, 또한 특정 포트에 임계값을 상대적으로 작게 할당함으로써 해당 포트의 패킷손실 확률을 줄일 수도 있다. 이는 포트별로 다른 양질의 서비스를 제공할 수 있다는 것을 의미한다.

Claims (18)

  1. 입력 포트의 트래픽에 따라서 우선순위를 변화시켜 패킷 손실을 최소화하여 시스템의 성능을 향상시키기 위해,
    입력 데이터를 받아서 저장하고 처리하기 위한 레지스터와 간단한 제어로직을 구비하여 이루어지는 입력 버퍼단;
    라운드 로빈 스케쥴링 알고리즘에 의해 상기 입력 버퍼단의 우선순위를 설정하는 업노멀 스케쥴링 로직; 및
    임계값을 넘는 포트의 데이터만 스케쥴링하는 임계값 스케쥴링 로직을 포함하는, 우선순위 스케쥴링 시스템.
  2. 제 1 항에 있어서, 2개의 100M MAC의 송수신 포트에서는 각 포트에서 받거나 전송한 패킷에 대한 정보를 상기 입력 버퍼단의 SECore 10-Plus RMON 수단으로 전송하는, 우선순위 스케쥴링 시스템.
  3. 제 2 항에 있어서, 상기 SECore 10-Plus RMON 수단에서는 상기 MAC의 송수신 포트로부터 수신 패킷과 송신 패킷에 대한 정보를 각 패킷의 수신과 송신이 끝나는 시점에 받는, 우선순위 스케쥴링 시스템.
  4. 제 1 항에 있어서, 각 입력단의 버퍼에 설정되어 있는 임계값(threshold)을 넘는 입력단이 없는 경우에 사용되는 노멀 스케쥴링 로직을 더 구비하는, 우선순위 스케쥴링 시스템.
  5. 제 1 항에 있어서, 상기 임계값 스케쥴링 로직을 상기 노멀 스케쥴링 로직보다 우선적으로 처리하는, 우선순위 스케쥴링 시스템.
  6. 제 1 항에 있어서, 상기 임계값 스케쥴링 로직은, 입력버퍼의 임계값을 넘는 입력단이 생긴 경우에 이를 우선적으로 처리하는 로직인, 우선순위 스케쥴링 시스템.
  7. 제 1 항에 있어서, 선택 로직(selection logic)은 입력 포트단의 각 포트별로 들어온 데이터를 처리하여 RMON 데이터 베이스를 작성하기 위해 어떤 포트의 데이터를 먼저 처리해야 하는지를 결정하는, 우선순위 스케쥴링 시스템.
  8. 제 7 항에 있어서, 상기 각 입력단에 설정되어 있는 임계값을 넘는 포트가 없는 경우에는 4개의 포트를 돌아가며 데이터가 있는 포트의 데이터를 순서적으로 처리하는, 우선순위 스케쥴링 시스템.
  9. 제 1 항에 있어서, 데이터의 특성에 따라서 입력 버퍼 크기와 임계값을 가변 시키는, 우선순위 스케쥴링 시스템.
  10. 제 9 항에 있어서, SECore 10에서의 최적의 버퍼 크기는 10인, 우선순위 스케쥴링 시스템.
  11. 제 10 항에 있어서, 상기 SECore 10에서의 최적의 임계값은 4인, 우선순위 스케쥴링 시스템.
  12. 제 1 항에 있어서, 상기 업노멀 스케쥴링 로직은
    4비트를 동시에 입력하기 위한 수단;
    상기 입력수단을 거쳐 데이트를 입력하는 4개의 시프트 이퀴벌런스 로직(shift equivalence logic);
    상기 SEL마다 하나씩 연결되는 엔코더;
    상기 엔코더의 출력을 합하는 멀티플렉서; 및
    상기 멀티플렉서의 출력을 피드백 하는 경우에 쓰이는 우선 순위 선택부를 구비하는, 우선순위 스케쥴링 방법.
  13. 입력 포트의 트래픽에 따라서 우선순위를 변화시켜 패킷 손실을 최소화하여 시스템의 성능을 향상시키기 위해,
    두 개의 100M MAC의 송수신 포트는 각 포트에서 송수신한 패킷에 대한 정보를 RMON 수단으로 전송하는 단계;
    선택 로직이 각 입력단에 설정되어 있는 임계값을 넘는 포트가 있는지 판단하는 단계;
    상기 임계값을 넘는 포트가 있을 경우 업노멀 스케쥴링 로직을 통해 포트를 선택하여 데이터를 우선 처리하는 단계;
    상기 임계값을 넘는 포트가 없을 경우 노멀 스케쥴링 로직에서 처리해야하는 데이터가 있는 포트를 결정하는 단계;
    상기 단계에서 결정된 처리해야할 데이터가 있는 포트의 데이터를 우선순위에 맞춰 순서적으로 처리하여 RMON 데이터 베이스를 작성하고, 이를 시스템에 알리는 단계; 및
    상기 시스템은 선택된 포트의 데이터를 처리하고 이를 완료했다는 완료 신호를 상기 각 포트 및 선택 로직에게 전송하는 단계를 포함하는, 우선순위 스케쥴링 방법.
  14. 제 13 항에 있어서, 상기 각 입력단에 설정되어 있는 임계값을 넘는 포트가 있는지의 판단은 특정 포트의 버퍼 길이가 입력 버퍼의 임계값을 넘는지를 확인함으로써 가능한, 우선순위 스케쥴링 방법.
  15. 제 14 항에 있어서, 상기 버퍼 길이가 입력 버퍼의 임계값을 넘는 특정 포트가 하나 이상인 경우에는 상기 임계값을 넘는 포트들 가운데 한 포트를 결정하기 위해 라운드 로빈 스케쥴링 알고리즘을 사용하는, 우선순위 스케쥴링 방법.
  16. 제 14 항에 있어서, 상기 입력 버퍼의 크기와 임계값은 데이터의 특성에 따라 가변시키는, 우선순위 스케쥴링 방법.
  17. 제 16 항에 있어서, SECpre10-Plus에서의 최적의 버퍼 크기는 10인, 우선순위 스케쥴링 방법.
  18. 제 17 항에 있어서, 상기 SECpre10-Plus에서의 최적의 임계값은 4인, 우선순위 스케쥴링 방법.
KR1019980035860A 1998-09-01 1998-09-01 우선순위 스케쥴링 시스템 및 방법 KR20000018321A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980035860A KR20000018321A (ko) 1998-09-01 1998-09-01 우선순위 스케쥴링 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980035860A KR20000018321A (ko) 1998-09-01 1998-09-01 우선순위 스케쥴링 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20000018321A true KR20000018321A (ko) 2000-04-06

Family

ID=19549165

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980035860A KR20000018321A (ko) 1998-09-01 1998-09-01 우선순위 스케쥴링 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20000018321A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030027968A (ko) * 2001-09-18 2003-04-08 (주) 이노텔리텍 근거리 무선통신시스템의 무선자원분배를 위한 스케줄링방법
KR100388491B1 (ko) * 1999-09-20 2003-06-25 한국전자통신연구원 패킷 스위치 시스템에서의 패킷 스케쥴링 장치 및 그 방법
KR100420475B1 (ko) * 2000-12-31 2004-03-02 주식회사 케이티 고속 저면적의 스위치 셀 스케쥴링 장치 및 그 방법
KR100641093B1 (ko) * 2000-02-01 2006-11-02 엘지전자 주식회사 패킷 스케줄링 장치 및 방법
KR100664020B1 (ko) * 2002-04-23 2007-01-03 엘지전자 주식회사 블루투스의 엠에이씨 스케쥴링 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100388491B1 (ko) * 1999-09-20 2003-06-25 한국전자통신연구원 패킷 스위치 시스템에서의 패킷 스케쥴링 장치 및 그 방법
KR100641093B1 (ko) * 2000-02-01 2006-11-02 엘지전자 주식회사 패킷 스케줄링 장치 및 방법
KR100420475B1 (ko) * 2000-12-31 2004-03-02 주식회사 케이티 고속 저면적의 스위치 셀 스케쥴링 장치 및 그 방법
KR20030027968A (ko) * 2001-09-18 2003-04-08 (주) 이노텔리텍 근거리 무선통신시스템의 무선자원분배를 위한 스케줄링방법
KR100664020B1 (ko) * 2002-04-23 2007-01-03 엘지전자 주식회사 블루투스의 엠에이씨 스케쥴링 방법

Similar Documents

Publication Publication Date Title
KR100339329B1 (ko) 입력/출력 테라비트 스위치들을 위한 rrgs-라운드-로빈 그리디 스케쥴링
US7768914B2 (en) Switch and a switching method
JPH04315337A (ja) データチャンネルのスケジューリング装置及び方法
EP0706298A2 (en) Dynamic queue length thresholds in a shared memory ATM switch
CN101291194B (zh) 报文保序的方法和系统
KR19990087752A (ko) 효율적인 출력 요구 패킷 스위치와 방법
CN101567855B (zh) 分布式包交换系统和分布式包交换方法
US6185188B1 (en) Method and apparatus for controlling physical port flow rate in packet communications
US6320864B1 (en) Logical multicasting method and apparatus
US6574232B1 (en) Crossbar switch utilizing broadcast buffer and associated broadcast buffer management unit
Bianco et al. Frame-based matching algorithms for input-queued switches
WO2006091175A1 (en) Method and apparatus for buffer management in shared memory packet processors
US6633568B1 (en) Two-dimensional round-robin scheduling method with multiple selection in an input-buffered switch
US6445706B1 (en) Method and device in telecommunications system
US8072972B2 (en) Configurable hardware scheduler calendar search algorithm
US6970466B2 (en) Packet switching apparatus
US7554908B2 (en) Techniques to manage flow control
KR20000018321A (ko) 우선순위 스케쥴링 시스템 및 방법
US20030099250A1 (en) Queue scheduling mechanism in a data packet transmission system
US6301260B1 (en) Device and method for multiplexing cells of asynchronous transmission mode
US20070263542A1 (en) Method for Transmitting Data Available in the Form of Data Packets
US7602797B2 (en) Method and apparatus for request/grant priority scheduling
EP0870415A1 (en) Switching apparatus
US20030152082A9 (en) Distribution of weightings between port control system and switch cards of a packet switching device
JPH04838A (ja) バッファ制御方式

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
SUBM Submission of document of abandonment before or after decision of registration