Hardware Object Lock Segmentation for Deadlock Prevention
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional methods of object locking in object-based environments often lead to increased waiting for held locks, which can cause deadlocks, defeating the purpose of concurrent operations and significantly affecting system performance, and existing deadlock prevention methods either introduce high overhead or focus on detection rather than prevention.
Innovation Solution
A method for deadlock prevention that allows multiple concurrent hardware control and diagnostic operations by employing deadlock prevention rules to grant or deny requests for hardware operation locks, hardware communication locks, and data locks, ensuring that a thread can only acquire a lock if it already holds the necessary locks in a specific order to prevent resource conflicts and deadlocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional global locking methods are used to ensure thread safety, then data consistency is maintained, but system performance deteriorates due to increased waiting time and deadlocks
Solution Approach 1:
The patent segments the monolithic global lock into multiple fine-grained locks associated with individual hardware objects. Each hardware object has its own lock, allowing different threads to access different objects concurrently. This segmentation reduces lock contention and eliminates deadlocks while maintaining data consistency within each object.
Solution Approach 2:
The patent introduces a new dimension of concurrency control by associating locks with specific hardware objects rather than using a single global lock. This dimensional change from global to object-level locking enables parallel execution of operations on different hardware objects, improving system performance while preserving reliability.
2Productivity
If fine-grained locking is implemented to improve concurrency, then system performance improves, but complexity of lock management increases
Solution Approach 1:
The patent merges the lock management functionality into the hardware object itself, making the lock an intrinsic part of the object rather than a separate management mechanism. This integration simplifies lock management by automatically handling lock acquisition and release through the hardware object's interface, reducing the complexity burden despite fine-grained locking.
Solution Approach 2:
The hardware objects provide self-service locking capabilities, where each object manages its own lock state and provides locking services to threads. This self-service approach eliminates the need for a centralized lock manager, reducing overall system complexity while enabling fine-grained concurrency control.
3Loss of energy
If locks are held for longer durations to reduce lock acquisition frequency, then overhead is reduced, but deadlock risk increases
Solution Approach 1:
By segmenting locks into object-specific units, the patent enables threads to acquire and release locks on individual hardware objects quickly, then move to the next object. This segmentation reduces the duration each lock must be held while maintaining protection, thereby reducing overall lock overhead without increasing deadlock risk.
Solution Approach 2:
The patent introduces hardware objects as intermediaries between threads and the underlying hardware resources. These intermediary objects manage their own locks and coordinate access, allowing threads to interact with well-defined interfaces rather than directly managing lock states. This intermediary layer reduces lock overhead while preventing deadlocks through structured access patterns.
Data Source
AI summary
Performance in object-oriented systems may be improved by allowing multiple concurrent hardware control and diagnostic operations to run concurrently on the system while preventing race conditions, state/data corruption, and hangs due to deadlock conditions. Deadlock prevention rules may be employed to grant or deny request for hardware operation locks, hardware communication locks, and/or data locks.


