KR100283104B1 - Selective Host Interrupt Method of Communication Equipment - Google Patents

Selective Host Interrupt Method of Communication Equipment Download PDF

Info

Publication number
KR100283104B1
KR100283104B1 KR1019980052944A KR19980052944A KR100283104B1 KR 100283104 B1 KR100283104 B1 KR 100283104B1 KR 1019980052944 A KR1019980052944 A KR 1019980052944A KR 19980052944 A KR19980052944 A KR 19980052944A KR 100283104 B1 KR100283104 B1 KR 100283104B1
Authority
KR
South Korea
Prior art keywords
packet
interrupt
communication equipment
present
host interrupt
Prior art date
Application number
KR1019980052944A
Other languages
Korean (ko)
Other versions
KR20000038082A (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 KR1019980052944A priority Critical patent/KR100283104B1/en
Publication of KR20000038082A publication Critical patent/KR20000038082A/en
Application granted granted Critical
Publication of KR100283104B1 publication Critical patent/KR100283104B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]

Landscapes

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

Abstract

본 발명은 통신장비의 선택적 호스트 인터럽트 방법에 관한 것으로서, 특히 큰 패킷을 송수신 할 때의 인터럽트 부담을 최소화하기 위한 통신장비의 선택적 호스트 인터럽트 방법에 관한 것이다.The present invention relates to a selective host interrupt method of communication equipment, and more particularly to a selective host interrupt method of communication equipment for minimizing the interrupt burden when transmitting and receiving large packets.

본 발명은 인터럽트의 발생 여부를 수신자 네트워크 제어 프로그램에게 알려주는 플래그가 장착된 패킷 헤더를 이용하여, 사용자 프로세스에서 패킷을 분할한 후 마지막 패킷 정보를 네트워크 제어 프로그램에게 알려 주고, 이 정보를 기반으로 마지막 패킷의 헤더에만 플래그를 세팅해서 전송하는 것을 특징으로 하며, 네트워크 카드의 최대 전송 유닛보다 큰 패킷의 송수신 시에 송신측의 의도대로 인터럽트를 발생 시킬 수 있으므로, 부담이 크고 아무런 작업도 하지않는 인터럽트들을 없앨 수 있으므로, 전체적으로 통신 성능을 크게 향상 시킬 수 있는 통신장비의 선택적 호스트 인터럽트 방법을 제공하는데 있다.The present invention uses a packet header equipped with a flag to inform the receiver network control program whether an interrupt has occurred, and then informs the network control program of the last packet information after splitting a packet in a user process. It is characterized by transmitting only the flag of the packet header and transmitting. And, when sending and receiving a packet larger than the maximum transmission unit of the network card, the interrupt can be generated as the sender intends. Since it can be eliminated, it is to provide a selective host interrupt method of the communication equipment that can greatly improve the overall communication performance.

Description

통신장비의 선택적 호스트 인터럽트 방법Selective Host Interrupt Method of Communication Equipment

본 발명은 통신장비의 선택적 호스트 인터럽트 방법에 관한 것으로서, 특히 큰 패킷을 송수신 할 때의 인터럽트 부담을 최소화하기 위한 통신장비의 선택적 호스트 인터럽트 방법에 관한 것이다. 본 발명은 클러스터링 시스템과 같이 외부와 단절된 고속의 폐쇄 네트워크를 위하여 개발된 네트워크 카드들 중 카드 제어 프로그램을 직접 개발자가 구현할 수 있는 환경을 제공하는, 즉 프로그래머블 훰웨어(Programable Firmware)를 지원하는 카드에서만 적용 가능하다.The present invention relates to a selective host interrupt method of communication equipment, and more particularly to a selective host interrupt method of communication equipment for minimizing the interrupt burden when transmitting and receiving large packets. The present invention provides an environment in which a card control program can be directly implemented by a developer among network cards developed for a high-speed closed network disconnected from the outside, such as a clustering system, that is, only on a card that supports programmable firmware. Applicable

워크스테이션 클러스터링 시스템을 위한 종래의 통신 소프트웨어들은 폴링방식을 선호하고 있다. 이는 인터럽트에 의해서 발생하는 성능 상의 부담 때문이다.Conventional communication software for workstation clustering systems prefer polling. This is due to the performance burden caused by interrupts.

그러나, 많은 프로세스들이 동시에 작업을 하는 시스템에서는 여러 프로세스들을 스케줄하는 부담이 생기고, 이로 인해서 폴링 기반의 통신을 하는 프로세스들의 성능이 크게 저하된다. 이러한 단점을 극복하기 위해서는 인터럽트 방식의 도용이 불가피하다.However, in a system where many processes work at the same time, there is a burden of scheduling several processes, which greatly reduces the performance of polling-based communication processes. In order to overcome this disadvantage, the interrupt method is inevitable.

