Server virtualization enables consolidation of full software environments into virtual containers, hosted on a single or multiple physical servers. This allows increasing utilization of physical resources for applications and software environments in completely transparent way. On the other hand, modern virtualization frameworks also provide some platform-level management primitives, as e. g. making a snapshot of the running virtual machine and reverting to it, or migration of virtual machines from a host to another, even without suspending their execution. The performance and several dependability attributes (for example service-level availability) of services in datacenter environments become effectively manageable with these mechanisms.
At the same time, the currently widely used virtualization technologies do not ensure perfect performance isolation between virtual machines. Thus, even if the QoS-characteristics of a service are even well-known in native setting, experience shows that its virtualized manifestation's characteristics are negatively affected by other virtual machines running on the same physical host simultaneously. Due to these problems the capacity planning problem of virtualized environments' resource-allocation configuration is still an open question. A further aspect of virtualized environments' configuration planning is that not only an initialize configuration is needed, which also fulfills dependability constraints, but also the planning of utilization of reconfiguration mechanisms.
The main reasons of performance interference in virtualized environments and the currently known approaches to their characterization are presented. Based on already available virtualization benchmarks, an experimental environment has been developed, where these interferences can be measured and analyzed. Based on measurements in this environment some simple phenomenological performance models are set up for the examined virtual machines, taking into account the practical applicability. It is shown that how simultaneously running virtual machines can be characterized using virtualization frameworks' platform-level instrumentation and intelligent data processing methods.
Based on the related literature, the paper provides a brief overview of the
known methods of achieving performance and dependability by reconfiguration
in virtualized environments and proposes a linear programming-based approach for a subclass of reconfiguration problems.