Design and Implementation of Zero-Copy Data Path for Efficient File Transmission

  • Dong-Jae Kang
  • Young-Ho Kim
  • Gyu-Il Cha
  • Sung-In Jung
  • Myung-Joon Kim
  • Hae-Young Bae
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4208)


Huge requests for file transmission by concurrent users cause excessive memory copy operations and system calls between kernel and user space, which are very expensive and require many CPU cycles for processing. And it has been a bottleneck that limits the number of serviceable requests and prevents CPU resources from being allocated to other processes. In this paper, we suppose the zero-copy data path for efficient file transmission to solve the upper described problems. To do that, we used existing system call interface, sendfile, for file transmission from one device to another and used the same buffer page to transmit a file. The supposed zero-copy data path reduces CPU cost per transaction by eliminating CPU copies between kernel and user space and by avoiding unnecessary system calls in user space. The improved CPU efficiency means that a larger number of requests can be serviced with the same CPU configuration.


System Call Total Execution Time User Space Context Switching Network Interface Card 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Halvorsen, P., Dalseng, T.A., Griwodz, C.: Assessment of Data Path Implementations for Download and Streaming. In: DMS 2005 (2005)Google Scholar
  2. 2.
    Stancevic, D.: Zero copy I: User-mode Perspective. Linux Journal (105) (2003)Google Scholar
  3. 3.
    Sotiropoulos, A., Tsoukalas, G., Koziris, N.: Efficient Utilization of Memory Mapped NICs onto Clusters using Pipelined Schedules. Cluster Computing and the Grid, 238 (2002)Google Scholar
  4. 4.
    Halvorsen, P., Jorde, E., Skevik, K.-A., Goebel, V., Plagemann, T.: Performance Tradeoffs for Static Allocation of Zero-copy Buffers. In: Euromicro Conference, pp. 138–143 (2002)Google Scholar
  5. 5.
    Skevik, K.-A., Plagemann, T., Goebel, V., Halvorsen, P.: Evaluation of a Zero-copy Protocol Implementation. In: Proceedings of Euromicro Conference 2001, pp. 324–330 (2001)Google Scholar
  6. 6.
    Halvorsen, P., Plagemann, T., Goebel, V.: Improving the I/O Performance of Intermediate Multimedia Storage Nodes. Multimedia Systems 9(1), 56–67 (2003)CrossRefGoogle Scholar
  7. 7.
    Goldenberg, D., Kagan, M., Ravid, R., Tsirkin, M.S.: Zero-copy Sockets Direct Protocol over Infiniband-preliminary Implementation and Performance Analysis. In: Proceedings of the High Performance Interconnects 2005, pp. 128–137 (2005)Google Scholar
  8. 8.
    Shukla, A., Li, L., Subramanian, A., Ward, P.A.S., Brecht, T.: Evaluating the Performance of User-space and Kernel-space Web Servers. In: Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research (2004)Google Scholar
  9. 9.
    Vivek, S., Pai, P.D., Willy, Z.: IO-Lite: A unified I/O Buffering and Caching System. ACM Transactions on Computer Systems 18(1), 37–66 (2000)CrossRefGoogle Scholar
  10. 10.
    Charles, D.C., Parulkar, G.M.: The UVM Virtual Memory System. In: USENIX Annual Technical Conference, Monterey CA, USA, pp. 117–130 (1999)Google Scholar
  11. 11.
    Shivam, P., Wyckoff, P., Panda, D.: EMP: Zero-copy OS-bypass NIC-driven Gigabit Ethernet Message Passing. In: Proceedings of the 2001 ACM/IEEE conference on Supercomputing (2001)Google Scholar
  12. 12.
    Park, S., Sang-Hwa, C., Bong-Sik, C., Sang-Moon, K.: Design and Implementation of an Improved Zero-Copy File Transfer Mechanism. In: Liew, K.-M., Shen, H., See, S., Cai, W. (eds.) PDCAT 2004. LNCS, vol. 3320, pp. 446–450. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  13. 13.
    Sotiropoulos, A., Tsoukalas, G., Koziris, N.: Efficient Utilization of Memory Mapped NICs onto Clusters using Pipelined Schedules. In: Cluster Computing and the Grid 2nd IEEE/ACM International Symposium, pp. 223–231 (2002)Google Scholar
  14. 14.
    Yun-Chen, L., Mei-Ling, C.: LyraNET: A Zero-Copy TCP/IP Protocol Stack for Embedded Operating Systems. Embedded and Real-Time Computing Systems and Applications, 123–128 (2005)Google Scholar
  15. 15.
    Yamagiwa, S., Aoki, K., Wada, K.: Active zero-copy: A performance Study of Non-deterministic Messaging. In: Proceedings of the 5th International Symposium on Parallel and Distributed Computing (2005)Google Scholar
  16. 16.
    Xiaofei, X., Yi, L., JiChang, K.: The Research on Zero-copy Receiving Method Based on Communication-page Pool. Parallel and Distributed Computing, Applications and Technologies, 416–419 (2003)Google Scholar
  17. 17.
    Tezuka, H., O’Carroll, F., Hori, A., Ishikawa, Y.: Pin-down Cache: A Virtual Memory Management Technique for Zero-copy Communication. In: Proceedings of IPPS/SPDP, pp. 308–314 (1998)Google Scholar
  18. 18.
    Dong-Jae, K., Kang-Ho, K., Sung-In, J., Hae-Young, B.: TCP/IP Offload Engine Module Supporting Binary Compatibility for Standard Socket Interfaces. In: Zhuge, H., Fox, G.C. (eds.) GCC 2005. LNCS, vol. 3795, pp. 357–369. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Dong-Jae Kang
    • 2
  • Young-Ho Kim
    • 1
  • Gyu-Il Cha
    • 1
  • Sung-In Jung
    • 1
  • Myung-Joon Kim
    • 1
  • Hae-Young Bae
    • 2
  1. 1.Digital Home Division, ETRIInternet Server GroupDaejeonKorea
  2. 2.Dept. of Computer Science and Information EngineeringIn-Ha UniversityIncheonKorea

Personalised recommendations