KR100655453B1 - Method and device of scheduling in channel based network and computer-readable medium having thereon program performing function embodying the same - Google Patents

Method and device of scheduling in channel based network and computer-readable medium having thereon program performing function embodying the same Download PDF

Info

Publication number
KR100655453B1
KR100655453B1 KR1020050130266A KR20050130266A KR100655453B1 KR 100655453 B1 KR100655453 B1 KR 100655453B1 KR 1020050130266 A KR1020050130266 A KR 1020050130266A KR 20050130266 A KR20050130266 A KR 20050130266A KR 100655453 B1 KR100655453 B1 KR 100655453B1
Authority
KR
South Korea
Prior art keywords
weight limit
data
limit value
priority table
lower priority
Prior art date
Application number
KR1020050130266A
Other languages
Korean (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 전자부품연구원
Priority to KR1020050130266A priority Critical patent/KR100655453B1/en
Application granted granted Critical
Publication of KR100655453B1 publication Critical patent/KR100655453B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A device and a method for scheduling the channel-based network, and a computer-readable recording medium storing a program for implementing the same are provided to guarantee QoS(Quality of Service) with minimization of waiting time for referring to each table by transmitting a data packet after performing scheduling based on an upper and lower priority weight limit stored in a virtual lane arbitration table. The upper and lower priority weight limit setting limit of a size used in upper and lower priority data transfer is added to an upper and lower priority table(S110). The data transfer is performed based on a pointer of the upper priority table(S120). If accumulated quantity of the transferred data is over the upper priority weight limit, the data transfer is stopped, the accumulated quantity is initialized, and the pointer is moved to the lower priority table(S130). The data transfer is performed based on the pointer of the lower priority table(S140). If the accumulated quantity of the transferred data is over the lower priority weight limit, the data transfer is stopped, the accumulated quantity is initialized, the pointer is moved to the upper priority table, and a process is jumped to the second step(S150).

Description

채널 기반 네트워크의 스케줄링 장치 및 방법과 이를 구현하는 기능을 실현시키기 위한 프로그램 기록한 컴퓨터로 판독가능한 기록 매체{METHOD AND DEVICE OF SCHEDULING IN CHANNEL BASED NETWORK AND COMPUTER-READABLE MEDIUM HAVING THEREON PROGRAM PERFORMING FUNCTION EMBODYING THE SAME}Scheduling apparatus and method of a channel-based network and a program-recorded computer-readable recording medium for realizing a function for realizing the same.

도 1은 종래의 채널 기반 네트워크에서 링크 계층에서의 패킷 전송을 위한 구조도.1 is a structural diagram for packet transmission in a link layer in a conventional channel-based network.

도 2는 종래의 채널 기반 네트워크에서 서비스-레벨-대-가상-레인 매핑 테이블(SLtoVLMappingTable)과 가상 레인 중재 테이블(VLArbitrationTable)의 실제 테이블 구성예를 나타내는 도면.2 is a diagram showing an example of the actual table configuration of a service-level-to-virtual-lane mapping table (SLtoVLMappingTable) and a virtual lane arbitration table (VLArbitrationTable) in a conventional channel-based network.

도 3은 종래의 채널 기반 네트워크에 대한 인피니밴드(Infiniband) 규격에서 정의하는 가상 레인 중재 테이블(VLArbitrationTable)의 구성도.3 is a configuration diagram of a virtual lane arbitration table (VLArbitrationTable) defined in an Infiniband specification for a conventional channel-based network.

도 4는 본 발명의 채널 기반 네트워크의 스케줄링 방법의 흐름도.4 is a flowchart of a scheduling method of a channel-based network of the present invention.

도면 5는 본 발명에 따른 채널 기반 네트워크의 QoS를 위한 중재 테이블 재구성 및 스케줄링 방법에서의 가장 레인 중재 테이블(VLArbitrationTable)의 예를 나타내는 도면.FIG. 5 is a diagram illustrating an example of an edge lane arbitration table (VLArbitrationTable) in an arbitration table reconfiguration and scheduling method for QoS in a channel-based network according to the present invention. FIG.

도 6은 본 발명에 따른 채널 기반 네트워크의 스케줄링 방법을 구현한 예시적인 의사 코드(Pseudo-code)를 나타내는 도면.6 illustrates an exemplary pseudo-code implementing the scheduling method of a channel-based network in accordance with the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

110: 패킷 120: 서비스-레벨-대-가상-레인 매핑 테이블110: packet 120: service-level-to-virtual-lane mapping table

130: 가상 레인 140: 스케줄러130: virtual lane 140: scheduler

150: 패킷 160: 가상 레인 중재 테이블150: packet 160: virtual lane arbitration table

본 발명은 채널 기반 네트워크의 스케줄링 장치 및 방법과 이를 구현하는 기능을 실현시키기 위한 프로그램 기록한 컴퓨터로 판독가능한 기록 매체에 관한 것으로, 더욱 구체적으로는 채널기반 네트워크에서 링크 계층의 데이터 패킷에 대한 스케줄링에 있어서, 상위 우선 순위 테이블의 엔트리와 하위 우선순위 테이블의 엔트리를 참조하는 것에 의해서 패킷의 전송 대기 시간이 길어지는 단점을 개선하여 우선 채널 기반 네트워크에서 정의하는 각 서비스 레벨에 따라 해당 서비스의 요구 트래픽을 분류하고 각 서비스의 전송 우선 순위로 구분하여 출력 포트의 가상 레인 중재 테이블(VLArbitrationTable)에 상위 우선 순위 가중치 제한값(VLHighLimit)과 하위 우선 순위 가중치 제한값(VLLowLimit)을 저장하고 이를 기초로 스케줄링을 수행하여 데이터 패킷을 전송하도록 함으로서 각각의 테이블을 참조하기 위한 대기 시간을 최소화하여 QoS를 보장하는 채널 기반 네트워크의 스케줄링 장치 및 방법과 이를 구현하는 기능을 실현시키기 위한 프로그램 기록한 컴퓨터로 판독가능한 기록 매체에 관한 것이다.The present invention relates to an apparatus and method for scheduling a channel-based network, and a program-recorded computer-readable recording medium for realizing a function for implementing the same. More particularly, the present invention relates to scheduling of data packets of a link layer in a channel-based network. By classifying the entry of the upper priority table and the entry of the lower priority table, the disadvantage of longer packet transmission latency is improved, thereby classifying the required traffic of the service according to each service level defined in the priority channel based network. And store the high priority weight limit value (VLHighLimit) and the low priority weight limit value (VLLowLimit) in the virtual lane arbitration table (VLArbitrationTable) of the output port. Transfer The present invention relates to a scheduling apparatus and method of a channel-based network that guarantees QoS by minimizing waiting time for referencing each table, and to a program-recorded computer-readable recording medium for realizing a function for implementing the same.

채널 기반 네트워크에서는 QoS(Quality of service)을 제공하기 위하여 링크 계층에서 서비스 레벨 (Service Level), 가상 레인(Virtual Lane, VL), 가상 레인 중재 테이블(VLArbitrationTable)의 세 가지 메커니즘을 제공하고 있다. Channel-based networks provide three mechanisms at the link layer: service level, virtual lane (VL), and virtual lane arbitration table (VLArbitrationTable) in order to provide quality of service (QoS).

도 1은 종래의 채널 기반 네트워크에서 링크 계층에서의 패킷 전송을 위한 구조도이다.1 is a structural diagram for packet transmission in a link layer in a conventional channel-based network.

도시되듯이 상위 계층에서 서로 다른 서비스 클래스를 갖는 패킷(110)이 링크 계층으로 전송되면 서비스-레벨-대-가상-레인 매핑 테이블(SLtoVLMappingTable, 120)에 의해 해당 가상 레인(130a 내지 130d)으로 분류가 되고, 스케쥴러(140)는 가상 레인(130a 내지 130d)에 저장된 패킷을 패킷 스케줄링 알고리즘에 따라 패킷(150) 형태로 물리 계층으로 전송한다.As shown, when packets 110 having different service classes in the upper layer are transmitted to the link layer, they are classified into corresponding virtual lanes 130a through 130d by the service-level-to-virtual-lane mapping table (SLtoVLMappingTable 120). The scheduler 140 transmits the packets stored in the virtual lanes 130a to 130d to the physical layer in the form of a packet 150 according to a packet scheduling algorithm.

실제 서비스 레벨에 대해서 채널 기반 네트워크 명세서에서 최대 16개의 서비스 클래스를 정의하고 있지만 각 서비스 클래스의 정확한 특성에 대해서는 정의하고 있지 않다.  Up to 16 service classes are defined in the channel-based network specification for the actual service level, but the exact characteristics of each service class are not defined.

따라서 각 서비스 레벨에 따라 어떠한 방식으로 차별적인 데이터 전송을 수행할지 여부는 네트워크 관리자에 의해서 정의될 수 있다. 또한 각각의 서비스 레벨은 서비스-레벨-대-가상-레인 매핑 테이블(120)에 의해서 해당 서비스 클래스가 사용될 가상 레인이 지정된다.Therefore, how to perform differential data transmission in accordance with each service level can be defined by the network administrator. In addition, each service level is designated by a service-level-to-virtual-lane mapping table 120 to designate a virtual lane in which a corresponding service class is to be used.

채널 기반 네트워크에서 포트는 가상 레인이라는 하나의 물리적인 링크 내에 다중의 가상 링크를 생성하는 메커니즘을 지원한다. In a channel-based network, a port supports a mechanism for creating multiple virtual links within one physical link called a virtual lane.

하나의 가상 레인은 한 포트에서 송수신을 위해 사용되는 버퍼로 나타낼 수 있고, 그 포트는 최소 두 개에서 최대 16개의 가상 레인(VL0 내지 VL15)로 구성되며, 모든 포트는 반드시 서브넷 매니저(도시되지 않음)에 의해서 사용될 관리 가상 레인(VL15)를 지원해야 한다. One virtual lane can be represented as a buffer used for sending and receiving on one port, and the port consists of at least two to up to 16 virtual lanes (VL 0 to VL 15 ), and all ports must be subnet managers (shown in the figure). Support virtual lanes (VL 15 ) to be used by the server.

관리 가상 레인(VL15)은 다른 가상 레인(VL0 내지 VL14)에서의 데이터 트래픽보다 우선 순위가 높다. 또한 가상 레인(VL)을 통해 전송되는 각 패킷의 헤더에는 서비스 레벨에 대한 정보를 가지고 있고, 서비스 레벨과 가상 레인 사이의 대응 관계는 서비스-레벨-대-가상-레인 매핑 테이블(120)에 의해서 정해진다. 또한 각 가상 레인은 데이터 흐름 제어를 위하여 별도의 자원(resource)을 가지고 있어야 한다. The management virtual lane VL 15 has a higher priority than data traffic in other virtual lanes VL 0 to VL 14 . In addition, the header of each packet transmitted through the virtual lane (VL) has information about the service level, and the correspondence between the service level and the virtual lane is determined by the service-level-to-virtual-lane mapping table 120. It is decided. In addition, each virtual lane must have a separate resource for data flow control.

두 개 이상의 가상 레인이 실행될 때 각 데이터 가상 레인의 우선 순위는 가상 레인 중재 테이블(VLArbitrationTable)에 의해서 정해지며, 이 가상 레인 중재 테이블은 관리 목적의 패킷만을 위한 가상 레인(VL15)을 제외한 데이터 가상 레인(VL0 내지 VL14)에 대해서만 적용된다. When more than one virtual lanes run priority of each data virtual lanes is determined by the virtual lane arbitration table (VLArbitrationTable), the virtual lane arbitration table data virtual excluding the virtual lane (VL 15) for only the packets of the management object Applies only for lanes VL 0 to VL 14 .

도 2는 종래의 채널 기반 네트워크에서 서비스-레벨-대-가상-레인 매핑 테이블(SLtoVLMappingTable)과 가상 레인 중재 테이블(VLArbitrationTable)의 실제 테이블 구성예를 나타내는 도면이다.FIG. 2 is a diagram illustrating an actual table configuration example of a service-level-to-virtual-lane mapping table (SLtoVLMappingTable) and a virtual lane arbitration table (VLArbitrationTable) in a conventional channel-based network.

스케줄러(140)는 가상 레인 중재 테이블(160)에 지정된 각 가상 레인의 가중치(Weight)를 참고하여 테이블의 각 엔트리를 순차적으로 탐색한다. The scheduler 140 sequentially searches each entry of the table by referring to the weight of each virtual lane specified in the virtual lane arbitration table 160.

또한, 가상 레인 중재 테이블(160)에는 두 개의 테이블을 포함하며, 하나의 테이블은 상위 우선 순위를 가지는 패킷을 스케줄링하기 위한 64개의 테이블 엔트리를 가진 테이블이며, 나머지 하나의 테이블은 하위 우선 순위를 가진 패킷을 스케줄링을 하기 위한 64개의 테이블 엔트리를 가진 테이블이다. In addition, the virtual lane arbitration table 160 includes two tables, one table having 64 table entries for scheduling a packet having a higher priority, and the other table having a lower priority. A table with 64 table entries for scheduling packets.

도 3은 종래의 채널 기반 네트워크에 대한 인피니밴드(Infiniband) 규격에서 정의하는 가상 레인 중재 테이블(VLArbitrationTable)의 구성도이다.3 is a configuration diagram of a virtual lane arbitration table (VLArbitrationTable) defined in an Infiniband specification for a conventional channel-based network.

도시되듯이, 가상 레인 중재 테이블은 단지 각 엔트리에 정의된 우선 순위 수준에 따라서 가중치를 이용한 라운드 로빈을 수행하도록 구성된다. As shown, the virtual lane arbitration table is configured to perform round robin using weights only according to the priority level defined for each entry.

종래의 채널 기반 네트워크 규격에 의하면 가상 레인 중재 테이블은 상위 우선 순위 64개와 하위 우선 순위 64개의 엔트리로 총 128개의 엔트리로 구성되며, 각 엔트리는 최고 255의 가중치를 가질 수 있으며 가중치 당 64 바이트의 크기를 갖는다. According to the conventional channel-based network standard, the virtual lane arbitration table is composed of 128 entries of 64 upper priority and 64 lower priority, each entry can have a weight of up to 255 and a size of 64 bytes per weight. Has

만약에 한 엔트리가 255의 가중치를 갖는다면 그 엔트리로 전송이 가능한 데이터 크기는 255x64B = 16KB 가 되고 상위 우선 순위의 64개 모든 엔트리가 255라면 전송 가능한 전체 데이터 크기는 64x16KB = 1MB가 된다. If an entry has a weight of 255, the data size that can be transferred to that entry is 255x64B = 16KB, and if all 64 entries of the higher priority are 255, the total data size that can be transferred is 64x16KB = 1MB.

즉 각 엔트리에는 해당 가상 레인을 통하여 전송될 64개의 엔트리에 대해서 0에서 255까지 가중치가 설정되어 있으며, 데이터를 전송하기 위해 이 테이블을 참조하게 되면 각 엔트리에 설정된 가중치만큼을 전송하고 다음 엔트리를 처리하는 것을 반복해서 수행한다. 그러나 이러한 가상 레인 중재 테이블에서 어떤 것이 상위 우선순위를 갖는지 하위 우선순위를 갖는지는 정의하고 있지 않다That is, each entry has a weight set from 0 to 255 for 64 entries to be transmitted through the corresponding virtual lane.When this table is referred to for data transmission, the weight set for each entry is transmitted and the next entry is processed. Repeat what you do. However, it does not define which of these virtual lane arbitration tables has a higher priority or a lower priority.

이와 같이 종래의 채널 기반 네트워크에서 링크 계층은 데이터 패킷을 전송하는 데 사용되는 최대 16개의 가상 레인을 스케줄링하기 위해 가상 레인 중재 테이블(VLArbitrationTable)을 사용하며, 가상 레인 중재 테이블은 다시 우선 순위에 따라 상위 우선순위 테이블과 하위 우선순위 테이블로 구분되며, 각 테이블의 엔트리에 대해서 포인터를 이용하여 스케줄링을 수행한다. As such, in the conventional channel-based network, the link layer uses a virtual lane arbitration table (VLArbitrationTable) to schedule up to 16 virtual lanes used to transmit data packets, and the virtual lane arbitration table is again ranked according to priority. It is divided into priority table and lower priority table. Scheduling is performed by using pointers to entries of each table.

이와 같은 종래의 스케줄링은 예컨대 알파로 등의 논문(F.J. Alfaro, J.L. Sanchez, and J. Duato, "QoS in Infiniband Subnetworks", IEEE Transactions on Parallel and AND Distributed systems, Vol. 15, No. 9, September, 2004)을 참조할 수 있다.Such conventional scheduling is described, for example, in Alfaro et al. (FJ Alfaro, JL Sanchez, and J. Duato, "QoS in Infiniband Subnetworks", IEEE Transactions on Parallel and AND Distributed systems, Vol. 15, No. 9, September, 2004).

그러나 종래의 채널 기반 네트워크에서의 이러한 스케줄링은 얼마나 많은 데이터를 어떤 우선 순위 테이블을 참조해서 전송해야 할지에 대해서는 정의하지 않고 있다. 따라서 우선 순위가 높은 데이터 패킷이 우선 순위가 낮은 데이터 패킷 전송을 수행하는 것에 의해서 전송 대기 시간이 길어질 수 있으며, 또는 우선 순위가 낮은 데이터 패킷이 우선 순위가 높은 패킷의 전송을 수행하는 것에 의해서 전송 대기 시간이 과도하게 길어질 수 있는 문제점이 발생할 수 있다.However, such scheduling in a channel-based network does not define how much data should be transmitted with reference to which priority table. Therefore, the transmission waiting time may be increased by the high priority data packet performing the low priority data packet transmission, or the low priority data packet waiting to be transmitted by performing the high priority packet transmission. Problems can arise that can be excessively long.

본 발명의 목적은 채널기반 네트워크에서 링크 계층의 데이터 패킷에 대한 스케줄링에 있어서, 상위 우선 순위 테이블의 엔트리와 하위 우선순위 테이블의 엔트리를 참조하는 것에 의해서 패킷의 전송 대기 시간이 길어지는 단점을 개선하여 우선 채널 기반 네트워크에서 정의하는 각 서비스 레벨에 따라 해당 서비스의 요구 트래픽을 분류하고 각 서비스의 전송 우선 순위로 구분하여 출력 포트의 가상 레인 중재 테이블(VLArbitrationTable)에 상위 우선 순위 가중치 제한값(VLHighLimit)과 하위 우선 순위 가중치 제한값(VLLowLimit)을 저장하고 이를 기초로 스케줄링을 수행하여 데이터 패킷을 전송하도록 함으로서 각각의 테이블을 참조하기 위한 대기 시간을 최소화하여 QoS를 보장하는 채널 기반 네트워크의 QoS를 위한 중재 테이블 재구성 및 스케줄링 장치 및 방법을 제공하는 데 있다.An object of the present invention is to improve the disadvantage that the transmission latency of the packet is increased by referring to the entry of the high priority table and the entry of the low priority table in scheduling of the data packet of the link layer in the channel-based network. Classify the required traffic of the service according to each service level defined in the preferred channel-based network, and classify it as the transmission priority of each service, and then the high priority weight limit value (VLHighLimit) and the lower value in the VLArbitrationTable of the output port. Reconstruction of arbitration tables for QoS in channel-based networks that guarantee QoS by minimizing latency to refer to each table by storing priority weight limit value (VLLowLimit) and performing scheduling based on it Scheduling device and There is provided a method.

본 발명의 다른 목적은 상기 채널 기반 네트워크의 스케줄링 방법을 구현하는 기능을 실현시키기 위한 프로그램 기록한 컴퓨터로 판독가능한 기록 매체를 제공하는데 있다.Another object of the present invention is to provide a program-recorded computer-readable recording medium for realizing the function of implementing the scheduling method of the channel-based network.

상기 기술적 과제를 달성하기 위하여, 본 발명은 상위 우선 순위 테이블과 하위 우선 순위 테이블을 구비하는 가상 레인 중재 테이블을 이용한 채널 기반 네트워크의 스케줄링 방법으로서, (a) 상기 상위 우선 순위 테이블과 상기 하위 우선 순위 테이블 각각에 상위 우선 순위의 데이터 전송에 사용되는 크기와 하위 우선 순위 데이터 전송에 사용되는 크기의 제한을 설정하는 상위 우선 순위 가중치 제한값(VLHighLimit)과 하위 우선 순위 가중치 제한값(VLLowLimit)을 추가하는 단계와, (b) 상기 상위 우선 순위 테이블의 포인터를 기초로 데이터 전송을 수행하는 단계와, (c) 상기 단계 (b)에서 전송되는 데이터의 누적 양이 상기 상위 우선 순위 가중치 제한값에서 제한된 데이터 크기를 넘어서면 상기 단계 (b)에서의 데이터 전송을 중단하고 상기 단계 (b)에서 전송되는 데이터의 누적 양을 초기화하고 상기 하 위 우선 순위 테이블로 포인터를 이동하는 단계와, (d) 상기 하위 우선 순위 테이블의 포인터를 기초로 데이터의 전송을 수행하는 단계와, (e) 상기 단계 (d)에서 전송되는 데이터의 누적 양이 상기 하위 우선 순위 가중치 제한값에서 제한된 데이터 크기를 넘어서면 상기 단계 (d)에서의 데이터 전송을 중단하고 상기 단계 (d)에서 전송되는 데이터의 누적 양을 초기화하고 상기 상위 우선 순위 테이블로 포인터를 이동한 후 단계 (b)로 점프하는 단계를 포함하는 채널 기반 네트워크의 스케줄링 방법을 제공한다.In order to achieve the above technical problem, the present invention provides a scheduling method of a channel-based network using a virtual lane arbitration table having a high priority table and a low priority table, (a) the high priority table and the low priority Adding a high priority weight limit (VLHighLimit) and a low priority weight limit (VLLowLimit) to each of the tables that sets a limit on the size used for high priority data transfer and the size used for low priority data transfer; (b) performing data transmission based on a pointer of the higher priority table, and (c) the cumulative amount of data transmitted in the step (b) exceeds a data size limited from the upper priority weight limit value. Stop the data transfer in step (b) in writing and transfer in step (b) Initializing the accumulated amount of data and moving the pointer to the lower priority table; (d) performing data transmission based on the pointer of the lower priority table; and (e) the step ( If the cumulative amount of data transmitted in d) exceeds the limited data size in the lower priority weight limit value, the data transmission in step (d) is stopped and the accumulated amount of data transmitted in step (d) is initialized. A method of scheduling a channel-based network comprising moving a pointer to the higher priority table and then jumping to step (b).

본 발명에 따른 채널 기반 네트워크의 스케줄링 방법에 있어서, 상기 포인터는 상기 상위 우선 순위 테이블 또는 상기 하위 우선 순위 테이블에서 전송을 수행할 위치에 지정되는 것이 바람직하다.In the scheduling method of the channel-based network according to the present invention, the pointer is preferably assigned to a position to perform transmission in the upper priority table or the lower priority table.

또한 본 발명에 따른 채널 기반 네트워크의 스케줄링 방법에 있어서, 상기 상위 우선 순위 가중치 제한값 또는 상기 하위 우선 순위 가중치 제한값을 가변적으로 설정하는 단계를 더 포함할 수 있다.In addition, the scheduling method of the channel-based network according to the present invention may further include the step of variably setting the upper priority weight limit value or the lower priority weight limit value.

또한 본 발명에 따른 채널 기반 네트워크의 스케줄링 방법에 있어서, 상기 상위 우선 순위 가중치 제한값 또는 상기 하위 우선 순위 가중치 제한값이 0이 아닌지 검사하여 0이면 해당 상기 상위 우선 순위 테이블 또는 상기 하위 우선 테이블을 기초로 한 데이터 전송을 하지 않는 단계를 더 포함할 수 있다.In addition, in the scheduling method of a channel-based network according to the present invention, if the upper priority weight limit value or the lower priority weight limit value is not 0 and is 0, it is based on the corresponding upper priority table or the lower priority table. The method may further include disabling data transmission.

또한 본 발명은 채널 기반 네트워크의 스케줄링 장치로서, 본 발명에 따른 채널 기반 네트워크의 스케줄링 방법을 사용하여 동작하는 채널 기반 네트워크의 스케줄링 장치를 제공한다.The present invention also provides a scheduling apparatus for a channel-based network, and provides a scheduling apparatus for a channel-based network that operates using a scheduling method for a channel-based network according to the present invention.

또한 본 발명은 상위 우선 순위 테이블과 하위 우선 순위 테이블을 구비하는 가상 레인 중재 테이블을 이용한 채널 기반 네트워크의 스케줄링 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체로서, (a) 상기 상위 우선 순위 테이블과 상기 하위 우선 순위 테이블 각각에 상위 우선 순위의 데이터 전송에 사용되는 크기와 하위 우선 순위 데이터 전송에 사용되는 크기의 제한을 설정하는 상위 우선 순위 가중치 제한값(VLHighLimit)과 하위 우선 순위 가중치 제한값(VLLowLimit)을 추가하는 기능과, (b) 상기 상위 우선 순위 테이블의 포인터를 기초로 데이터 전송을 수행하는 기능과, (c) 상기 기능 (b)에서 전송되는 데이터의 누적 양이 상기 상위 우선 순위 가중치 제한값에서 제한된 데이터 크기를 넘어서면 상기 기능 (b)에서의 데이터 전송을 중단하고 상기 기능 (b)에서 전송되는 데이터의 누적 양을 초기화하고 상기 하위 우선 순위 테이블로 포인터를 이동하는 기능과, (d) 상기 하위 우선 순위 테이블의 포인터를 기초로 데이터의 전송을 수행하는 기능과, (e) 상기 기능 (d)에서 전송되는 데이터의 누적 양이 상기 하위 우선 순위 가중치 제한값에서 제한된 데이터 크기를 넘어서면 상기 기능 (d)에서의 데이터 전송을 중단하고 상기 기능 (d)에서 전송되는 데이터의 누적 양을 초기화하고 상기 상위 우선 순위 테이블로 포인터를 이동한 후 기능 (b)로 점프하는 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체를 제공한다.The present invention also provides a computer-readable recording medium having recorded thereon a program for realizing a scheduling function of a channel-based network using a virtual lane arbitration table having an upper priority table and a lower priority table. A high priority weight limit value (VLHighLimit) and a low priority weight limit value (VLLowLimit) that set a limit on the size used for high priority data transfer and the size used for low priority data transfer in the table and the lower priority table, respectively. ), (B) a function of performing data transmission based on a pointer of the higher priority table, and (c) a cumulative amount of data transmitted from the function (b) is the higher priority weight limit value. If the data size exceeds the limited data size in (b) Stop the transmission, initialize the cumulative amount of data transmitted in the function (b) and move the pointer to the lower priority table; and (d) perform data transmission based on the pointer of the lower priority table. And (e) if the cumulative amount of data transmitted in the function (d) exceeds the limited data size in the lower priority weight limit value, stops data transmission in the function (d) and the function (d) A computer-readable recording medium having recorded thereon a program for realizing a function of initializing a cumulative amount of data to be transmitted in the system, moving a pointer to the upper priority table, and then jumping to function (b).

