vCPU Placement via Hardware Multithreading Parameter

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud management systems inefficiently utilize processing resources due to the lack of consideration for hardware multithreading when provisioning virtual machines, leading to underutilization of hardware threads in modern processor architectures.

Innovation Solution

Incorporating a hardware multithreading parameter in cloud VM requests to select and deploy virtual CPUs on host computer systems, allowing allocation to multiple hardware threads within a physical core, rather than just physical cores or single hardware threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If virtual CPUs are allocated to hardware threads without regard to physical cores when hyperthreading is enabled, then the number of available virtual CPUs increases, but processing resource utilization efficiency deteriorates

Engineering Contradiction:
Improvenumber of virtual CPUsVSAvoidprocessing resource utilization efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies local quality by differentiating the allocation strategy based on the specific hardware thread configuration. Virtual CPUs are allocated to hardware threads on different physical cores when possible, creating a non-uniform allocation pattern that optimizes performance for workloads requiring inter-core communication while still leveraging hyperthreading capabilities.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic allocation by allowing the cloud manager to flexibly assign virtual CPUs to either physical cores or hardware threads based on workload requirements, host capabilities, and performance goals. This dynamic approach enables the system to adapt between core-exclusive allocation for communication-intensive workloads and hyperthreading allocation for compute-intensive workloads.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If only physical processor cores are considered when selecting a host computer system, then allocation simplicity is improved, but hardware thread utilization deteriorates

Engineering Contradiction:
Improveallocation simplicityVSAvoidhardware thread utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces the cloud manager as an intermediary layer between the virtualization manager and the host computer system. The cloud manager collects detailed information about hardware thread configurations and uses this information to make intelligent allocation decisions, bridging the gap between simple core-based allocation and complex thread-based management.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the allocation parameters from simple core count to a more nuanced model that considers hardware thread configurations, physical core relationships, and workload requirements. This parameter transformation enables the system to optimize for both simplicity and utilization efficiency by selecting the appropriate level of detail based on the specific deployment scenario.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9619294B2Placement of virtual CPUs using a hardware multithreading parameter
Publication Date: 2017.04.11 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9619294B2 patent drawing
  • US9619294B2 patent drawing
  • US9619294B2 patent drawing

AI summary

A cloud manager monitors available resources on host computer systems, including a number of hardware threads supported by CPUs on the host computer systems. The cloud manager receives a request to provision a virtual machine (VM) that includes a hardware multithreading parameter that specifies whether hardware multithreading is allowed on the host computer system. The cloud manager then selects a host computer system for the VM taking the hardware multithreading parameter into consideration. The VM is then placed on the selected host computer system using the hardware multithreading parameter.