VM Scheduling on Asymmetric Processor Cores
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Asymmetric processor cores in computers pose challenges for running virtual machines with multiple virtual processor cores, as there is no permanent correlation between virtual and physical cores, leading to limitations in feature utilization and management issues due to heterogeneous core support, resulting in performance and functional problems.
Innovation Solution
A virtual machine manager identifies features supported by each physical processor core and determines which features to make available to virtual processor cores based on the number of virtual cores, allowing for dynamic scheduling and rescheduling to ensure instruction compatibility and optimal feature utilization across asymmetric cores.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If virtual processor cores are assigned to physical processor cores without permanent correlation, then scheduling flexibility is improved, but feature compatibility reliability deteriorates
Solution Approach 1:
The system performs preliminary detection of supported features for each physical processor core and stores this information in a data structure before virtual machine operation begins. This advance preparation enables the virtual machine manager to make informed scheduling decisions that guarantee feature compatibility, resolving the contradiction between scheduling flexibility and reliability.
Solution Approach 2:
The system implements a feedback mechanism where the virtual machine manager continuously monitors feature support information from physical cores and adjusts virtual processor core assignments accordingly. When a virtual processor core encounters a feature incompatibility, the system detects this and reschedules the virtual core to a different physical core that supports the required features, thereby maintaining reliability while preserving scheduling flexibility.
2Reliability
If virtual processor cores are limited to features supported by all physical cores, then feature compatibility is improved, but system performance deteriorates
Solution Approach 1:
Instead of applying a uniform feature limitation across all virtual processor cores, the system implements local quality by assigning different feature sets to different virtual cores based on the specific capabilities of their corresponding physical cores. This allows each virtual core to utilize the full range of features supported by its host physical core, maximizing system performance while maintaining compatibility.
Solution Approach 2:
The system dynamically adjusts the feature availability for virtual processor cores based on the detected capabilities of assigned physical cores. Rather than static feature limitation, the system continuously adapts feature assignments to match actual hardware capabilities, enabling optimal performance utilization while ensuring compatibility where required.
3Device complexity
If threads are scheduled on cores without feature verification, then scheduling simplicity is improved, but functional reliability deteriorates
Solution Approach 1:
The virtual machine manager acts as an intermediary between the scheduling system and the physical hardware. It detects and verifies feature support information, then uses this knowledge to make informed scheduling decisions. This intermediary layer adds minimal complexity to the scheduling process while ensuring functional reliability by preventing assignment of threads to incompatible cores.
Data Source
AI summary
Different processor cores in a computing device can support different features. In one or more embodiments, the features supported by each of multiple physical processor cores of a computing device are identified. A set of one or more features of the multiple physical processor cores to make available to virtual processor cores of the virtual machine are determined based at least in part on both the one or more features supported by each of the multiple physical processor cores and a number of virtual processor cores of the virtual machine. In additional embodiments, a multi-level scheduling model is used. An operating system level scheduler of an operating system schedules multiple applications for execution on multiple processor cores, and a user level scheduler of an application schedules application threads of that application for execution on one or more of the multiple processor cores.