도 1은 종래의 고속 통신을 위한 폐쇄 네트워크 카드의 일반적인 패킷 구조도이고, 도 3 은 종래의 폐쇄 네트워크에서 크기가 큰 패킷의 흐름도이다.1 is a general packet structure diagram of a conventional closed network card for high speed communication, and FIG. 3 is a flowchart of a large packet in a conventional closed network.

도 1에 도시된 패킷 헤더에는 라우팅을 위한 정보와 패킷의 타입, 패킷이 전달될 사용자의 포트 번호, 패킷의 길이, 그리고 헤더의 크기를 정렬하기 위해서 사용하는 패드(101)가 있다.In the packet header shown in FIG. 1, there is a pad 101 used to align routing information, a packet type, a port number of a user to which a packet is to be transmitted, a packet length, and a header size.

도 3에서, 도면번호 301은 송신자 측의 사용자 프로세스가 가지고 있는 패킷이고, 302는 사용자 수준에서의 논리적 전송을 나타내고, 303은 사용자 수준에서 네트워크 카드의 최대 전송 유닛에 맞춰서 분할된 패킷들이고, 304는 전송할 패킷의 DMA이고, 305는 도 1의 패킷 헤더이고, 306은 카드 수준에서의 물리적인 전송을 나타내고, 307은 호스트 인터럽트이고, 308은 다시 조립되기 전의 도착된 패킷들이고, 309는 수신자 측의 사용자 프로세스가 받은 패킷을 나타낸다.In Fig. 3, reference numeral 301 denotes a packet owned by the user process on the sender side, 302 denotes logical transmission at the user level, 303 denotes packets divided according to the maximum transmission unit of the network card at the user level, and 304 DMA is the packet header of FIG. 1, 305 is the physical header at the card level, 307 is the host interrupt, 308 is the arrived packets before reassembly, and 309 is the recipient's user Represents a packet received by a process.

그러나, 종래의 인터럽트 방식에서는 이더넷(Ethernet)에서와 같이 매번 패킷이 도착할 때마다 인터럽트를 발생시키고 있다. 이 경우의 단점은 사용자 수준에서 전송장비의 최대 전송 유닛(MTU : Max. Transfer Unit)보다 훨씬 큰 패킷을 전송할 경우 발생한다. 즉, 사용자 수준에서는 단 하나의 패킷을 송수신하는데 반해 인터럽트는 하나 이상 발생한다. 고속의 통신을 목적으로 하는 시스템의 경우 이것은 큰 부담으로 작용한다.However, in the conventional interrupt method, an interrupt is generated every time a packet arrives, as in Ethernet. The disadvantage of this case arises when a user transmits a much larger packet than the maximum transmission unit (MTU) of the transmission equipment. In other words, at the user level, only one packet is sent or received, while at least one interrupt is generated. For systems aimed at high speed communications this is a heavy burden.

따라서, 본 발명의 목적은 최대전송유닛(MTU)보다 크기가 훨씬 큰 패킷의 전송에도 단 한번의 인터럽트 발생으로 사용자에게 패킷을 전달할 수 있는 통신장비의 선택적 호스트 인터럽트 방법을 제공하고자 한다.Accordingly, an object of the present invention is to provide a selective host interrupt method of a communication device capable of delivering a packet to a user with a single interrupt even when transmitting a packet much larger than a maximum transmission unit (MTU).

상기한 목적을 달성하기 위한 본 발명은 인터럽트의 발생 여부를 수신자 네트워크 제어 프로그램에게 알려주는 플래그가 장착된 패킷 헤더를 이용하는 것을 특징으로 한다.The present invention for achieving the above object is characterized by using a packet header equipped with a flag indicating to the receiver network control program whether an interrupt has occurred.

또한, 본 발명은 사용자 프로세스에서 패킷을 분할한 후 마지막 패킷 정보를 네트워크 제어 프로그램에게 알려 주고, 이 정보를 기반으로 마지막 패킷의 헤더에만 플래그를 세팅해서 전송하는 것을 특징으로 한다.In addition, the present invention is characterized by notifying the network control program the last packet information after the packet is divided in the user process, and transmits the flag set only in the header of the last packet based on this information.

도 1은 종래의 고속 통신을 위한 폐쇄 네트워크 카드의 일반적인 패킷 구조도.1 is a general packet structure diagram of a closed network card for a conventional high speed communication.

도 2는 본 발명에 따른 폐쇄 네트워크 카드의 패킷 구조도.2 is a packet structure diagram of a closed network card according to the present invention;

