Hypervisor Decoupled Heterogeneous Core Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing solutions for managing energy efficiency in computing systems by utilizing heterogeneous big and little cores require modifications to the operating system's kernel, which is cumbersome, tightly couples the release schedule of the operating system with hardware architecture changes, and is not flexible enough to accommodate new hardware capabilities.

Innovation Solution

A software hypervisor autonomously controls operating system thread scheduling across big and little cores, presenting a virtualized set of compute cores to the operating system while intelligently managing the physical assignment of threads to big or little cores for energy efficiency and other processing goals, decoupling hardware innovation from the operating system release schedule.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If the operating system kernel is modified to manage heterogeneous big and little cores, then energy efficiency and thread scheduling control are improved, but device complexity and ease of manufacture deteriorate due to kernel modification requirements

Engineering Contradiction:
Improveenergy efficiencyVSAvoidkernel modification complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

A hypervisor is introduced as an intermediary layer between the operating system and the heterogeneous cores. The hypervisor manages thread scheduling across big and little cores, while the operating system remains unmodified. This mediator approach allows energy efficiency improvements without increasing kernel complexity or requiring operating system modifications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If the operating system kernel is modified to support heterogeneous cores, then adaptability to new hardware capabilities is improved, but ease of operation and productivity worsen due to tight coupling with hardware release schedules

Engineering Contradiction:
Improvehardware capability adaptabilityVSAvoidrelease schedule flexibility
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system is segmented into distinct layers: the hypervisor layer handles hardware-specific heterogeneous core management, while the operating system layer maintains general-purpose functionality. This segmentation allows the hypervisor to be updated independently to support new hardware capabilities without affecting the operating system release schedule, thereby improving adaptability while maintaining productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hypervisor acts as a mediator that absorbs the complexity of hardware adaptability, allowing the operating system to remain unchanged. This enables hardware vendors to release new heterogeneous core capabilities independently, decoupling hardware innovation from operating system release cycles.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If big cores are used for high performance computing, then processing speed is improved, but energy consumption increases

Engineering Contradiction:
Improveprocessing speedVSAvoidenergy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The system dynamically assigns threads to either big or little cores based on real-time workload characteristics and energy constraints. The hypervisor monitors performance requirements and energy consumption, dynamically migrating threads between core types to optimize the balance between processing speed and energy usage.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The hypervisor changes operational parameters by adjusting which cores are active and how threads are scheduled based on energy availability and performance requirements. This allows the system to adapt its processing mode between high-performance (big cores) and energy-efficient (little cores) states.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8793686B2Operating system decoupled heterogeneous computing
Publication Date: 2014.07.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8793686B2 patent drawing
  • US8793686B2 patent drawing
  • US8793686B2 patent drawing

AI summary

A heterogeneous processing system is described herein that provides a software hypervisor to autonomously control operating system thread scheduling across big and little cores without the operating system's awareness or involvement to improve energy efficiency or meet other processing goals. The system presents a finite set of virtualized compute cores to the operating system to which the system schedules threads for execution. Subsequently, the hypervisor intelligently controls the physical assignment and selection of which core(s) execute each thread to manage energy use or other processing requirements. By using a software hypervisor to abstract the underlying big and little computer architecture, the performance and power operating differences between the cores remain opaque to the operating system. The inherent indirection also decouples the release of hardware with new capabilities from the operating system release schedule.