• Title/Summary/Keyword: TCP/IP Hardware Accelerator

Search Result 4, Processing Time 0.028 seconds

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.

Host Interface Design for TCP/IP Hardware Accelerator (TCP/IP Hardware Accelerator를 위한 Host Interface의 설계)

  • Jung, Yeo-Jin;Lim, Hye-Sook
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.30 no.2B
    • /
    • pp.1-10
    • /
    • 2005
  • TCP/IP protocols have been implemented in software program running on CPU in end systems. As the increased demand of fast protocol processing, it is required to implement the protocols in hardware, and Host Interface is responsible for communication between external CPU and the hardware blocks of TCP/IP implementation. The Host Interface follows AMBA AHB specification for the communication with external world. For control flow, the Host Interface behaves as a slave of AMBA AHB. Using internal Command/status Registers, the Host Interface receives commands from CPU and transfers hardware status and header information to CPU. On the other hand, the Host Interface behaves as a master for data flow. Data flow has two directions, Receive Flow and Transmit Flow. In Receive Flow, using internal RxFIFO, the Host Interface reads data from UDP FIFO or TCP buffer and transfers data to external RAM for CPU to read. For Transmit Flow, the Host Interface reads data from external RAM and transfers data to UDP buffer or TCP buffer through internal TxFIFO. TCP/IP hardware blocks generate packets using the data and transmit. Buffer Descriptor is one of the Command/Status Registers, and the information stored in Buffer Descriptor is used for external RAM access. Several testcases are designed to verify TCP/IP functions. The Host Interface is synthesized using the 0.18 micron technology, and it results in 173 K gates including the Command/status Registers and internal FIFOs.

TCP Engine Design for TCP/IP Hardware Accelerator (TCP/IP Hardware Accelerator를 위한 TCP Engine 설계)

  • 이보미;정여진;임혜숙
    • The Journal of Korean Institute of Communications and Information Sciences
    • /
    • v.29 no.5B
    • /
    • pp.465-475
    • /
    • 2004
  • Transport Control Protocol (TCP) has been implemented in software running on CPU in end systems, and the protocol processing has appeared as a new bottleneck due to advanced link technology. TCP processing is a critical issue in Storage Area Network (SAN) such as iSCSL, and the overall performance of the Storage Area Network heavily depends on speed of TCP processing. TCP Engine implemented in hardware reduces the load of CPU in end systems as well as accelerates the protocol processing, and hence high speed data processing is achieved. In this paper, we have proposed a hardware engine for TCP processing. TCP engine consists of three major block, TCP Connection block Rx TCP block and Tx TCP block TCP Connection block is responsible for managing TCP connection states. Rx TCP block is responsible for receive flow which receives packets from network and sends to CPU. Rx TCP performs header and data processing and sends header information to TCP connection block and Tx TCP block It also assembles out-of-ordered data to in-ordered before it transfers data to CPU. Tx TCP block is responsible for transmit flow which transfers data from CPU to network. Tx TCP performs retransmission for reliable data transfer and management of transmit window and sequence number. Various test-cases are used to verify the TCP functions. The TCP Engine is synthesized using 0.18 micron technology and results in 51K gates not including buffers for temporal data storage.

Host Interface Implementation for TCP/IP Hardware Accelerator (TCP/IP 하드웨어와 CPU와의 통신을 위한 Host/Interface 의 구현)

  • 정여진;임혜숙
    • Proceedings of the IEEK Conference
    • /
    • 2003.07b
    • /
    • pp.855-858
    • /
    • 2003
  • TCP/IP 를 포함하는 데이터 네트워킹 프로토콜을 구현함에 있어, 기존에는 소프트웨어 방식으로 구현되었던 모듈들을 하드웨어로 구현하는 프로젝트를 수행하면서, CPU 와 하드웨어 모듈과의 통신을 중계하는 모듈을 구현하였다. 본 논문에서는 TCP/IP 하드웨어와 CPU 와의 통신을 위한 Host Interface 의 기능에 대해 다루고 구현 방식을 Control flow와 Data flow의 입장에서 설명하였다. 우선, Host Interface 의 기능을 설명하고 Host Interface 의 입출력 신호를 정의하였다. Host Interface에서 이루어지는 CPU와 하드웨어 모듈간의 통신을 제어정보 흐름과 데이터정보 흐름으로 나누고 제어흐름을 위해서는 Command/Status Register 를 두었고, 데이터 흐름을 위해서는 CPU와 데이터 RAM 사이에 FIFO 를 두어 데이터의 흐름이 신속히 이루어지도록 하였다. 끝으로 Host Interface 와 주변 모듈들간의 통신에 대한 Testcases에 대해서도 다루었다.

  • PDF