Software Prioritization for Transactional Memory Conflict Arbitration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current conflict arbitration mechanisms in transactional memory systems lack a universally optimal approach, leading to inefficiencies in contention management and potential livelock, which affects performance, especially in scenarios with frequent conflicts.
Innovation Solution
Implementing a software prioritization method for concurrent transactions by setting different priority values for transactions in hardware registers, allowing for dynamic conflict arbitration based on externally specified priority logic, which enables flexible contention management policies tailored to specific benchmarks or applications.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If simple conflict arbitration mechanisms are used, then device complexity is reduced, but transaction throughput deteriorates due to livelock and frequent retries
Solution Approach 1:
The patent changes the parameter of transaction priority by assigning different priority values to different transactions using hardware registers. This allows the conflict arbitration mechanism to differentiate between transactions and make arbitration decisions based on priority levels, thereby improving throughput without significantly increasing complexity
Solution Approach 2:
The patent implements self-service by allowing external software to programmatically set priority values in hardware registers. This enables the system to automatically manage conflict arbitration based on application-specific requirements without requiring complex centralized control, thus maintaining simplicity while improving performance
2Productivity
If sophisticated contention management policies are implemented, then transaction throughput is improved, but device complexity increases
Solution Approach 1:
The patent introduces an intermediary layer consisting of hardware registers that store priority values. These registers act as a simple mediator between transactions and the conflict arbitration logic, enabling sophisticated contention management through priority-based arbitration without requiring complex embedded policies within the arbitration mechanism itself
Solution Approach 2:
The patent implements dynamic contention management by allowing priority values to be programmatically set and changed by external software. This enables the system to adapt to different workloads and applications by adjusting priority assignments, providing flexibility without hardcoding complex policies into the hardware
3Productivity
If priority-based conflict arbitration is implemented, then fairness and transaction throughput are improved, but device complexity increases due to additional hardware registers
Solution Approach 1:
The patent extracts the priority management functionality into separate hardware registers that are distinct from the core transactional memory logic. This separation allows the priority arbitration mechanism to be implemented with minimal additional complexity, as the registers serve as simple storage elements that can be configured independently
Data Source
AI summary
Embodiments of the present invention provide a method, system and computer program product for software prioritization of concurrent transactions for embedded conflict arbitration in transactional memory management. In an embodiment of the invention, a method for software prioritization of concurrent transactions for embedded conflict arbitration in transactional memory management can include setting different hardware registers with different priority values for correspondingly different transactions in a transactional memory system configured for transactional memory management according to respective priority values specified by priority assignment logic in external software support for the system. The method also can include detecting a conflict amongst the transactions in the system. Finally, the method can include applying conflict arbitration within the system based upon the priority values specified by the priority assignment logic in the external software support for the system.


