Hardware Object Lock Segmentation for Deadlock Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If fine-grained locking is implemented to improve concurrency, then system performance improves, but complexity of lock management increases

Engineering Contradiction:
ImproveconcurrencyVSAvoidlock management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #5Merging (Combining)

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.

Inventive Principle:
Principle #25Self-service

3Loss of energy

If locks are held for longer durations to reduce lock acquisition frequency, then overhead is reduced, but deadlock risk increases

Engineering Contradiction:
Improvelock overheadVSAvoiddeadlock prevention
Core Design Contradiction:
Loss of energyVSReliability

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9021483B2Making hardware objects and operations thread-safe
Publication Date: 2015.04.28 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9021483B2 patent drawing
  • US9021483B2 patent drawing
  • US9021483B2 patent drawing

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.