Dynamic Winner Loser Role Assignment for Deadlock Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data storage systems with active-active configurations, deadlocks can occur when both nodes attempt to acquire exclusive access to the same metadata pages concurrently, leading to performance degradation due to fixed permanent dedicated assignments of winner and loser roles, which result in load imbalance and fairness issues.
Innovation Solution
A method is introduced to dynamically assign winner and loser roles between nodes based on current processing states, allowing the system to resolve deadlocks by having the winner node proceed while the loser node aborts its transaction and retries, with role assignments switching periodically or based on transaction occurrences.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If fixed permanent dedicated assignments of winner and loser roles are used between nodes, then deadlock resolution can be achieved, but load imbalance and fairness issues occur
Solution Approach 1:
The patent implements dynamic role assignment where winner and loser roles are not permanently fixed to specific nodes but are reassigned based on current processing states and synchronization status. This allows the system to adapt role assignments in real-time, preventing permanent load imbalance while maintaining deadlock resolution capability.
Solution Approach 2:
The system changes the parameter of role assignment from static (fixed permanent dedication) to dynamic (based on current state and synchronization). By monitoring whether first processing is in progress and role assignment synchronization status, the system adjusts which node assumes the winner or loser role, achieving both reliability and fairness.
2Productivity
If role assignment of winner and loser roles is performed without checking current state synchronization, then deadlock resolution processing can be executed, but inconsistent role assignment may occur between nodes
Solution Approach 1:
The patent performs preliminary checks of the first current state to determine whether first processing is in progress and whether role assignment is synchronized before executing deadlock resolution. This preliminary validation ensures that role assignments are consistent across nodes before resolution actions are taken, preventing inconsistent state.
Solution Approach 2:
The system continuously monitors and checks the current state of the first node regarding processing status and role assignment synchronization. This feedback mechanism ensures that deadlock resolution only proceeds when role assignments are consistent, maintaining reliability while enabling timely resolution.
3Reliability
If the system waits for role assignment synchronization before resolving deadlock, then consistent role assignment is maintained, but resolution time increases
Solution Approach 1:
The patent performs preliminary checks of the first current state to determine if role assignment is already synchronized before initiating deadlock resolution. By checking the synchronization status in advance, the system avoids unnecessary delays while ensuring consistency, resolving the time-consistency tradeoff.
Data Source
AI summary
Processing may be performed in accordance with a policy to assign roles of winner and loser between two nodes. The roles may be used in connection with deadlock resolution processing. A deadlock or potential deadlock may be detected between the two nodes performing processing for two transactions In response to detecting the deadlock or potential deadlock, using a current state may be used to determine whether to perform the deadlock resolution processing to resolve the deadlock or potential deadlock. The current state may indicate whether assignment of the winner and loser roles between the two nodes is in progress. Responsive to the current state indicating that processing is not in progress to assign roles of winner and loser between the two nodes, the current state may be used perform deadlock resolution processing to resolve the deadlock or potential deadlock. The current state may denote which node is the current winner.


