This work addresses an apparently simple but elusive problem that arises when doing high speed networking on Virtual Machines. When a VM and its peer (usually the hypervisor) process packets at di erent rates, the work required for synchronization (interrupts and \kicks") may reduce throughput well below the slowest of the two parties. The problem is not peculiar to VMs: I/O on magnetic tapes and rotating disks has similar issues. What is challenging with VM networking is the timescale at which interactions may occur: down to tens or hundreds of nanoseconds, versus the 1..100 milliseconds in mechanical I/O devices. In this paper we study the impact of producer/consumer synchronization on throughput and overall eciency of the system; identify different operating regimes depending on the operating parameters; and validate the accuracy of our model on an actual prototype that resembles the operation of a VM and its hypervisor. Our goal, to be expanded in future work, is to use these findings to derive strategies that can provide good or optimal throughput while being cost e ective, robust and practical, i.e., without unnecessarily keeping cores active all the time, or depending on precise timing measurements or unreasonable assumptions on the system's behaviour.
File: "http://info.iet.unipi.it/~luigi/papers/2016-ancs-cvt.pdf"