VM CPU Allocation Across Performance and Efficiency Cores
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
2Productivity
If vCPUs are allocated for single-threaded tasks, then productivity is improved, but power consumption increases due to performance core usage
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
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
3Reliability
If performance cores are allocated to all VMs, then reliability is improved, but use of energy increases
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
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
4Use of energy by moving object
If efficiency cores are used for multi-threaded workloads, then power consumption is reduced, but productivity decreases
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
Data Source
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.


