KR20070034232A - Process packet scheduling method with high resource utilization and low implementation complexity - Google Patents

Process packet scheduling method with high resource utilization and low implementation complexity Download PDF

Info

Publication number
KR20070034232A
KR20070034232A KR1020050088679A KR20050088679A KR20070034232A KR 20070034232 A KR20070034232 A KR 20070034232A KR 1020050088679 A KR1020050088679 A KR 1020050088679A KR 20050088679 A KR20050088679 A KR 20050088679A KR 20070034232 A KR20070034232 A KR 20070034232A
Authority
KR
South Korea
Prior art keywords
delay
packet
flow
scheduler
speed
Prior art date
Application number
KR1020050088679A
Other languages
Korean (ko)
Other versions
KR100757194B1 (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 KR1020050088679A priority Critical patent/KR100757194B1/en
Publication of KR20070034232A publication Critical patent/KR20070034232A/en
Application granted granted Critical
Publication of KR100757194B1 publication Critical patent/KR100757194B1/en

Links

Images

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/629Ensuring fair share of resources, e.g. weighted fair queuing [WFQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • 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/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin

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 can be used for most schedulers because it can support various delay bounds by adjusting the reservation rate of traffic flow, but there is a disadvantage in that resource waste due to overbooking is severe and implementation complexity is high. On the other hand, the latter is difficult to support various delay bounds due to the delay-bound characteristics depending on the number of flows. The present invention relates to a start time based process packet scheduling scheme that effectively supports various delay bounds and is expected to provide characteristics of high resource utilization and low implementation complexity.

품질 보장, 공정 패킷 스케줄링, 자원예약, 타임스탬프 Quality Assurance, Process Packet Scheduling, Resource Reservation, Timestamp

Description

자원 이용도가 높고 구현 복잡성이 낮은 공정 패킷 스케줄링 방법{A Fair Packet Scheduling Method with a High Resource Utilization and Low Implementation Complexity}A Fair Packet Scheduling Method with a High Resource Utilization and Low Implementation Complexity

도 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) (이하 지연규격)를 보장해주는 링크 자원의 배분 방법에 관한 것이다. The present invention relates to a fair packet scheduling method applicable to a packet switched node, which is a core device of a high-speed packet communication network, which guarantees the quality of service through resource reservation. For each required traffic flow (hereinafter referred to as a flow), the link resource allocation method guarantees the required transmission rate (hereinafter referred to as a request rate) and the delay bound required by the flow (hereinafter referred to as a delay specification). It is about.

본 기술분야에서 통상적으로 알려져 있는 패킷 스케줄링 방법의 기준이 되는 가설적인 이론은 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)가 된다. 따라서 패킷에 대한 고속의 전송순서 결정이 요구되는 고속망 환경에 적용하기 어려운 방법이라 볼 수 있다. O(N)의 서버 가상시간 계산 복잡성은 "고속 통합 서비스망에서 WFQ의 에뮬레이션을 통한 공정 패킷 스케줄링 방법 및 그 공정 패킷 스케줄러"로 공고된 대한민국 특허 10-0369562 호(2003년 1월 30일)에 의해 O(1)로 대폭 줄어들었다. As a method of most closely implementing the above-described GPS, the papers of 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 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 time stamp of the packet (hereinafter referred to as the end time method), the delay bound of an arbitrary flow is a value obtained by dividing the maximum packet size of the flow by the required speed of the flow. (The GPS service time) and the maximum packet size in all flows divided by the transmission speed of the output link (hereafter the maximum packet transmission time). WFQ can compute and update server virtual time as many as N flows, i.e. server virtual time computation complexity, because the new packet can arrive from all flows in the worst case while one packet is being transmitted. ) 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로 계산된다. 따라서 800Kbps 만큼의 출력링크 속도가 낭비된다. In the above-described end time based scheduler, when the delay bound determined by the required speed of the flow exceeds the delay specification of the flow, the delay bound must be reduced to guarantee the delay quality, which is the speed of the output link reserved by the scheduler for the flow. This is possible by increasing the (reservation speed below). However, since the reservation is overbooked by the difference in the required speed, the output link speed is wasted. For example: In the scheduler where the output link speed is 1 Gbps and the maximum packet size of all flows is 1000 bits, the GPS service time and the maximum packet transmission time are 5 ms for flows with a request speed of 200 Kbps, a delay of 1 ms, and a maximum packet size of 1000 bits. The delay bound determined by and 1uS is about 5ms. Therefore, the reservation rate must be 1Mbps to satisfy the 1ms delay specification, so the excess reservation rate is calculated as 1Mbps-200Kbps = 800Kbps. Therefore, output link speed of 800 Kbps is wasted.