본 발명에 따른 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 포인터는 상기 상위 우선 순위 테이블 또는 상기 하위 우선 순위 테이블에서 전송을 수행할 위치에 지정되는 것이 바람직하다.In the computer-readable recording medium according to the present invention, it is preferable that the pointer is designated at a position to perform transmission in the upper priority table or the lower priority table.

또한 본 발명에 따른 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 상위 우선 순위 가중치 제한값 또는 상기 하위 우선 순위 가중치 제한값을 가변적으로 설정하는 기능을 더 포함할 수 있다.The computer-readable recording medium according to the present invention may further include a function of variably setting the upper priority weight limit value or the lower priority weight limit value.

또한 본 발명에 따른 컴퓨터로 판독 가능한 기록 매체에 있어서, 상기 상위 우선 순위 가중치 제한값 또는 상기 하위 우선 순위 가중치 제한값이 0이 아닌지 검사하여 0이면 해당 상기 상위 우선 순위 테이블 또는 상기 하위 우선 테이블을 기초로 한 데이터 전송을 하지 않는 기능을 더 포함할 수 있다.In addition, in the computer-readable recording medium according to the present invention, by checking whether the upper priority weight limit value or the lower priority weight limit value is not 0, and based on the corresponding upper priority table or the lower priority table. It may further include a function that does not transmit data.