도 3 은 종래의 폐쇄 네트워크에서 크기가 큰 패킷의 흐름도.3 is a flowchart of a large packet in a conventional closed network.

도 4는 본 발명에 따른 폐쇄 네트워크에서 크기가 큰 패킷 흐름도.4 is a large packet flow diagram in a closed network in accordance with the present invention.

〈도면의 주요 부분에 대한 부호 설명〉<Description of Signs of Major Parts of Drawings>

101 : 종래의 일반적인 페쇄 네트워크 카드의 패킷 구조에서 헤더의 크기를 정렬하기 위해서 사용하는 패드(Pad) 영역101: Pad area used to align header sizes in a packet structure of a conventional closed network card

201 : 본 발명에서 인터럽트의 발생 여부를 결정하기 위해서 추가한 Flag 영역201: Flag area added to determine whether an interrupt occurs in the present invention

301 : 송신자 측의 사용자 프로세스가 가지고 있는 패킷301: Packet owned by sender's user process

302 : 사용자 수준에서의 논리적 전송302: logical transfer at the user level

303 : 사용자 수준에서 네트워크 카드의 최대 전송 유닛에 맞춰서 분할된 패킷들303: Packets split according to the maximum transmission unit of the network card at the user level

304 : 전송할 패킷의 DMA 305 : 도 1의 패킷 헤더304: DMA of a packet to be transmitted 305: packet header of FIG.

306 : 카드 수준에서의 물리적인 전송 307 : 호스트 인터럽트306: Physical transfer at card level 307: Host interrupt

308 : 다시 조립되기 전의 도착된 패킷들308: Arrived packets before being reassembled

309 : 수신자 측의 사용자 프로세스가 받은 패킷309: Packet received by the user process on the receiver side

401 : 도 2의 패킷 헤더401: packet header of FIG.

402 : 사용자가 전송하고자 분할 한 패킷에 대한 정보402: information about a packet divided by a user for transmission

이하, 첨부된 도면을 참조하여 본 발명에서 제시하는 패킷의 수신시 인터럽트를 한번만 발생시키는 방법을 설명한다.Hereinafter, a method of generating an interrupt only once when receiving a packet according to the present invention will be described with reference to the accompanying drawings.

도 2는 본 발명에 따른 폐쇄 네트워크 카드의 패킷 구조도로서, 본 발명에서 실제로 사용된 패킷의 헤더를 보여준다.2 is a packet structure diagram of a closed network card according to the present invention, showing a header of a packet actually used in the present invention.

패킷의 헤더에는 라우팅을 위한 정보와 패킷의 타입, 패킷이 전달될 사용자의 포트 번호, 패킷의 길이, 그리고 이 패킷에 의해서 인터럽트를 발생 시킬 것인지, 그렇지 않을 것인지를 알려주는 플래그(201; Flag)가 있다.The header of the packet includes information for routing, the type of the packet, the port number of the user to which the packet is to be delivered, the length of the packet, and a flag 201 indicating whether the packet is to be interrupted or not. have.

도 4는 본 발명에 따른 폐쇄 네트워크에서 크기가 큰 패킷 흐름도로서, 본 발명에서 패킷이 송신자 프로세스에서 수신자 프로세스로 전달되는 과정을 보여준다.4 is a flowchart illustrating a large packet size in a closed network according to the present invention, and illustrates a process of transferring a packet from a sender process to a receiver process in the present invention.

송신자 프로세스는 보내고자 하는 패킷을 네트워크 카드의 MTU에 맞게 분할(segmentation)한 후 그 정보(402)를 네트워크 카드의 제어 프로그램이 접근할 수 있는 곳에 저장한다. 네트워크 카드의 제어 프로그램은 패킷 정보를 읽고 각각의 패킷에 대한 헤더(401)를 생성한다. 이때, 제일 마지막 패킷의 헤더에만 인터럽트를 발생하도록 하는 플래그(Flag)를 삽입한 후 전송한다. 수신자 측의 네트워크 카드 제어 프로그램은 패킷이 도착하면 패킷의 헤더를 보고 인터럽트를 발생할 것이지 아닌지를 판단하고, 패킷을 수신측 사용자 프로세스에게 직접 기억 장치 접근(DMA; Direct Memory Access) 한다.The sender process segments the packet to be sent according to the MTU of the network card and stores the information 402 where the control program of the network card can access. The control program of the network card reads the packet information and generates a header 401 for each packet. At this time, a flag is inserted into the header of the last packet and transmitted. The receiver's network card control program looks at the packet's header when it arrives, determines whether or not it will generate an interrupt, and directs the packet to the receiving user process for direct memory access (DMA).

이상에서 설명한 본 발명은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited.