한편 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 the start time method, the delay bound of an arbitrary flow is the sum of the maximum packet sizes of all flows that can be accommodated. Is divided by the speed of the output link. Therefore, in the virtual termination time based scheme, the waste of the speed of the output link due to excessive reservation is eliminated, and the resource utilization of the output link can be greatly improved. However, all flows have the same delaybound 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 scheduler (hereinafter, referred to as a high performance scheduler) proposed in the present invention. The high performance scheduler is composed of four parts: the classifier 101, the front end server 102, the rear end server 103, and the resource manager 104. The grade discriminator 101 determines the grade by the delay standard value of the arriving flow so that the flow is input to the corresponding department in the front end server 102. The front end server is composed of M department servers, and each department server is a start time-based process packet scheduler that processes only traffic of the corresponding class. Traffic output from each department is treated as one virtual flow in the rear-end server 103. The latter server has M virtual flow queues and transmits packets of each queue to the output link. The latter server is a round-robin scheduler that allows M departments in the front-end server to use the output link evenly. Papers published by SS Kanhere, H. Sethu and AB Parekh Fair and efficient packet scheduling using elastic round robin (IEEE Transactions on Parallel and The Elastic Round-Robin method proposed in Distributed Systems 13 (3) (2002)) is used. The resource manager 104 allocates the speed of the output link, that is, bandwidth resources to the M departments, and manages the available resources of each department to determine whether to accept or reject the arriving flow. For reference, the high performance scheduler of FIG. 1 is for one output link, and the actual router is equipped with as many high performance schedulers as the number of output links.

고성능 스케줄러에서 취급되는 패킷은 흐름에서 유입된 데이터 패킷과 흐름식별자, 요구속도, 지연규격 등의 관련정보를 모두 포함하는 내부패킷이지만 실제 구현시 그 량이 많은 데이터 패킷의 취급부담을 줄이기 위해 데이터 패킷은 별도의 큐 관리자가 보관 및 관리하도록 하고, 관련정보만 갖는 작은 제어패킷으로 스케줄링 한 후 해당 데이터 패킷을 출력링크로 전송할 수도 있다.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 grade discriminator 101 may be configured as a separate program or may be embedded in a flow processing program.

전단서버(102)의 동작을 상세히 살펴보자. 각 부서버는 각기 독자적인 서버 가상시간을 운영한다. 각 부서버의 서버 가상시간은 그 부서버가 트래픽을 서비스하기 시작할때, 즉 서버 활성구간의 시작시점에 0의 값으로 초기화된다. 그리고 매 패킷의 전송 완료시 다음 전송할 패킷의 타임스탬프 값으로 갱신되고 각 패킷의 전송 중에는 실시간으로 증가된다. Let's look at the operation of the shear server 102 in detail. Each department runs its own server virtual time. The server virtual time of each department is initialized to a value of zero when that department starts serving traffic, i.e. at the beginning of the server active section. When the transmission of each packet is completed, it is updated with the timestamp value of the next packet to be transmitted, and is increased in real time during the transmission of each packet.

전단서버내 모든 부 서버는 동일한 구성을 갖고 동일하게 동작하므로 임의 부서버 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 department n 105 is described. The department n includes an enqueue server n 210, a queue block 220, a dequeue server n 230, and a plurality of registers 240, 250, and 260, as shown in FIG. 2. The queue block 220 includes a separate queue for each flow. When the maximum number of flows is V, V queues are provided. The register provided includes a virtual time register Vtime (250) having a server virtual time value, an update time register Tupdate (260) having a real time value when the server virtual time was most recently updated, and the most recently arrived packet for each flow. An end tag register matrix F [V] 240 having an end tag value is included.

