VIA 기반 PC 클러스터 시스템을 위한 무복사 파일 전송 메커니즘의 개발 및 성능분석

Development and Performance Study of a Zero-Copy File Transfer Mechanism for Ink-based PC Cluster Systems

  • 박세진 (삼성전자 정보통신총괄 무선사업부) ;
  • 정상화 (부산대학교 컴퓨터공학과) ;
  • 최봉식 (부산대학교 컴퓨터공학과) ;
  • 김상문 (부산대학교 컴퓨터공학과)
  • 발행 : 2005.12.01

초록

본 논문에서는 VIA(Virtual Interface Architecture) 기반 클러스터 시스템 상에서 효과적인 파일 전송을 위한 무복사 파일 전송 메커니즘의 개발 및 구현에 관하여 나타내었다. VIA는 클러스터 시스템을 위한 대표적인 사용자 수준 통신 방법이지만 파일 전송에 대한 라이브러리는 제공하지 않으며 파일 전송을 위해서는 커널 공간에서 사용자 공간으로 한번의 데이타 복사가 필요하다. 본 논문의 파일 전송 메커니즘은 파일시스템의 수정 없이 파일 전송 라이브러리만 제공함으로써, 네트워크 인터페이스 카드가 보내고자 하는 노드의 파일을 상대방 노드의 사용자 버퍼로 복사 없이 전송 가능케 하였다. 이를 위해 본 연구에서는 PCI 64bit/66MHz를 지원하고 물리적 네트워크로 기가비트 이더넷을 사용하는 VIA 기반의 네트워크 카드를 개발하였고, 이를 바탕으로 무복사 파일 전송 메커니즘을 구현하였다. 이러한 구현의 결과로 sender 측의 데이타 복사 횟수 및 문맥전환 시간을 줄였고, 기존의 VIA의 send/receive에 비해 CPU 사용률을 $30\%\~40\%$ 정도로 줄일 수 있었다. 본 논문에서는 TCP/IP에서 제공하는 무복사 파일 전송 및 VIA에서 사용되는 파일 전송 방법과의 비교 분석 실험을 통하여 본 논문에서 제시한 무복사 파일 전송 메커니즘의 성능을 보였다.

This paper presents the development and implementation of a zero-copy file transfer mechanism that improves the efficiency of file transfers for PC cluster systems using hardware-based VIA(Virtual Interface Architecture) network adapters. VIA is one of the representative user-level communication interfaces, but because there is no library for file transfer, one copy occurs between kernel buffer and user boilers. Our mechanism presents a file transfer primitive that does not require the file system to be modified and allows the NIC to transfer data from the kernel buffer to the remote node directly without copying. To do this, we have developed a hardware-based VIA network adapter, which supports the PCI 64bit/66MHz bus and Gigabit Ethernet, as a NIC, and implemented a zero-copy file transfer mechanism. The experimental results show that the overhead of data coy and context switching in the sender is greatly reduced and the CPU utilization of the sender is reduced to $30\%\~40\%$ of the VIA send/receive mechanism. We demonstrate the performance of the zero-copy file transfer mechanism experimentally. and compare the results with those from existing file transfer mechanisms.

키워드

참고문헌

  1. T. von Eicken. A. Basu, V. Buch, and W. Vogels. 'U-Net: A User-level Network Interface for Parallel and Distributed Computing,' Proc, of the 15th ACM Symposium on Operating Systems Principles (SOSP), Colorado, December 3-6, 1995
  2. Virtual Interface Architecture Specification 1.0, http://www.viarch.org/
  3. P. Bozeman and B. Saphir, 'A Modular High Performance implementation of the Virtual Interface Architecture,' Proc. Of the 2nd Extreme Linux Workshop, June 1999
  4. InfiniBandTM Architecture, http://www.infinibandta.org/
  5. Dragan Stancevic, 'Zero Copy I: User-Mode Perspective,' Linux Journal, Volume 2003 Issue 105, January 2003
  6. Jeff Tranter, 'Exploring The Sendfile System Call,' Linux Gazette, Issue91, June 2003
  7. Shepler, S., et. al. NFS version 4 Protocol, Internet Engineering Task Force RFC3010, December 2000
  8. DAFS Collaborabive, Direct Access File System Protocol, Version 1.0, September 2001, http://www.dafscollaborative.org
  9. A. Feforova, M. Seltzer, K. Magoutis, S. Addetia, 'Application performance on the Direct Access File System,' ACM SIGSOFT Software Engineering Notes, Proc. of the 4th international workshop on Software and Performance, vol 29, January 2004 https://doi.org/10.1145/974044.974058
  10. S. Park, S.H. Chung, I.S. Yoon, I.H. Jung, S.M. Lee, B. Lee, 'HVIA-GE: A Hardware Implementation of Virtual Interface Architecture Based on Gigabit Ethernet,' Lecture Notes on Computer Science 3280, October 2004
  11. Xilinx Virtex II Pro 30, http://www.xilinx.com
  12. Intel Corporation, 82544 Gigabit Ethernet Controllers with Integrated PHY, http://www.intel.com/design/network/products/lan/controllers/82544.htm
  13. 박세진, 정사화, 유인수, 'HVIA-GE: 기가비트 인터넷에 기반한 Virtual Interface Architecture의 하드웨어 구현', 한국정보과학회논문지: 시스템 및 이론 vol. 31, no. 5.6, June 2004
  14. M-VIA Core Release 1.2, http://old-www.nersc.gov/research/FTG/via/