Multi-Core Thread Assignment via Cache Miss Proximity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing multi-core processors face inefficiencies in assigning threads to processor cores, leading to suboptimal performance due to unbalanced memory access and cache miss handling.

Innovation Solution

The method involves determining cache miss data for each memory controller and core to assign threads based on latency-bound or bandwidth-bound categories, using proximity tables to optimize memory access by assigning threads to cores with minimal latency and balancing memory controller loads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If threads are assigned to processor cores using traditional load balancing methods, then processor utilization is improved, but memory access latency increases due to unoptimized cache miss handling

Engineering Contradiction:
Improveprocessor utilizationVSAvoidmemory access latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent changes the assignment parameters from simple load balancing metrics to comprehensive metrics that include cache miss rates and memory controller fetch counts. By monitoring and responding to these parameters dynamically, the system assigns threads to cores based on actual memory access patterns rather than just processor utilization, thereby reducing memory access latency while maintaining productivity

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback mechanisms by continuously monitoring cache miss data and memory controller fetch data for each core. This feedback is used to dynamically adjust thread assignments, ensuring that threads are assigned to cores with optimal memory access characteristics. The feedback loop enables the system to adapt to changing workloads and memory access patterns, resolving the contradiction between maintaining processor utilization and minimizing memory access latency

Inventive Principle:
Principle #23Feedback

2Loss of time

If threads are assigned based on default zone queues in NUMA architecture, then memory access penalties are reduced, but load balancing efficiency deteriorates when work is unavailable in the default zone

Engineering Contradiction:
Improvememory access penaltiesVSAvoidload balancing efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent makes the thread assignment system dynamic by allowing threads to switch between default zone queues and alternative queues based on workload availability. When the default zone queue is empty, the system dynamically invokes work stealing rules to retrieve work from other zones. This dynamic behavior maintains the benefits of localized memory access while ensuring continuous processor utilization through cross-zone work stealing

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system segments the work queue into default zone queues and alternative queues, allowing threads to primarily access work from their local zone while maintaining access to remote zones through work stealing. This segmentation preserves the memory access benefits of NUMA architecture while providing fallback mechanisms to maintain load balancing efficiency when local work is exhausted

Inventive Principle:
Principle #1Segmentation

3Power

If multiple memory controllers are used to handle cache misses, then memory bandwidth is improved, but load distribution imbalance increases leading to suboptimal performance

Engineering Contradiction:
Improvememory bandwidthVSAvoidload distribution balance
Core Design Contradiction:
PowerVSProductivity

Solution Approach 1:

The patent applies local quality by assigning threads to specific memory controllers based on their memory access patterns and cache miss characteristics. Instead of uniformly distributing threads across all memory controllers, the system identifies which memory controller is most appropriate for each thread based on local performance metrics. This localized assignment optimizes both memory bandwidth utilization and load distribution balance across the memory controller subsystem

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3111333B1Thread and data assignment in multi-core processors
Publication Date: 2022.03.30 MERCURY KINGDOM ASSETS LIMITED
  • EP3111333B1 patent drawingFigure 1
  • EP3111333B1 patent drawingFigure 2
  • EP3111333B1 patent drawingFigure 3

AI summary

Technologies are generally described for methods and systems to assign threads in a multi-core processor. In an example, a method to assign threads in a multi-core processor may include determining data relating to memory controllers fetching data in response to cache misses experienced by a first core and a second core. Threads may be assigned to cores based on the number of cache misses processed by respective memory controllers. Methods may further include determining that a thread is latency-bound or bandwidth-bound. Threads may be assigned to cores based on the determination of the thread as latency-bound or bandwidth-bound. In response to the assignment of the threads to the cores, data for the thread may be stored in the assigned cores.