Detecting deadlocks in multithreaded programs
First Claim
Patent Images
1. A method, comprising:
- performing, by a thread in a multithreaded program, a resource operation related to at least one mutually exclusive shared resource;
monitoring the relationships created by the resource operation between the thread and the at least one mutually exclusive shared resource and other threads in the multithreaded program;
detecting deadlocks based on the relationships between the thread and the at least one mutually exclusive shared resource and the other threads of the multithreaded program.
2 Assignments
0 Petitions
Accused Products
Abstract
An arrangement is provided for detecting deadlocks in a multithreaded program. When a thread in a multithreaded program performs a resource operation related to a mutually exclusive shared resource, it creates relationships between the thread and the shared resource as well as between the thread and other threads of the multithreaded program. Such created relationships are monitored and used to detect deadlocks.
38 Citations
30 Claims
-
1. A method, comprising:
-
performing, by a thread in a multithreaded program, a resource operation related to at least one mutually exclusive shared resource;
monitoring the relationships created by the resource operation between the thread and the at least one mutually exclusive shared resource and other threads in the multithreaded program;
detecting deadlocks based on the relationships between the thread and the at least one mutually exclusive shared resource and the other threads of the multithreaded program. - View Dependent Claims (2)
-
-
3. A method for detecting deadlocks in a multithreaded program, comprising:
-
monitoring shared resource operations performed by a plurality of threads in a multithreaded program;
updating at least one thread descriptor associated with the plurality of threads and at least one resource descriptor associated with at least one shared resource based on the monitored shared resource operations; and
detecting deadlocks based on the updated thread descriptors and the resource descriptors. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system, comprising:
-
at least one shared resource;
a multithreaded program having a plurality of threads that share the at least one shared resource through resource operations; and
a dynamic deadlock monitoring and detection mechanism capable of dynamically detecting a deadlock situation in which a thread is deadlocked on a shared resource. - View Dependent Claims (15, 16, 17)
-
-
18. A dynamic deadlock monitoring and detection mechanism comprising:
-
a resource operation monitoring mechanism capable of monitoring the resource operations performed by the plurality of threads; and
a deadlock detection mechanism capable of detecting a deadlock situation in which a thread is deadlocked on a shared resource. - View Dependent Claims (19, 20, 21)
-
-
22. An article comprising a storage medium having stored thereon instructions that, when executed by a machine, result in the following:
-
performing, by a thread in a multithreaded program, a resource operation related to at least one mutually exclusive shared resource;
monitoring the relationships created by the resource operation between the thread and the at least one mutually exclusive shared resource and other threads in the multithreaded program;
detecting deadlocks based on the relationships between the thread and the at least one mutually exclusive shared resource and the other threads of the multithreaded program. - View Dependent Claims (23)
-
-
24. An article comprising a storage medium having stored thereon instructions for detecting deadlocks in a multithreaded program that, when executed by a machine, result in the following:
-
monitoring shared resource operations performed by a plurality of threads in a multithreaded program;
updating at least one thread descriptor associated with the plurality of threads and at least one resource descriptor associated with at least one shared resource based on the minotored shared resource operations; and
detecting deadlocks based on the updated thread descriptors and the resource descriptors. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification