An Integrated Approach to Automatic Management of Virtualized Resources in Cloud Environments
Cloud computing, as a newly emergent computing environment, promises dynamic flexible infrastructures required to host Internet applications and application service level objects (SLOs) guaranteed services in a pay-as-you-go manner to the public. However, an important problem that remains to be effectively addressed is how to offer a cloud resource management solution that saves hardware and operations and management costs while meeting various SLOs. It faces the following challenges: complex dynamic relationships between application workload and SLOs and resource utilization, and the virtual machine (VM) placement problem in cloud environments. In this paper, we present an integrated approach that employs three-layered resource controllers using different analytic techniques, including the feedback control theory, statistical machine learning and system identification etc. Compared with Xen, KVM is chosen as the VM monitor to implement the proposed approach. Our experimental results show that the integration of layered controllers can reasonably allocate multiple resources to applications which execute on different VMs in cloud environments to achieve application SLOs under fluctuating time-varying workloads and unpredictable variations of system situations. In addition, it provides application SLO differentiation.