엔큐서버 n(210)은 새로운 패킷이 입력할 때마다 서버 가상시간을 기준으로 타임스탬프를 계산하여 패킷의 헤더에 부가한다. 엔큐서버 n에 의해 처리된 트래픽은 큐 블록(220)내 해당 흐름의 큐에 저장된다. 디큐서버 n(230)은 다음번에 전송할 패킷을 선택할 때, 패킷이 대기 중인 각 흐름의 큐로부터 선두패킷의 타임스탬프를 비교하여 타임스탬프 값이 가장 작은 패킷을 선택하여 전송 서비스를 제공한다.The enqueue server n 210 calculates a timestamp based on the server virtual time whenever a new packet is input, and adds the time stamp to the header of the packet. The traffic processed by the enqueue server n is stored in the queue of the corresponding flow in the queue block 220. When the queue server 230 selects a packet to be transmitted next time, the queue server n 230 compares the timestamp of the first packet from the queue of each flow in which the packet is waiting, and selects the packet having the smallest timestamp value to provide a transmission service.

도 3은 도 2에 도시된 엔큐서버 n(210)에서 도착하는 패킷의 처리 과정을 설명하는 순서도이다. 새로운 패킷 도착시 단계 (320)에서 도착 시점의 서버 가상시간을 계산한다. 도착시점의 실시간을 t 라 하고, 가장 최근에 서버 가상시간이 갱신된 시 점의 실시간을 tn 라 할때 패킷 도착 시점의 서버 가상시간 v(t)의 계산 공식은 하기 수학식 1과 같다.3 is a flowchart illustrating a process of processing a packet arriving at the enqueue server n 210 illustrated in FIG. 2. Upon arrival of a new packet, the server virtual time at the time of arrival is calculated in step 320. Let t be the real time at the time of arrival, and t n at the time when the server virtual time was most recently updated. In this case, the calculation formula of the server virtual time v (t) at the time of packet arrival is shown in Equation 1 below.

Figure 112005053247471-PAT00001
Figure 112005053247471-PAT00001

수학식 1의 구현에는 가상시간 레지스터 Vtime 및 갱신시점 레지스터 Tupdate가 사용되는데, 레지스터 Vtime 및 Tupdate의 값을 각각 V_Vtime 및 V_Tupdate라 칭한다. 이들 레지스터 값은 부서버 n에 대기하고 있는 패킷이 없는, 즉 휴지구간 동안은 모두 0의 값을 갖는다. 수학식 1의 서버 가상시간 v(t)는 V_Vtime+(t-V_Tupdate)로 계산된다.In the implementation of Equation 1, the virtual time register Vtime and the update time register Tupdate are used. The values of the registers Vtime and Tupdate are called V_Vtime and V_Tupdate, respectively. These register values are all zeros for no packets waiting in department n, i.e. during idle periods. The server virtual time v (t) of Equation 1 is calculated as V_Vtime + (t-V_Tupdate).

단계 (330)에서 도착한 패킷의 첫번째 비트가 전송될 시점의 가상시간, 즉 예상 전송 시작시각을 의미하는 시작태그(Start-Tag)를 계산하고 이를 타임스탬프로 사용하는데, 먼저 시작태그의 계산방법을 설명한다. 도착한 패킷이 흐름 i의 k번째 패킷이라고 가정하면 이 패킷의 시작태그 Si k 는 단계 (320)에서 계산된 서버 가상시간 v(t)와 흐름 i의 (k-1)번째 패킷의 종료태그 Fi k -1 에 의해 하기 수학식 2와 같이 계산된다.In step 330, a start tag (Tag) representing a virtual time at which the first bit of the packet arrives, that is, an expected transmission start time, is calculated and used as a time stamp. First, a method of calculating a start tag is used. Explain. Assuming that the arrived packet is the k th packet of flow i, the start tag S i k of this packet is the server virtual time v (t) calculated in step 320 and the end tag F of the (k-1) th packet of flow i. It is calculated by the following equation (2) by i k -1 .

