The performance of high-speed network-attached storage
applications is often limited
by end-system overhead, caused primarily by memory copying and network
protocol processing. In this paper, we examine alternative strategies for
reducing overhead in such systems.
We consider optimizations to remote procedure call
(RPC)-based data transfer using either remote direct
memory access (RDMA) or network interface support
for pre-posting of application receive buffers.
We demonstrate that both mechanisms enable file access
throughput that saturates a 2Gb/s network link when
performing large I/Os on relatively slow, commodity
PCs. However, for multi-client workloads dominated by
small I/Os, throughput is limited by the per-I/O
overhead of processing RPCs in the server. For such
workloads, we propose the use of a new network I/O
mechanism, Optimistic RDMA (ORDMA). ORDMA is
an alternative to RPC that aims to improve server
throughput and response time for small I/Os.
We measured performance improvements of up to 32% in server
throughput and 36% in response time with use of ORDMA in our prototype.