Dynamic diagnostic program for determining thread wait time
AssigneeInternational Business Machines Corporation
InventorsWilliam Joseph Armstrong, Ryan Harvey Bishop, Michael Brian Brutman, Chris Francois, Richard Karl Kirkman, Jay Paul Kurtz, Henry Joseph May, Naresh Nayar, Dennis A. Towne
Life of this patent
Estimating the term…
Abstract
Diagnostic data, such as a time increment corresponding to how long a thread waits to access a shared resource, is stored within a predetermined location in a data structure, such as a hash bucket in a hash table. The location is preferably correlated to the resource such that a display of the diagnostic data may be tailored to reflect a user-specified relationship between the data and resource.
Claims39
A method of analyzing program execution within an operating system of a multithreaded environment, comprising:
- accumulating diagnostic data pertaining to a thread accessing a resource, the execution of a thread being predicated upon the thread's access to the resource;
- storing the diagnostic data within a data structure at a location in the data structure correlated to the resource.
A method of analyzing program execution within a computer system having a plurality of threads accessing a plurality of resources, comprising:
- calculating a time increment reflective of a duration a thread of the plurality of threads waits for access to a resource of the plurality of resources, the execution of the thread being predicated upon the thread's access to the resource;
- and
- storing the time increment within a bucket of a plurality of buckets comprising a hash array, each bucket being correlated to the resource.
An apparatus comprising:
- at least one processor configured to execute a plurality of threads;
- a memory;
- and
- program code resident in the memory and configured to execute on the at least one processor, the program code configured to accumulate diagnostic data pertaining to a thread accessing a resource, the execution of a thread being predicated upon the thread's access to the resource, and to store the diagnostic data within a data structure at a location in the data structure correlated to the resource.
A program product, comprising:
- program code for analyzing program execution within an operating system of a multithreaded environment, wherein the program code is configured to accumulate diagnostic data pertaining to a thread accessing a resource, the execution of a thread being predicated upon the thread's access to the resource, and to store the diagnostic data within a block of the memory correlated to the resource;
- and
- a signal bearing medium bearing the program code.
Dependencies are inferred from the claim text.