VM CPU Allocation Across Performance and Efficiency Cores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for allocating CPU resources in hybrid computing platforms with multiple virtual machines (VMs) fail to dynamically adjust to workload types, leading to suboptimal performance and inefficient use of performance and efficiency cores, especially in scenarios with single-threaded tasks.

Innovation Solution

A hybrid computing platform that integrates hardware-guided scheduler (HGS) classification and artificial intelligence (AI) prediction logic to dynamically allocate and balance CPU resources based on workload hints and hardware feedback, using a Bayesian model to optimize the vCPU-to-pCPU ratio.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple vCPUs are allocated to enhance parallelizable workloads, then productivity is improved, but device complexity increases due to hypervisor allocation requirements

Engineering Contradiction:
Improveparallelizable workload performanceVSAvoidhypervisor allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system dynamically adjusts vCPU-to-pCPU mapping based on workload characteristics detected by the performance monitor. The hypervisor transitions from static allocation to dynamic allocation, where vCPUs are assigned to performance cores or efficiency cores based on real-time workload analysis, resolving the contradiction between productivity and complexity

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

A performance monitoring mechanism provides feedback about workload characteristics to the hypervisor, enabling intelligent allocation decisions. The system continuously monitors workload types and adjusts vCPU assignments accordingly, eliminating the need for complex manual configuration while maintaining optimal performance

Inventive Principle:
Principle #23Feedback

2Productivity

If vCPUs are allocated for single-threaded tasks, then productivity is improved, but power consumption increases due to performance core usage

Engineering Contradiction:
Improvesingle-threaded task performanceVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system applies different quality characteristics to different vCPU assignments by mapping specific vCPUs to efficiency cores for single-threaded tasks. This local optimization ensures that only the necessary portion of the system (specific vCPU-to-core mappings) is adjusted based on workload type, allowing single-threaded tasks to run on power-efficient cores without affecting overall system performance

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The hypervisor changes the allocation parameter (which core type a vCPU maps to) based on workload characteristics. For single-threaded tasks, the system changes the mapping to use efficiency cores instead of performance cores, thereby reducing power consumption while maintaining productivity

Inventive Principle:
Principle #35Parameter changes

3Reliability

If performance cores are allocated to all VMs, then reliability is improved, but use of energy increases

Engineering Contradiction:
ImproveVM performance reliabilityVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system implements dynamic core allocation where VMs receive performance cores only when workload characteristics indicate a need for high performance. The allocation is flexible and adapts to changing conditions, ensuring reliability when needed while conserving energy during normal operation

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The performance monitor enables VMs to effectively request appropriate resources by detecting workload characteristics and triggering allocation adjustments. The system serves itself by automatically detecting when performance cores are needed and making appropriate allocations without manual intervention

Inventive Principle:
Principle #25Self-service

4Use of energy by moving object

If efficiency cores are used for multi-threaded workloads, then power consumption is reduced, but productivity decreases

Engineering Contradiction:
Improvepower consumptionVSAvoidmulti-threaded throughput
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The system applies different quality characteristics to different vCPU assignments by mapping specific vCPUs to performance cores for multi-threaded workloads. This local optimization ensures that only the necessary portion of the system (specific vCPU-to-core mappings) is adjusted based on workload type, allowing multi-threaded tasks to access performance cores when needed while maintaining energy efficiency for other tasks

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250370824A1Apparatuses, systems, and methods for allocation and balancing of CPU resources in virtualized computing environments
Publication Date: 2025.12.04 INTEL CORP
  • US20250370824A1 patent drawing
  • US20250370824A1 patent drawing
  • US20250370824A1 patent drawing

AI summary

Some aspects of the present disclosure relate to an apparatus comprising interface circuitry, machine-readable instructions and processing circuitry to execute the machine-readable instructions to allocate a plurality of virtual processors to a virtual machine, VM, wherein the VM is executing a workload and running on a host, the host comprising a processing circuitry comprising a plurality of processing cores of a first performance category and a plurality of processing cores of a second performance category. Further, the machine-readable instructions and processing circuitry are to assign each of the plurality of virtual processors either to a processing core of the first performance category or to a processing core of the second performance category. Further, the machine-readable instructions and processing circuitry are to dynamically re-assign at least one of the virtual processors assigned to a processing core of the second performance category to a processing core of first performance category, based on a measurement of the virtual machine and/or on a measurement of the host running the VM.