이하, 본 발명의 채널 기반 네트워크의 스케줄링 장치 및 방법과 이를 구현하는 기능을 실현시키기 위한 프로그램 기록한 컴퓨터로 판독가능한 기록 매체를 첨부한 도면을 참조로 하여 보다 구체적으로 설명한다.Hereinafter, a scheduling apparatus and method of a channel-based network of the present invention and a program-recorded computer-readable recording medium for realizing a function for implementing the same will be described in more detail with reference to the accompanying drawings.

도 4는 본 발명의 채널 기반 네트워크의 스케줄링 방법의 흐름도이다.4 is a flowchart of a scheduling method of a channel-based network of the present invention.

본 발명의 채널 기반 네트워크의 스케줄링 방법은 상위 우선 순위 테이블과 하위 우선 순위 테이블을 구비하는 가상 레인 중재 테이블에서 상위 우선 순위 테이블과 하위 우선 순위 테이블 각각에 상위 우선 순위의 데이터 전송에 사용되는 크기와 하위 우선 순위 데이터 전송에 사용되는 크기의 제한을 설정하는 상위 우선 순위 가중치 제한값(VLHighLimit)과 하위 우선 순위 가중치 제한값(VLLowLimit)을 추가한다(S110). 즉 종래의 상위 우선 순위 테이블과 하위 우선 순위 테이블이 도 3에 도시되듯이 해당 엔트리에 대한 가중치에 대해서만 구성되는 반면, 본 발명에 따른 채널 기반 네트워크의 스케줄링 방법에 있어서는 상위 우선 순위 가중치 제한값과 하위 우선 순위 가중치 제한값을 포함하는 것이다.In the scheduling method of the channel-based network of the present invention, a size and a lower level used for data transmission of higher priority in the upper priority table and the lower priority table in the virtual lane arbitration table including the upper priority table and the lower priority table. A high priority weight limit value (VLHighLimit) and a low priority weight limit value (VLLowLimit) for setting a size limit used for priority data transmission are added (S110). That is, while the conventional upper priority table and lower priority table are configured only for the weights for the corresponding entries as shown in FIG. 3, in the scheduling method of the channel-based network according to the present invention, the upper priority weight limit value and the lower priority. It includes the rank weight limit value.

