← Back to Patent Explorer
US6079032A Expired / Lapsed US ⏱️ 0.0 years remaining

Performance analysis of computer systems

Assignee: Alcatel Lucent SAS
•
Filing: 1998-05-19
•
Granted: 2000-06-20
•
Expires: 2018-05-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of analyzing performance of a program executing in a computer system. A user provides a set of user defined region of the program. Thus, a user has the flexibility to choose the regions of program code profiled. The performance of user defined regions of the program is measured by a set of run-time metrics. Each user defined region is associated with a range break point. Run-time metrics measuring the performance of user defined regions of the program are updated, during execution, whenever a range break point is set. The handling of range break points may be implemented, for example, by specialized hardware and software. This method may be less intrusive than instrumentation based profiling but more accurate than sampling based profiling.

Inventors

  • 👤 Ramesh V. Peri

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 20:34
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/3604; G06F11/3616; G06F11/30; G06F11/34; G06F11/3409; G06F11/3466; G06F11/3612; G06F2201/00; G06F2201/87; G06F2201/88; G06F2201/885

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 97 words
A method of analyzing performance of a program, executing in a computer system, based on a plurality of run-time metrics, said method comprising the steps of: (a) providing a plurality of user defined regions of the program; (b) setting a plurality of range break points, while the program is executing, each associated with at least one of the plurality of user defined regions; (c) updating the plurality of run-time metrics during execution of the program whenever one of the plurality of range break points is set; and (d) reporting the plurality of run-time metrics to a user.
Claim 2
Independent Claim 97 words
A method of analyzing performance of a program, executing in a computer system, based on a plurality of run-time metrics, said method comprising the steps of: (a) providing a plurality of user defined regions of the program; (b) setting a plurality of range break points, while the program is executing, each associated with at least one of the plurality of user defined regions; (c) updating the plurality of run-time metrics during execution of the program whenever one of the plurality of range break points is set; and (d) reporting the plurality of run-time metrics to a user.
Claim 3
Dependent Claim 25 words
The method according to claim 1, wherein the plurality of run-time metrics include an inclusive cycle count, an exclusive cycle count, and an execution count.
Claim 4
Dependent Claim 75 words
The method according to claim 1, wherein step (c) further comprises the steps of: modifying data in a run-time stack whenever one of the group consisting of a call instruction, a return instruction, and a goto instruction is performed; calculating ones of the plurality of run-time metrics based on data in the run-time stack; storing ones of the plurality of run-time metrics in a run-time data structure associated with the plurality of user defined regions.
Claim 5
Dependent Claim 35 words
The method according to claim 1, wherein step (a) includes representing each of the plurality of user defined regions by one of a plurality of starting addresses and one of a plurality of ending addresses.
Claim 6
Dependent Claim 82 words
The method according to claim 4, wherein step (b) includes setting the plurality of range break points by: comparing a first value of a program counter before a current instruction is executed to each of the plurality of starting addresses and to each of the plurality of ending addresses, and comparing a second value of the program counter after the current instruction had been executed to each of the plurality of starting addresses and to each of the plurality of ending addresses.
Claim 7
Independent Claim 166 words
A method of analyzing performance of a program, executing in a computer system, based on a plurality of run-time metrics, the method comprising the steps of: (a) providing a plurality of user defined regions of the program; (b) partitioning the program into a plurality of working regions by dividing ones of the plurality of user defined regions that are overlapping into ones of the plurality of working regions; (c) marking a working region of the plurality of working regions as interesting if the working region is contained in one of the plurality of user defined regions and marking the working region as uninteresting otherwise; (d) setting the plurality of range break points, while the program is executing, each corresponding with exiting at least one of the plurality of working regions marked interesting; (e) updating the plurality of run-time metrics during execution of the program whenever one of the plurality of range break points is set; and (f) reporting the plurality of run-time metrics to a user.
Claim 8
Independent Claim 166 words
A method of analyzing performance of a program, executing in a computer system, based on a plurality of run-time metrics, the method comprising the steps of: (a) providing a plurality of user defined regions of the program; (b) partitioning the program into a plurality of working regions by dividing ones of the plurality of user defined regions that are overlapping into ones of the plurality of working regions; (c) marking a working region of the plurality of working regions as interesting if the working region is contained in one of the plurality of user defined regions and marking the working region as uninteresting otherwise; (d) setting the plurality of range break points, while the program is executing, each corresponding with exiting at least one of the plurality of working regions marked interesting; (e) updating the plurality of run-time metrics during execution of the program whenever one of the plurality of range break points is set; and (f) reporting the plurality of run-time metrics to a user.
Claim 9
Dependent Claim 34 words
The method according to claim 6, wherein step (a) includes representing each of the plurality of working regions by one of a plurality of starting addresses and one of a plurality of ending addresses.
Claim 10
Dependent Claim 82 words
The method according to claim 7, wherein step (d) includes setting the plurality of range break points by: comparing a first value of a program counter before a current instruction is executed to each of the plurality of starting addresses and to each of the plurality of ending addresses, and comparing a second value of the program counter after the current instruction had been executed to each of the plurality of starting addresses and to each of the plurality of ending addresses.
Claim 11
Dependent Claim 75 words
The method according to claim 6, wherein step (e) further comprises the steps of: modifying data in a run-time stack whenever one of the group consisting of a call instruction, a return instruction, and a goto instruction is performed; calculating ones of the plurality of run-time metrics based on data in the run-time stack; storing ones of the plurality of run-time metrics in a run-time data structure associated with the plurality of user defined regions.
Claim 12
Dependent Claim 25 words
The method according to claim 6, wherein the plurality of run-time metrics include an inclusive cycle count, an exclusive cycle count, and an execution count.
Claim 13
Independent Claim 192 words
A system for analyzing performance of a program, executing in a computer system, based on a plurality of run-time metrics, comprising: an input interface for acquiring a plurality of user defined regions of the program, each user defined region including a starting address and an ending address; a range break point handler for setting a plurality of range break points, while the program is executing, each associated with at least one of the plurality of user defined regions comprised of: a starting address register for storing the starting address of one of the plurality of user defined regions, an ending address register for storing the ending address of one of the plurality of user defined regions, and a control program for tracking a current user defined region of the plurality of user defined regions of the program by controlling the starting address register and the ending address register; a plurality of data structures for storing and updating the plurality of run-time metrics during execution of the program whenever one of the plurality of range break points is set; and an output interface for reporting the plurality of run-time metrics to a user.
Claim 14
Independent Claim 192 words
A system for analyzing performance of a program, executing in a computer system, based on a plurality of run-time metrics, comprising: an input interface for acquiring a plurality of user defined regions of the program, each user defined region including a starting address and an ending address; a range break point handler for setting a plurality of range break points, while the program is executing, each associated with at least one of the plurality of user defined regions comprised of: a starting address register for storing the starting address of one of the plurality of user defined regions, an ending address register for storing the ending address of one of the plurality of user defined regions, and a control program for tracking a current user defined region of the plurality of user defined regions of the program by controlling the starting address register and the ending address register; a plurality of data structures for storing and updating the plurality of run-time metrics during execution of the program whenever one of the plurality of range break points is set; and an output interface for reporting the plurality of run-time metrics to a user.
Claim 15
Dependent Claim 33 words
A system for analyzing performance of a program, executing in a computer system, as recited in claim 11, wherein the plurality of data structures includes a run-time stack and a run-time data structure.
Claim 16
Independent Claim 262 words
A system for analyzing performance of a program, executing in a computer system, based on a plurality of run-time metrics, comprising: an input interface for acquiring a plurality of user defined regions of the program, each user defined region including a starting address and an ending address; partitioning means for partitioning the program into a plurality of working regions by dividing ones of the plurality of user defined regions that are overlapping into ones of the plurality of working regions; marking means for marking a working region of the plurality of working regions as interesting if the working region is contained in one of the plurality of user defined regions and marking the working region as uninteresting otherwise; a range break point handler for setting a plurality of range break points, while the program is executing, each corresponding with exiting at least one of the plurality of working regions marked interesting comprised of: a starting address register for storing the starting address of one of the plurality of working regions, an ending address register for storing the ending address of one of the plurality of working regions, and a control program for tracking a current working region of the plurality of working regions of the program by controlling the starting address register and the ending address register; a plurality of data structures for storing and updating the plurality of run-time metrics during execution of the program whenever one of the plurality of range break points is set; and an output interface device for reporting the plurality of run-time metrics to a user.
Claim 17
Independent Claim 262 words
A system for analyzing performance of a program, executing in a computer system, based on a plurality of run-time metrics, comprising: an input interface for acquiring a plurality of user defined regions of the program, each user defined region including a starting address and an ending address; partitioning means for partitioning the program into a plurality of working regions by dividing ones of the plurality of user defined regions that are overlapping into ones of the plurality of working regions; marking means for marking a working region of the plurality of working regions as interesting if the working region is contained in one of the plurality of user defined regions and marking the working region as uninteresting otherwise; a range break point handler for setting a plurality of range break points, while the program is executing, each corresponding with exiting at least one of the plurality of working regions marked interesting comprised of: a starting address register for storing the starting address of one of the plurality of working regions, an ending address register for storing the ending address of one of the plurality of working regions, and a control program for tracking a current working region of the plurality of working regions of the program by controlling the starting address register and the ending address register; a plurality of data structures for storing and updating the plurality of run-time metrics during execution of the program whenever one of the plurality of range break points is set; and an output interface device for reporting the plurality of run-time metrics to a user.
Claim 18
Dependent Claim 33 words
A system for analyzing performance of a program, executing in a computer system, as recited in claim 13, wherein the plurality of data structures includes a run-time stack and a run-time data structure.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-06-20 2003-12-20 2004-06-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-06-20 2007-12-20 2008-06-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-06-20 2011-12-20 2012-06-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag