Skip to content (access key 's')
Logo of Technion
Logo of CS Department
Logo of CS4People

The Taub Faculty of Computer Science Events and Talks

Sidecore Managment for Virtualized Environments
event speaker icon
Eyal Moscovici (M.Sc. Thesis Seminar)
event date icon
Wednesday, 22.06.2016, 10:00
event location icon
Taub 601
event speaker icon
Advisor: Prof. D. Tsafrir
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), hard disk, etc. Para-virtual 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, must be able to handle high throughput I/O workloads, and must not consume system resources during periods of low throughput. Today there are two leading approaches: 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 re- sources 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. We present SidecoreM which uses an I/O manager to dynamically deter- mine 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 but one. While searching for the optimum configuration we degrade performance by at most 6% com- pared to a statically tuned system. SidecoreM shows up to 2.2x performance gain over the traditional approach. SidecoreM incurs 280us of overhead per second during normal operation, and a few milliseconds when changing the configuration of the system.