US2010333110A1PendingUtilityA1
Deadlock detection method and system for parallel programs
Est. expiryJun 30, 2029(~3 yrs left)· nominal 20-yr term from priority
G06F 11/3612G06F 11/3604G06F 9/524
45
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A deadlock detection method and computer system for parallel programs. A determination is made that a lock of the parallel programs is no longer used in a running procedure of the parallel programs. A node corresponding to the lock that is no longer used, and edges relating to the lock that is no longer used, are deleted from a lock graph corresponding to the running procedure of the parallel programs in order to acquire an updated lock graph. The lock graph is constructed according to a lock operation of the parallel programs. Deadlock detection is then performed on the updated lock graph.
Claims
exact text as granted — not AI-modified1 . A computer implemented method for deadlock detection of parallel programs, comprising:
determining that a lock of the parallel programs is no longer used in a running procedure of the parallel programs; deleting a node corresponding to the lock that is no longer used, and edges relating to the lock that is no longer used, from a lock graph corresponding to the running procedure of the parallel programs to acquire an updated lock graph, wherein the lock graph is constructed according to lock operation of the parallel programs; and performing deadlock detection on the updated lock graph.
2 . The computer implemented method according to claim 1 , wherein determining that a lock of the parallel programs is no longer used in the running procedure of the parallel programs further comprising:
in response to receiving an event notification that a lock of the parallel programs is no longer used, determining that a lock of the parallel programs is no longer used.
3 . The computer implemented method according to claim 2 , wherein determining a lock of the parallel programs is no longer used in the running procedure of the parallel programs further comprising:
analyzing a lifecycle of the lock of the parallel programs by scanning code of the parallel programs.
4 . The computer implemented method according to claim 3 , wherein analyzing the lifecycle of the lock of the parallel programs further comprising:
identifying a set of locations where the lock of the parallel programs may be finally used in the running procedure of the parallel programs.
5 . The computer implemented method according to claim 4 , wherein identifying the set of locations where the lock of the parallel programs may be finally used in the running procedure of the parallel programs further comprising:
in response to detecting that there is no function call in the parallel programs that destroys a lock, analyzing a data stream of the parallel programs, determining a location where the lock of the parallel programs is defined and used in order to identify the set of locations where the lock of the parallel programs may be finally used in the running procedure of the parallel programs.
6 . The computer implemented method according to claim 5 , further comprising:
adding marks in the vicinity of locations that the lock of the parallel programs may be finally used, wherein the marks are used to trigger, in the running procedure of the parallel programs, event notifications that the lock of the parallel programs may no longer be used.
7 . The computer implemented method according to claim 6 , wherein in response to receiving an event notification that the lock of the parallel programs is no longer used, determining that the lock of the parallel programs is no longer used, and further comprising:
in response to receiving all event notifications that the lock of the parallel programs may no longer be used as triggered by the mark, determining that the lock of the parallel programs is no longer used.
8 . The computer implemented method according to claim 3 , wherein analyzing the lifecycle of the lock of the parallel programs further comprising:
in response to detecting that there is a function call in the parallel programs that destroys a lock, identifying a location where the lock of the parallel programs is finally used in the running procedure of the parallel programs.
9 . The computer implemented method according to claim 8 , further comprising:
adding marks in the vicinity of the location where the lock of the parallel programs is finally used, wherein the marks are used to trigger, in the running procedure of the parallel programs, event notifications that the lock of the parallel programs is no longer used.
10 . The computer implemented method according to claim 1 , wherein determining that the lock of the parallel programs is no longer used in the running procedure of the parallel programs further comprising:
in response to detecting that the lock of the parallel programs is reclaimed by a garbage collection process in the running procedure of the parallel programs, identifying that the lock of the parallel programs is no longer used.
11 . A computer system for deadlock detection of parallel programs, comprising:
first programming instructions configured to determine that a lock of the parallel programs is no longer used in a running procedure of the parallel programs; second programming instructions configured to delete a node corresponding to the lock that is no longer used, and edges relating to the lock that is no longer used, from a lock graph corresponding to the running procedure of the parallel programs to acquire an updated lock graph, wherein the lock graph is constructed according to lock operation of the parallel programs; and third programming instructions configured to perform deadlock detection on the updated lock graph.
12 . The computer system according to claim 11 , wherein the first programming instructions is further configured to: in response to receiving an event notification that the lock of the parallel programs is no longer used, determine that the lock of the parallel programs is no longer used.
13 . The computer system according to claim 12 , wherein the first programming instructions further comprises:
first programming sub-instructions configured to analyze a lifecycle of the lock of the parallel programs by scanning code of the parallel programs.
14 . The computer system according to claim 13 , wherein the first programming sub-instructions is further configured to:
identify a set of locations where the lock of the parallel programs may be finally used in the running procedure of the parallel programs.
15 . The computer system according to claim 14 , wherein the first programming sub-instructions is further configured to:
in response to detecting that there is no function call in the parallel programs that destroys a lock, analyze a data stream of the parallel programs, determine a location where the lock of the parallel programs is defined and used in order to find the set of locations where the lock of the parallel programs may be finally used in the running procedure of the parallel programs.
16 . The computer system according to claim 15 , wherein the first programming sub-instructions is further configured to:
add marks in the vicinity of locations that the lock of the parallel programs may be finally used, wherein the marks are used to trigger, in the running procedure of the parallel programs, event notifications that the lock of the parallel programs may no longer be used.
17 . The computer system according to claim 16 , wherein the first programming instructions is further configured to:
in response to receiving all event notifications that the lock of the parallel programs may no longer be used as triggered by the mark, determine that the lock of the parallel programs is no longer used.
18 . The computer system according to claim 13 , wherein the first programming sub-instructions is further configured to:
in response to detecting that there are function call in the parallel programs that destroys a lock, identify a location where the lock of the parallel programs is finally used in the running procedure of the parallel programs.
19 . The computer system according to claim 18 , wherein the first programming sub-instructions is further configured to:
add marks in the vicinity of the location where the lock of the parallel programs is finally used, wherein the marks are used to trigger, in the running procedure of the parallel programs, event notifications that the lock of the parallel programs is no longer used.
20 . The computer system according to claim 11 , wherein the first programming instructions is further configured to:
in response to detecting that lock of the parallel programs is reclaimed by garbage collection in the running procedure of the parallel programs, identify that the lock of the parallel programs is no longer used.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.