Self-adaptive Resource Allocation for Cloud-Based Software Services Based on Iterative QoS Prediction Model
Xing Chen,Haijiang Wang,Yun Ma,Xianghan Zheng,Longkun Guo
DOI: https://doi.org/10.1016/j.future.2019.12.005
IF: 7.307
2020-01-01
Future Generation Computer Systems
Abstract:Emerging cloud-based software services have proposed request for self-adaptive resource allocation that provides to dynamically adjust resources on demand. Traditional self-adaptive resource allocation methods are rule-driven that they combine expert knowledge with a separate set of management rules for each software, leading to high implementation complexity and administrative cost. Recent researches on self-adaptive resource allocation mainly focus on machine learning and control theory. However, machine learning techniques require plenty training data, which in many cases is insufficient and leads to low accuracy of QoS prediction model as well as the ineffectiveness of resource allocation, while resource allocation based on control theory needs a large number of iterations, resulting in a high overhead such as frequent virtual machine switches. This paper proposes a self-adaptive resource allocation method that is actually a framework composed of feedback loops, each of which goes through our designed iterative QoS prediction model and PSO-based runtime decision algorithm. In contrast to previous QoS prediction models which predict a QoS value once and for all, ours improves the predicted QoS value in iterations towards the best one. In the prediction, we first use the workload, the allocated resource, the real QoS value and an operation of resource allocation to produce a QoS value. Then we employ PSO-based runtime decision algorithm together with the predicted QoS value to determine future resource allocation operations. The loops iterate until the PSO-based algorithm suggests no further improvement over the current resource allocation. We evaluate our approach on RUBiS benchmark, illustrating that based on the same historical data, our method can achieve a better QoS prediction accuracy that is 15% higher than the current state of the art. Moreover, it is also shown the effectiveness of cloud application resource allocation is improved by roughly 5%-6%. (C) 2019 Elsevier B.V. All rights reserved.