M.Sc Thesis

M.Sc StudentMoscovici Eyal
SubjectTowards Sidecore Management for Virtualized Environments
DepartmentDepartment of Computer Science
Supervisor ASSOCIATE PROF. Dan Tsafrir
Full Thesis textFull thesis text - English Version


Virtualization is the ability of modern computer systems to run guest Vir-

tual 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 through-

put I/O workloads, and not consume system resources during periods of low


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.