Figure 112005053247471-PAT00002
Figure 112005053247471-PAT00002

수학식 2에서, 흐름 i의 (k-1)번째 패킷의 종료태그 Fi k -1 는 그 패킷의 시작태그에 그 패킷의 정규화된 길이만큼 증가시킨 값으로 하기 수학식 3과 같이 계산된다.In Equation 2, the end tag F i k -1 of the (k-1) th packet of the flow i is calculated as shown in Equation 3 below by increasing the packet's normalized length to the start tag of the packet.

Figure 112005053247471-PAT00003
Figure 112005053247471-PAT00003

수학식 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 Equations 2 and 3, the register matrix F [V] 240 having the end tag value of the most recently arrived packet for each flow is used, and the initial values of the register matrix are all set to zero. A detailed implementation of step 330 is as follows; Comparing the server virtual time calculated in step 320 with the end tag register F [i] value of the flow to which the arrived packet belongs (flow i), a large value is set as a start tag value and is time stamped. After attaching to a packet, it is queued in the flow.

단계 (340)에서 흐름 i의 종료태그 레지스터 F[i]를 도착한 패킷의 정규화된 길이 값을 그 패킷의 시작태그에 더한 값으로 갱신한다.In step 340, the end tag register F [i] of flow i is updated to the normalized length value of the arriving packet plus the start tag of the packet.

도 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 deqserver n 230. When the transmission of the packet being transmitted is completed (step 410), it is checked whether there is a waiting packet in the department n, that is, whether there is a waiting packet in the queue block 220 (step 420). If there is a waiting packet, in step 430, the next packet to be transmitted, that is, the packet having the smallest timestamp among the first packets of the queue of the flow, is found and updated, the server virtual time is updated, and the associated register is updated. The process of calculating server virtual time is as follows; The timestamp value of the packet having the smallest timestamp selected above is TS, the real time when the transmission of the transmitting packet is completed is t, and the real time at the time when the server virtual time is most recently updated is t n. When the server virtual time v (t) is calculated by the following equation (4).

Figure 112005053247471-PAT00004
Figure 112005053247471-PAT00004

수학식 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 step 440, the packet selected as a result of step 430 is transmitted to the downstream server.

후단서버(103)는 기 제안된 신축적 라운드-로빈 기반 스케줄러를 사용하며, 이의 동작은 다음과 같다; 후단서버는 큐에 대기중인 패킷이 있는 가상흐름들의 목록을 의미하는 활성목록을 사용하여 최대 M개 가상흐름의 트래픽을 순차적으로 서비스 한다. 후단서버는 활성목록의 선두에 있는 가상흐름의 패킷을 서비스한 후, 계속 활성상태이면 그 가상흐름을 활성목록의 맨 끝으로 이동한다. 그리고 비활성 가상흐름에 패킷이 도착하면 활성목록의 맨끝에 그 가상흐름을 등록한다. 활성목록에 등록된 모든 가상흐름을 한번씩 순차적으로 서비스하는 것을 라운드라 하는데, 후단서버는 이러한 라운드를 반복하면서 서비스를 수행한다. 각 가상흐름의 전송 허용치는 대응되는 부서버에 할당된 스케쥴러 출력링크의 속도에 비례하며, 각 라운드에서 각 흐름의 전송 허용치는 신축적으로 운영된다.The backend server 103 uses the proposed flexible round-robin based scheduler, whose operation is as follows; The latter server sequentially services traffic of up to M virtual flows using an active list, which means a list of virtual flows with packets queued. The latter server services the packet of the virtual flow at the head of the active list, and moves the virtual flow to the end of the active list if it is still active. When a packet arrives at an inactive virtual flow, it registers the virtual flow at the end of the active list. The service that sequentially services all the virtual flows registered in the active list once is called a round, and the latter server performs the service while repeating these rounds. The transmission allowance of each virtual flow is proportional to the speed of the scheduler output link assigned to the corresponding department, and the transmission allowance of each flow is flexible in each round.

