Spare Processor Cores for Local Workload Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized environments, existing systems inefficiently utilize processor cycles due to remote memory access latency and overcommit configurations, leading to MIPS loss and reduced system performance, especially in large-scale multi-core systems.

Innovation Solution

Designating a portion of physical processor cores as spare cores and using them to execute workload partitions locally, reducing remote memory access and optimizing system performance by dynamically managing core states between active and inactive based on workload demands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If virtual processors are allocated in excess of physical processors (processor overcommit configuration), then system resource utilization is improved, but processor cycles are lost to remote memory access latency

Engineering Contradiction:
Improvesystem resource utilizationVSAvoidprocessor cycle loss to memory access latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system pre-identifies and designates spare processor cores before they are needed. When a workload partition requires execution and no non-spare cores are available, the pre-designated spare cores can immediately execute the workload without requiring remote memory access, thus preventing processor cycle loss to latency while maintaining high resource utilization

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Spare processor cores act as intermediaries between workload partitions and local memory. By executing workload partitions locally on spare cores, the system eliminates the need for remote memory access, thereby mediating the conflict between high resource utilization and processor cycle efficiency

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If physical processors are time sliced across multiple virtual processors, then processor utilization is improved, but data access latency increases due to remote memory access

Engineering Contradiction:
Improveprocessor utilizationVSAvoiddata access speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The system creates local execution environments by designating specific processor cores as spares that execute workload partitions locally. This ensures that data access occurs through local memory rather than remote memory, maintaining high data access speed while preserving processor utilization through time slicing across multiple virtual processors

Inventive Principle:
Principle #3Local quality

3Loss of time

If spare processor cores are designated and used for local execution, then data access latency is reduced, but system complexity increases due to core state management

Engineering Contradiction:
Improvedata access latencyVSAvoidcore state management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system manages core states by changing the operational status of processor cores between active and inactive states. Spare cores are designated and activated only when needed for local workload execution, allowing the system to reduce data access latency while managing complexity through controlled parameter changes in core states

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8291430B2Optimizing system performance using spare cores in a virtualized environment
Publication Date: 2012.10.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US8291430B2 patent drawing
  • US8291430B2 patent drawing
  • US8291430B2 patent drawing

AI summary

A mechanism for optimizing system performance using spare processing cores in a virtualized environment. When detecting a workload partition needs to run on a virtual processor in the virtualized system, a state of the virtual processor is changed to a wait state. A first node comprising memory that is local to the workload partition is determined. A determination is also made as to whether a non-spare processor core in the first node is available to run the workload partition. If no non-spare processor core is available, a free non-spare processor core in a second node is located, and the state of the free non-spare processor core in the second node is changed to an inactive state. The state of a spare processor core in the first node is changed to an active state, and the workload partition is dispatched to the spare processor core in the first node for execution.