Hypervisor Decoupled Heterogeneous Core Scheduling
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
3Speed
If big cores are used for high performance computing, then processing speed is improved, but energy consumption increases
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.
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.
Data Source
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.


