초록
본 논문에서는 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.