Zero-Copy Receive for Virtualized Network Devices

Kalman Meth,Joel Nider,Mike Rapoport
DOI: https://doi.org/10.1007/978-3-030-02683-7_45
2018-10-20
Abstract:When receiving network traffic on guest VMs (virtual machines) running on the KVM hypervisor, data is copied from hypervisor buffers to guest buffers. This copy incurs CPU and latency overhead. It seems desirable to avoid this copy, if possible, and to use guest buffers directly to receive network data. A number of challenges must be overcome in order to accomplish this zero-copy receive, and some additional overhead is incurred in setting it up. We present the technical details on a zero-copy receive design and implementation and discuss the resulting performance degradation. In our implementation, the savings in CPU from avoiding the copy is overshadowed by the extra handling required for the smaller and often underutilized buffers.
What problem does this paper attempt to address?