Guest OS Idle Time Estimation for Virtual CPU Power Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualized computer systems face inefficiencies in managing idle processors, leading to increased power consumption and potential performance issues due to lack of sophisticated CPU management capabilities in host systems.

Innovation Solution

A guest operating system estimates idle time for virtual CPUs and host latency times based on CPU power states, context switches, and hypervisor idle states, selecting the deepest CPU power state to halt the virtual CPU, thereby reducing host power consumption and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If the virtual CPU continues executing without halting, then the system maintains readiness for immediate task execution, but power consumption increases and idle resources are wasted

Engineering Contradiction:
Improvehost power consumptionVSAvoidsystem readiness
Core Design Contradiction:
Loss of energyVSReliability

Solution Approach 1:

The guest OS performs preliminary estimation of idle time and host latency before actually halting the virtual CPU. By calculating whether the estimated idle time exceeds the estimated host latency time, the system prepares the decision logic in advance, allowing the virtual CPU to be halted only when it is certain that the host can safely enter a low-power state without delaying required task executions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system continuously monitors and estimates idle time and host latency time, using this feedback to dynamically decide when to halt the virtual CPU. The guest OS adjusts its decisions based on real-time conditions, ensuring that the virtual CPU is halted only when the estimated idle period is sufficiently long to justify the potential latency of host power state transitions.

Inventive Principle:
Principle #23Feedback

2Loss of energy

If the host enters deep power states to save energy, then power consumption decreases, but context switch times increase and performance may be impacted

Engineering Contradiction:
Improvehost power consumptionVSAvoidcontext switch time
Core Design Contradiction:
Loss of energyVSLoss of time

Solution Approach 1:

The system changes the operational parameters of the virtual CPU by transitioning it between executed and halted states based on estimated idle time and host latency time. This parameter change allows the system to adapt the CPU's operational state to current workload conditions, entering power-saving modes when idle and resuming execution when needed, thereby optimizing the trade-off between energy consumption and response time.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If sophisticated CPU management capabilities are implemented in the hypervisor, then idle processor management improves, but device complexity and implementation difficulty increase

Engineering Contradiction:
Improveidle processor management efficiencyVSAvoidhyper visor complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The guest operating system performs self-service by estimating its own idle time and making autonomous decisions about when to halt the virtual CPU. This approach shifts the management burden from the hypervisor to the guest OS, allowing the guest system to manage its own resource allocation based on its workload characteristics, thereby simplifying the hypervisor's role while maintaining effective CPU management.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

Instead of having the hypervisor control and manage the virtual CPU's power states, the system inverts the approach by allowing the guest OS to make decisions about CPU halting based on its own idle time estimates. This inversion transfers the management responsibility from the host side to the guest side, simplifying the hypervisor architecture while achieving sophisticated CPU management.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS10365936B2Idle processor management by guest in virtualized systems
Publication Date: 2019.07.30 RED HAT ISRAEL
  • US10365936B2 patent drawing
  • US10365936B2 patent drawing
  • US10365936B2 patent drawing

AI summary

A system and method for idle processor management in virtualized systems are disclosed. In accordance with one embodiment, a guest operating system (OS) of a virtual machine estimates an idle time for a virtual central processing unit (CPU) of the virtual machine, where the virtual machine is executed by a CPU of a host computer system, and where the virtual CPU is mapped to the CPU. The guest OS also estimates a host latency time for the host computer system, where the host latency time is based on at least one of: a first power state of the CPU, a context switch associated with execution of the virtual machine by the CPU, or an idle state of a hypervisor executed by the CPU. When the idle time for the virtual CPU divided by a performance multiplier exceeds the host latency time, the virtual CPU is caused to halt.