이후 상위 우선 순위 테이블의 포인터를 기초로 데이터 전송의 스케줄링을 하여 데이터 전송을 수행한다(S120). 예컨대 상위 우선 순위 테이블의 전송을 시작할 때 2번째 엔트리에 포인터가 위치한다면 2번째 엔트리에 해당하는 데이터를 우선 전송하는 것이다. 즉 포인터는 상위 우선 순위 테이블 또는 하위 우선 순위 테이블에서 전송을 수행할 위치에 지정되며, 초기에는 상위 우선 순위 테이블에 위치한다.Thereafter, data transmission is performed by scheduling data transmission based on the pointer of the upper priority table (S120). For example, if the pointer is located in the second entry when the transmission of the upper priority table starts, the data corresponding to the second entry is transmitted first. That is, a pointer is assigned to a position to transmit in an upper priority table or a lower priority table, and is initially located in an upper priority table.

이후 단계 S120에서 전송되는 데이터의 누적 양이 상위 우선 순위 가중치 제한값에서 제한된 데이터 크기를 넘어서면 데이터 전송을 중단하고 단계 S120에서 전송되는 데이터의 누적 양을 초기화하고 하위 우선 순위 테이블로 포인터를 이동한다(S130). 즉 상위 우선 순위 가중치 제한값은 상위 우선 순위 테이블을 기초로 전송할 수 있는 데이터 양을 나타내는 것으로서, 전송되는 데이터의 누적 양이 상위 우선 순위 가중치 제한값을 넘어서면 하위 우선 순위 테이블을 기초로 데이터 전송을 수행하는 것이다. 이 경우 전송되는 데이터의 누적 양은 초기화되어 다시 상위 우선 순위 테이블을 기초로 데이터 전송을 수행하는 경우 상위 우선 순위 가중치 제한값과의 비교를 가능하게 한다. 또한 하위 우선 순위 테이블을 기초로 데이터 전송을 수행하기 위해서 포인터를 하위 우선 순위 테이블로 이동한다.After that, if the cumulative amount of data transmitted in step S120 exceeds the limited data size in the upper priority weight limit value, data transmission is stopped, the cumulative amount of data transmitted in step S120 is initialized, and the pointer is moved to the lower priority table ( S130). That is, the upper priority weight limit value indicates the amount of data that can be transmitted based on the upper priority table. When the cumulative amount of transmitted data exceeds the upper priority weight limit value, data transmission is performed based on the lower priority table. will be. In this case, the cumulative amount of data to be transmitted is initialized to allow comparison with the upper priority weight limit value when data transmission is performed based on the higher priority table. Also, the pointer is moved to the lower priority table to perform data transmission based on the lower priority table.

