Virtual Processor Idle State Control via Memory Page Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized environments, managing the idle state of virtual processors is inefficient due to excessive state transition times and energy consumption, as existing methods rely on timer interrupts and hardware events to wake up and sleep the processor, leading to unnecessary execution of interrupt handlers and driver codes.

Innovation Solution

A method and system that determine if a virtual processor is in a blocked state, protect memory pages from execution if interrupts are below a threshold, and only unprotect pages when necessary, maintaining the processor in an idle state based on executed memory pages, thereby reducing unnecessary transitions and energy use.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If the processor enters idle state using HLT instruction waiting for hardware interrupts, then energy consumption is reduced, but unnecessary interrupt handler executions and state transition times increase

Engineering Contradiction:
Improveenergy consumptionVSAvoidstate transition time
Core Design Contradiction:
Use of energy by moving objectVSLoss of time

Solution Approach 1:

The system performs preliminary actions by setting up event filters and monitoring mechanisms before the processor enters idle state. The hypervisor pre-configures which interrupt events should wake the processor and which can be suppressed, allowing faster response to meaningful events while maintaining energy savings during idle periods.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary layer (hypervisor with event filtering mechanism) between the hardware interrupts and the guest OS processor. This intermediary filters and manages interrupt events, determining which should wake the processor and which can be suppressed, thereby reducing unnecessary state transitions while maintaining energy efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If timer interrupts are raised frequently to check for unblocked processes, then system responsiveness is maintained, but energy consumption and computational resource usage increase

Engineering Contradiction:
Improvesystem responsivenessVSAvoidenergy consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system applies partial action by selectively raising timer interrupts only when necessary - specifically when there are unblocked processes that need scheduling. The hypervisor monitors the processor state and suppresses routine timer interrupts during genuine idle states while maintaining them when process scheduling is required, thus balancing responsiveness with energy conservation.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements feedback mechanisms where the hypervisor continuously monitors processor state, interrupt event types, and process blocking status. Based on this feedback, the system dynamically adjusts timer interrupt frequency and idle state management, reducing interrupts during idle periods while maintaining responsiveness when processes become unblocked.

Inventive Principle:
Principle #23Feedback

3Speed

If the processor remains in active state to avoid state transition overhead, then processing speed is maintained, but energy consumption and computational resource usage increase

Engineering Contradiction:
Improveprocessing speedVSAvoidenergy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system prepares preliminary conditions for fast idle entry by pre-filtering interrupt events and pre-configuring wake-up conditions. This preliminary setup allows the processor to confidently enter idle state knowing that meaningful events will be detected, reducing the penalty of state transitions while maintaining energy savings.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The hypervisor acts as an intermediary that manages the trade-off between active and idle states. It monitors system conditions and makes intelligent decisions about when to allow idle state entry, ensuring that processing speed requirements are met while maximizing energy savings during appropriate idle periods.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10180855B1System and method for controlling idle state of operating system
Publication Date: 2019.01.15 PARALLELS INT GMBH
  • US10180855B1 patent drawing
  • US10180855B1 patent drawing
  • US10180855B1 patent drawing

AI summary

A system and method is provided for controlling an operating state of a virtual processor. An exemplary method includes determining a blocked state of a guest operating system, and, upon detecting the blocked state, determining a number of interrupt events during a first time period. If the number of interrupts is less than a first threshold or even zero during a first time period, the method includes protecting memory pages from execution by the virtual processor. Moreover, the method includes detecting, during a second time period, when the processor attempts to execute protected memory pages and unprotecting these protected memory page. Then, during a third time period, the method includes monitoring execution by the processor of the unprotected memory pages and maintaining the processor in an idle state based on the number of executed unprotected memory pages during the third time period.