Cooperative VM Scheduling via CPU Mask Feedback
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
Data Source
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.


