Cloud computing has become more popular in provision of computing resources under Virtual Machine (VM) abstraction for High Performance Computing (HPC) users to run their applications. A HPC cloud is such cloud computing environment. One of challenges of energy-efficient resource allocation for VMs in HPC cloud is trade-off between minimizing total energy consumption of Physical Machines (PMs) and satisfying Quality of Service (QoS) (e.g. performance). On one hand, cloud providers want to maximize their profit by reducing the power cost (e.g. using the smallest number of running PMs).