Abstract
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.
최근 TCP/IP 프로토콜을 네트워크 어댑터 상에서 처리함으로써 호스트 CPU의 부하를 줄이는 TOE (TCP/IP Offload Engine)에 대한 연구가 활발히 진행되고 있다. TOE의 구현 방안으로는 임베디드 프로세서를 사용하여 TCP/IP를 처리하는 소프트웨어적인 구현 방법과 TCP/IP의 모든 기능을 하드웨어로 구현하는 방법이 제안되어 왔다. 본 논문에서는 하드웨어적인 접근 방법과 소프트웨어적인 접근 방법을 결합한 Hybrid TOE 구조를 제안한다. Hybrid TOE는 많은 작업 부하로 인하여 임베디드 프로세서 상에서 성능을 확보하기 어려운 기능들은 하드웨어로 구현하고, 연결 설정과 같이 통신의 성능에 영향을 크게 끼치지 않는 기능들은 임베디드 프로세서 상에서 소프트웨어로 처리한다. 이 방법은TCP/IP의 모든 기능을 하드웨어로 구현하는 방법에 근접하는 성능을 제공할 수 있으며, 새로운 기능을 추가하거나 TCP/IP를 기반으로 하는 상위 계층 프로토콜까지 오프로딩하는 것이 가능하므로 구조의 유연성 측면에서 장점을 가진다. 본 논문에서는 Hybrid TOE의 프로토타입을 개발하기 위해 FPGA와 ARM 프로세서를 탑재한 프로토타입 보드를 개발하였고, 하드웨어 모듈과 소프트웨어 모듈을 각각 FPGA와 ARM 프로세서 상에 구현하였다. 또한 하드웨어 모듈과 소프트웨어 모듈의 연동 메커니즘을 개발하였다. 실험을 통해 Hybrid TOE 프로토타입이 호스트 CPU 상에 발생하는 부하를 줄여줌을 입증하고, 하드웨어/소프트웨어 연동 구조의 효과를 분석하였다. 그리고, Hybrid TOE의 완성을 위해 필요한 요소들을 분석하였다.