  Infrastructure-as-a-Service (IaaS) clouds have become more popular enabling
users to run applications under virtual machines. This paper investigates the
energy-aware virtual machine (VM) allocation problems in IaaS clouds along
characteristics: multiple resources, and fixed interval times and
non-preemption of virtual machines. Many previous works proposed to use a
minimum number of physical machines, however, this is not necessarily a good
solution to minimize total energy consumption in the VM placement with multiple
resources, fixed interval times and non-preemption. We observed that minimizing
total energy consumption of physical machines is equivalent to minimize the sum
of total completion time of all physical machines. Based on the observation, we
propose EMinRET algorithm. The EMinRET algorithm swaps an allocating VM with a
suitable overlapped VM, which is of the same VM type and is allocated on the
same physical machine, to minimize total completion time of all physical
machines. The EMinRET uses resource utilization during executing time period of
a physical machine as the evaluation metric, and will then choose a host that
minimizes the metric to allocate a new VM. In addition, this work studies some
heuristics for sorting the list of virtual machines (e.g., sorting by the
earliest starting time, or the longest duration time first, etc.) to allocate
VM. Using the realistic log-trace in the Parallel Workloads Archive, our
simulation results show that the EMinRET algorithm could reduce from 25% to 45%
energy consumption compared with power-aware best-fit decreasing (PABFD)) and
vector bin-packing norm-based greedy algorithms. Moreover, the EMinRET
heuristic has also less total energy consumption than our previous heuristics
(e.g. MinDFT and EPOBF) in the simulations (using same virtual machines sorting
method).
