• Title/Summary/Keyword: TCP Offload Engine

Search Result 17, Processing Time 0.03 seconds

Analysis of TCP/IP Protocol for Implementing a High-Performance Hybrid TCP/IP Offload Engine (고성능 Hybrid TCP/IP Offload Engine 구현을 위한 TCP/IP 프로토콜 분석)

  • Jang Hankook;Oh Soo-Cheol;Chung Sang-Hwa;Kim Dong Kyue
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.32 no.6
    • /
    • pp.296-305
    • /
    • 2005
  • TCP/IP, the most popular communication protocol, is processed on a host CPU in traditional computer systems and this imposes enormous loads on the host CPU. Recently TCP/IP Offload Engine (TOE) technology, which processes TCP/IP on a network adapter instead of the host CPU, becomes an important way to solve the problem. In this paper we analysed the structure of a TCP/IP protocol stack in the Linux operating system and important factors, which cause a lot of loads on the host CPU, by measuring the time spent on processing each function in the protocol stack. Based on these analyses, we propose a Hybrid TOE architecture, in which functions imposing much loads on the host CPU are implemented using hardware and other functions are implemented using software.

Implementation of a TCP/IP Offload Engine Using High Performance Lightweight TCP/IP (고성능 경량 TCP/IP를 이용한 소프트웨어 기반 TCP/IP 오프로드 엔진 구현)

  • Jun, Yong-Tae;Chung, Sang-Hwa;Yoon, In-Su
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.14 no.4
    • /
    • pp.369-377
    • /
    • 2008
  • Today, Ethernet technology is rapidly developing to have a bandwidth of 10Gbps beyond 1Gbps. In such high-speed networks, the existing method that host CPU processes TCP/IP in the operating system causes numerous overheads. As a result of the overheads, user applications cannot get the enough computing power from the host CPU. To solve this problem, the TCP/IP Offload Engine(TOE) technology was emerged. TOE is a specialized NIC which processes the TCP/IP instead of the host CPU. In this paper, we implemented a high-performance, lightweight TCP/IP(HL-TCP) for the TOE and applied it to an embedded system. The HL-TCP supports existing fundamental TCP/IP functions; flow control, congestion control, retransmission, delayed ACK, processing out-of-order packets. And it was implemented to utilize Ethernet MAC's hardware features such as TCP segmentation offload(TSO), checksum offload(CSO) and interrupt coalescing. Also we eliminated the copy overhead from the host memory to the NIC memory when sending data and we implemented an efficient DMA mechanism for the TCP retransmission. The TOE using the HL-TCP has the CPU utilization of less than 6% and the bandwidth of 453Mbps.

Implementation of a TCP/IP Offload Engine and RDMA Mechanism Based on an Embedded Systems (임베디드 시스템에 기반한 TCP/IP Offload Engine과 RDMA 메커니즘의 구현)

  • Yoon In-Su;Chung Sang-Hwa
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11a
    • /
    • pp.997-999
    • /
    • 2005
  • 기가비트의 속도를 넘는 고속 네트워크상에서 TCP/IP를 사용할 경우 호스트 CPU에서 TCP/IP를 처리하는데 많은 부하가 발생한다. 이러한 문제를 해결하기 위해 최근 네트워크 어댑터에서 TCP/IP를 처리하는 TCP/IP Offload Engine(TOE)에 대한 연구가 활발히 진행되고 있다. 본 연구에서는 임베디드 시스템에 리눅스를 사용하여, TOE와 Remote Direct Memory Access(RDMA) 메커니즘을 구현하였고 그 동작 방식을 보인다. 실험을 통해 구현된 메커니즘들을 검증하였으며, 각 구간별로 소요시간을 측정하였다. 본 논문에서는 이러한 실험 결과를 바탕으로, 추후 기가비트 환경에 적합한 TOE 및 RDMA 메커니즘의 구한 방안을 제안한다.

  • PDF

Development of a Prototype for Hybrid TCP/IP Offload Engine (Hybrid TCP/IP Offload Engine의 프로토타입 개발)

  • Jang Hankook;Park Jong-Hoon;Chung Sang-Hwa
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11a
    • /
    • pp.1000-1002
    • /
    • 2005
  • TOE(TCP/IP Offload Engine)은 호스트 CPU가 아닌 네트워크 어댑터 상에서 TCP/IP 프로토콜을 처리하여 호스트 CPU의 부하를 줄이는 기술이다. TOE의 구현 방안으로는 임베디드 프로세서를 사용하여 TCP/IP를 처리하는 소프트웨어적인 구현 방법과 TCP/IP의 모든 기능을 하드웨어로 구현하는 접근 방법이 제안되어왔다. 본 논문에서는 하드웨어적인 접근 방법과 소프트웨어적인 접근 방법을 결합한 Hybrid TOE 구조를 개발하기 위해 FPGA와 ARM 프로세서에 기반한 프로토타입을 개발하였다. Hybrid TOE는 많은 작업 부하로 인하여 임베디드 프로세서 상에서 성능을 확보하기 어려운 기능들은 하드웨어로 구현하고, 연결 설정과 같이 통신의 성능에 큰 영향을 끼치지 않는 기능들은 임베디드 프로세서 상에서 소프트웨어로 처리한다. 또한 본 논문에서는 실험을 통해 Hybrid TOE 프로토타입이 호스트 CPU 상에 발생하는 부하를 줄임을 입증하고, 하드웨어 구현을 통해 통신의 성능을 향상시킬 수 있음을 보였다.

  • PDF

