Cooperative VM Scheduling via CPU Mask Feedback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computing environments on mobile devices with multicore processors, contention between virtual machines (VMs) sharing physical CPUs leads to performance and responsiveness issues due to inadequate handling of preemption events, as each VM is unaware of other VMs' activities, resulting in inefficient resource allocation and increased latency.

Innovation Solution

A cooperative scheduling scheme between VMs and the Virtual Machine Monitor (VMM) that notifies guest OSs of preemption events and shares VCPU availability information, allowing VMs to proactively adjust task scheduling to avoid shared CPU resources, thereby reducing contention and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple VMs share physical CPUs to improve resource utilization, then productivity increases, but contention between VMs causes increased latency and performance degradation

Engineering Contradiction:
Improveresource utilizationVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The VMM implements a feedback mechanism by notifying guest OSs of preemption events and sharing VCPU availability information. This allows VMs to adjust their task scheduling based on real-time CPU availability feedback, reducing contention and latency while maintaining high resource utilization through cooperative scheduling decisions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs preliminary action by predicting future VCPU availability and notifying guest OSs in advance of preemption events. This allows VMs to proactively reschedule tasks before preemption occurs, avoiding latency associated with unexpected interruptions and maintaining productivity through smooth task transitions.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If VMs are notified of preemption events and share CPU availability information to reduce contention, then latency decreases, but device complexity increases due to cooperative scheduling mechanisms

Engineering Contradiction:
ImprovelatencyVSAvoidscheduling mechanism complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The VMM serves as an intermediary between the physical CPU resources and the guest OSs. It manages the complexity of cooperative scheduling by implementing notification mechanisms and sharing CPU availability information, thereby reducing latency without requiring complex modifications to each individual VM's scheduling logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The VMM performs multiple functions including traditional resource allocation, preemption notification, and CPU availability sharing through a unified cooperative scheduling framework. This multi-functionality reduces the need for separate mechanisms and minimizes overall system complexity while achieving low latency through integrated task management.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11221875B2Cooperative scheduling of virtual machines
Publication Date: 2022.01.11 INTEL CORP
  • US11221875B2 patent drawing
  • US11221875B2 patent drawing
  • US11221875B2 patent drawing

AI summary

A method and apparatus for cooperative scheduling of virtual machines. An exemplary method includes maintaining a CPU mask by a virtual machine manager, wherein the CPU mask comprises a real-time availability of each of a plurality of physical CPUs (PCPUs). A virtual machine (VM) is allowed to read the CPU mask.