자원관리기(105)는 출력링크 속도 할당 기능과 부서버 가용자원 관리 기능으로 구성된다. 출력링크 속도 할당 기능은 스케줄러의 출력링크의 속도, 즉 대역폭 자원을 M개 부서버에 할당하는 것으로 각 부서버에게 고정된 출력링크 속도를 할당하는 정적할당과 각 부서버의 가용 자원의 상태에 따라 각 부서버에 할당되는 출력링크 속도를 최적으로 조절하는 동적할당의 두 가지 할당기능을 제공한다. 각 부서버에 할당되는 출력링크 속도의 산정과 재산정은 할당속도 대비 수익의 극대화 관점에서 결정된다. 부서버 가용자원 관리 기능은 각 부서버에 대해 할당된 출력링크 속도, 지연규격, 현재 수용 중인 흐름의 수, 현재 수용 중인 흐름들의 요구속도 합 및 현재 수용중인 흐름들의 최대 패킷 크기 합을 기록 및 유지하고, 이로부터 다음과 같이 가용 속도와 가용 지연바운드를 계산한다; 가용 속도는 할당된 출력링크 속도에서 현재 수용 중인 흐름들의 요구속도 합을 뺀 값으로 계산되고, 가용 지연바운드는 지연규격에서 현재의 지연바운드(현재 수용중인 흐름들의 최대 패킷 크기 합을 할당된 출력링크 속도로 나눈 값)을 뺀 값으로 계산된다. 스케줄러에 새로운 흐름이 도착할 때 그 흐름을 위한 가용 자원이 있을 경우만 수락되는데, 가용 자원이 있는지의 여부는 다음과 같이 판단한다; 흐름의 지연규격에 해당하는 등급을 구하고, 구해진 등급에 해당하는 부서버에 대해 그 흐름을 수용하였을 때 가용 속도와 가용 지연바운드를 계산하여 할당된 출력링크 속도와 지연규격을 위반하는지의 여부를 조사하여 위반하지 않으면 가용 자원이 있는 것으로 판단한다. The resource manager 105 is composed of an output link speed allocation function and a department resource management function. The output link speed allocation function allocates the scheduler's output link speed, that is, bandwidth resources to M departments, according to the static allocation that assigns fixed output link speeds to each department and the status of available resources of each department. It provides two allocation functions of dynamic allocation to optimally adjust the output link speed allocated to each department. The calculation and recalculation of the output link speed assigned to each department is determined from the point of view of maximizing profit against the allocation speed. The department available resource management function records and maintains the output link speed, delay specification, the number of flows currently accepted, the sum of the required rates of flows currently accepted and the maximum packet size of the flows currently accommodated for each department From this, the available speed and available delay bound are calculated as follows; The available rate is calculated by subtracting the required rate of flows currently being accepted from the assigned output link speed, and the available delay bounds are the current delay bounds (the maximum packet size sum of the currently accepted flows) from the delay specification. Calculated by subtracting speed divided by speed). When a new flow arrives at the scheduler, it is only accepted if there are available resources for that flow, whether or not there are available resources is determined as follows; Determine the class corresponding to the delay specification of the flow, and calculate the available speed and available delay bound when accepting the flow for the department corresponding to the obtained class to investigate whether the assigned output link speed and delay specification are violated. If not violated, it is determined that there are available resources.

한편 종료시각 기반 공정 패킷 스케줄러는 스케줄러에 수용되는 최대 흐름의 수를 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)