Linux Kernel Module for TCP/IP Offload Engine Supporting Binary Compatibility of Socket Interface (소켓 인터페이스의 바이너리 호환성을 제공하는 TCP/IP Offload Engine 용 Linux 커널 모듈)

  • Oh Soo-Cheol;Kim Seong-Woon
    • Annual Conference of KIPS
    • /
    • 2006.05a
    • /
    • pp.1195-1198
    • /
    • 2006
  • 기존의 컴퓨터 시스템에서는 인터넷의 대표적인 통신 프로토콜인 TCP/IP 가 호스트 CPU 에서 처리되는데, 이는 호스트 CPU 에 많은 부하(load)를 발생시켜 전체 시스템의 성능을 저하시키는 문제를 야기한다. 최근 이러한 문제점을 해결하는 방안으로서 네트워크 어댑터에서 TCP/IP 를 처리하는 TOE(TCP/IP Offload Engine)에 대한 연구가 활발히 진행되고 있다. 이러한 TOE 가 성공적으로 컴퓨터 시스템에 적용되는 위해서는 이를 지원하는 운영체제용 커널 모듈의 개발이 필요하며, 커널 모듈은 기존의 TCP/IP 를 위한 소켓 인터페이스를 바이너리 수준에서 호환성을 제공해야 한다. 따라서, 본 논문에서는 Linux 시스템에서 소켓 인터페이스에 대한 바이너리 수준의 호환성을 제공하는 TOE 용 커널 모듈을 제안하고 개발하였다. 또한, 실험의 통하여 TOE 커널 모듈이 CPU 에 부하를 거의 발생시키지 않음을 확인하였다.

  • PDF

Implementation and Analysis of a TCP/IP Offload Engine on an Embedded System (임베디드 시스템에 기반한 TCP/IP Offload Engine 구현 및 분석)

  • Yoon In-Su;Chung Sang-Hwa
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.07a
    • /
    • pp.733-735
    • /
    • 2005
  • 현재 네트워크 기술은 기가비트급의 속도를 넘어 급속히 발전하고 있다. 이러한 고속 네트워크상에서 TCP/IP를 사용할 경우, 호스트 CPU에서 TCP/IP 프로토콜을 처리하는데 많은 부하가 발생한다. 이러한 문제를 해결하기 위해 최근 네트워크 어댑터에서 TCP/IP를 처리하는 TCP/IP Offload Engine(TOE)에 대한 연구가 활발히 진행되고 있다. 본 논문에서는 임베디드 시스템과 리눅스를 사용하여 TOE를 구현하였으며, 그 동작 메커니즘을 보인다. 실험 결과 및 분석을 통해 임베디드 시스템에 리눅스를 활용한 TOE는 상당한 오버헤드를 가지고 있는 것으로 나타났으며, 이를 바탕으로 추후 기가비트 환경에 맞는 TOE 구현시 이러한 오버헤드를 극복할 수 있는 방안을 제안한다.

  • PDF

Design and Implementation of a Hybrid TCP/IP Offload Engine Prototype (Hybrid TCP/IP Offload Engine 프로토타입의 설계 및 구현)

  • Jang Han-Kook;Chung Sang-Hwa;Oh Soo-Cheol
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.33 no.5
    • /
    • pp.257-266
    • /
    • 2006
  • Recently TCP/IP Offload Engine (TOE) technology, which processes TCP/IP on a network adapter instead of the host CPU, has become an important approach to reduce TCP/IP processing overhead in the host CPU. There have been two approaches to implementing TOE: software TOE, in which TCP/IP is processed by an embedded processor on a network adapter; and hardware TOE, in which all TCP/IP functions are implemented by hardware. This paper proposes a hybrid TOE that combines software and hardware functions in the TOE. In the hybrid TOE, functions that cannot have guaranteed performance on an embedded processor because of heavy load are implemented by hardware. Other functions that do not impose as much load are implemented by software on embedded processors. The hybrid TOE guarantees network performance near that of hardware TOE and it has the advantage of flexibility, because it is easy to add new functions or offload upper-level protocols of TCP/IP. In this paper, we developed a prototype board with an FPGA and an ARM processor to implement a hybrid TOE prototype. We implemented the hardware modules on the FPGA and the software modules on the ARM processor. We also developed a coprocessing mechanism between the hardware and software modules. Experimental results proved that the hybrid TOE prototype can greatly reduce the load on a host CPU and we analyzed the effects of the coprocessing mechanism. Finally, we analyzed important features that are required to implement a complete hybrid TOE and we predict its performance.

