Research and Implementation of Zero-Copy Technology Based on Device Driver in Linux

Zero-copy means on any network node, during message transmission, there is no data copy among memory segments and all messages transmission are operated directly between user application space and outside of network through network interfaces. By DMA technology, network interface devices can store data packets into the address where it can be accessed directly by user application, the data packets copy operation is removed in kernel and reducing the data transmission path. By working together with TOE technology, it can drop the communication delay effectively and save a lot of CPU cost. In this paper, we based on Linux (kernel version 2.6.11), by modifying its network device driver snull.c (attached in Linux Device Driver version 3), to implement the memory mapping between Linux kernel space to user application space. The main method we used is the combination of MMAP and PROC procedures, and at the end, we also introduce the implementation of test program and the test strategies. The test results show us that the applications can access the applied memory of kernel by mapping

[1]  Willy Zwaenepoel,et al.  Diagnosing performance overheads in the xen virtual machine environment , 2005, VEE '05.

[2]  Keir Fraser,et al.  Arsenic: a user-accessible gigabit Ethernet interface , 2001, Proceedings IEEE INFOCOM 2001. Conference on Computer Communications. Twentieth Annual Joint Conference of the IEEE Computer and Communications Society (Cat. No.01CH37213).

[3]  Ori Pomerantz,et al.  The Linux Kernel Module Programming Guide , 2000 .

[4]  D.E. Culler,et al.  Effects Of Communication Latency, Overhead, And Bandwidth In A Cluster Architecture , 1997, Conference Proceedings. The 24th Annual International Symposium on Computer Architecture.

[5]  Tim Brecht,et al.  Efficient operating system support for group unicast , 2005, NOSSDAV '05.

[6]  Greg Kroah-Hartman,et al.  Linux Device Drivers, 3rd Edition , 2005 .

[7]  Patricia Gilfeather,et al.  Fragmentation and high performance IP , 2001, Proceedings 15th International Parallel and Distributed Processing Symposium. IPDPS 2001.

[8]  Greg Kroah-Hartman,et al.  Linux Device Drivers , 1998 .

[9]  Jin-Soo Kim,et al.  Building a high-performance communication layer over virtual interface architecture on Linux clusters , 2001, ICS '01.