Divide (CPU Load) and Conquer: Semi-Flexible Cloud Resource Allocation

06/10/2022
by   Bartłomiej Przybylski, et al.
0

Cloud resource management is often modeled by two-dimensional bin packing with a set of items that correspond to tasks having fixed CPU and memory requirements. However, applications running in clouds are much more flexible: modern frameworks allow to (horizontally) scale a single application to dozens, even hundreds of instances; and then the load balancer can precisely divide the workload between them. We analyze a model that captures this (semi)-flexibility of cloud resource management. Each cloud application is characterized by its memory footprint and its momentary CPU load. Combining the scheduler and the load balancer, the resource manager decides how many instances of each application will be created and how the CPU load will be balanced between them. In contrast to the divisible load model, each instance of the application requires a certain amount of memory, independent of the number of instances. Thus, the resource manager effectively trades additional memory for more evenly balanced load. We study two objectives: the bin-packing-like minimization of the number of machines used; and the makespan-like minimization of the maximum load among all the machines. We prove NP-hardness of the general problems, but also propose polynomial-time exact algorithms for boundary special cases. Notably, we show that (semi)-flexibility may result in reducing the required number of machines by a tight factor of 2-ε. For the general case, we propose heuristics that we validate by simulation on instances derived from the Azure trace.

READ FULL TEXT
research
11/04/2022

Dynamic Resource Allocation Method for Load Balance Scheduling over Cloud Data Center Networks

The cloud datacenter has numerous hosts as well as application requests ...
research
07/20/2022

Solving the Batch Stochastic Bin Packing Problem in Cloud: A Chance-constrained Optimization Approach

This paper investigates a critical resource allocation problem in the fi...
research
08/25/2023

A Poisson-Based Approximation Algorithm for Stochastic Bin Packing of Bernoulli Items

A cloud scheduler packs tasks onto machines with contradictory goals of ...
research
02/27/2018

A unified framework for designing EPTAS's for load balancing on parallel machines

We consider a general load balancing problem on parallel machines. Our m...
research
10/29/2018

A study on load-balanced variants of the bin packing problem

We consider several extensions of the fractional bin packing problem, a ...
research
02/21/2018

Analyzing Real-Time Multimedia Content From Network Cameras: Using CPUs and GPUs in the Cloud

Millions of network cameras are streaming real-time multimedia content (...
research
08/13/2019

uPredict: A User-Level Profiler-Based Predictive Framework for Single VM Applications in Multi-Tenant Clouds

Most existing studies on performance prediction for virtual machines (VM...

Please sign up or login with your details

Forgot password? Click here to reset