이후 하위 우선 순위 테이블의 포인터를 기초로 데이터의 전송을 수행한다(S140). 즉 하위 우선 순위에 해당하는 데이터의 전송을 수행하는 것이다.Thereafter, data is transmitted based on the pointer of the lower priority table (S140). In other words, the data corresponding to the lower priority is transmitted.

이후 단계 S140에서 전송되는 데이터의 누적 양이 하위 우선 순위 가중치 제한값에서 제한된 데이터 크기를 넘어서면 데이터 전송을 중단하고 단계 S140에서 전송되는 데이터의 누적 양을 초기화한 후 상위 우선 순위 테이블로 포인터를 이동한다(S150). Subsequently, if the cumulative amount of data transmitted in step S140 exceeds the limited data size in the lower priority weight limit value, data transmission is stopped, the cumulative amount of data transmitted in step S140 is initialized, and the pointer is moved to the higher priority table. (S150).

즉 단계 130에서와 마찬가지로 하위 우선 순위 가중치 제한값은 하위 우선 순위 테이블을 기초로 전송할 수 있는 데이터 양을 나타내는 것으로서, 전송되는 데이터의 누적 양이 하위 우선 순위 가중치 제한값을 넘어서면 다시 상위 우선 순위 테이블을 기초로 데이터 전송을 수행하는 것이다. 이 경우 전송되는 데이터의 누적 양은 초기화되어 다시 하위 우선 순위 테이블을 기초로 데이터 전송을 수행하는 경우 하위 우선 순위 가중치 제한값과의 비교를 가능하게 한다. 또한 상위 우선 순위 테이블을 기초로 데이터 전송을 수행하기 위해서 포인터를 상위 우선 순위 테이블로 이동한다. 또한 상위 우선 순위 테이블을 기초로 데이터 전송을 수행하기 위해서 단계 S120으로 점프한다.That is, as in step 130, the lower priority weight limit value indicates the amount of data that can be transmitted based on the lower priority table. When the cumulative amount of transmitted data exceeds the lower priority weight limit value, the lower priority weight limit value is based on the upper priority table again. Is to perform data transfer. In this case, the cumulative amount of data to be transmitted is initialized to allow comparison with the lower priority weight limit value when data transmission is performed based on the lower priority table. Also, the pointer is moved to the higher priority table to perform data transmission based on the higher priority table. Also jumps to step S120 to perform data transmission based on the upper priority table.

또한 도시되지는 않았지만 상위 우선 순위 가중치 제한값 또는 하위 우선 순위 가중치 제한값을 가변적으로 설정하는 단계를 더 포함할 수 있다. 이 경우는 특히 전송 도중에 데이터 양에 따라서 상위 우선 순위 가중치 제한값 또는 하위 우선 순위 가중치 제한값을 변경함으로써 효율적인 데이터 전송을 위한 것이다.Although not shown, the method may further include variably setting an upper priority weight limit value or a lower priority weight limit value. This case is particularly effective for data transmission by changing the upper priority weight limit value or the lower priority weight limit value according to the amount of data during transmission.

또한 초기에 상위 우선 순위 테이블의 상위 우선 순위 가중치 제한값만큼 데이터를 전송하게 되면 하위 우선 순위 가중치 제한값을 갱신하게 되는데 갱신후 다시 상위 우선 순위 테이블을 참조하여 데이터를 전송하기 전에 하위 우선 순위 가중치 제한값을 검사하게 된다. 하위 우선 순위 가중치 제한값이 0이면 상위 우선 순위 테이블을 통한 데이터 전송이 계속되고,하위 우선 순위 가중치 제한값이 제로 가 아니면 포인터를 하위 우선순위 테이블로 이동하여 하위 우선 순위 가중치 제한값만큼 데이터를 전송하게 된다. 하위 우선 순위 가중치 제한값만큼 데이터를 전송하게 되면 하위 우선 순위 가중치 제한값을 갱신하고, 상위 우선 순위 가중치 제한값을 확인하게 되는데 여기서도 상위 우선 순위 가중치 제한값이 0인지 아닌지에 따라 테이블 스위칭이 발생하게 된다. In addition, if data is initially transmitted by the upper priority weight limit value of the upper priority table, the lower priority weight limit value is updated. After updating, the lower priority weight limit value is checked before transmitting data by referring to the upper priority table again. Done. If the lower priority weight limit value is 0, data transmission continues through the upper priority table. If the lower priority weight limit value is not zero, the pointer is moved to the lower priority table to transmit data as much as the lower priority weight limit value. When data is transmitted as much as the lower priority weight limit value, the lower priority weight limit value is updated and the upper priority weight limit value is checked. Here, the table switching occurs depending on whether the upper priority weight limit value is 0 or not.

이와 같은 구성을 통하여 채널 기반 네트워크에 있어서 상위 우선 순위의 데이터와 하위 우선 순위의 데이터 전송이 수행되므로, 우선 순위가 높은 데이터 패킷이 우선 순위가 낮은 데이터 패킷 전송을 수행하는 것에 의해서 전송 대기 시간이 길어지거나 또는 우선 순위가 낮은 데이터 패킷이 우선 순위가 높은 패킷의 전송을 수행하는 것에 의해서 전송 대기 시간이 과도하게 길어질 수 있는 문제점을 해결할 수 있다.Through this configuration, since data of a higher priority and data of a lower priority are transmitted in a channel-based network, a transmission waiting time is long because a data packet having a higher priority performs a data packet transmission having a lower priority. It is possible to solve the problem that the transmission waiting time may be excessively long due to the transmission of the high priority packet by the lost or low priority data packet.

도면 5는 본 발명에 따른 채널 기반 네트워크의 QoS를 위한 중재 테이블 재구성 및 스케줄링 방법에서의 가상 레인 중재 테이블(VLArbitrationTable)의 예를 나타내는 도면이다.5 is a diagram illustrating an example of a virtual lane arbitration table (VLArbitrationTable) in the arbitration table reconfiguration and scheduling method for QoS in a channel-based network according to the present invention.

