Proactive auto-scaling techniques for containerised applications
Creators: name: ALZAHRANI, Eidah
Publisher: name: RMIT University
Year: 2024
Subjects: classificationCode: 460605
subject: Distributed systems and algorithms

description: Data centres provide remarkably high computational capacity for running various containerised applications. These data centres are comprised of heterogeneous devices that consume a significant amount of energy. This large energy consumption is controversial owing to the associated concerns, such as the high cost, environmental impact, and their effect on performance. Energy consumption in data centres is driven by a wide range of infrastructures that include IT equipment (i.e., computing resources) and non-IT equipment (i.e., facilities). Energy wastage in facilities can be reduced through the development of best-practice technologies; thus, more effort is needed to design energy-efficient systems that reduce the considerable consumption of energy by IT equipment, particularly by the CPU. To address the problem of excessive energy consumption by CPU resources, in this thesis, various proactive CPU auto-scaling methods are proposed to improve energy efficiency in data centres. 

We began by developing efficacious prediction models for managing CPU resources for different containerised application types in a data centre. For these sensitive containerised applications, we introduced a new SLA-aware auto-scaling technique, called Energy-Based Auto-Scaling EBAS, which is powered by a novel time-series-based hybrid prediction model. EBAS achieved 14% more energy, on average, compared with the currently favoured state-of-the-art techniques. We also proposed a new CPU sharing policy, called Adaptive Completely Fair Scheduling policy adCFS, to control the CPU sharing for batch-based containerised applications. This policy uses the profiling workload characterisations to dynamically scale the CPU quota or/and CPU set for containers. Experimental results showed that adCFS had faster CPU response time for containers running data-heavy and large jobs, with a 12% faster response time compared with the state-of-the-art CPU sharing policies.

To facilitate the co-location of different containerised applications types on virtualised and non-virtualised cloud resources, a novel CPU interference detection metric, called weiMetric is proposed. This metric uses the built-in kernel counters in an operating system to detect CPU interference during task execution. Extensive experiments found that weiMetric was able to detect CPU interference with a false-positive rate less than 1.03%.

Finally, weiMetric was employed in a new interference-aware proactive auto-scaling technique called M2-AutScale to enable the safe co-existence of batch-based containerised applications and sensitive containerised applications. M2-AutScale technique is powered by a novel nested Markovian time-series prediction model used to detect future state changes in CPU time series. Extensive experiments showed that M2-AutScale can improve the efficiency of the utilisation of the CPUs by 30\% compared to predictive AWS-scheduled scaling actions.

Through extensive experiments using various real-world workloads on cloud-based physical machines, we found that the proposed auto-scaling techniques achieved substantial energy savings compared to current state-of-the-art CPU resource management techniques. Thus, our proposed techniques show great promise in terms of practical implementation for the efficient management of CPU resources in cloud data centres.