Dynamic Thread Assignment for SMT Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methodologies for managing simultaneous multi-threading (SMT) in parallel computing environments do not allow for dynamic control of thread assignments, leading to inefficient resource utilization and potential performance degradation due to constant variations in workload characteristics, resulting in wasted resources and decreased throughput.

Innovation Solution

A method for dynamic optimization of thread assignments in an SMT environment involves monitoring processor core and workload operational characteristics, identifying workloads with threshold activity levels, and rearranging assignments to match workloads with stable and active workloads to the most suitable processor cores, ensuring optimal resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If simultaneous multi-threading is activated system-wide, then more programs can run simultaneously, but performance of individual programs may degrade

Engineering Contradiction:
ImprovethroughputVSAvoidprogram performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies local quality by allowing different SMT configurations for different workloads or processor cores. Specifically, it enables selective activation of SMT on a per-workload or per-core basis rather than system-wide, allowing critical workloads to run with SMT disabled while non-critical workloads can utilize SMT for improved throughput.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic SMT control that can adjust thread assignments and SMT activation status based on workload characteristics, performance metrics, and system state. This dynamic adjustment allows the system to optimize between throughput and individual program performance by adapting to changing conditions rather than maintaining a fixed system-wide SMT configuration.

Inventive Principle:
Principle #15Dynamics

2Reliability

If SMT is deactivated to ensure individual application performance, then program performance is ensured, but system throughput decreases

Engineering Contradiction:
Improveapplication performanceVSAvoidsystem throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the system into different workload categories or processor core groups, allowing SMT to be activated for some segments while deactivated for others. This segmentation enables the system to maintain high performance for critical applications while still achieving improved throughput through SMT for non-critical workloads or less sensitive cores.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the SMT activation parameter from a binary system-wide setting to a granular per-workload or per-core parameter. This allows the system to optimize the balance between application performance and throughput by adjusting SMT parameters dynamically based on workload characteristics, rather than being constrained to a single system-wide configuration.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If current SMT control methodologies are used, then system-wide activation is possible, but critical resources are wasted due to inability to partially activate

Engineering Contradiction:
Improveresource utilizationVSAvoidcontrol flexibility
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces dynamic control mechanisms that allow the system to adjust thread assignments and SMT activation status based on real-time workload characteristics and performance metrics. This dynamic approach enables partial activation of SMT for specific workloads or cores, optimizing resource utilization without requiring complex manual configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements feedback mechanisms that monitor workload performance, resource utilization, and system state to automatically adjust SMT activation and thread assignments. This feedback-driven control allows the system to optimize resource utilization dynamically, activating SMT when beneficial and deactivating it when harmful, without requiring complex external control mechanisms.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8904403B2Dynamic optimization of thread assignments for application workloads in parallel computing
Publication Date: 2014.12.02 LENOVO GLOBAL TECHNOLOGIES SWITZERLAND INTERNATIONAL GMBH
  • US8904403B2 patent drawing
  • US8904403B2 patent drawing
  • US8904403B2 patent drawing

AI summary

A method for dynamic optimization of thread assignments for application workloads in an simultaneous multi-threading (SMT) computing environment includes monitoring and periodically recording an operational status of different processor cores each supporting a number of threads of the thread pool of the SMT computing environment and also operational characteristics of different workloads of a computing application executing in the SMT computing environment. The method further can include identifying by way of the recorded operational characteristics a particular one of the workloads demonstrating a threshold level of activity. Finally, the method can include matching a recorded operational characteristic of the particular one of the workloads to a recorded status of a processor core best able amongst the different processor cores to host execution in one or more threads of the particular one of the workloads and directing the matched processor core to host execution of the particular one of the workloads.