도시되듯이, 상위 우선 순위 테이블과 하위 우선 순위 테이블의 첫 엔트리에는 각각 상위 우선 순위 가중치 제한값(VLHighLimit)과 하위 우선 순위 가중치 제한값(VLLowLimit)을 설정한다. 이러한 상위 우선 순위 가중치 제한값(VLHighLimit)과 하위 우선 순위 가중치 제한값(VLLowLimit)을 통하여 상위 우선 순위의 데이터 전송에 사용되는 크기와 하위 우선 순위 데이터 전송에 사용되는 크기에 제한을 설정한다.As shown in the figure, an upper priority weight limit value (VLHighLimit) and a lower priority weight limit value (VLLowLimit) are set in the first entry of the upper priority table and the lower priority table, respectively. Through the high priority weight limit value (VLHighLimit) and the low priority weight limit value (VLLowLimit), a limit is set on the size used for high priority data transmission and the size used for low priority data transmission.

또한 하이브리드 방식을 적용하여 하위 우선 순위 가중치 제한값(VLLowLimit)이 0일 경우에는 상위 우선순위 테이블의 엔트리만을 참조하다가 하위 우선 순위로 전송할 데이터가 있으면 하위 우선순위 테이블로 포인터를 이동하여 하위 우선 순위 가중치 제한값(VLLowLimit)을 검사하고 데이터 패킷을 전송하고 다시 상위 우선순위 테이블 스위칭하게 된다. In addition, if the low priority weight limit value (VLLowLimit) is 0 by applying the hybrid method, only the entries in the high priority table are referred to, and if there is data to be transferred to the low priority, the pointer is moved to the low priority table to lower the priority weight limit value. (VLLowLimit) checks, sends the data packet and switches back to the high priority table.

여기서, 하위 우선 순위 가중치 제한값(VLLowLimit)을 검사하는 주기는 상위 우선 순위 가중치 제한값(VLHighLimit)을 갱신하는 시점으로 한다. Here, the period for checking the lower priority weight limit value VLLowLimit is a point in time at which the upper priority weight limit value VLHighLimit is updated.

결과적으로, 상위 우선순위 테이블과 하위 우선순위 테이블의 엔트리는 스케줄러에 의해 최소한의 대기 시간으로 참조된다. As a result, entries in the high priority table and the low priority table are referenced by the scheduler with minimal latency.

도 4 내지 도 5를 참조로 본 발명의 채널 기반 네트워크의 QoS를 위한 중재 테이블 재구성 및 스케줄링 방법을 실제 구현예를 참조로 하여 보다 구체적으로 설명한다.4 to 5, the arbitration table reconstruction and scheduling method for QoS in the channel-based network of the present invention will be described in more detail with reference to the actual implementation.

우선 모든 데이터의 MTU(Maximum Transfer Unit)는 4 KB이고 상위 우선 순위 가중치 제한값(VLHighLimit)은 4로 설정하여 상위 우선 순위 가중치 제한값을 통하여 전송 가능한 데이터 크기가 4x4KB = 16KB로 가정하고, 하위 우선 순위 가중치 제한값(VLLowLimit)은 1로 설정하여 하위 우선 순위 가중치 제한값을 통하여 전송 가능한 데이터 크기가 1x4KB = 4KB로 가정한다.First, the maximum transfer unit (MTU) of all data is 4 KB, and the high priority weight limit value (VLHighLimit) is set to 4, assuming that the size of data that can be transmitted through the high priority weight limit value is 4x4 KB = 16 KB, and the low priority weight is The limit value VLLowLimit is set to 1, and it is assumed that the size of data that can be transmitted through the lower priority weight limit value is 1x4 KB = 4 KB.

도 5에 도시되듯이 우선 상위 우선순위의 첫 엔트리는 VLHighLimit이고 현재 데이터 패킷을 전송하기 위해 스케줄러가 두 번째 엔트리를 포인팅하고 있다.As shown in Fig. 5, the first entry of the priority higher priority is VLHighLimit, and the scheduler points to the second entry to transmit the current data packet.

두 번째 엔트리의 가중치는 128이므로 전송할 패킷의 크기는 128x64B = 8KB 이다. 이러한 데이터 패킷 크기는 가중치 옆에 괄호를 통하여 표시되어 있다.The weight of the second entry is 128, so the size of the packet to be transmitted is 128x64B = 8KB. This data packet size is indicated in parentheses next to the weight.

이 경우 MTU가 4KB 이므로 두 개의 패킷이 보내진다. In this case, since the MTU is 4KB, two packets are sent.

아직 전송된 패킷의 크기가 상위 우선 순위 가중치 제한값을 통하여 전송 가능한 데이터 크기보다 작으므로 다음의 엔트리, 즉 세 번째 엔트리로 포인터가 이동한다. 세 번째 엔트리는 가중치가 64이므로 전송할 패킷의 크기는 64x64B = 4KB이므로 한 개의 패킷을 전송한다. Since the size of the transmitted packet is smaller than the size of data that can be transmitted through the higher priority weight limit value, the pointer moves to the next entry, that is, the third entry. Since the third entry has a weight of 64, the size of the packet to be transmitted is 64x64B = 4KB, so one packet is transmitted.

두 번째 및 세 번째 엔트리를 통하여 전송된 전체 패킷의 크기가 상위 우선 순위 가중치 제한값을 통하여 전송 가능한 데이터 크기 즉 16 KB보다 아직 작으므로 포인터는 네 번째 엔트리로 이동한다.The pointer moves to the fourth entry because the size of the entire packet transmitted through the second and third entries is still smaller than the size of data that can be transmitted via the higher priority weight limit, i.e. 16 KB.

네 번째 엔트리의 가중치는 254이므로 전송할 패킷의 크기는 254x64B = 16 KB이지만, 이 경우 앞에서 전송된 패킷이 총 12KB 이고 상위 우선 순위 가중치 제한값을 통하여 전송 가능한 데이터 크기가 16KB이므로 한 개의 4KB 패킷만을 전송할 수 있다. 전송된 전체 패킷의 크기가 16KB이므로 하위 우선 순위 테이블로 포인터가 이동한다. Since the weight of the fourth entry is 254, the size of the packet to be transmitted is 254x64B = 16 KB. However, in this case, only one 4KB packet can be transmitted because the total number of previously transmitted packets is 12KB and the data size that can be transmitted through the high priority weight limit is 16KB. have. Since the total packet size is 16KB, the pointer moves to the lower priority table.

이 경우 하위 우선 순위 테이블의 하위 우선 순위 가중치 제한값이 0가 아니므로 하위 우선 순위 가중치 제한값을 통하여 전송 가능한 데이터 크기만큼을 전송하게 된다. 만약 하위 우선 순위 가중치 제한값이 0이면 상위 우선 순위 가중치 제한값을 갱신하게 되고 계속적으로 상위 우선 순위의 엔트리를 참조하여 데이터 전송을 수행한다. In this case, since the lower priority weight limit value of the lower priority table is not 0, the amount of data that can be transmitted is transmitted through the lower priority weight limit value. If the lower priority weight limit value is 0, the upper priority weight limit value is updated, and data transmission is continuously performed with reference to the entry of the higher priority.

하위 우선 순위 가중치 제한값을 통하여 전송 가능한 데이터 크기가 1x4KB = 4KB로 가정하였으므로 하위 우선 순위 테이블에서 12번째 엔트리까지의 데이터를 전송한다. 이 경우 하위 우선 순위 가중치 제한값을 통하여 전송 가능한 데이터 크기 제한에 의해서 13번째 엔트리는 전송되지 못하며, 따라서 상위 우선 순위 테이블에서 하위 우선 순위 테이블로 이동하기 전의 상태, 즉 상위 우선 순위 테이블의 네 번째 엔트리로 포인터가 이동하여 잔여 데이터의 전송을 수행한다. Since the data size that can be transmitted through the lower priority weight limit is assumed to be 1x4KB = 4KB, data up to the 12th entry in the lower priority table is transmitted. In this case, the 13th entry cannot be transmitted due to the data size limit that can be transmitted through the lower priority weight limit value, and therefore, the state before moving from the upper priority table to the lower priority table, that is, the fourth entry of the upper priority table. The pointer moves to perform transfer of the remaining data.

