2.2 Optimization Objectives of Resource Allocation
2.2.1 Resource Consolidation
The main objective of a cloud service provider is to utilize the resources efficiently.
Resource wastage leads to increase in cost and energy consumption, which again leads to loss of profit due to less number of application deployment. To improve resource utilization, effective server consolidation along with efficient workload distribution to those servers is required.
Server consolidation is the allocation of multiple VMs onto PMs to share the common resources available with the host server. The objective of the server consolidation is to improve the resource utilization [94, 141]. Dubois et al. [92] proposed a dynamic allocation approach of the VMs to PMs to increase the resource utilization while meet- ing the VM resource requirements over the entire time of execution. Their approach uses a bin-packing algorithm to achieve better resource utilization even though the unpredictable change in CPU utilization. That can be achieved through effective mi- grations of VMs over time. The number of bins required to allocate the total number of tasks and number of migrations are the utilization criteria in their work.
Meng et al. [227] proposed a model to improve server consolidation by multiplex- ing VMs with complementary resource needs. The problem was transformed to a stochastic bin packing (SBP) problem and an online packing algorithm was proposed by which the number of servers required is within (1 +)(√
2 + 1) of the optimum for
2.2. OPTIMIZATION OBJECTIVES OF RESOURCE ALLOCATION
any > 0. For some special case, it improved within a factor of (√
2 + 1) of the op- timal solution. From the numerical experiment, it was observed that their proposed algorithm requires 30% less server deployment than several benchmark algorithms (First-Fit, First Fit Decrease, and Harmonic).
The work in Gupta et al. [114] improves resource utilization, considering the cross-VM interference of the applications. Their proposed approach contains two phases, (a) application characterization, and (b) application-aware scheduling. Their scheduling approach uses multi-dimensional online bin packing and interference minimization through cache-sensitivity awareness.
The work proposed by Chen et al. [70] uses queuing model to predict application performance metrics on multi-core systems. Their work considers the interference and load-dependent characteristics of the collocated VMs. Their model is used to improve the consolidation of the VMs to maximize resource utilization while meeting the application performance requirements.
The work carried out by Carrera et al. [68] proposed an important technique, relative performance functions (RPF), which allows integrated management of batch and transactional workloads. RPF for one application is a measure of the relative distance of the application’s achieved performance from its goal, RPFs is used to make fair trade-offs between the different workloads.
Workload concentration can be used to achieve better resource utilization and that can be done by aggregating the load to an optimal number of servers by switching on and off the servers. The framework proposed by Li et al. in [143] minimizes the number of host servers using both static and adaptive scheduling actions. The objective of the work is to reduce energy consumption. Additionally, resource over-provisioning is used to avoid frequent VM resizing.
The other approach to achieve workload concentration is to select the host server with the least available resources for the incoming VM requests such as the Least Free Ca- pacity scheme in Do et al. [89]. Their proposed approach performs better than other approaches based on different criteria like blocking probability of requests for virtual machines, average number of busy physical servers, average energy consumption, and heat emission.
The other strategy called as workload balancing technique which helps to distribute the load among the hosts. That would help the system to avoid overloading and
Table 2.1: Representative works based on resource utilization objective Ref. Main objective Technique used Evaluation [90] Efficient utilization
of available virtual machines,average response time and optimum usage of cloud resources
Modified Particle Swarm Optimization (MPSO) and Modified Cat Swarm Optimization (MCSO) techniques
Customized simulation environment using PySim
[121] Proposed work is to reduce the makespan, cost and deadline violation rate
Hybrid algorithm com- bined two optimization algorithms namely called as Cuckoo Search (CS) and Particle Swarm Optimiza- tion (PSO)
Cloudsim toolkit with randomly generated workload [29] To minimize the
makespan and in- crease system utiliza- tion
Discrete Symbiotic Or- ganism Search (DSOS) algorithm
Simulation results
[119] Improve the
makespan time and resource utilization ratio
IMMLB algorithm se- lects the resource that can execute the task in min- imum time and perform rescheduling to balance the workload at VMs
Simulation results
[107] Reduce the cost and improve the utiliza- tion ratio of resources
Autonomic resource pro- visioning approach is proposed using MAPE mechanism
Simulation with two real world traces [260] Balance the CPU
/Memory/Bandwidth usage
Use multi-objective NSGA- II algorithm
Numerical simulations
application performance like response time. Workload balancing strategy like round- robin scheduling to distribute the loads evenly among the available hosts.
The survey related to cloud scheduling reported in [251], presents different scheduling approaches nicely with in-depth analysis. Some representative works about resource utilization is presented in Table 2.1.
2.2. OPTIMIZATION OBJECTIVES OF RESOURCE ALLOCATION