자원예약 기반의 서비스 품질 보장을 지원하는 고속 패킷 노드에 적용되는 공정 패킷 스케줄러에 있어서,A process packet scheduler applied to a high speed packet node supporting resource reservation based quality of service guarantee, 상기 스케줄러에서 지원되는 모든 지연규격들을 서로 다른 지연규격의 수보다 그 수가 많지 않은 지연등급들로 분류하고, 각 지연등급의 지연규격을 그 등급내 가장 엄격한 지연규격으로 설정하는 방법;A method of classifying all delay specifications supported by the scheduler into delay classes not more than the number of different delay specifications, and setting the delay specifications of each delay class to the strictest delay standards in the class; 시작시각 기반 공정 패킷 스케줄러로 구성되는 부서버를 지연등급 수만큼 병렬로 구성하고, 각 부서버는 해당 등급에 속하는 흐름들만 처리하는 방법;A method of configuring a department server configured as a start time-based process packet scheduler in parallel by the number of delay classes, and each department server processing only flows belonging to the class; 스케줄러의 출력링크의 속도를 각 부서버에 정적.동적으로 할당하는 방법;A method of statically and dynamically allocating the speed of the scheduler's output link to each department; 도착 흐름의 지연규격으로 등급을 판단하고, 해당 부서버에서 도착 흐름을 수용하였을 때 가용 속도가 할당된 출력링크의 속도를 초과하는지, 가용 지연바운드가 지연규격을 초과하는지 여부로 그 흐름의 수락여부를 판단하는 방법; 및Determining the class by the delay specification of the arrival flow and accepting the flow by determining whether the available speed exceeds the speed of the assigned output link when the arrival flow accepts the arrival flow, and whether the available delay bound exceeds the delay specification. How to determine; And 신축적 라운드-로빈 방식의 후단 서버로 모든 부서버의 출력 트래픽을 공평하게 출력링크로 전송하는 방법을 특징으로 하는 공정 패킷 스케줄링 방식.A process packet scheduling method comprising a method of transmitting output traffic of all departments to an output link evenly to a flexible round-robin rear end server.
KR1020050088679A 2005-09-23 2005-09-23 A Fair Packet Scheduling Method with a High Resource Utilization and Low Implementation Complexity KR100757194B1 (en)

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 true KR20070034232A (en) 2007-03-28
KR100757194B1 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)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002354023A (en) 2001-05-25 2002-12-06 Fujitsu Ltd Method and device for packet scheduling
KR100439970B1 (en) * 2002-04-10 2004-07-12 학교법인 인하학원 Packet scheduling device and method for wireless delay proportional differentiation service
KR100523482B1 (en) * 2003-02-10 2005-10-25 한국과학기술원 AAL2 ATM / Packet Link Multiplexing Schemes and Devices Guaranteeing the Delay Requirements of Various Services

Also Published As

Publication number Publication date
KR100757194B1 (en) 2007-09-07

Similar Documents

Publication Publication Date Title
EP1774714B1 (en) Hierarchal scheduler with multiple scheduling lanes
US5831971A (en) Method for leaky bucket traffic shaping using fair queueing collision arbitration
Ramabhadran et al. Stratified round robin: A low complexity packet scheduler with bandwidth fairness and bounded delay
US6519595B1 (en) Admission control, queue management, and shaping/scheduling for flows
US6377546B1 (en) Rate guarantees through buffer management
US7075934B2 (en) Method and apparatus for hierarchical bandwidth distribution in a packet network
Ramabhadran et al. The stratified round robin scheduler: design, analysis and implementation
CN100466593C (en) Method of implementing integrated queue scheduling for supporting multi service
JP3830937B2 (en) Packet scheduling system and method for high-speed packet networks
EP2063580B1 (en) Low complexity scheduler with generalized processor sharing GPS like scheduling performance
KR100588001B1 (en) Weighted packet scheduling system and its method
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
Tong et al. Quantum varying deficit round robin scheduling over priority queues
KR100745679B1 (en) Method and apparatus for packet scheduling using adaptation round robin
EP1797682B1 (en) Quality of service (qos) class reordering
Gupta et al. Traffic classification for round-robin scheduling schemes in ATM networks
Martinez et al. Decoupling the bandwidth and latency bounding for table-based schedulers
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
Kaur et al. Providing deterministic end-to-end fairness guarantees in core-stateless networks
Al-Khasib et al. Fair and efficient frame-based scheduling algorithm for multimedia networks
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