How virtualization makes power management different

semanticscholar(2007)

引用 0|浏览0
暂无评分
摘要
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 environments, VM can directly access physical hardware with assists from hardware (e.g., Intel Virtualization Technology for Directed I/O, a.k.a. VT-d). In this case, the combination of (1) and (2) will be better. This paper first presents the overview of power management in virtualization. Then it describes how each power management state (Sx/Cx/Px) can be handled in a virtualization environment by utilizing the above approaches. Finally, the paper reviews the current status and future work. 1 Overview of Power Management in Virtualization This section introduces the ACPI power management state and virtualization mode, and later the overview of a power management implementation in virtualization. 1.1 Power Management state in ACPI ACPI [1] is an open industry specification on power management and is well supported in Linux 2.6, so this paper focuses on the power management states defined in the ACPI specification. ACPI defines several kinds of power management state: • Global System state (G-state): they are: G0 (working), G1 (sleeping), G2 (soft-off) and G3 (mechanical-off). • Processor Power state (C-state): in the G0 state, the CPU has several sub-states, C0 ∼ Cn. The CPU is working in C0, and stops working in C1 ∼ Cn. C1 ∼ Cx differs in power saving and entry/exit latency. The deeper the C-state, the more power saving and the longer latency a system can get. • Processor Performance state (P-state): again, in C0 state, there are several sub-CPU performance states (P-States). In P-states, the CPU is working, but CPU voltage and frequency vary. The P-state is a very important power-saving feature. • Processor Throttling state (T-state): T-state is also a sub state of C0. It saves power by only changing CPU frequency. T-state is usually used to handle thermal event. • Sleeping state: In G1 state, it is divided into several sub state: S1 ∼ S4. They differs in power saving, context preserving and sleep/wakeup latency. S1 is lightweight sleep, with only CPU caches lost. S2 is not supported currently. S3 has all context lost except system memory. S4 save context to disk and then lost all context. Deeper S-state is, more power saving and the longer latency system can get.
更多
查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要