All resources of grid systems are connected by network and Ethernet-based TCP/IP is a widely used network in the grid systems. The TCP/IP is processed on a host CPU in computer systems and this imposes heavy 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, has become an important approach to this problem. To adopt the TOE to computer systems successfully, it is necessary to develop a kernel module supporting the TOE. The TOE kernel module should provide the binary compatibility for the BSD socket interface, which is widely used in the most network programming, and support both of the TOE and the Ethernet-based NIC simultaneously. This paper proposes a TOE kernel module satisfying these requirements in the Linux systems. Experimental results also show that the TOE kernel module imposes little load on the host CPU.
An Efficient Linux Kernel Module supporting TCP/IP Offload Engine on Grid