Abstract
An energy conservation strategy must address two issues — placement of virtual machine images and workload characteristics of virtual machines. For performance reason most cloud systems copy a prototype image into the local disk of a physical machine before starting a virtual machine. If the physical machine that stores the image of a virtual machine is off-line, then we cannot run this virtual machine. The workload characteristics of virtual machines determine whether it is data-intensive or CPU-intensive. We assume that the system has a distributed file system therefore a physical machine can run any virtual machine even if it does not have the image. However, we observe that the performance of a data-intensive virtual machine running on a physical machine without its image could result in 60% performance loss compared with running the same virtual machine on a physical machine that has the virtual machine image. On the other hand, the performance of a CPU-intensive virtual machine is almost independent of whether the physical machine has the image or not. As a result, an energy conservation algorithm must consider the workload characteristic of a virtual machine when finding a physical machine to run it, especially for data-intensive virtual machines. This paper proposes a workload characteristics-aware virtual machine consolidation algorithms. We propose an approximation algorithm and two dynamic programmings to consolidate virtual machines and reduce the number of physical machines. We conduct experiments and compare the numbers of physical machines used by our approximation algorithm with the optimal number of physical machines found by our dynamic programming. The experiment results indicate that our approximation algorithm finds good solutions much faster than the dynamic programming.