@andre.bauer

Design and Evaluation of a Proactive, Application-Aware Elasticity Mechanism

. University of Würzburg, Am Hubland, Informatikgebäude, 97074 Würzburg, Germany, Master Thesis, (September 2016)

Abstract

In order to guarantee a reliable service quality to their customers and due to the increasing complexity of cloud applications, SaaS cloud providers usually run their business critical applications with a fixed amount of resources. This approach has drawbacks such as a higher costs (e.g., bad energy efficiency, if the system is not fully utilized), or bad performance regarding unexpected work peaks. Amazon with its EC2, for instance, provides a configurable scheduled-based and rule-based auto-scaler. However, this reactive scaling has a latency depending on resource type in the order of minutes. Therefore, proactive and application aware auto-scalers are required - intelligent controllers, which can reconfigure the system on time, to ensure high availability and constant performance under changing conditions. The existing auto-scalers can be classified into five groups and prominent examples of each class were investigated. The result of this observation is that the existing controllers are either application-specific or generic. I.e. the auto-scalers can either perform well only on the chosen system or they perform far beyond their means. In this thesis, a novel proactive, application-aware elasticity mechanism called Chameleon is introduced. The proposed controller employs established forecast methods for short-, mid- and long-term predictions of the arriving load intensity, application knowledge, and resource demand estimation to calculate the required resources per work unit. While taking these information into account, the mechanism reconfigures the deployment of an application in a way that the supply of resources matches the current and estimated future demand for resources. I.e., Chameleon consists of two mechanisms: (I) a reactive rule-based controller as fall-back insurance and (II) a proactive controller which has three major building blocks: (a) continuous workload forecasting (using a modified version of WCF) with dynamic forecast method selection, (b) a descriptive performance model/ application knowledge (DML Model@RunTime), and (c) optimized resource demand estimation approaches (using the tool LibReDE). In the evaluation, Chameleon is compared against four different state-of-the-art controllers in a private CloudStack-based environment. The BUNGEE elasticity benchmark framework and metrics are used to conduct and analyse the row of experiments. As workload scenarios, a CPU intensive http application that solves nxn matrices (whereas n is the request parameter) and SPECjEnterprise2010 is used. The applications are driven with variable load profiles (extracted with LIMBO from the FIFA World Cup 1998 trace) generated with JMeter (instead of Faban - as classically used by SPECjEnterprise2010). During the CPU intensive scenario Chameleon achieves the best scaling behaviour (based on user and elasticity metrics) and in the SPECjEnterprise2010 the second best user metrics.

Links and resources

Tags

community