Adaptive and dynamic filtering of threaded programs
AssigneeIntel Corporation
InventorsEkarat Mongkolsmai, Douglas Armstrong, Sanjiv Shah
Life of this patent
Estimating the term…
Abstract
A method and apparatus for adaptive and dynamic filtering of threaded programs. An embodiment of a method comprises analyzing the operation of a computer program, the computer program comprising a plurality of program threads; tracking overhead for the computer program; observing program events for the computer program; rationing overhead between program threads in inter-thread program events; and filtering program events based on a dynamic threshold.
Claims32
A method comprising:
- analyzing the operation of a computer application, the computer application comprising a first program thread and a second program thread;
- recording overhead for the first program thread and the second program thread;
- observing an event comprising the transfer of a signal from the second program thread to the first program thread;
- and
- adjusting the overhead for the first program thread if the first program thread waits a time period before receiving the signal from the second program thread.
A performance analyzer comprising:
- an adaptive filter for a multithreaded program, the adaptive filter to determine the rationing of overhead between a plurality of program threads in program events;
- and
- a dynamic filter for the multithreaded program, the dynamic filter to modify a threshold for collection of data based on the performance of the program.
A system comprising:
- a dynamic memory to store a multithreaded program, the program comprising a first program thread and a second program thread;
- a processor to run the multithreaded program;
- and
- an analysis tool to analyze the performance of the multithreaded program as run by the processor, the analysis tool comprising a first component to track overhead for program threads and a second component to determine which program events are to be observed by the analysis tool.
A machine-readable medium having stored thereon data representing sequences of instructions that, when executed by a processor, cause the processor to perform operations comprising:
- analyzing the operation of a computer program, the computer program comprising a plurality of program threads;
- tracking overhead for the computer program;
- observing program events for the computer program;
- rationing overhead between program threads in inter-thread program events;
- and
- filtering program events based on a dynamic threshold.
Dependencies are inferred from the claim text.