Memory Access Pattern Tracking for Multi-Core Task Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-core processor systems, determining memory access patterns for tasks is challenging due to the complexity of managing memory access across multiple processing entities, leading to inefficient task allocation and potential performance bottlenecks.

Innovation Solution

A method and system that divide memory into regions and use counters to track access patterns, allocating tasks to processing entities based on these patterns, where related tasks are executed on the same core and cache-hostile tasks are allocated to separate cores, optimizing memory access and workload distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory is divided into regions and counters are used to track access patterns, then task allocation efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvetask allocation efficiencyVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory space is divided into multiple regions, and counters are maintained for each region to track access patterns. This segmentation allows the system to monitor and analyze memory access behavior of different tasks, enabling optimized task allocation based on actual memory usage patterns while maintaining manageable complexity through structured organization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system uses counter values from memory regions as feedback to determine task allocation decisions. By continuously monitoring access patterns through these counters and using the collected information to optimize task placement, the system improves task allocation efficiency while the feedback mechanism provides a systematic way to manage the complexity of multi-core memory management.

Inventive Principle:
Principle #23Feedback

2Productivity

If tasks are allocated based on memory access patterns, then performance is enhanced, but measurement precision requirements increase

Engineering Contradiction:
Improvesystem performanceVSAvoidmemory access pattern detection
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The patent replaces complex analytical measurement systems with a simpler counter-based mechanism. Instead of using sophisticated tools to analyze memory access patterns, the system uses straightforward incrementing counters for each memory region that automatically track access frequencies. This substitution maintains the ability to detect access patterns with sufficient precision for performance optimization while reducing the complexity of measurement and analysis.

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

Data Source

PatentUS11520631B2Determination of memory access patterns of tasks in a multi-core processor
Publication Date: 2022.12.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11520631B2 patent drawing
  • US11520631B2 patent drawing
  • US11520631B2 patent drawing

AI summary

A plurality of processing entities in which a plurality of tasks are executed are maintained. Memory access patterns are determined for each of the plurality of tasks by dividing a memory associated with the plurality of processing entities into a plurality of memory regions, and for each of the plurality of tasks, determining how many memory accesses take place in each of the memory regions, by incrementing a counter associated with each memory region in response to a memory access. Each of the plurality of tasks are allocated among the plurality of processing entities, based on the determined memory access patterns for each of the plurality of tasks.