Transactional Cache Conflict Detection Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current hardware transactional memory systems face high power consumption and coarse detection granularity, leading to inefficient transaction conflict detection and potential misdetection.
Innovation Solution
A processing node with a transactional cache that caches shared data and communicates via a dedicated interface, allowing for fine-grained conflict detection by determining access status and sequence, reducing unnecessary conflict checks and power usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If tracking detection is performed on all operated cache lines in hardware transactional memory, then transaction conflict detection can be implemented, but high system power consumption is caused
Solution Approach 1:
The patent divides the cache into separate cache partitions, with specific partitions dedicated to transactional memory operations. This segmentation allows the system to track only the cache lines relevant to transactions rather than all cache lines, reducing power consumption while maintaining conflict detection capability.
Solution Approach 2:
The patent implements different tracking mechanisms for different cache regions. Transactional cache lines have detailed tracking information for conflict detection, while non-transactional cache lines use simpler tracking. This local differentiation reduces overall power consumption by applying detailed tracking only where necessary.
2Reliability
If tracking detection is performed on all operated cache lines, then transaction conflict detection can be implemented, but detection granularity is relatively coarse causing misdetection
Solution Approach 1:
The patent further segments cache lines into finer granularity units within transactional cache partitions. By dividing cache lines into smaller sub-units and tracking them individually, the system achieves finer detection granularity that prevents misdetection while maintaining efficient power usage through selective tracking.
3Reliability
If a dedicated cache mechanism is added in L1 cache for transactional memory, then transaction conflict detection and rollback mechanisms can be implemented, but device complexity increases
Solution Approach 1:
The patent merges transactional cache functionality with the existing L1 cache structure by creating dedicated partitions within L1 rather than adding completely separate cache mechanisms. This integration approach reduces device complexity by reusing existing cache infrastructure while still providing the necessary transactional memory support.
Solution Approach 2:
The transactional cache partitions are designed to serve multiple functions: they provide conflict detection, support rollback operations, and maintain data consistency. This multi-functionality reduces the need for separate dedicated mechanisms for each function, thereby reducing overall device complexity.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
This application discloses a processing node, a computer system, and a transaction conflict detection method. The processing node includes a processing unit and a transactional cache. When the processing unit obtains an instruction of a transaction for accessing shared data, the processing unit accesses the transactional cache according to the operation instruction, where the transactional cache is configured to cache shared data of a transaction that is being processed by the processing node, and the shared data is data that can be accessed by both the processing node and another processing node. If the transactional cache determines that the operation instruction fails to hit a cache line cache line in the transactional cache, the transactional cache sends a destination address in the operation instruction to a transactional cache in the another processing node, and receives status information that is of a cache line hit by the destination address and that is returned by the transactional cache in the another processing node. Further, the transactional cache determines, based on the status information received by the transactional cache, whether the operation instruction conflicts with an operation instruction that is being executed by the another processing node.