Contention Detection Circuitry for Atomic Memory Access Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing apparatuses with multiple memory units, 'ping-ponging' occurs when atomic memory access requests for common data lead to inefficient data transfers between local memories, reducing processing efficiency.

Innovation Solution

Incorporating contention detection circuitry to identify and address contention conditions by switching atomic memory access operations from local memories to a shared memory, thereby reducing redundant data transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If atomic memory access requests are handled in local memories, then processing speed is improved, but data transfer efficiency deteriorates due to ping-ponging between local memories

Engineering Contradiction:
Improveprocessing speedVSAvoiddata transfer efficiency
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The shared memory acts as an intermediary between local memories, providing a central location for storing common data. When contention is detected, the system switches to using shared memory as the mediator, allowing atomic operations to be performed without direct data transfer between contending local memories, thus eliminating the ping-ponging effect.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically switches between two operational modes: using local memory for atomic operations when no contention exists (high speed), and using shared memory when contention is detected (high efficiency). This dynamic adaptation allows the system to optimize for both speed and energy efficiency based on real-time conditions.

Inventive Principle:
Principle #15Dynamics

2Productivity

If atomic memory access operations are performed in local memory, then processing efficiency is improved, but resource expenditure increases due to redundant data transmissions

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidprocessing resource expenditure
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The shared memory serves as an intermediary that eliminates redundant data transmissions. When multiple processors contend for the same data, the shared memory provides a single source of truth, preventing the same data from being repeatedly transferred between local memories and reducing overall processing resource expenditure.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The contention detection circuitry provides feedback about contention conditions to the memory access system. When contention is detected, this feedback triggers a switch to using shared memory, allowing the system to adapt its behavior based on actual resource usage patterns and minimize redundant transmissions.

Inventive Principle:
Principle #23Feedback

3Speed

If local memory is used for atomic operations, then access speed is improved, but system stability deteriorates due to processing stalls from ping-ponging

Engineering Contradiction:
Improveaccess speedVSAvoidsystem stability
Core Design Contradiction:
SpeedVSStability of the object's composition

Solution Approach 1:

The shared memory acts as a stable intermediary that prevents the unstable ping-ponging behavior between local memories. By providing a centralized storage location for contended data, it eliminates the oscillating transfer patterns that cause processing stalls and improves overall system stability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically adjusts its memory access strategy based on contention detection. When contention is detected, it switches from the unstable local-memory-to-local-memory transfer pattern to a stable shared-memory-based pattern, maintaining both speed and stability under varying load conditions.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11334486B2Detection circuitry
Publication Date: 2022.05.17 ARM LTD
  • US11334486B2 patent drawing
  • US11334486B2 patent drawing
  • US11334486B2 patent drawing

AI summary

An apparatus (300) for processing data comprises a plurality of memory access request sources (102,104) which generate memory access requests. Each of the memory access request sources has a local memory (106,108), and the apparatus also includes a shared memory (110). When the memory access requests are atomic memory access requests, contention may arise over common data. When this occurs, the present technique triggers a switch of processing data in the local memory of a memory access request source to processing data in the shared memory.