Dynamic Thread Mapping in Multi-Core Processors

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current multi-core processor architectures face inefficiencies in mapping threads to cores due to varying thread characteristics and resource demands over time, leading to suboptimal performance in heterogeneous computing environments.

Innovation Solution

A method and system for dynamically mapping and migrating threads across processor cores based on real-time performance data and hardware capabilities, utilizing a performance counter to optimize core allocation and cache management, ensuring efficient utilization of diverse resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If threads are statically mapped to processor cores, then system simplicity is maintained, but performance optimization is limited when thread characteristics change over time

Engineering Contradiction:
Improvesystem performanceVSAvoidthread mapping complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic thread-to-core mapping where the mapping relationship is not fixed but changes over time based on thread execution characteristics. The system periodically re-evaluates thread performance metrics and adjusts mappings to optimize resource utilization, transforming a static allocation system into an adaptive dynamic system that responds to changing workload conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by monitoring thread execution characteristics and performance metrics on processor cores. This feedback information is used to drive subsequent mapping decisions, creating a closed-loop control system that continuously optimizes thread placement based on observed system behavior and performance outcomes.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If heterogeneous cores with different capabilities are used, then resource specialization is improved, but thread-to-core matching complexity increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidcore configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by assigning different characteristics and capabilities to different processor cores (e.g., varying cache sizes, execution units, or specialized instructions). Each core is optimized for specific types of workloads, and the mapping system selectively places threads on cores whose local qualities best match the thread's requirements, thereby optimizing resource utilization across the heterogeneous system.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system changes parameters such as cache size, execution units, or operational modes of processor cores to create heterogeneous capabilities. By varying these parameters across different cores, the system can better accommodate diverse thread requirements and improve overall resource matching efficiency.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If thread migration between cores is enabled, then performance optimization is improved, but system overhead and complexity increase

Engineering Contradiction:
Improvethread execution efficiencyVSAvoidmigration overhead time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-warming or pre-loading cache memory on target cores before migrating threads. This anticipatory preparation reduces the performance penalty associated with thread migration by ensuring that critical data and instructions are already available in the target core's cache, thereby minimizing migration overhead and maintaining execution efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2254048B1Thread mapping in multi-core processors
Publication Date: 2018.08.29 EMPIRE TECH DEV LLC
  • EP2254048B1 patent drawingFigure 1
  • EP2254048B1 patent drawingFigure 2
  • EP2254048B1 patent drawingFigure 3

AI summary

Techniques for thread mapping in multi-core processors are disclosed. An example computing system is disclosed having a multi-core processor with a plurality of processor cores. A performance counter may be configured to collect data relating to the performance of the multi-core processor. A core controller may be configured to map threads of execution to the processor cores based at least in part on the data collected by the performance counter.