Resource Allocation in Contending Virtualized Environments through Stochastic Virtual Machine Performance Modeling and Feedback
In virtualized systems, allocation and scheduling of resources shared among multiple virtual machines faces challenges such as autonomy, isolation and high workload dynamics. The multiplexing and consolidation nature of virtualized systems also raise issues such as interference and conflicts among various virtual machine instances. Therefore traditional resource allocation strategy can't achieve good performance without modifications according to these particular characteristics in virtualized systems. In this paper we use a stochastic model to characterize the resources (especially CPU) and workload dynamics. Then we use a weighted priority based service differentiation strategy to allocate resources in contending conditions to provide performance guarantees as well as load balance and fairness. In the proposed algorithms user behavior and workloads are characterized through the historical and real time performance profiling and estimation from hosted agents within individual Virtual Machines. The resources are allocated according to the demand as well as the performance of the targeted Virtual Machines based on the Sufferage aggregation and performance feedback. Experiments on a real Xen based virtualization environment with 20 Virtual Machines are conducted and evaluated for accuracy, efficiency, sensitivity, and overhead. The results show that the performance feedback based allocation can achieve a higher SLA satisfaction rate as 97.1%, a lower load imbalance index as 18.7%. The performance feedback based allocator uses 14.06% less CPU time for CPU-intensive applications and reduces 45.59% I/O wait time in disk contention environments. The results also show that the feedback based algorithm is valid, effective and scalable for implementation in real virtualized environments.
resource allocation virtualized environment scheduling performance feedback workload characterization