도 6은 본 발명에 따른 채널 기반 네트워크의 스케줄링 방법을 구현한 예시적인 의사 코드(Pseudo-code)를 나타내는 도면이다.6 is a diagram illustrating an exemplary pseudo-code implementing a scheduling method of a channel-based network according to the present invention.

이러한 과정을 통하여 스케줄러는 전체 가상 레인 중재 테이블을 최소한의 대기 시간으로 참조하여 데이터 전송을 수행할 수 있다.Through this process, the scheduler can perform data transmission by referring to the entire virtual lane arbitration table with a minimum waiting time.

또한 본 발명은 채널 기반 네트워크의 스케줄링 장치와, 채널 기반 네트워크의 스케줄링을 구현하는 기능을 실현시키기 위한 프로그램 기록한 컴퓨터로 판독가능한 기록 매체를 제공한다.The present invention also provides a scheduling apparatus for a channel-based network, and a program-recorded computer-readable recording medium for realizing a function for implementing scheduling of a channel-based network.

그러나 이러한 채널 기반 네트워크의 스케줄링 장치와, 채널 기반 네트워크의 스케줄링을 구현하는 기능을 실현시키기 위한 프로그램 기록한 컴퓨터로 판독가능한 기록 매체에 대한 상세한 설명은 도 4 내지 도 6을 참조로 설명한 본 발명에 따른 채널 기반 네트워크의 스케줄링 방법과 중복되므로 생략한다.However, a detailed description of the scheduling apparatus of the channel-based network and the program-recorded computer-readable recording medium for realizing the function of implementing the scheduling of the channel-based network will be described with reference to FIGS. 4 to 6. It is omitted because it overlaps with the scheduling method of the underlying network.

비록 본 발명이 구성이 구체적으로 설명되었지만 이는 단지 본 발명을 예시하기 위한 것이며, 본 발명의 보호 범위가 이들에 의해 제한되는 것은 아니며, 본 발명의 보호 범위는 청구범위의 기재를 통하여 정하여진다.Although the present invention has been described in detail, this is for illustrative purposes only, and the protection scope of the present invention is not limited thereto, and the protection scope of the present invention is defined through the description of the claims.

이상 설명한 바와 같이, 본 발명에 따르면 채널기반 네트워크에서 링크 계층의 데이터 패킷에 대한 스케줄링에 있어서, 상위 우선 순위 테이블의 엔트리와 하위 우선순위 테이블의 엔트리를 참조하는 것에 의해서 패킷의 전송 대기 시간이 길어지는 단점을 개선하여 우선 채널 기반 네트워크에서 정의하는 각 서비스 레벨에 따라 해당 서비스의 요구 트래픽을 분류하고 각 서비스의 전송 우선 순위로 구분하여 출력 포트의 가상 레인 중재 테이블(VLArbitrationTable)에 상위 우선 순위 가중치 제한값(VLHighLimit)과 하위 우선 순위 가중치 제한값(VLLowLimit)을 저장하고 이를 기초로 스케줄링을 수행하여 데이터 패킷을 전송하도록 함으로서 각각의 테이블을 참조하기 위한 대기 시간을 최소화하여 QoS를 보장할 수 있다.As described above, according to the present invention, in scheduling a data packet of a link layer in a channel-based network, a packet transmission latency is increased by referring to an entry of an upper priority table and an entry of a lower priority table. To improve the disadvantages, classify the required traffic of each service according to each service level defined in the preferred channel-based network, and classify it as the transmission priority of each service, and set the upper priority weight limit value (VLArbitrationTable) in the output port. QoS can be guaranteed by minimizing the waiting time for referencing each table by storing VLHighLimit and VLLowLimit and performing scheduling based on this.

Claims (9)

