Performance Review of Zero Copy Techniques

E-government and corporate servers will require higher performance and security as usage increases. Zero copy refers to a collection of techniques which reduce the number of copies of blocks of data in order to make data transfer more efficient. By avoiding redundant data copies, the consumption of memory and CPU resources are reduced, thereby improving performance of the server. To eliminate costly data copies between user space and kernel space or between two buffers in the kernel space, various schemes are used, such as memory remapping, shared buffers, and hardware support. However, the advantages are sometimes overestimated and new security issues arise. This paper describes different approaches to implementing zero copy and evaluates these methods for their performance and security considerations, to help when evaluating these techniques for use in e-government applications.

[1]  Koichi Wada,et al.  Active Zero-copy: A performance study of non-deterministic messaging , 2005, The 4th International Symposium on Parallel and Distributed Computing (ISPDC'05).

[2]  Joseph Pasquale,et al.  Exploiting In-Kernel Data Paths to Improve I/O Throughput and CPU Availability , 1993, USENIX Winter.

[3]  Eduard Bröse washuu ZeroCopy : Techniques , Benefits and Pitfalls , .

[4]  Chun-Ying Huang,et al.  Accelerate in-line packet processing using fast queue , 2010, TENCON 2010 - 2010 IEEE Region 10 Conference.

[5]  Nabeel Tahir INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND SECURITY (IJCSS) , 2011 .

[6]  Pål Halvorsen,et al.  Performance tradeoffs for static allocation of zero-copy buffers , 2002, Proceedings. 28th Euromicro Conference.

[7]  Mei-Ling Chiang,et al.  LyraNET: a zero-copy TCP/IP protocol stack for embedded operating systems , 2005, 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'05).

[8]  Dragan Stancevic Zero copy I: user-mode perspective , 2003 .

[9]  Hsiao-Keng Jerry Chu,et al.  Zero-Copy TCP in Solaris , 1996, USENIX Annual Technical Conference.