A Harris Hawk Optimisation system for energy and resource efficient virtual machine placement in cloud data centers
PLOS ONE
RESEARCH ARTICLE
A Harris Hawk Optimisation system for energy
and resource efficient virtual machine
placement in cloud data centers
Madhusudhan H. S. ID1, Satish Kumar T.2, Punit Gupta ID3*, Gavin McArdle3
a1111111111
a1111111111
a1111111111
a1111111111
a1111111111
OPEN ACCESS
Citation: H. S. M, T. SK, Gupta P, McArdle G
(2023) A Harris Hawk Optimisation system for
energy and resource efficient virtual machine
placement in cloud data centers. PLoS ONE 18(8):
e0289156. https://doi.org/10.1371/journal.
pone.0289156
Editor: Ali Safaa Sadiq, Nottingham Trent
University School of Science and Technology,
UNITED KINGDOM
Received: November 17, 2022
Accepted: July 12, 2023
Published: August 11, 2023
Copyright: © 2023 H. S et al. This is an open
access article distributed under the terms of the
Creative Commons Attribution License, which
permits unrestricted use, distribution, and
reproduction in any medium, provided the original
author and source are credited.
Data Availability Statement: https://www.cs.huji.
ac.il/labs/parallel/workload/ The complete
simulation data and sample of dataset is shared in
the supporting information section. Results:
Energy Consumption (kwh) HHO PSO PABFD W1
101.99 110.26 128.94 W2 117.3 126.42 184.28
W3 118.73 130.32 213.4 W4 114.08 129.56 145.6
W5 105.75 117.26 121.28 CPU Utilization HHO
PSO PABFD W1 74.13 71.45 62.23 W2 75.35
73.28 65.3 W3 77.25 74.21 66.78 W4 73.09 73.54
64.78 W5 74.61 72.87 64.21 VM Migrations HHO
1 Department of Computer Science & Engineering, Vidyavardhaka College of Engineering, Mysuru,
Karnataka, India, 2 Department of Computer Science & Engineering, BMS Institute of Technology &
Management, Bengaluru, Karnataka, India, 3 School of Computer Science, University College Dublin, Dublin,
Ireland
*
Abstract
Virtualisation is a major technology in cloud computing for optimising the cloud data centre’s
power usage. In the current scenario, most of the services are migrated to the cloud, putting
more load on the cloud data centres. As a result, the data center’s size expands resulting in
increased energy usage. To address this problem, a resource allocation optimisation
method that is both efficient and effective is necessary. The optimal utilisation of cloud infrastructure and optimisation algorithms plays a vital role. The cloud resources rely on the allocation policy of the virtual machine on cloud resources. A virtual machine placement
technique, based on the Harris Hawk Optimisation (HHO) model for the cloud data centre is
presented in this paper. The proposed HHO model aims to find the best place for virtual
machines on suitable hosts with the least load and power consumption. PlanetLab’s realtime workload traces are used for performance evaluation with existing PSO (Particle
Swarm Optimisation) and PABFD (Best Fit Decreasing). The performance evaluation of the
proposed method is done using power consumption, SLA, CPU utilisation, RAM utilisation,
Execution time (ms) and the number of VM migrations. The performance evaluation is done
using two simulation scenarios with scaling workload in scenario 1 and increasing resources
for the virtual machine to study the performance in underloaded and overloaded conditions.
Experimental results show that the proposed HHO algorithm improved execution time(ms)
by 4%, had a 27% reduction in power consumption, a 16% reduction in SLA violation and an
increase in resource utilisation by 17%. The HHO algorithm is also effective in handling
dynamic and uncertain environments, making it suitable for real-world cloud infrastructures.
Introduction
Cloud computing is a paradigm for providing on-demand computational services and
resources through the internet, such as data storage and computing power [1]. Cloud computing offers customers on-demand resources in the form of virtual machines (VMs) and
PLOS ONE | https://doi.org/10.1371/journal.pone.0289156 August 11, 2023
1 / 27
PLOS ONE
PSO PABFD W1 18590 21457 22100 W2 24109
25632 26234 W3 25696 26543 28256 W4 24427
25387 26678 W5 24145 25286 25875 SLA
violations HHO PSO PABFD W1 14.58 15.02 17.3
W2 15.24 17.21 18.25 W3 13.71 16.54 18.43 W4
15.03 16.85 17.76 W5 16.07 17.65 17.42 Sample
dataset:; MaxJobs: 76872; MaxRecords: 76872;
Preemption: No; UnixStartTime: 788722174;
TimeZone: 0; TimeZoneString: US/Pacific;
StartTime: Thu Dec 29 09:29:34 PST 1994;
EndTime: Sat Dec 30 23:54:09 PST 1995;
MaxNodes: 400 (48 interactive, 352 batch, 6
service, 10 I/O); MaxProcs: 400; Note: service and
I/O partitions are not used to run jobs; MaxQueues:
37; Job Number – a counter field, starting from 1.;
Submit Time – in seconds. The earliest time the log
refers to is zero, and is usually the submittal time
of the first job. The lines in the log are sorted by
ascending submittal times. It makes sense for jobs
to also be numbered in this order.; Wait Time – in
seconds. The difference between the job’s submit
time and the time at which it actually began to run.
Naturally, this is only relevant to real logs, not to
models.; Run Time – in seconds. The wall clock
time the job was running (end time minus start
time).; Number of Allocated Processors – an
integer. In most cases this is also the number of
processors the job uses; if the job does not use all
of them, we typically don’t know about it.; Average
CPU Time Used – both user and system, in
seconds. This is the average over all processors of
the CPU time used, and may therefore be smaller
than the wall clock runtime. If a log contains the
total CPU time used by all the processors, it is
divided by the number of allocated processors to
derive the average.; Used Memory – in kilobytes.
This is again the average per processor.; User ID –
a natural number, between one and the number of
different users.; Group ID – a natural number,
between one and the number of different groups.
Some systems control resource usage by groups
rather than by individual users.; Executable
(Application) Number – a natural number, between
one and the number of different applications
appearing in the workload. in some logs, this might
represent a script file used to run jobs rather than
the executable directly; this should be noted in a
header comment.; Queue Number – a natural
number, between one and the number of different
queues in the system. The nature of the system’s
queues should be explained in a header comment.
This field is where batch and interactive jobs
should be differentiated: we suggest the
convention of denoting interactive jobs by 0.;
Partition Number – a natural number, between one
and the number of different partitions in the
systems. The nature of the system’s partitions
Hawk Optimization-VMP
accomplishes their tasks while meeting Quality of Service (QoS) requirements. Each VM is
designed to target a certain computing resource capability (e.g., the number of CPUs, I/O
bandwidth and memory capacity). Using a physical machine (PM) or host to run several VMs,
Virtualisation technology increases a data centr (...truncated)