201 research outputs found
A Survey and Taxonomy of Self-Aware and Self-Adaptive Cloud Autoscaling Systems
Autoscaling system can reconfigure cloud-based services and applications, through various configurations of cloud software and provisions of hardware resources, to adapt to the changing environment at runtime. Such a behavior offers the foundation for achieving elasticity in a modern cloud computing paradigm. Given the dynamic and uncertain nature of the shared cloud infrastructure, the cloud autoscaling system has been engineered as one of the most complex, sophisticated, and intelligent artifacts created by humans, aiming to achieve self-aware, self-adaptive, and dependable runtime scaling. Yet the existing Self-aware and Self-adaptive Cloud Autoscaling System (SSCAS) is not at a state where it can be reliably exploited in the cloud. In this article, we survey the state-of-the-art research studies on SSCAS and provide a comprehensive taxonomy for this field. We present detailed analysis of the results and provide insights on open challenges, as well as the promising directions that are worth investigated in the future work of this area of research. Our survey and taxonomy contribute to the fundamentals of engineering more intelligent autoscaling systems in the cloud
DeepScaler: Holistic Autoscaling for Microservices Based on Spatiotemporal GNN with Adaptive Graph Learning
Autoscaling functions provide the foundation for achieving elasticity in the
modern cloud computing paradigm. It enables dynamic provisioning or
de-provisioning resources for cloud software services and applications without
human intervention to adapt to workload fluctuations. However, autoscaling
microservice is challenging due to various factors. In particular, complex,
time-varying service dependencies are difficult to quantify accurately and can
lead to cascading effects when allocating resources. This paper presents
DeepScaler, a deep learning-based holistic autoscaling approach for
microservices that focus on coping with service dependencies to optimize
service-level agreements (SLA) assurance and cost efficiency. DeepScaler
employs (i) an expectation-maximization-based learning method to adaptively
generate affinity matrices revealing service dependencies and (ii) an
attention-based graph convolutional network to extract spatio-temporal features
of microservices by aggregating neighbors' information of graph-structural
data. Thus DeepScaler can capture more potential service dependencies and
accurately estimate the resource requirements of all services under dynamic
workloads. It allows DeepScaler to reconfigure the resources of the interacting
services simultaneously in one resource provisioning operation, avoiding the
cascading effect caused by service dependencies. Experimental results
demonstrate that our method implements a more effective autoscaling mechanism
for microservice that not only allocates resources accurately but also adapts
to dependencies changes, significantly reducing SLA violations by an average of
41% at lower costs.Comment: To be published in the 38th IEEE/ACM International Conference on
Automated Software Engineering (ASE 2023
Multi-Level ML Based Burst-Aware Autoscaling for SLO Assurance and Cost Efficiency
Autoscaling is a technology to automatically scale the resources provided to
their applications without human intervention to guarantee runtime Quality of
Service (QoS) while saving costs. However, user-facing cloud applications serve
dynamic workloads that often exhibit variable and contain bursts, posing
challenges to autoscaling for maintaining QoS within Service-Level Objectives
(SLOs). Conservative strategies risk over-provisioning, while aggressive ones
may cause SLO violations, making it more challenging to design effective
autoscaling. This paper introduces BAScaler, a Burst-Aware Autoscaling
framework for containerized cloud services or applications under complex
workloads, combining multi-level machine learning (ML) techniques to mitigate
SLO violations while saving costs. BAScaler incorporates a novel
prediction-based burst detection mechanism that distinguishes between
predictable periodic workload spikes and actual bursts. When bursts are
detected, BAScaler appropriately overestimates them and allocates resources
accordingly to address the rapid growth in resource demand. On the other hand,
BAScaler employs reinforcement learning to rectify potential inaccuracies in
resource estimation, enabling more precise resource allocation during
non-bursts. Experiments across ten real-world workloads demonstrate BAScaler's
effectiveness, achieving a 57% average reduction in SLO violations and cutting
resource costs by 10% compared to other prominent methods
Self-aware and self-adaptive autoscaling for cloud based services
Modern Internet services are increasingly leveraging on cloud computing for flexible, elastic and on-demand provision. Typically, Quality of Service (QoS) of cloud-based services can be tuned using different underlying cloud configurations and resources, e.g., number of threads, CPU and memory etc., which are shared, leased and priced as utilities. This benefit is fundamentally grounded by autoscaling: an automatic and elastic process that adapts cloud configurations on-demand according to time-varying workloads. This thesis proposes a holistic cloud autoscaling framework to effectively and seamlessly address existing challenges related to different logical aspects of autoscaling, including architecting autoscaling system, modelling the QoS of cloudbased service, determining the granularity of control and deciding trade-off autoscaling decisions. The framework takes advantages of the principles of self-awareness and the related algorithms to adaptively handle the dynamics, uncertainties, QoS interference and trade-offs on objectives that are exhibited in the cloud. The major benefit is that, by leveraging the framework, cloud autoscaling can be effectively achieved without heavy human analysis and design time knowledge. Through conducting various experiments using RUBiS benchmark and realistic workload on real cloud setting, this thesis evaluates the effectiveness of the framework based on various quality indicators and compared with other state-of-the-art approaches
OptScaler: A Hybrid Proactive-Reactive Framework for Robust Autoscaling in the Cloud
Autoscaling is a vital mechanism in cloud computing that supports the
autonomous adjustment of computing resources under dynamic workloads. A primary
goal of autoscaling is to stabilize resource utilization at a desirable level,
thus reconciling the need for resource-saving with the satisfaction of Service
Level Objectives (SLOs). Existing proactive autoscaling methods anticipate the
future workload and scale the resources in advance, whereas the reliability may
suffer from prediction deviations arising from the frequent fluctuations and
noise of cloud workloads; reactive methods rely on real-time system feedback,
while the hysteretic nature of reactive methods could cause violations of the
rigorous SLOs. To this end, this paper presents OptScaler, a hybrid autoscaling
framework that integrates the power of both proactive and reactive methods for
regulating CPU utilization. Specifically, the proactive module of OptScaler
consists of a sophisticated workload prediction model and an optimization
model, where the former provides reliable inputs to the latter for making
optimal scaling decisions. The reactive module provides a self-tuning estimator
of CPU utilization to the optimization model. We embed Model Predictive Control
(MPC) mechanism and robust optimization techniques into the optimization model
to further enhance its reliability. Numerical results have demonstrated the
superiority of both the workload prediction model and the hybrid framework of
OptScaler in the scenario of online services compared to prevalent reactive,
proactive, or hybrid autoscalers. OptScaler has been successfully deployed at
Alipay, supporting the autoscaling of applets in the world-leading payment
platform
Modern computing: vision and challenges
Over the past six decades, the computing systems field has experienced significant transformations, profoundly impacting society with transformational developments, such as the Internet and the commodification of computing. Underpinned by technological advancements, computer systems, far from being static, have been continuously evolving and adapting to cover multifaceted societal niches. This has led to new paradigms such as cloud, fog, edge computing, and the Internet of Things (IoT), which offer fresh economic and creative opportunities. Nevertheless, this rapid change poses complex research challenges, especially in maximizing potential and enhancing functionality. As such, to maintain an economical level of performance that meets ever-tighter requirements, one must understand the drivers of new model emergence and expansion, and how contemporary challenges differ from past ones. To that end, this article investigates and assesses the factors influencing the evolution of computing systems, covering established systems and architectures as well as newer developments, such as serverless computing, quantum computing, and on-device AI on edge devices. Trends emerge when one traces technological trajectory, which includes the rapid obsolescence of frameworks due to business and technical constraints, a move towards specialized systems and models, and varying approaches to centralized and decentralized control. This comprehensive review of modern computing systems looks ahead to the future of research in the field, highlighting key challenges and emerging trends, and underscoring their importance in cost-effectively driving technological progress
- …