Technical Report MSC-2017-09

Title: Towards Sidecore Management for Virtualized Environments
Authors: Eyal Moscovici
Supervisors: Dan Tsafrir
Abstract: Virtualization is the ability of modern computer systems to run guest Virtual Machines (VMs). The VM host exposes various I/O devices to its guests such as the Network Interface Controller (NIC) and the hard disk. Paravirtual I/O is a common technique for presenting the guest VM with an interface similar, but not identical, to the underlying hardware. Such interfaces are called virtual I/O devices, and their behavior is emulated by the VM host. This emulation must be scalable, able to handle high throughput I/O workloads, and not consume system resources during periods of low throughput. There are two leading approaches in use today: traditional paravirtual I/O and sidecores. In the traditional approach, VM guests experience performance degradation while handling high-throughput I/O workloads. On the other hand, the sidecore approach always consumes a set amount of system resources, which are wasted during low-throughput I/O workloads. This work explores a dynamic virtual I/O device management design that improves system utilization by combining the two approaches. Our system, SidecoreM, uses an I/O manager to dynamically determine the preferred approach based on the current I/O load. To this end, we first modeled the system under varying I/O workloads, then implemented the I/O manager based on the model. Evaluation of our design under Linux shows that SidecoreM is able to find the optimum configuration in all cases tested. While searching for the optimum configuration, we degrade performance by at most 6% compared to a statically tuned system. SidecoreM shows up to a 2.2x performance gain over the traditional approach. SidecoreM incurs 2800μs of overhead per second during normal operation, and a few milliseconds when changing the configuration of the system. The results show that SidecoreM improved performance by at most x2 with a dynamic workload and by x1.8 in static workloads compared to traditional paravirtual I/O. For most workloads, SidecoreM’s overhead – how far it was from state-of-the-art statically tuned configuration – was less than 5%, and in most cases, there was no noticeable overhead.
CopyrightThe above paper is copyright by the Technion, Author(s), or others. Please contact the author(s) for more information

Remark: Any link to this technical report should be to this page (, rather than to the URL of the PDF or PS files directly. The latter URLs may change without notice.

To the list of the MSC technical reports of 2017
To the main CS technical reports page

Computer science department, Technion