상위 우선 순위 테이블과 하위 우선 순위 테이블을 구비하는 가상 레인 중재 테이블을 이용한 채널 기반 네트워크의 스케줄링 방법으로서,A scheduling method of a channel-based network using a virtual lane arbitration table having an upper priority table and a lower priority table, (a) 상기 상위 우선 순위 테이블과 상기 하위 우선 순위 테이블 각각에 상위 우선 순위의 데이터 전송에 사용되는 크기와 하위 우선 순위 데이터 전송에 사용되는 크기의 제한을 설정하는 상위 우선 순위 가중치 제한값(VLHighLimit)과 하위 우선 순위 가중치 제한값(VLLowLimit)을 추가하는 단계와,(a) a high priority weight limit value (VLHighLimit) for setting a limit of a size used for high priority data transmission and a size used for low priority data transmission in each of the high priority table and the low priority table; Adding a low priority weight limit (VLLowLimit), (b) 상기 상위 우선 순위 테이블의 포인터를 기초로 데이터 전송을 수행하는 단계와,(b) performing data transmission based on a pointer of the higher priority table; (c) 상기 단계 (b)에서 전송되는 데이터의 누적 양이 상기 상위 우선 순위 가중치 제한값에서 제한된 데이터 크기를 넘어서면 상기 단계 (b)에서의 데이터 전송을 중단하고 상기 단계 (b)에서 전송되는 데이터의 누적 양을 초기화하고 상기 하위 우선 순위 테이블로 포인터를 이동하는 단계와,(c) if the cumulative amount of data transmitted in step (b) exceeds the data size limited in the upper priority weight limit value, stop data transmission in step (b) and send the data in step (b) Initializing the cumulative amount of and moving the pointer to the lower priority table; (d) 상기 하위 우선 순위 테이블의 포인터를 기초로 데이터의 전송을 수행하는 단계와,(d) performing data transmission based on a pointer of the lower priority table; (e) 상기 단계 (d)에서 전송되는 데이터의 누적 양이 상기 하위 우선 순위 가중치 제한값에서 제한된 데이터 크기를 넘어서면 상기 단계 (d)에서의 데이터 전송을 중단하고 상기 단계 (d)에서 전송되는 데이터의 누적 양을 초기화하고 상기 상위 우선 순위 테이블로 포인터를 이동한 후 단계 (b)로 점프하는 단계(e) If the cumulative amount of data transmitted in step (d) exceeds the data size limited in the lower priority weight limit value, the data transmission in step (d) is stopped and the data transmitted in step (d) Initializing the accumulated amount of and moving the pointer to the higher priority table and then jumping to step (b) 를 포함하는 채널 기반 네트워크의 스케줄링 방법.Scheduling method of a channel-based network comprising a. 제1항에 있어서,The method of claim 1, 상기 포인터는 상기 상위 우선 순위 테이블 또는 상기 하위 우선 순위 테이블에서 전송을 수행할 위치에 지정되는 것인 채널 기반 네트워크의 스케줄링 방법.And the pointer is assigned to a position to perform a transmission in the upper priority table or the lower priority table. 제1항에 있어서,The method of claim 1, 상기 상위 우선 순위 가중치 제한값 또는 상기 하위 우선 순위 가중치 제한값을 가변적으로 설정하는 단계Variably setting the upper priority weight limit value or the lower priority weight limit value 를 더 포함하는 설정할 수 있는 것인 채널 기반 네트워크의 스케줄링 방법.Scheduling method of a channel-based network that can be set to further include. 제1항에 있어서,The method of claim 1, 상기 상위 우선 순위 가중치 제한값 또는 상기 하위 우선 순위 가중치 제한값이 0이 아닌지 검사하여 0이면 해당 상기 상위 우선 순위 테이블 또는 상기 하위 우선 테이블을 기초로 한 데이터 전송을 하지 않는 단계Checking whether the upper priority weight limit value or the lower priority weight limit value is not 0 and not transmitting data based on the corresponding upper priority table or the lower priority table. 를 더 포함하는 채널 기반 네트워크의 스케줄링 방법.The scheduling method of the channel-based network further comprising. 채널 기반 네트워크의 스케줄링 장치로서,As a scheduling device of a channel-based network, 제1항 내지 제4항 중 어느 한 항에 기재된 채널 기반 네트워크의 스케줄링 방법을 사용하여 동작하는 채널 기반 네트워크의 스케줄링 장치.An apparatus for scheduling a channel-based network, which operates using the method for scheduling a channel-based network according to any one of claims 1 to 4. 상위 우선 순위 테이블과 하위 우선 순위 테이블을 구비하는 가상 레인 중재 테이블을 이용한 채널 기반 네트워크의 스케줄링 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체로서,A computer-readable recording medium having recorded thereon a program for realizing a scheduling function of a channel-based network using a virtual lane arbitration table having an upper priority table and a lower priority table. (a) 상기 상위 우선 순위 테이블과 상기 하위 우선 순위 테이블 각각에 상위 우선 순위의 데이터 전송에 사용되는 크기와 하위 우선 순위 데이터 전송에 사용되는 크기의 제한을 설정하는 상위 우선 순위 가중치 제한값(VLHighLimit)과 하위 우선 순위 가중치 제한값(VLLowLimit)을 추가하는 기능과,(a) a high priority weight limit value (VLHighLimit) for setting a limit of a size used for high priority data transmission and a size used for low priority data transmission in each of the high priority table and the low priority table; The ability to add a lower priority weight limit (VLLowLimit), (b) 상기 상위 우선 순위 테이블의 포인터를 기초로 데이터 전송을 수행하는 기능과,(b) performing data transmission based on a pointer of the higher priority table; (c) 상기 기능 (b)에서 전송되는 데이터의 누적 양이 상기 상위 우선 순위 가중치 제한값에서 제한된 데이터 크기를 넘어서면 상기 기능 (b)에서의 데이터 전송을 중단하고 상기 기능 (b)에서 전송되는 데이터의 누적 양을 초기화하고 상기 하위 우선 순위 테이블로 포인터를 이동하는 기능과,(c) if the cumulative amount of data transmitted in the function (b) exceeds the data size limited in the higher priority weight limit value, the data transmission in the function (b) is stopped and the data transmitted in the function (b) With the ability to initialize the cumulative amount of and move the pointer to the lower priority table, (d) 상기 하위 우선 순위 테이블의 포인터를 기초로 데이터의 전송을 수행하는 기능과,(d) transmitting data based on a pointer of the lower priority table; (e) 상기 기능 (d)에서 전송되는 데이터의 누적 양이 상기 하위 우선 순위 가중치 제한값에서 제한된 데이터 크기를 넘어서면 상기 기능 (d)에서의 데이터 전송을 중단하고 상기 기능 (d)에서 전송되는 데이터의 누적 양을 초기화하고 상기 상위 우선 순위 테이블로 포인터를 이동한 후 기능 (b)로 점프하는 기능(e) if the cumulative amount of data transmitted in the function (d) exceeds the data size limited in the lower priority weight limit value, the data transmission in the function (d) is stopped and the data transmitted in the function (d) A function of initializing the accumulated amount of and moving the pointer to the higher priority table and then jumping to function (b). 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록 매체.A computer-readable recording medium having recorded thereon a program for realizing this. 제6항에 있어서,The method of claim 6, 상기 포인터는 상기 상위 우선 순위 테이블 또는 상기 하위 우선 순위 테이블에서 전송을 수행할 위치에 지정되는 것인 컴퓨터로 판독 가능한 기록 매체.And the pointer is designated at a position to perform a transfer in the upper priority table or the lower priority table. 제6항에 있어서,The method of claim 6, 상기 상위 우선 순위 가중치 제한값 또는 상기 하위 우선 순위 가중치 제한값을 가변적으로 설정하는 기능Variably setting the upper priority weight limit value or the lower priority weight limit value 을 더 포함하는 컴퓨터로 판독 가능한 기록 매체.Computer-readable recording medium further comprising. 제6항에 있어서,The method of claim 6, 상기 상위 우선 순위 가중치 제한값 또는 상기 하위 우선 순위 가중치 제한값이 0이 아닌지 검사하여 0이면 해당 상기 상위 우선 순위 테이블 또는 상기 하위 우선 테이블을 기초로 한 데이터 전송을 하지 않는 기능A function of checking whether the upper priority weight limit value or the lower priority weight limit value is not 0, and if the value is 0, do not transmit data based on the corresponding upper priority table or the lower priority table. 을 더 포함하는 컴퓨터로 판독 가능한 기록 매체.Computer-readable recording medium further comprising.
KR1020050130266A 2005-12-27 2005-12-27 Method and device of scheduling in channel based network and computer-readable medium having thereon program performing function embodying the same KR100655453B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050130266A KR100655453B1 (en) 2005-12-27 2005-12-27 Method and device of scheduling in channel based network and computer-readable medium having thereon program performing function embodying the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050130266A KR100655453B1 (en) 2005-12-27 2005-12-27 Method and device of scheduling in channel based network and computer-readable medium having thereon program performing function embodying the same

Publications (1)

Publication Number Publication Date
KR100655453B1 true KR100655453B1 (en) 2006-12-08

Family

ID=37732611

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050130266A KR100655453B1 (en) 2005-12-27 2005-12-27 Method and device of scheduling in channel based network and computer-readable medium having thereon program performing function embodying the same

Country Status (1)

Country Link
KR (1) KR100655453B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107257962A (en) * 2015-02-25 2017-10-17 高通股份有限公司 Protocol adaptation layers data flow control for USB

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11298523A (en) 1998-04-09 1999-10-29 Chokosoku Network Computer Gijutsu Kenkyusho:Kk Packet scheduling method
US20030086391A1 (en) 2001-10-19 2003-05-08 Terry Stephen E. MAC architecture in wireless communication systems supporting H-ARQ
KR20040092779A (en) * 2003-04-29 2004-11-04 엘지전자 주식회사 Method for determining a packet data rate

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11298523A (en) 1998-04-09 1999-10-29 Chokosoku Network Computer Gijutsu Kenkyusho:Kk Packet scheduling method
US20030086391A1 (en) 2001-10-19 2003-05-08 Terry Stephen E. MAC architecture in wireless communication systems supporting H-ARQ
KR20040092779A (en) * 2003-04-29 2004-11-04 엘지전자 주식회사 Method for determining a packet data rate

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107257962A (en) * 2015-02-25 2017-10-17 高通股份有限公司 Protocol adaptation layers data flow control for USB

Similar Documents

Publication Publication Date Title
US11985060B2 (en) Dragonfly routing with incomplete group connectivity
Vamanan et al. Deadline-aware datacenter tcp (d2tcp)
US20210320820A1 (en) Fabric control protocol for large-scale multi-stage data center networks
US8553543B2 (en) Traffic shaping method and device
Cidon et al. Paris: An approach to integrated high‐speed private networks
RU2487401C2 (en) Data processing method, router node and data medium
EP2608467B1 (en) System and method for hierarchical adaptive dynamic egress port and queue buffer management
McKenney Stochastic fairness queueing
CN109104373B (en) Method, device and system for processing network congestion
US8705538B1 (en) Methods and systems for dynamic division of path capacity
JP2004531001A (en) Data transfer between host computer system and Ethernet adapter
US20080298397A1 (en) Communication fabric bandwidth management
CN111181873B (en) Data transmission method, data transmission device, storage medium and electronic equipment
Gran et al. On the relation between congestion control, switch arbitration and fairness
JP2021175194A (en) Congestion control method, apparatus and system, and computer storage medium
CN105308920A (en) Multicast flow reordering scheme
Alfaro et al. QoS in InfiniBand subnetworks
CN113746751A (en) Communication method and device
GB2401518A (en) Efficient arbitration using credit based flow control
KR100655453B1 (en) Method and device of scheduling in channel based network and computer-readable medium having thereon program performing function embodying the same
WO2023130835A1 (en) Data exchange method and apparatus
CN113395183B (en) Virtual node scheduling method and system for network simulation platform VLAN interconnection
Escudero-Sahuquillo et al. Feasible enhancements to congestion control in InfiniBand-based networks
WO2022166348A1 (en) Routing method, routing apparatus, controller and computer-readable storage medium
Susanto et al. Creek: Inter many-to-many coflows scheduling for datacenter networks

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20090701

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee