VM Scheduling on Asymmetric Processor Cores

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvescheduling flexibilityVSAvoidfeature compatibility reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

2Reliability

If virtual processor cores are limited to features supported by all physical cores, then feature compatibility is improved, but system performance deteriorates

Engineering Contradiction:
Improvefeature compatibilityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #15Dynamics

3Device complexity

If threads are scheduled on cores without feature verification, then scheduling simplicity is improved, but functional reliability deteriorates

Engineering Contradiction:
Improvescheduling simplicityVSAvoidfunctional reliability
Core Design Contradiction:
Device complexityVSReliability

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9323547B2Virtual machine and/or multi-level scheduling support on systems with asymmetric processor cores
Publication Date: 2016.04.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9323547B2 patent drawing
  • US9323547B2 patent drawing
  • US9323547B2 patent drawing

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.