Virtual CPU Scheduler Periodic Allocation for Low Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current CPU resource allocation metrics in virtual machines (VMs) result in high latency and unbounded jitter, which are not suitable for workloads requiring predictable responsiveness and sub-millisecond latency, especially in industries like telecommunications, and existing solutions like physical core pinning are costly and inefficient.

Innovation Solution

A method is provided to allocate pCPU resources to vCPUs based on a Quality of Service (QoS) metric and bandwidth metric, allowing periodic allocation of pCPUs for a percentage of time, enabling vCPUs to execute workloads with guaranteed latency and jitter without dedicating a pCPU exclusively to a vCPU.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If physical core pinning is used to guarantee pCPU resources to vCPUs, then CPU Quality of Service requirements are met, but costs increase and resource utilization efficiency decreases

Engineering Contradiction:
ImproveCPU Quality of Service guaranteeVSAvoidresource utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements periodic allocation of pCPU resources to vCPUs based on QoS metrics and bandwidth metrics. Instead of permanently pinning a pCPU to a vCPU, the system periodically allocates pCPU time slices to multiple vCPUs according to their configured metrics, enabling time-shared access that guarantees QoS while improving overall resource utilization efficiency

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent introduces dynamic CPU resource allocation where the CPU scheduler continuously adjusts pCPU allocation to vCPUs based on current system state, QoS requirements, and workload conditions. This dynamic approach replaces static physical core pinning, allowing the system to adaptively meet QoS guarantees while optimizing resource utilization across different time periods and workload scenarios

Inventive Principle:
Principle #15Dynamics

2Reliability

If physical core pinning is used to allocate pCPU resources exclusively to vCPUs, then predictable responsiveness is achieved, but efficiency losses occur due to dedicated pCPU cannot be time-shared

Engineering Contradiction:
Improvepredictable responsivenessVSAvoidefficiency loss from dedicated pCPU
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent makes pCPU resources universal by enabling each pCPU to serve multiple vCPUs across different time periods based on QoS and bandwidth metrics. Instead of dedicating a pCPU exclusively to one vCPU, the same pCPU can be allocated to different vCPUs in different time slices, allowing the pCPU to perform multiple functions and serve multiple virtual machines, thereby eliminating efficiency losses from dedicated allocation

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If current CPU resource allocation metrics are used, then resource flexibility is maintained, but high latency and unbounded jitter occur

Engineering Contradiction:
Improveresource allocation flexibilityVSAvoidlatency and jitter
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements feedback mechanisms where the CPU scheduler continuously monitors system state, QoS metric compliance, and workload conditions to dynamically adjust pCPU allocation to vCPUs. This feedback-driven approach ensures that latency and jitter remain bounded by constantly adapting allocation decisions to meet QoS requirements while maintaining resource flexibility, preventing the unbounded latency that occurs with static allocation metrics

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11036555B2Virtual processor allocation with execution guarantee
Publication Date: 2021.06.15 VMWARE INC
  • US11036555B2 patent drawing
  • US11036555B2 patent drawing
  • US11036555B2 patent drawing

AI summary

The disclosure provides a method of performing a workload on a virtual machine (VM) executing on a host comprising one or more physical central processing units (pCPUs) is provided. The method further includes setting a quality of service (QoS) metric associated with the VM, the QoS metric indicating a time period. The method further includes setting a bandwidth metric associated with the VM, the bandwidth metric indicating a percentage. The method further includes allocating by a central processing unit (CPU) scheduler to a virtual CPU (vCPU) of the VM one of the one or more pCPUs periodically every time period, wherein for every time period the one of the one or more pCPUs is allocated to the vCPU for a duration that is the percentage of the time period based on the QoS metric and the bandwidth metric. The method further includes executing the workload on the virtual machine with the vCPU according to the allocation of the one or more pCPUs.