How Virtualization Makes Power Management DifferentYu Ke (email@example.com)
Unlike when running a native OS, power management activity has different types in a virtualization world: virtual and real. A virtual activity is limited to a virtual machine and has no effect on real power. For example, virtual S3 sleep only puts the virtual machine into sleep state, while other virtual machines may still work. On the other hand, a real activity operates on the physical hardware and saves real power. Since the virtual activity is well controlled by the guest OS, the remaining problem is how to determine the real activity according to the virtual activity. There are several approaches for this problem. (1) Purely based on the virtual activity. Virtual Sx state support is a good example. Real S3 sleep will be executed if and only if all the virtual S3 are executed. (2) Purely based on the global information, regardless of the virtual activity. For example, CPU Px state can be determined by the global CPU utilization. (3) Combination of (1) and (2); in some environment, VM can directly access physical hardware with assists from hardware (e.g. Intel Virtualization Technology for Directed I/O, aka VT-d). In this case, combination of (1) and (2) will be better.
This paper first describes the difference between PM in native OS and virtualization environment. Then it proposes several approaches to solve the PM gap in the virtualization world. The pros and cons of those approaches are also discussed. This paper use Xen as example, meanwhile, the proposed approach can also apply to other VMM software.