Fuzzy Self-Learning Controllers for Elasticity Management in Dynamic Cloud Architectures
File(s) qosa16.pdf (3.06 MB)
Accepted version
Author(s)
Jamshidi, P
Sharifloo, A
Pahl, C
Estrada, G
Type
Conference Paper
Abstract
Cloud controllers support the operation and quality
management of dynamic cloud architectures by automatically
scaling the compute resources to meet performance guarantees
and minimize resource costs. Existing cloud controllers often
resort to scaling strategies that are codified as a set of architecture
adaptation rules. However, for a cloud provider, deployed
application architectures are black-boxes, making it difficult at
design time to define optimal or pre-emptive adaptation rules.
Thus, the burden of taking adaptation decisions often is delegated
to the cloud application. We propose the dynamic learning of
adaptation rules for deployed application architectures in the
cloud. We introduce FQL4KE, a self-learning fuzzy controller
that learns and modifies fuzzy rules at runtime. The benefit
is that we do not have to rely solely on precise design-time
knowledge, which may be difficult to acquire. FQL4KE empowers
users to configure cloud controllers by simply adjusting weights
representing priorities for architecture quality instead of defining
complex rules. FQL4KE has been experimentally validated using
the cloud application framework ElasticBench in Azure and
OpenStack. The experimental results demonstrate that FQL4KE
outperforms both a fuzzy controller without learning and the
native Azure auto-scaling
management of dynamic cloud architectures by automatically
scaling the compute resources to meet performance guarantees
and minimize resource costs. Existing cloud controllers often
resort to scaling strategies that are codified as a set of architecture
adaptation rules. However, for a cloud provider, deployed
application architectures are black-boxes, making it difficult at
design time to define optimal or pre-emptive adaptation rules.
Thus, the burden of taking adaptation decisions often is delegated
to the cloud application. We propose the dynamic learning of
adaptation rules for deployed application architectures in the
cloud. We introduce FQL4KE, a self-learning fuzzy controller
that learns and modifies fuzzy rules at runtime. The benefit
is that we do not have to rely solely on precise design-time
knowledge, which may be difficult to acquire. FQL4KE empowers
users to configure cloud controllers by simply adjusting weights
representing priorities for architecture quality instead of defining
complex rules. FQL4KE has been experimentally validated using
the cloud application framework ElasticBench in Azure and
OpenStack. The experimental results demonstrate that FQL4KE
outperforms both a fuzzy controller without learning and the
native Azure auto-scaling
Date Issued
2016-07-21
Date Acceptance
2016-04-01
Citation
12th International ACM Sigsoft Conference on the Quality of Software Architectures, 2016
Publisher
IEEE
Journal / Book Title
12th International ACM Sigsoft Conference on the Quality of Software Architectures
Copyright Statement
© 2016 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
Source
12th International ACM Sigsoft Conference on the Quality of Software Architectures
Publication Status
Published
Start Date
2016-04-05
Finish Date
2016-04-08
Coverage Spatial
Venice, Italy
