Auto-scaling features enable cloud applications to maintain enough resources to satisfy demand spikes, reduce costs and keep performance in check. Most auto-scaling strategies rely on a predefined set of rules to scale up/down the required resources depending on the application usage. Those rules are however difficult to devise and generalize, and users are often left alone tuning auto-scale parameters of essentially blackbox applications. In this paper, we propose a novel fuzzy reinforcement learning controller, FQL4KE, which automatically scales up or down resources to meet performance requirements. The Q-Learning technique, a model-free reinforcement learning strategy, frees users of most tuning parameters. FQL4KE has been successfully applied and we therefore think that a fuzzy controller with Q-Learning is indeed a promising combination for auto-scaling resources.
Elasticity is a key characteristic of cloud platforms enabling both cloud providers and end-users to set policies to satisfy demand spikes, minimize costs, and increase platform utilization and application performance , . Despite the advantages, however, the dynamic acquisition and release of resources remains a challenge due to the inherent uncertainty introduced by workloads, costs and user constraints (e.g., response time). A large number of approaches have been proposed with varying degree of success , , . Scaling rules based on predefined thresholds are often simple and intuitive to set up, see for instance Amazon EC2 , Microsoft Azure  and OpenStack . This thresholding mechanism, one size fits all approach, however, makes it difficult to generalize and quickly adapt to different scenarios. As the applications grow in complexity, the interference among components and the frequency by which hardware and software failures arise impose new challenges , , . In the remaining sections we introduce a novel fuzzy controller which together with Q-Learning automatically updates fuzzy rules to learn optimal elasticity policies at runtime. We have previously shown that a fuzzy auto-scaling controller can successfully enhance the user experience by allowing intuitive auto-scaling decisions . The key strength of fuzzy logic is their ability to translate human knowledge into a set of basic and understandable rules. During the design process of a fuzzy controller, a set of IF-THEN rules must be defined. These rules represent the mapping of the input received from monitoring to the output scaling decisions entangled with the actuator in linguistic terms. Although users are more comfortable with defining fuzzy auto-scaling rules using linguistic variables , the rules have to be defined at design- time based on limited knowledge available. Here is where learning strategies could be employed to ease the burden at design time.
Publisher : IEEE
By : Pooyan Jamshidi , Amir M. Sharifloo , Claus Pahl , Andreas Metzger , Giovani Estrada
File Information: English Language/ 4 Page / size: 486 KB
سال : 2015
ناشر : IEEE
کاری از : Pooyan Jamshidi , Amir M. Sharifloo , Claus Pahl , Andreas Metzger , Giovani Estrada
اطلاعات فایل : زبان انگلیسی / 4 صفحه / حجم : KB 486
لینک دانلود : روی همین لینک کلیک کنید