Building a high-performance communication layer over virtual interface architecture on Linux clusters

Abstract

The Virtual Interface Architecture (VIA) is an industry standard user-level communication architecture for cluster or system area networks. The VIA provides a protected, directly-accessible interface to a network hardware, removing the operating system from the critical communication path. Although the VIA enables low-latency high-bandwidth communication, the application programming interface defined in the VIA specification lacks many high-level features. In this paper, we develop a high performance communication layer over VIA, named SOVIA (Sockets Over VIA). Our goal is to make the SOVIA layer as efficient as possible so that the performance of native VIA can be delivered to the application, while retaining the portable Sockets semantics. We find that the single-threaded implementation with conditional sender-side buffering is effective in reducing latency. To increase bandwidth, we implement a flow control mechanism similar to the TCP's sliding window protocol. Our flow control mechanism is enhanced further by adding delayed acknowledgments and the ability to combine small messages. With these optimizations, SOVIA realizes comparable performance to native VIA, showing the latency of 10.5 &#181;<i>sec</i> for 4-byte messages and the peak bandwidth of 814Mbps on Giganet's cLAN. The functional validity of SOVIA is verified by porting FTP (File Transfer Protocol) application over SOVIA.

DOI: 10.1145/377792.377858

Extracted Key Phrases

16 Figures and Tables

Cite this paper

@inproceedings{Kim2001BuildingAH, title={Building a high-performance communication layer over virtual interface architecture on Linux clusters}, author={Jin-Soo Kim and Kangho Kim and Sung-In Jung}, booktitle={ICS}, year={2001} }