Implementation of a TCP/IP Offload Engine Using Lightweight TCP/IP on an Embedded System (임베디드 시스템상에서 Lightweight TCP/IP를 이용한 TCP/IP Offload Engine의 구현)

  • Yoon In-Su;Chung Sang-Hwa;Choi Bong-Sik;Jun Yong-Tae
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.33 no.7
    • /
    • pp.413-420
    • /
    • 2006
  • The speed of present-day network technology exceeds a gigabit and is developing rapidly. When using TCP/IP in these high-speed networks, a high load is incurred in processing TCP/IP protocol in a host CPU. To solve this problem, research has been carried out into TCP/IP Offload Engine (TOE). The TOE processes TCP/IP on a network adapter instead of using a host CPU; this reduces the processing burden on the host CPU. In this paper, we developed two software-based TOEs. One is the TOE implementation using an embedded Linux. The other is the TOE implementation using Lightweight TCP/IP (lwIP). The TOE using an embedded Linux did not have the bandwidth more than 62Mbps. To overcome the poor performance of the TOE using an embedded Linux, we ported the lwIP to the embedded system and enhanced the lwIP for the high performance. We eliminated the memory copy overhead of the lwIP. We added a delayed ACK and a TCP Segmentation Offload (TSO) features to the lwIP and modified the default parameters of the lwIP for large data transfer. With the aid of these modifications, the TOE using the modified lwIP shows a bandwidth of 194 Mbps.

Design and Implementation of a Hardware-based Transmission/Reception Accelerator for a Hybrid TCP/IP Offload Engine (하이브리드 TCP/IP Offload Engine을 위한 하드웨어 기반 송수신 가속기의 설계 및 구현)

  • Jang, Han-Kook;Chung, Sang-Hwa;Yoo, Dae-Hyun
    • Journal of KIISE:Computer Systems and Theory
    • /
    • v.34 no.9
    • /
    • pp.459-466
    • /
    • 2007
  • TCP/IP processing imposes a heavy load on the host CPU when it is processed by the host CPU on a very high-speed network. Recently the TCP/IP Offload Engine (TOE), which processes TCP/IP on a network adapter instead of the host CPU, has become an attractive solution to reduce the load in the host CPU. There have been two approaches to implement TOE. One is the software TOE in which TCP/IP is processed by an embedded processor and the other is the hardware TOE in which TCP/IP is processed by a dedicated ASIC. The software TOE has poor performance and the hardware TOE is neither flexible nor expandable enough to add new features. In this paper we designed and implemented a hybrid TOE architecture, in which TCP/IP is processed by cooperation of hardware and software, based on an FPGA that has two embedded processor cores. The hybrid TOE can have high performance by processing time-critical operations such as making and processing data packets in hardware. The software based on the embedded Linux performs operations that are not time-critical such as connection establishment, flow control and congestions, thus the hybrid TOE can have enough flexibility and expandability. To improve the performance of the hybrid TOE, we developed a hardware-based transmission/reception accelerator that processes important operations such as creating data packets. In the experiments the hybrid TOE shows the minimum latency of about $19{\mu}s$. The CPU utilization of the hybrid TOE is below 6 % and the maximum bandwidth of the hybrid TOE is about 675 Mbps.

An Implementation of Socket Interface for TOEs (TOE를 위한 소켓 인터페이스의 구현)

  • Son, Sung-Hoon
    • Journal of Korea Multimedia Society
    • /
    • v.8 no.11
    • /
    • pp.1472-1482
    • /
    • 2005
  • In this paper, we propose a socket interface layer for large-scale multimedia servers that adopt TCP/IP Offload Engines (TOE). In order to provide legacy network applications with binary level compatibility, the socket interface layer intercepts all socket-related system calls to forward to either TOE or legacy TCP/IP Protocol stack. The layer is designed and implemented as a kernel module in Linux. The layer is located between BSD socket layer and INET socket layer, and passes the application's socket requests to INET socket layer or TOE. The layer provides multimedia servers and web servers with the following features: (1) All standard socket APIs and file I/O APIs that are supported (2) Support for binary level compatibility of existing socket programs (3) Support for TOE and legacy Ethernet NICs at the same time.

  • PDF