상술한 바와 같이, 본 발명은 사용자 프로세스에서 전송하는 패킷의 크기에 관계없이 단 한번의 인터럽트 부담만으로 패킷을 수신자에게 전달 할 수 있다.As described above, the present invention can deliver the packet to the receiver with only one interrupt burden regardless of the size of the packet transmitted by the user process.

또한, 클러스터링 시스템 내부에서 멀티미디어 데아타와 같은 사이즈가 큰 패킷의 송수신이 자주 일어날 경우, 종래의 방법을 사용할 경우에는 인터럽트가 많이 발생되어 성능이 크게 저하될 우려가 있으나, 본 발명의 방법을 적용할 경우에는 성능 향상 효과가 있을 것으로 기대된다.In addition, when a large packet such as a multimedia data is frequently transmitted and received within the clustering system, when the conventional method is used, there is a possibility that a lot of interrupts are generated and the performance is greatly reduced. However, the method of the present invention may be applied. In this case, it is expected to improve performance.

Claims (2)

인터럽트의 발생 여부를 수신자 네트워크 제어 프로그램에게 알려주는 플래그가 장착된 패킷 헤더를 이용하는 것을 특징으로 하는 통신장비의 선택적 호스트 인터럽트 방법.An optional host interrupt method of a communication device, characterized by using a packet header equipped with a flag indicating whether an interrupt has occurred. 사용자 프로세스에서 패킷을 분할한 후 마지막 패킷 정보를 네트워크 제어 프로그램에게 알려 주고, 이 정보를 기반으로 마지막 패킷의 헤더에만 플래그를 세팅해서 전송하는 것을 특징으로 하는 통신장비의 선택적 호스트 인터럽트 방법.After the packet is split in the user process, the last packet information is informed to the network control program, and the host interrupt method of the communication device is characterized by transmitting a flag set only in the header of the last packet based on the information.
KR1019980052944A 1998-12-03 1998-12-03 Selective Host Interrupt Method of Communication Equipment KR100283104B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980052944A KR100283104B1 (en) 1998-12-03 1998-12-03 Selective Host Interrupt Method of Communication Equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980052944A KR100283104B1 (en) 1998-12-03 1998-12-03 Selective Host Interrupt Method of Communication Equipment

Publications (2)

Publication Number Publication Date
KR20000038082A KR20000038082A (en) 2000-07-05
KR100283104B1 true KR100283104B1 (en) 2001-03-02

Family

ID=19561283

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980052944A KR100283104B1 (en) 1998-12-03 1998-12-03 Selective Host Interrupt Method of Communication Equipment

Country Status (1)

Country Link
KR (1) KR100283104B1 (en)

Also Published As

Publication number Publication date
KR20000038082A (en) 2000-07-05

Similar Documents

Publication Publication Date Title
KR100284790B1 (en) Early Arrival Message Processing Method in Multi-node Asynchronous Data Communication System
US6381666B1 (en) Method and apparatus for extending the range of the universal serial bus protocol
US6680934B1 (en) System, device and method for expediting control flow in a communication system
CN101616083B (en) Message forwarding method and device
US6947997B2 (en) Method for controlling ethernet data flow on a synchronous digital hierarchy transmission network
US7266083B2 (en) Method and apparatus for implementing queue pair connection protection over infiniband
EP0074864A2 (en) System and method for name-lookup in a local area network data communication system
EP0551242A2 (en) Multiprocessor buffer system
US5317692A (en) Method and apparatus for buffer chaining in a communications controller
US20040213243A1 (en) Transmission components for processing VLAN tag and priority packets supported by using single chip&#39;s buffer structure
US6388989B1 (en) Method and apparatus for preventing memory overrun in a data transmission system
CN111274173A (en) ZYNQ-based multi-node SRIO communication design method and device
US7760647B2 (en) Out of band flow control
US10305772B2 (en) Using a single work item to send multiple messages
CN110781104A (en) Data processing system, method and device
KR100284791B1 (en) System for processing early arrival messages within a multinode asynchronous data communications system
US6052387A (en) Enhanced interface for an asynchronous transfer mode segmentation controller
KR100283104B1 (en) Selective Host Interrupt Method of Communication Equipment
CN110830386A (en) Method, device and system for preserving order of messages
WO2002069603A2 (en) Ethernet to clan bridge
CN109462497B (en) Method, device, equipment and storage medium for transmitting management data
CN104378289A (en) BGP message processing method and device
EP1347597B1 (en) Embedded system having multiple data receiving channels
CN110765044A (en) Data packet transmission device and system
CN116488712B (en) Non-real-time relay communication method based on improved store-and-forward protocol

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: 20101201

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee