Thread Management via Lock Address Overlap Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multithreading systems face deadlocks due to resource competition among threads, leading to inefficient manual detection and correction by programmers, which is time-consuming and difficult to identify potential issues across different code developments.

Innovation Solution

A method to acquire runtime addresses and call information of lock objects in threads, determining overlapping addresses to predict potential deadlocks, providing an indication for targeted code inspection and modification to prevent operating errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual detection and correction of deadlocks by programmers is used, then potential deadlock issues can be identified and corrected, but the process is time-consuming and difficult to identify across different code developments

Engineering Contradiction:
Improvedeadlock detection accuracyVSAvoidprogrammer time for manual detection
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs automatic deadlock detection by acquiring runtime addresses and call information of lock objects, determining overlapping addresses, and identifying potential deadlocks without requiring programmer intervention. The processor autonomously analyzes the lock object data structures and generates deadlock indications, making the system self-diagnosing for thread safety issues.

Inventive Principle:
Principle #25Self-service

2Productivity

If automatic deadlock prediction is implemented, then programmer workload is reduced and system performance is improved, but additional processing and analysis mechanisms are required

Engineering Contradiction:
Improvecode development efficiencyVSAvoidthread management system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary analysis by acquiring and storing runtime addresses and call information of lock objects before deadlocks actually occur. By pre-processing lock object data and maintaining address overlap information, the system prepares detection capabilities in advance, enabling rapid deadlock identification when needed without adding significant runtime overhead.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11494185B2Method, device and computer program product for thread management
Publication Date: 2022.11.08 EMC IP HLDG CO LLC
  • US11494185B2 patent drawing
  • US11494185B2 patent drawing
  • US11494185B2 patent drawing

AI summary

Techniques for managing threads involve acquiring respective runtime addresses and call information of a plurality of lock objects in a plurality of threads, and determining, from the plurality of lock objects, a first group of lock objects associated with first call information and a second group of lock objects associated with second call information different from the first call information. The techniques further involve providing an indication that a deadlock exists in the plurality of threads if it is determined that a first group of runtime addresses of the first group of lock objects overlaps with a second group of runtime addresses of the second group of lock objects. Accordingly, potential deadlocks in a plurality of threads can be analyzed, thereby avoiding the inability of the threads to proceed normally due to the deadlocks.