Detecting lock acquisition hierarchy violations in multithreaded programs
AssigneeIntel Corporation
InventorZhiqiang Ma
Life of this patent
Estimating the term…
Abstract
A method, apparatus, and system are provided for monitoring resource operations and detecting lock acquisition hierarchy violations in multithreaded programs. In one embodiment, a lock acquisition hierarchy graph is constructed to facilitate monitoring of resource operations performed by each of a plurality of threads of a multithreaded program. The resource operations performed by each thread are monitored by a monitor. Any violation in the hierarchy is detected by a detector, which is triggered with an occurrence of a change in the graph.
Claims28
A method, comprising:
- constructing a lock acquisition hierarchy graph to facilitate monitoring of resource operations corresponding to each of a plurality of threads of a multithreaded program;
- monitoring the resource operations being performed in accordance with a hierarchy;
- and
- detecting a violation in the hierarchy, wherein the detecting of the violation is triggered with an occurrence of a change in the graph.
A system, comprising:
- a monitor to
- construct a lock acquisition hierarchy graph to facilitate monitoring of resource operations corresponding to each of a plurality of threads of a multithreaded program, and
- monitor the resource operations being performed in accordance with a hierarchy;
- and
- a detector to detect a violation in the hierarchy, wherein the detecting of the violation is triggered with an occurrence of a change in the graph.
An apparatus, comprising
- a processor;
- and
- a storage medium coupled with the processor, the storage device having stored thereon data representing sets of instructions, the sets of instructions which, when executed by the processor, cause the processor to:
- construct a lock acquisition hierarchy graph to facilitate monitoring of resource operations corresponding to each of a plurality of threads of a multithreaded program,
- monitor the resource operations being performed in accordance with a hierarchy, and
- detect a violation in the hierarchy, wherein the detecting of the violation is triggered with an occurrence of a change in the graph.
A machine-readable medium having stored thereon data representing sets of instructions which, when executed by a machine, cause the machine to:
- construct a lock acquisition hierarchy graph to facilitate monitoring of resource operations corresponding to each of a plurality of threads of a multithreaded program;
- monitor the resource operations being performed in accordance with a hierarchy;
- and
- detect a violation in the hierarchy, wherein the detecting of the violation is triggered with an occurrence of a change in the graph.
Dependencies are inferred from the claim text.