Abstract
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.
최근 Gbps 이상의 고속 네트워크 상에서 호스트 CPU에 많은 오버헤드를 발생시키는 TCP/IP의 문제점을 해결하기 위해 네트워크 어댑터 상에서 TCP/IP를 처리함으로써 호스트 CPU의 작업부하를 줄이는 TCP/IP Offload Engine(TOE) 기술이 연구되고 있다. TOE의 구현 방법에는 범용 임베디드 프로세서에서 소프트웨어로 TCP/IP를 처리하는 방법과 전용 ASIC에서 하드웨어로 TCP/IP를 처리하는 방법이 사용되어 왔으나 소프트웨어 구현은 통신의 성능이 떨어지고 하드웨어 구현은 유연성과 확장성이 떨어지는 문제점들을 가지고 있다. 본 논문에서는 하드웨어적인 접근 방법과 소프트웨어적인 접근 방법을 결합한 하이브리드 TOE 구조를 제안한다. 하이브리드 TOE는 데이타 패킷의 생성과 처리와 같이 통신의 성능에 큰 영향을 끼치는 기능들을 하드웨어로 구현함으로써 하드웨어 기반 TOE 구현에 버금가는 성능을 제공하고, 연결 설정과 같이 통신의 성능에 영향을 크게 끼치지 않는 기능들은 임베디드 프로세서 상에서 소프트웨어로 처리한다. 본 논문에서는 데이타 송수신의 성능을 높이기 위해 데이타 패킷의 생성 및 처리등을 지원하는 하드웨어 송수신 가속기를 설계 및 구현하였다. 실험 결과 송수신 가속기를 사용한 하이브리드 TOE는 약 $19{\mu}s$의 최소 지연시간을 보였다. 그리고 6% 이하의 CPU 점유율에서 약 675 Mbps에 달하는 대역폭을 보였다.