Virtualized CPU Resource Scheduling via Dynamic Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized environments, there is an inefficient use of CPU resources due to the lack of awareness among virtual machines and hypervisors about CPU usage across processes, leading to scenarios where one virtual machine uses CPU heavily while the rest of the hardware remains idle.

Innovation Solution

Implementing a resource evaluator program that determines an evaluation strategy based on current system load and availability of CPU resources, using a combination of 'force' and 'delay' operators to opportunistically evaluate expressions, thereby optimizing CPU usage by forcing evaluation during idle cycles and delaying it during high load conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If virtual machines use CPU resources independently without coordination, then each virtual machine can execute its own processes, but CPU resources are not efficiently utilized and idle periods occur

Engineering Contradiction:
ImproveCPU resource utilization efficiencyVSAvoidCPU idle periods
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The hypervisor monitors CPU resource usage across all virtual machines and uses this feedback information to dynamically adjust evaluation strategies. The system continuously tracks CPU availability and adjusts the timing of expression evaluation accordingly, ensuring computations occur during idle periods rather than during high-utilization times.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The evaluation strategy transitions from static to dynamic by allowing virtual machines to adapt their computation timing based on real-time CPU availability. The system dynamically determines whether to force immediate evaluation or delay evaluation as a promise based on current system load conditions, optimizing resource utilization throughout execution.

Inventive Principle:
Principle #15Dynamics

2Speed

If expressions are evaluated immediately using strict evaluation, then computation results are obtained quickly, but CPU resources may be unavailable leading to inefficiency

Engineering Contradiction:
ImproveExpression evaluation speedVSAvoidCPU resource utilization
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system prepares expressions for evaluation in advance by creating promise objects that encapsulate the computation logic. These promises are ready to be executed immediately when CPU resources become available, eliminating the need for re-parsing or re-preparation at evaluation time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The evaluation timing becomes dynamic rather than fixed. The system can force immediate evaluation when CPU resources are available, maintaining fast execution speed. When resources are unavailable, evaluation is delayed as a promise, preventing resource contention while preserving the ability to execute quickly when conditions permit.

Inventive Principle:
Principle #15Dynamics

3Productivity

If delayed evaluation is used to save CPU resources, then CPU utilization is improved, but computation is postponed requiring force operations

Engineering Contradiction:
ImproveCPU resource utilizationVSAvoidEvaluation strategy complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The promise object serves as an intermediary between expression creation and evaluation execution. It encapsulates the computation logic and parameters, allowing the expression to be prepared in advance without immediate execution. The promise can be forced later when CPU resources are available, bridging the gap between early preparation and delayed execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Productivity

If multiple virtual machines run simultaneously, then system throughput increases, but CPU resource contention increases leading to idle periods

Engineering Contradiction:
ImproveSystem throughputVSAvoidCPU idle periods due to contention
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The hypervisor provides real-time feedback on CPU resource availability to multiple virtual machines. Each virtual machine uses this feedback to determine whether to force evaluation of pending expressions or delay them as promises, coordinating their computation timing to avoid contention and utilize idle CPU cycles from other virtual machines.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10387210B2Resource schedule optimization
Publication Date: 2019.08.20 KYNDRYL INC
  • US10387210B2 patent drawing
  • US10387210B2 patent drawing
  • US10387210B2 patent drawing

AI summary

Embodiments of the present invention provide methods, computer program products, and systems for evaluating expressions. Embodiments of the present invention can be used to receive a set of program instructions to be evaluated in a virtualized environment and determine an evaluation strategy based, at least in part, on an availability of CPU resources. The CPU resource include resources impacted by use of virtual machines and hypervisors. Embodiments of the present invention can, responsive to determining that there are sufficient CPU resources available, evaluate the set of program instructions according to the evaluation strategy using the CPU resources.