Dynamic Thread Mapping for CPU Core Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern CPU performance is hindered by resource starvation due to latency differences between local and non-local memory accesses, leading to inefficient use of load/store buffers and software overhead in managing thread assignments for simultaneous multi-threading (SMT) capabilities.

Innovation Solution

Implementing hardware registers to track and classify threads based on memory access latency, allowing for dynamic thread mapping and migration to cores with similar memory access types, and applying dynamic voltage and frequency scaling (DVFS) to optimize CPU performance by maximizing cores with uniform memory access types.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If simultaneous multi-threading (SMT) is implemented to increase CPU performance, then processing capacity is improved, but software overhead increases

Engineering Contradiction:
ImproveCPU processing capacityVSAvoidsoftware overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling CPU hardware to automatically track, classify, and manage thread memory access patterns without external software intervention. Hardware registers autonomously monitor memory accesses and classify threads as local-memory-bound or non-local-memory-bound, eliminating the need for operating system software to perform these management functions.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the software-based thread management system with a hardware-based system. Instead of using software to track and classify thread memory access patterns, the invention uses hardware registers and circuitry to automatically perform classification, thereby reducing software overhead and improving processing efficiency.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If threads are assigned to CPU cores without classification, then scheduling flexibility is maintained, but resource starvation occurs due to latency differences

Engineering Contradiction:
Improvethread scheduling flexibilityVSAvoidresource starvation
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent applies local quality by differentiating thread management based on their specific memory access characteristics. Threads are classified into different categories (local-memory-bound and non-local-memory-bound) and assigned to appropriate CPU cores, allowing each core to be optimized for its assigned thread type rather than treating all threads uniformly.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent segments the CPU core pool based on memory access patterns. By dividing threads into distinct categories and assigning them to different cores, the system creates specialized processing units that handle specific memory access types, preventing resource starvation while maintaining overall scheduling flexibility.

Inventive Principle:
Principle #1Segmentation

3Quantity of substance

If load/store buffers are shared across all threads, then buffer utilization is maximized, but performance decreases due to latency variations

Engineering Contradiction:
Improvebuffer utilizationVSAvoidCPU performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies local quality by allocating buffer resources according to the specific needs of different thread types. Instead of uniformly sharing buffers across all threads, the system provides differentiated buffer access based on memory access patterns, ensuring that threads with different latency requirements receive appropriate buffer resources.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10922137B2Dynamic thread mapping
Publication Date: 2021.02.16 HEWLETT PACKARD ENTERPRISE DEV LP
  • US10922137B2 patent drawing
  • US10922137B2 patent drawing
  • US10922137B2 patent drawing

AI summary

In one example, a central processing unit (CPU) with dynamic thread mapping includes a set of multiple cores each with a set of multiple threads. A set of registers for each of the multiple threads monitors for in-flight memory requests the number of loads from and stores to at least a first memory interface and a second memory interface by each respective thread. The second memory interface has a greater latency than the first memory interface. The CPU further has logic to map and migrate each thread to respective CPU cores where the number of cores accessing only one of the at least first and second memory interfaces is maximized.