4 research outputs found
Self-Learning Cloud Controllers: Fuzzy Q-Learning for Knowledge Evolution
Cloud controllers aim at responding to application demands by automatically
scaling the compute resources at runtime to meet performance guarantees and
minimize resource costs. Existing cloud controllers often resort to scaling
strategies that are codified as a set of adaptation rules. However, for a cloud
provider, applications running on top of the cloud infrastructure are more or
less 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. Yet, in most cases, application
developers in turn have limited knowledge of the cloud infrastructure. In this
paper, we propose learning adaptation rules during runtime. To this end, we
introduce FQL4KE, a self-learning fuzzy cloud controller. In particular, FQL4KE
learns and modifies fuzzy rules at runtime. The benefit is that for designing
cloud controllers, we do not have to rely solely on precise design-time
knowledge, which may be difficult to acquire. FQL4KE empowers users to specify
cloud controllers by simply adjusting weights representing priorities in system
goals instead of specifying complex adaptation rules. The applicability of
FQL4KE has been experimentally assessed as part of the cloud application
framework ElasticBench. The experimental results indicate that FQL4KE
outperforms our previously developed fuzzy controller without learning
mechanisms and the native Azure auto-scaling
Adaptive prediction models for data center resources utilization estimation
Accurate estimation of data center resource utilization is a challenging task due to multi-tenant co-hosted applications having dynamic and time-varying workloads. Accurate estimation of future resources utilization helps in better job scheduling, workload placement, capacity planning, proactive auto-scaling, and load balancing. The inaccurate estimation leads to either under or over-provisioning of data center resources. Most existing estimation methods are based on a single model that often does not appropriately estimate different workload scenarios. To address these problems, we propose a novel method to adaptively and automatically identify the most appropriate model to accurately estimate data center resources utilization. The proposed approach trains a classifier based on statistical features of historical resources usage to decide the appropriate prediction model to use for given resource utilization observations collected during a specific time interval. We evaluated our approach on real datasets and compared the results with multiple baseline methods. The experimental evaluation shows that the proposed approach outperforms the state-of-the-art approaches and delivers 6% to 27% improved resource utilization estimation accuracy compared to baseline methods.This work is partially supported by the European Research Council (ERC) under the EU Horizon 2020 programme (GA 639595), the Spanish Ministry of Economy, Industry and Competitiveness (TIN2015-65316-P and IJCI2016-27485), the Generalitat de Catalunya (2014-SGR-1051), and NPRP grant # NPRP9-224-1-049 from the Qatar National Research Fund (a member of Qatar Foundation) and University of the Punjab, Pakistan.Peer ReviewedPostprint (published version
Self-managing cloud-native applications : design, implementation and experience
Running applications in the cloud efficiently requires much more than deploying software in virtual machines. Cloud applications have to be continuously managed: (1) to adjust their resources to the incoming load and (2) to face transient failures replicating and restarting components to provide resiliency on unreliable infrastructure. Continuous management monitors application and infrastructural metrics to provide automated and responsive reactions to failures (health management) and changing environmental conditions (auto-scaling) minimizing human intervention.
In the current practice, management functionalities are provided as infrastructural or third party services. In both cases they are external to the application deployment. We claim that this approach has intrinsic limits, namely that separating management functionalities from the application prevents them from naturally scaling with the application and requires additional management code and human intervention. Moreover, using infrastructure provider services for management functionalities results in vendor lock-in effectively preventing cloud applications to adapt and run on the most effective cloud for the job.
In this paper we discuss the main characteristics of cloud native applications, propose a novel architecture that enables scalable and resilient self-managing applications in the cloud, and relate on our experience in porting a legacy application to the cloud applying cloud-native principles
Towards a novel biologically-inspired cloud elasticity framework
With the widespread use of the Internet, the popularity of web applications has
significantly increased. Such applications are subject to unpredictable workload
conditions that vary from time to time. For example, an e-commerce website may
face higher workloads than normal during festivals or promotional schemes. Such
applications are critical and performance related issues, or service disruption can
result in financial losses. Cloud computing with its attractive feature of dynamic
resource provisioning (elasticity) is a perfect match to host such applications.
The rapid growth in the usage of cloud computing model, as well as the rise in
complexity of the web applications poses new challenges regarding the effective
monitoring and management of the underlying cloud computational resources.
This thesis investigates the state-of-the-art elastic methods including the models
and techniques for the dynamic management and provisioning of cloud resources
from a service provider perspective.
An elastic controller is responsible to determine the optimal number of cloud resources,
required at a particular time to achieve the desired performance demands.
Researchers and practitioners have proposed many elastic controllers using versatile
techniques ranging from simple if-then-else based rules to sophisticated
optimisation, control theory and machine learning based methods. However,
despite an extensive range of existing elasticity research, the aim of implementing
an efficient scaling technique that satisfies the actual demands is still a challenge
to achieve. There exist many issues that have not received much attention from
a holistic point of view. Some of these issues include: 1) the lack of adaptability
and static scaling behaviour whilst considering completely fixed approaches; 2)
the burden of additional computational overhead, the inability to cope with the
sudden changes in the workload behaviour and the preference of adaptability
over reliability at runtime whilst considering the fully dynamic approaches; and 3)
the lack of considering uncertainty aspects while designing auto-scaling solutions.
This thesis seeks solutions to address these issues altogether using an integrated
approach. Moreover, this thesis aims at the provision of qualitative elasticity rules.
This thesis proposes a novel biologically-inspired switched feedback control
methodology to address the horizontal elasticity problem. The switched methodology
utilises multiple controllers simultaneously, whereas the selection of a
suitable controller is realised using an intelligent switching mechanism. Each
controller itself depicts a different elasticity policy that can be designed using the
principles of fixed gain feedback controller approach. The switching mechanism
is implemented using a fuzzy system that determines a suitable controller/-
policy at runtime based on the current behaviour of the system. Furthermore,
to improve the possibility of bumpless transitions and to avoid the oscillatory
behaviour, which is a problem commonly associated with switching based control
methodologies, this thesis proposes an alternative soft switching approach. This
soft switching approach incorporates a biologically-inspired Basal Ganglia based
computational model of action selection.
In addition, this thesis formulates the problem of designing the membership functions
of the switching mechanism as a multi-objective optimisation problem. The
key purpose behind this formulation is to obtain the near optimal (or to fine tune)
parameter settings for the membership functions of the fuzzy control system in
the absence of domain expertsâ knowledge. This problem is addressed by using
two different techniques including the commonly used Genetic Algorithm and
an alternative less known economic approach called the Taguchi method. Lastly,
we identify seven different kinds of real workload patterns, each of which reflects
a different set of applications. Six real and one synthetic HTTP traces, one for
each pattern, are further identified and utilised to evaluate the performance of
the proposed methods against the state-of-the-art approaches