Workload Management via Affinity Domain Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multiprocessing computer systems face challenges in efficiently managing workloads due to complex predictive analysis and high run-time costs associated with search-based optimizers, which often result in disruptive and conservative optimizations that fail to provide optimal performance across all workloads.

Innovation Solution

A system that defines affinity domains for processor cores, using affinity and performance measures to dynamically adjust workload placement between smaller and larger domains, with a damping factor to moderate frequency changes and prevent disruptive shifts, thereby optimizing workload placement based on real-time metrics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If workloads are placed to increase cache affinity by being physically close together, then cross-node traffic is reduced, but workload balance across all available resources deteriorates

Engineering Contradiction:
Improvecross-node trafficVSAvoidworkload balance
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The system dynamically adjusts workload placement by monitoring performance metrics and automatically migrating workloads between nodes. The placement is not static but adapts based on real-time conditions, allowing the system to balance cache affinity benefits with overall workload distribution requirements

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of workload placement location based on performance metrics. By monitoring metrics such as cache hit rates and workload performance, the system adjusts placement decisions to optimize both cache affinity and workload balance, moving workloads when performance degradation is detected

Inventive Principle:
Principle #35Parameter changes

2Reliability

If all workloads are placed onto a single node with local memory allocation, then cache affinity is increased, but resource contention on that node increases

Engineering Contradiction:
Improvecache affinityVSAvoidresource contention
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments workloads across multiple nodes rather than consolidating them on a single node. By dividing the workload portfolio and placing related workloads on different nodes, the system maintains cache affinity for each individual workload while preventing resource contention at the node level

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system introduces an intermediary optimization layer that manages workload placement decisions. This intermediary monitors performance metrics and makes intelligent placement decisions, acting as a mediator between the need for cache affinity and the need to avoid resource contention

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If predictive optimizers perform complex analysis to predict best workload placement, then placement accuracy is improved, but system complexity and testing requirements increase

Engineering Contradiction:
Improveplacement accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system uses feedback from performance metrics to guide workload placement decisions. Instead of complex predictive analysis, the system monitors actual performance data and adjusts placement based on observed outcomes, simplifying the decision-making process while maintaining accuracy

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system enables workloads to effectively self-optimize by monitoring their own performance metrics and triggering migrations when performance degradation is detected. This self-service approach eliminates the need for complex external predictive optimization systems

Inventive Principle:
Principle #25Self-service

4Productivity

If search-based optimizers perform extensive experimentation to find near-optimal placement, then optimization quality is improved, but run-time cost and disruption to workloads increase

Engineering Contradiction:
Improveoptimization qualityVSAvoidrun-time cost
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs partial optimization by monitoring only key performance metrics and making placement decisions only when necessary. Instead of exhaustive experimentation, the system takes targeted actions based on specific performance thresholds, reducing run-time overhead while maintaining optimization quality

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system prevents performance degradation before it occurs by monitoring metrics and triggering workload migrations proactively. By detecting early signs of performance issues and taking preventive action, the system avoids the need for extensive remedial experimentation later

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS9864641B2Method for managing workloads in a multiprocessing computer system
Publication Date: 2018.01.09 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9864641B2 patent drawing
  • US9864641B2 patent drawing
  • US9864641B2 patent drawing

AI summary

A method for managing workloads in a multiprocessing computer system is disclosed. Initially, a set of affinity domains is defined for a group of processor cores, wherein each of the affinity domains includes a subset of the processor cores. An affinity measure is defined to indicate that a given workload should be moved to a smaller affinity domain having fewer processor cores. A performance measure is defined to indicate the performance of a given workload. A given workload is determined based on the affinity measure and the performance measure. In response to a determination that a given workload should be moved to a smaller affinity domain based on the affinity measure, the given workload is moved to a smaller affinity domain. In response to a determination that there is a reduction in performance based on the performance measure, the given workload is moved to a larger affinity domain.