KR100757194B1 - A Fair Packet Scheduling Method with a High Resource Utilization and Low Implementation Complexity - Google Patents
A Fair Packet Scheduling Method with a High Resource Utilization and Low Implementation Complexity Download PDFInfo
- Publication number
- KR100757194B1 KR100757194B1 KR1020050088679A KR20050088679A KR100757194B1 KR 100757194 B1 KR100757194 B1 KR 100757194B1 KR 1020050088679 A KR1020050088679 A KR 1020050088679A KR 20050088679 A KR20050088679 A KR 20050088679A KR 100757194 B1 KR100757194 B1 KR 100757194B1
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- flow
- server
- time
- delay
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/629—Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
- H04L47/622—Queue service order
- H04L47/6225—Fixed service order, e.g. Round Robin
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
자원예약을 통해 서비스 품질을 보장하는 공정 패킷 스케줄링 알고리즘은 타임스탬프 계산시 사용되는 패킷의 기준시각 측면에서 종료시각 방식과 시작시각 방식으로 나뉜다. 전자는 트래픽 흐름의 스케줄링 속도의 조정으로 다양한 지연규격을 지원할 수 있어 대부분의 스케줄러에 이용되나 자원 낭비가 심하고 구현 복잡성이 높은 단점이 있다. 반면 후자는 흐름의 수에 종속되는 최대지연 특성으로 인해 다양한 지연규격의 지원이 어려워 우수한 자원 이용도 특성에도 불구하고 제대로 활용되지 못하고 있다. 본 발명은 다양한 지연규격을 효과적으로 지원하는 시작시각 기반 공정 패킷 스케줄링 장치에 관한 것으로 높은 자원 이용도와 낮은 구현 복잡성의 특성을 제공할 것으로 기대된다. The process packet scheduling algorithm that guarantees the quality of service through resource reservation is divided into the end time method and the start time method in terms of the reference time of the packet used when calculating the time stamp. The former is used for most schedulers because it can support various delay specifications by adjusting the scheduling rate of traffic flow. However, the former has a disadvantage of severe resource waste and high implementation complexity. On the other hand, due to the maximum delay characteristics that depend on the number of flows, it is difficult to support various delay specifications, and thus, they are not properly utilized despite the excellent resource utilization characteristics. The present invention relates to a start time-based process packet scheduling apparatus that effectively supports various delay specifications, and is expected to provide characteristics of high resource utilization and low implementation complexity.
품질 보장, 공정 패킷 스케줄링, 자원예약, 타임스탬프 Quality Assurance, Process Packet Scheduling, Resource Reservation, Timestamp
Description
도 1은 본 발명에 따른 고성능 스케줄러의 블록도1 is a block diagram of a high performance scheduler in accordance with the present invention;
도 2는 본 발명에 따른 부서버의 블록도 2 is a block diagram of a burr according to the present invention;
도 3은 본 발명에 따른 부서버에서 패킷 도착시 처리 순서도3 is a flowchart illustrating processing upon arrival of a packet in a department server according to the present invention.
도 4는 본 발명에 따른 부서버에서 패킷 전송완료시 처리 순서도4 is a flowchart illustrating processing at the completion of packet transmission in a department server according to the present invention.
본 발명은 자원예약을 통해 서비스 품질을 보장하는 고속 패킷 통신망의 핵심장비인 패킷 교환 노드에 적용 가능한 공정 패킷 스케줄링 (fair packet scheduling) 장치에 관한 것으로, 보다 상세하게는 동일한 출력 링크로의 패킷 전송을 요구하는 각각의 트래픽 흐름 (이하 흐름)에 대해 그 흐름이 요구한 전송속도 (이하 요구속도)와 그 흐름이 요구한 지연바운드(delay bound) (이하 지연규격)를 보장해주는 링크 자원의 배분 방법에 관한 것이다. BACKGROUND OF THE
본 기술분야에서 통상적으로 알려져 있는 패킷 스케줄링 방법의 기준이 되는 가설적인 이론은 Abhay K.Parekh 와 Robert G. Gallager의 논문 "A generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single-node case" (IEEE/ACM Transactions on Networking, Vol.1, No.3, 1993년 6월)에 제안되어 있다. GPS(Generalized Processor Sharing)라 지칭되는 이 이론은 실제 구현은 불가능하나 모든 공정 스케줄링 방법이 지향하는 개념적인 성능 기준을 제공한다.A hypothetical theory that is the basis of a packet scheduling method commonly known in the art is described by Abhay K.Parekh and Robert G. Gallager, "A generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single-node case". (IEEE / ACM Transactions on Networking, Vol. 1, No. 3, June 1993). This theory, referred to as Generalized Processor Sharing (GPS), provides a conceptual performance criterion for which all process scheduling methods are oriented, although practical implementation is impossible.
상술한 GPS를 가장 근접하게 구현한 방법으로, Abhay K.Parekh 와 Robert G. Gallager의 논문 "A generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single-node case" (IEEE/ACM Transactions on Networking, Vol.1, No.3, 1993년 6월)이 있다. WFQ(Weighted Fair Queuing)라 지칭되는 이 방법은 서버 가상시간을 도입하여 패킷의 예상 전송 종료시각을 산정할 때 기준 값으로 사용한다. WFQ는 도착하는 패킷의 예상 전송 종료시각을 그 패킷의 타임스탬프로 설정하는 방식 (이하 종료시각 방식)을 사용하므로 임의 흐름의 최대지연은 그 흐름의 최대 패킷크기를 그 흐름의 스케줄링 속도로 나눈 값 (이하 GPS 서비스 시간)과 모든 흐름의 최대 패킷크기를 출력링크의 전송속도로 나눈 값 (이하 최대 패킷 전송시간)의 합으로 결정된다. WFQ는 하나의 패킷이 전송되는 동안 최악의 경우 모든 흐름으로부터 새로운 패킷이 도착할 수 있으므로 서버 가상시간의 계산과 갱신 과정이 N회 반복될 수 있는, 즉 서버 가상시간 계산 복잡성이 O(N)가 된다. 여기서 N은 수용된 흐름의 수이다. 따라서 패킷에 대한 고속의 전송순서 결정이 요구되는 고속망 환경에 적용하기 어려운 방법이라 볼 수 있다. O(N)의 서버 가상시간 계산 복잡성은 "고속 통합 서비스망에서 WFQ의 에뮬레이션을 통한 공정 패킷 스케줄링 방법 및 그 공정 패킷 스케줄러"로 공고된 대한민국 특허 10-0369562 호(2003년 1월 30일)에 의해 O(1)로 대폭 줄어들었다. As a closest implementation of the above-mentioned GPS, Abhay K.Parekh and Robert G. Gallager's paper "A generalized Processor Sharing Approach to Flow Control in Integrated Services Networks: The Single-node case" (IEEE / ACM Transactions on Networking) , Vol. 1, No. 3, June 1993). This method, called Weighted Fair Queuing (WFQ), introduces server virtual time and uses it as a reference value when estimating the expected end time of a packet. Since WFQ uses the method of setting the expected transmission end time of an arriving packet as the timestamp of the packet (hereinafter referred to as the end time method), the maximum delay of any flow is the maximum packet size of the flow divided by the scheduling rate of the flow. (The GPS service time) and the maximum packet size of all flows divided by the transmission speed of the output link (hereafter the maximum packet transmission time). In WFQ, a new packet may arrive from every flow in the worst case while one packet is transmitted, so the server virtual time calculation and update process can be repeated N times, i.e. the server virtual time calculation complexity is O (N). . Where N is the number of flows received. Therefore, it is a difficult method to be applied to a high speed network environment that requires fast transmission order determination for packets. O (N) 's server virtual time calculation complexity is described in Korean Patent No. 10-0369562 (January 30, 2003), published as "Process Packet Scheduling Method through Emulation of WFQ in High-Speed Integrated Services Network and Its Process Packet Scheduler." By O (1).
상술한 종료시각 기반 스케줄러에서 흐름의 스케줄링 속도에 의해 결정되는 최대지연이 흐름의 지연규격을 초과할 때 지연품질 보장을 위해 최대지연을 줄여야 하며, 이는 스케줄러에서 그 흐름의 스케줄링 속도를 높임으로서 가능하다. 하지만 스케줄링 속도와 요구속도의 차이만큼 스케줄러 장치의 출력링크 속도가 낭비된다. 참고로 요구속도를 보장해야 하므로 스케줄링 속도는 요구속도보다 낮을 수 없다. 예를 들어보자. 출력링크의 속도가 1Gbps이고 모든 흐름의 최대 패킷크기가 1000비트인 스케줄러에서 요구속도가 200Kbps, 지연규격이 1ms, 최대 패킷크기가 1000비트인 흐름에 대해 그의 스케줄링 속도를 요구속도와 같게 할 경우 GPS 서비스 시간과 최대 패킷전송시간이 각각 5ms와 1uS로 계산되므로 결정되는 최대지연은 약 5ms가 된다. 1ms의 지연규격을 만족시키려면 스케줄링 속도를 1Mbps로 높여야 하므로 1Mbps-200Kbps = 800Kbps 만큼의 출력링크 속도가 낭비된다. In the above-described end time based scheduler, when the maximum delay determined by the scheduling rate of the flow exceeds the delay specification of the flow, the maximum delay must be reduced to guarantee the delay quality. This is possible by increasing the scheduling speed of the flow in the scheduler. . However, the output link speed of the scheduler device is wasted by the difference between the scheduling speed and the required speed. For reference, the request rate must be guaranteed, so the scheduling rate cannot be lower than the request rate. For example: For a scheduler with an output link speed of 1 Gbps and a maximum packet size of 1000 bits for all flows, if the scheduling rate equals the required rate for flows with a request rate of 200 Kbps, a delay specification of 1 ms, and a maximum packet size of 1000 bits. Since the service time and the maximum packet transmission time are calculated as 5ms and 1uS, respectively, the maximum delay determined is about 5ms. In order to satisfy the 1 ms delay specification, the scheduling rate must be increased to 1 Mbps, which wastes the output link speed of 1 Mbps to 200 Kbps = 800 Kbps.
한편 Pawan Goyal, Harrick M. Vin 및 Haichen Cheng의 논문 "Start-Time Fair Queueing : A scheduling Algorithm for Integrated Services Packet Switching Networks" (IEEE/ACM Transactions on Networking, Vol.5, No5, 1997년 10월)에서 도착하는 패킷의 예상 전송 시작시각을 그 패킷의 타임스탬프로 설정하는 방식(이하 시작시각 방식)을 제안하였는데, 이러한 시작시각 방식에서 임의 흐름의 최대지연은 수용된 흐름들 각각의 최대 패킷 크기들의 합을 출력링크의 속도로 나눈 값으로 결정된다. 따라서 상기 지적된 종료시각 방식의 고질적인 문제점인 출력링크 속도의 낭비가 해결되 출력링크의 자원 이용도가 대폭 개선될 수 있다. 하지만 모든 흐름이 동일한 최대지연 값을 갖는데, 이로 인해 각 흐름의 지연규격이 서로 다를 경우 가장 엄격한 지연규격을 만족하도록 흐름의 수를 엄격히 제한해야 하며, 이의 결과로 출력링크에 가용 속도가 있음에도 불구하고 흐름 수의 제약으로 인해 새로운 흐름을 수용할 수 없어 출력링크 속도가 낭비되는 문제가 발생한다.Meanwhile, Pawan Goyal, Harrick M. Vin and Haichen Cheng's paper "Start-Time Fair Queueing: A scheduling Algorithm for Integrated Services Packet Switching Networks" (IEEE / ACM Transactions on Networking, Vol. 5, No5, October 1997) We proposed a method of setting the expected transmission start time of an arriving packet as the time stamp of the packet (hereinafter, referred to as a start time method). In this start time method, the maximum delay of a random flow is a sum of the maximum packet sizes of each of the received flows. It is determined by dividing by the speed of the output link. Therefore, the waste of output link speed, which is a chronic problem of the aforementioned end time method, is solved, and resource utilization of the output link can be greatly improved. However, all flows have the same maximum delay value, which means that if each flow has different delay specifications, the number of flows must be strictly limited to meet the most stringent delay specifications, and as a result, despite the available speed on the output link, Due to the limitation of the number of flows, the new link cannot be accommodated, resulting in a waste of output link speed.
본 발명은 상기의 문제점을 해결하기 위하여 안출된 것으로서, 시작시각 기반 공정 패킷 스케줄러의 우수한 자원 이용도 특성을 유지하면서 지연규격이 서로 다른 흐름들을 효과적으로 지원할 수 있는 공정 패킷 스케줄링 방식의 제안이 본 발명의 주된 기술적 과제이다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and proposes a process packet scheduling scheme that can effectively support flows with different delay specifications while maintaining excellent resource utilization characteristics of the start time based process packet scheduler. It is the main technical problem.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시 예의 동작을 상세하게 설명한다. Hereinafter, with reference to the accompanying drawings will be described in detail the operation of the preferred embodiment according to the present invention.
본 실시 예에서 사용되는 용어인 지연등급 (이하 등급)은 하나의 지연규격 또는 여러 지연규격의 집합을 의미하는데, 여러 지연규격의 집합일 경우 가장 엄격한 지연규격이 그 등급의 지연규격이 되고, 지원되는 최대 등급의 수는 M이다. 도 1은 본 발명에서 제안한 공정 패킷 스케줄링 장치(이하 고성능 스케줄러)의 구성을 보여준다. 고성능 스케줄러는 등급판별기(101), 전단서버(102), 후단서버(103) 및 자원관리기(104)로 구성된다. 등급판별기(101)는 도착하는 흐름의 지연규격 값으로 등급을 판별하여 그 흐름이 전단서버(102)내 해당 부서버로 입력되도록 한다. 전단서버는 M개의 부서버로 구성되며, 각 부서버는 시작시각 기반 공정 패킷 스케줄러로서 해당 등급의 트래픽만 처리한다. 각 부서버에서 출력되는 트래픽은 후단서버(103)에서 하나의 가상 흐름으로 취급된다. 후단서버는 M개의 가상흐름 큐를 구비하여 각 큐의 패킷을 출력링크로 전송한다. 후단서버는 전단서버내 M개 부서버가 출력링크를 공평하게 사용하도록 해주는 라운드-로빈 스케줄러로 S. S. Kanhere와 H. Sethu 및 A. B. Parekh의 논문 "Fair and efficient packet scheduling using elastic round robin" IEEE Transactions on Parallel and Distributed Systems 13 (3) (2002))에서 제안된 신축적 라운드-로빈(Elastic Round-Robin)방식을 사용한다. 자원관리기(104)는 출력링크의 속도, 즉 대역폭 자원을 M개 부서버에게 할당하고, 각 부서버의 가용 자원을 관리하여 도착하는 흐름에 대해 수락 또는 거절 여부를 판단하게 해준다. 참고로 도 1의 고성능 스케줄러는 하나의 출력링크에 대한 것으로 실제 라우터에는 출력링크의 수만큼의 고성능 스케줄러가 탑재된다.The term "delay class" (hereinafter referred to as "class") used in this embodiment means one delay specification or a set of delay specifications. In the case of a set of delay specifications, the most stringent delay standard becomes the delay specification of the class. The maximum number of grades being M is. 1 shows a configuration of a process packet scheduling apparatus (hereinafter, referred to as a high performance scheduler) proposed in the present invention. The high performance scheduler is composed of a
고성능 스케줄러에서 취급되는 패킷은 흐름에서 유입된 데이터 패킷과 흐름식별자, 요구속도, 지연규격 등의 관련정보를 모두 포함하는 내부패킷이지만 실제 구현시 그 량이 많은 데이터 패킷의 취급부담을 줄이기 위해 데이터 패킷은 별도의 큐 관리자가 보관 및 관리하도록 하고, 관련정보만 갖는 작은 제어패킷으로 스케줄링 한 후 해당 데이터 패킷을 출력링크로 전송할 수도 있다.The packet handled by the high performance scheduler is an internal packet including all the data packets from the flow and related information such as the flow identifier, the required speed, and the delay specification.However, in order to reduce the handling burden of large data packets in actual implementation, A separate queue manager can be stored and managed, and the data packet can be transmitted to the output link after scheduling with a small control packet having only relevant information.
등급판별기(101)는 구현시 별도의 프로그램으로 구성되거나 흐름 처리 프로그램에 내장될 수 있다.The
전단서버(102)의 동작을 상세히 살펴보자. 각 부서버는 각기 독자적인 서버 가상시간을 운영한다. 각 부서버의 서버 가상시간은 그 부서버가 트래픽을 서비스하기 시작할때, 즉 서버 활성구간의 시작시점에 0의 값으로 초기화된다. 그리고 매 패킷의 전송 완료시 다음 전송할 패킷의 타임스탬프 값으로 갱신되고 각 패킷의 전송 중에는 실시간으로 증가된다. Let's look at the operation of the
전단서버내 모든 부 서버는 동일한 구성을 갖고 동일하게 동작하므로 임의 부서버 n(105)의 동작을 설명한다. 부서버 n은 도 2에 도시된 바와 같이 엔큐서버 n(210), 큐 블록(220), 디큐서버 n(230) 및 다수의 레지스터(register)(240,250,260)를 구비한다. 큐 블록(220)에는 각 흐름별로 별도의 큐를 구비하는데, 흐름의 최대 수를 V 라 할때 V개의 큐가 구비된다. 구비되는 레지스터에는 서버 가상시간 값을 갖는 가상시간 레지스터 Vtime(250), 가장 최근에 서버 가상시간이 갱신된 때의 실시간 값을 갖는 갱신시점 레지스터 Tupdate(260) 및 각 흐름별로 가장 최근에 도착한 패킷의 종료태그 값을 갖는 종료태그 레지스터 행렬 F[V](240)가 포함된다.Since all the secondary servers in the front end server have the same configuration and operate the same, the operation of any
엔큐서버 n(210)은 새로운 패킷이 입력할 때마다 서버 가상시간을 기준으로 타임스탬프를 계산하여 패킷의 헤더에 부가한다. 엔큐서버 n에 의해 처리된 트래픽은 큐 블록(220)내 해당 흐름의 큐에 저장된다. 디큐서버 n(230)은 다음번에 전송할 패킷을 선택할 때, 패킷이 대기 중인 각 흐름의 큐로부터 선두패킷의 타임스탬프를 비교하여 타임스탬프 값이 가장 작은 패킷을 선택하여 전송 서비스를 제공한다.The
도 3은 도 2에 도시된 엔큐서버 n(210)에서 도착하는 패킷의 처리 과정을 설명하는 순서도이다. 새로운 패킷 도착시 단계 (320)에서 도착 시점의 서버 가상시간을 계산한다. 도착시점의 실시간을 t 라 하고, 가장 최근에 서버 가상시간이 갱신된 시 점의 실시간을 tn 라 할때 패킷 도착 시점의 서버 가상시간 v(t)의 계산 공식은 하기 수학식 1과 같다.3 is a flowchart illustrating a process of processing a packet arriving at the
수학식 1의 구현에는 가상시간 레지스터 Vtime 및 갱신시점 레지스터 Tupdate가 사용되는데, 레지스터 Vtime 및 Tupdate의 값을 각각 V_Vtime 및 V_Tupdate라 칭한다. 이들 레지스터 값은 부서버 n에 대기하고 있는 패킷이 없는, 즉 휴지구간 동안은 모두 0의 값을 갖는다. 수학식 1의 서버 가상시간 v(t)는 V_Vtime+(t-V_Tupdate)로 계산된다.In the implementation of
단계 (330)에서 도착한 패킷의 첫번째 비트가 전송될 시점의 가상시간, 즉 예상 전송 시작시각을 의미하는 시작태그(Start-Tag)를 계산하고 이를 타임스탬프로 사용하는데, 먼저 시작태그의 계산방법을 설명한다. 도착한 패킷이 흐름 i의 k번째 패킷이라고 가정하면 이 패킷의 시작태그 Si k 는 단계 (320)에서 계산된 서버 가상시간 v(t)와 흐름 i의 (k-1)번째 패킷의 종료태그 Fi k -1 에 의해 하기 수학식 2와 같이 계산된다.In
수학식 2에서, 흐름 i의 (k-1)번째 패킷의 종료태그 Fi k -1 는 그 패킷의 시작태그에 그 패킷의 정규화된 길이만큼 증가시킨 값으로 하기 수학식 3과 같이 계산된다.In
수학식 3에서 li k - 1는 흐름 i의 k-1번째 패킷의 길이를, li k -1/ri 는 흐름 i의 k-1번째 패킷의 정규화된 길이를 의미한다.In Equation 3, l i k - 1 is the length of the k-1 th packet of the flow i, l i k -1 / r i Denotes the normalized length of the k-1 th packet of flow i.
수학식 2와 3을 구현하기 위해 각 흐름별로 가장 최근에 도착한 패킷의 종료태그 값을 갖는 레지스터 행렬 F[V](240)를 사용하는데, 이 레지스터 행렬의 초기값은 모두 0으로 설정한다. 단계 (330)의 상세한 구현은 다음과 같다; 상기 단계 (320)에서 계산된 서버 가상시간과 도착한 패킷이 속하는 흐름 (흐름 i라 하자)의 종료태그 레지스터 F[i]값을 상호 비교하여 큰 값을 시작태그 값으로 설정하고 이를 타임스탬프로 하여 패킷에 부착 후 해당 흐름의 큐에 수록한다. To implement
단계 (340)에서 흐름 i의 종료태그 레지스터 F[i]를 도착한 패킷의 정규화된 길이 값을 그 패킷의 시작태그에 더한 값으로 갱신한다.In
도 4는 디큐서버 n(230)에서 수행되는 패킷 전송 과정에 대한 순서도이다. 전송 중인 패킷의 전송이 완료되면(단계 410), 부서버 n에 대기중인 패킷이 있는지, 즉 큐 블럭(220)에 대기중인 패킷이 있는지 조사한다(단계 420). 대기중인 패킷이 있을 경우 단계(430)에서 다음 전송할 패킷, 즉 흐름의 큐의 선두 패킷 중 가장 작은 타임스탬프를 갖는 패킷을 찾아 선택하고, 서버 가상시간을 갱신하며 관련 레지스터를 갱신한다. 서버 가상시간을 계산하는 과정은 다음과 같다; 상기에서 선택된 가장 작은 타임스탬프를 갖는 패킷의 타임스탬프 값을 TS라 하고, 전송중인 패킷의 전송이 완료되는 시점의 실시간을 t 라 하고, 가장 최근에 서버 가상시간이 갱신된 시점의 실시간을 tn 라 할때 서버 가상시간 v(t)는 하기 수학식 4에 의해 계산된다.4 is a flowchart illustrating a packet transmission process performed by the
수학식 4의 구현방법은 다음과 같다; 전송하려고 선택한 패킷의 타임스탬프 값인 TS와 V_Vtime+(t-V_Tupdate)의 값을 비교하여 큰 값을 서버 가상시간으로 설정한다. 그리고 실시간 t의 값을 레지스터 Tupdate에 수록하고, 구해진 서버 가상시간 값을 레지스터 Vtime에 수록하여 서버 가상시간을 갱신한다.The implementation method of Equation 4 is as follows; A large value is set as the server virtual time by comparing TS, which is a timestamp value of the packet selected for transmission, with the value of V_Vtime + (t-V_Tupdate). The real time t is stored in the register Tupdate, and the obtained server virtual time value is stored in the register Vtime to update the server virtual time.
단계 (440)에서 상기 단계 (430)의 결과로 선택된 패킷을 후단서버로 전송한다In
후단서버(103)는 기 제안된 신축적 라운드-로빈 기반 스케줄러를 사용하며, 이의 동작은 다음과 같다; 후단서버는 큐에 대기중인 패킷이 있는 가상흐름들의 목록을 의미하는 활성목록을 사용하여 최대 M개 가상흐름의 트래픽을 순차적으로 서비스 한다. 후단서버는 활성목록의 선두에 있는 가상흐름의 패킷을 서비스한 후, 계속 활성상태이면 그 가상흐름을 활성목록의 맨 끝으로 이동한다. 그리고 비활성 가상흐름에 패킷이 도착하면 활성목록의 맨끝에 그 가상흐름을 등록한다. 활성목록에 등록된 모든 가상흐름을 한번씩 순차적으로 서비스하는 것을 라운드라 하는데, 후단서버는 이러한 라운드를 반복하면서 서비스를 수행한다. 각 가상흐름의 전송 허용치는 대응되는 부서버에 할당된 스케쥴러 출력링크의 속도에 비례하며, 각 라운드에서 각 흐름의 전송 허용치는 신축적으로 운영된다.The
자원관리기(105)는 출력링크 속도 할당 기능과 부서버 가용자원 관리 기능으로 구성된다. 출력링크 속도 할당 기능은 스케줄러의 출력링크의 속도, 즉 대역폭 자원을 M개 부서버에 할당하는 것으로 각 부서버에게 고정된 출력링크 속도를 할당하는 정적할당과 각 부서버의 가용 자원의 상태에 따라 각 부서버에 할당되는 출력링크 속도를 최적으로 조절하는 동적할당의 두 가지 할당기능을 제공한다. 각 부서버에 할당되는 출력링크 속도의 산정과 재산정은 할당속도 대비 수익의 극대화 관점에서 결정된다. 부서버 가용자원 관리 기능은 각 부서버에 대해 할당된 출력링크 속도, 지연규격, 현재 수용 중인 흐름의 수, 현재 수용 중인 흐름들의 요구속도 합 및 현재 수용중인 흐름들의 최대 패킷 크기 합을 기록 및 유지하고, 이로부터 다음과 같이 가용 속도와 가용 지연을 계산한다; 가용 속도는 할당된 출력링크 속도에서 현재 수용 중인 흐름들의 요구속도 합을 뺀 값으로 계산되고, 가용 지연은 지연규격에서 현재의 최대지연(현재 수용중인 흐름들의 최대 패킷 크기 합을 할당된 출력링크 속도로 나눈 값)을 뺀 값으로 계산된다. 스케줄러에 새로운 흐름이 도착할 때 그 흐름을 위한 가용 자원이 있을 경우만 수락되는데, 가용 자원이 있는지의 여부는 다음과 같이 판단한다; 흐름의 지연규격에 해당하는 등급을 구하고, 구해진 등급에 해당하는 부서버에 대해 그 흐름을 수용하였을 때 가용 속도와 가용 지연 값이 모두 음수가 아닐 경우 가용 자원이 있는 것으로 판단한다. The
한편 종료시각 기반 공정 패킷 스케줄러는 스케줄러에 수용되는 최대 흐름의 수를 N라 할 때 타임스탬프 계산시 O(1)의 연산동작과 패킷전송시 O(logN)의 연산동작을 필요로 하기 때문에 이의 구현 복잡도는 O(logN)가 된다. 고성능 스케줄러에서는 개의 흐름이 M개의 부서버로 분산되므로 모든 부서버가 동일한 흐름 수를 수용할 경우 각 부서버는 최대 N/M개의 흐름을 수용하게 된다. 따라서 고성능 스케줄러의 구현 복잡도는 O(log(N/M))=O(logN)-O(logM)가 되므로 종래 종료시각 기반 스케줄 러의 구현 복잡도에 비해 최대 O(logM)까지 줄일 수 있다. 참고로 스케줄러의 구현 복잡도란 알고리즘 수행 능력의 제약을 평가하기 위한 것이므로 가장 복잡한 내부 장치의 구현 복잡도를 의미한다.On the other hand, the end time based process packet scheduler requires O (1) operation when calculating the timestamp and O (logN) during packet transmission when the maximum number of flows to be accommodated in the scheduler is N. The complexity is O (logN). In the high performance scheduler, the flows are distributed across M departments, so if all departments accommodate the same number of flows, each department will accommodate up to N / M flows. Therefore, since the implementation complexity of the high performance scheduler is O (log (N / M)) = O (logN) -O (logM), it can be reduced to a maximum O (logM) compared to the implementation complexity of the conventional end time based scheduler. For reference, the implementation complexity of the scheduler is for evaluating the constraint of the algorithm performance, and thus the implementation complexity of the most complex internal device.
이상에서 설명한 바와 같이, 본 발명은 자원 이용도가 좋은 시작시각 기반 공정 패킷 스케줄러로 구성되는 부서버를 지연등급의 수만큼 병렬로 구성하고, 신축적 라운드-로빈 기반의 후단서버로 각 부서버의 출력 트래픽이 출력링크를 공평하게 사용하도록 한 것으로서, 첫째 공정 패킷 스케줄러의 출력링크 자원 이용도를 높일 수 있고, 둘째 등급 수의 로그값만큼 구현 복잡도를 낮출 수 있어 스케줄러의 구현이 용이한 효과를 기대할 수 있다. As described above, the present invention configures the departments composed of the start time-based process packet scheduler with good resource utilization in parallel by the number of delay classes, and the flexible round-robin based rear end servers. As the output traffic uses the output link equally, the output packet resource utilization of the first process packet scheduler can be increased, and the implementation complexity can be reduced by the log value of the number of classes, so the scheduler can be easily implemented. Can be.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050088679A KR100757194B1 (en) | 2005-09-23 | 2005-09-23 | A Fair Packet Scheduling Method with a High Resource Utilization and Low Implementation Complexity |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050088679A KR100757194B1 (en) | 2005-09-23 | 2005-09-23 | A Fair Packet Scheduling Method with a High Resource Utilization and Low Implementation Complexity |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070034232A KR20070034232A (en) | 2007-03-28 |
KR100757194B1 true KR100757194B1 (en) | 2007-09-07 |
Family
ID=41628874
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050088679A KR100757194B1 (en) | 2005-09-23 | 2005-09-23 | A Fair Packet Scheduling Method with a High Resource Utilization and Low Implementation Complexity |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100757194B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002354023A (en) | 2001-05-25 | 2002-12-06 | Fujitsu Ltd | Method and device for packet scheduling |
KR20030080786A (en) * | 2002-04-10 | 2003-10-17 | 학교법인 인하학원 | Packet scheduling device and method for wireless delay proportional differentiation service |
KR20040072140A (en) * | 2003-02-10 | 2004-08-18 | 한국과학기술원 | AAL2 ATM / Packet Link Multiplexing Schemes and Devices Guaranteeing the Delay Requirements of Various Services |
-
2005
- 2005-09-23 KR KR1020050088679A patent/KR100757194B1/en not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002354023A (en) | 2001-05-25 | 2002-12-06 | Fujitsu Ltd | Method and device for packet scheduling |
KR20030080786A (en) * | 2002-04-10 | 2003-10-17 | 학교법인 인하학원 | Packet scheduling device and method for wireless delay proportional differentiation service |
KR20040072140A (en) * | 2003-02-10 | 2004-08-18 | 한국과학기술원 | AAL2 ATM / Packet Link Multiplexing Schemes and Devices Guaranteeing the Delay Requirements of Various Services |
Also Published As
Publication number | Publication date |
---|---|
KR20070034232A (en) | 2007-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1774714B1 (en) | Hierarchal scheduler with multiple scheduling lanes | |
US7027457B1 (en) | Method and apparatus for providing differentiated Quality-of-Service guarantees in scalable packet switches | |
US8144588B1 (en) | Scalable resource management in distributed environment | |
US6795870B1 (en) | Method and system for network processor scheduler | |
US6396843B1 (en) | Method and apparatus for guaranteeing data transfer rates and delays in data packet networks using logarithmic calendar queues | |
JP2002232469A (en) | Scheduling system and scheduling method | |
US7894347B1 (en) | Method and apparatus for packet scheduling | |
Ramabhadran et al. | The stratified round robin scheduler: design, analysis and implementation | |
CN100466593C (en) | Method of implementing integrated queue scheduling for supporting multi service | |
KR101737516B1 (en) | Method and apparatus for packet scheduling based on allocating fair bandwidth | |
US7474662B2 (en) | Systems and methods for rate-limited weighted best effort scheduling | |
KR100425061B1 (en) | Bandwidth sharing using emulated weighted fair queuing | |
EP2063580B1 (en) | Low complexity scheduler with generalized processor sharing GPS like scheduling performance | |
US7599381B2 (en) | Scheduling eligible entries using an approximated finish delay identified for an entry based on an associated speed group | |
KR100757194B1 (en) | A Fair Packet Scheduling Method with a High Resource Utilization and Low Implementation Complexity | |
KR100369562B1 (en) | Emulated weighted fair queueing algorithm for high-speed integrated service networks and the scheduler therefor | |
KR100745679B1 (en) | Method and apparatus for packet scheduling using adaptation round robin | |
Tong et al. | Quantum varying deficit round robin scheduling over priority queues | |
EP1797682B1 (en) | Quality of service (qos) class reordering | |
EP1774721B1 (en) | Propagation of minimum guaranteed scheduling rates | |
Altintas et al. | A packet scheduling discipline for supporting real-time applications | |
Al-Khasib et al. | Mini round robin: an enhanced frame-based scheduling algorithm for multimedia networks | |
KR100527339B1 (en) | Method of scheduling for guaranteeing QoS in Ethernet-PON | |
Hirayama | Analysis of multiclass feedback queues and its application to a packet scheduling problem | |
Iida et al. | Delay analysis for CBR traffic in static-priority scheduling: single-node and homogeneous CBR traffic case |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E90F | Notification of reason for final refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |