Contention Detection Circuitry for Atomic Memory Access Optimization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


