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

System and method for instruction burst performance profiling for single-processor and multi-processor systems

Assignee: International Business Machines Corp
•
Filing: 1996-11-26
•
Granted: 1999-03-16
•
Expires: 2016-11-26
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract The present invention is directed to a system and method for monitoring system performance by sampling instructions in a burst mode, rather than once per interrupt. A burst mode may be configurable for a number of instructions per burst. Furthermore, these instructions are counted using a dynamic tree structure, rather than a log, which results in substantial savings in storage. The present invention requires minimal changes to the operating system, and no changes to application code that is being monitored. No recompilation is necessary to use the present invention. In addition, the present invention provides a system and method for monitoring code segments that are disabled for interrupts, and thus are difficult, if not impossible, to monitor using prior art performance tools. In a multi-processor system, the burst mode is active on all processors at the same time, and each processor has its own dynamic tree structure.

Inventors

  • 👤 Geoffrey Owen Blandy
  • 👤 Maher Afif Saba

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 16:16
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3466; G06F11/3409; G06F2201/00; G06F2201/865; G06F2201/88

Claims Analysis

Total Claims: 9
Claim 1
Independent Claim 189 words
A method for monitoring system performance in an information handling system, comprising the steps of: allocating an area in a storage means, for storing performance data; defining one or more burst counts, wherein each burst count comprises a number of instructions executed during one or more performance monitoring intervals; during each performance monitoring interval, storing a frequency count in a leaf node of a radix tree structure, for each instruction executed, wherein said frequency count is a number of times said instruction is executed during each performance monitoring interval, and wherein said storing further includes the steps of: storing a total number of instruction counts contained in a leaf node; storing one or more indexes, wherein an index is a group of bits that uniquely identify an instruction, and wherein each index is stored in the order in which the instruction associated with each index is encountered; storing said frequency count associated with each index; and storing a hint, wherein said hint indicates the location of the index associated with a next instruction to be executed; and displaying, for each instruction executed, said frequency count on a display device.
Claim 2
Independent Claim 189 words
A method for monitoring system performance in an information handling system, comprising the steps of: allocating an area in a storage means, for storing performance data; defining one or more burst counts, wherein each burst count comprises a number of instructions executed during one or more performance monitoring intervals; during each performance monitoring interval, storing a frequency count in a leaf node of a radix tree structure, for each instruction executed, wherein said frequency count is a number of times said instruction is executed during each performance monitoring interval, and wherein said storing further includes the steps of: storing a total number of instruction counts contained in a leaf node; storing one or more indexes, wherein an index is a group of bits that uniquely identify an instruction, and wherein each index is stored in the order in which the instruction associated with each index is encountered; storing said frequency count associated with each index; and storing a hint, wherein said hint indicates the location of the index associated with a next instruction to be executed; and displaying, for each instruction executed, said frequency count on a display device.
Claim 3
Dependent Claim 21 words
A method for monitoring system performance in accordance with claim 1 wherein indexes are only stored for instructions which are executed.
Claim 4
Independent Claim 225 words
A system for monitoring performance of an information handling system, comprising: one or more processors; a storage area, for storing performance data; an operating system for controlling the gathering and storing of said performance data by said one or more processors; a display device, for viewing said performance data; means for defining one or more burst counts, wherein each burst count comprises a number of instructions executed during one or more performance monitoring intervals; during each performance monitoring interval, means for storing a frequency count in a leaf node of a radix tree structure, for each instruction executed, wherein said frequency count is a number of times said instruction is executed during each performance monitoring interval, and wherein said means for storing further includes: means for storing a total number of instruction counts contained in a leaf node; means for storing one or more indexes, wherein an index is a group of bits that uniquely identify an instruction, and wherein each index is stored in the order in which the instruction associated with each index is encountered; means for storing said frequency count associated with each index; and means for storing a hint, wherein said hint indicates the location of the index associated with a next instruction to be executed; and means for displaying, for each instruction executed, said frequency count on said display device.
Claim 5
Independent Claim 225 words
A system for monitoring performance of an information handling system, comprising: one or more processors; a storage area, for storing performance data; an operating system for controlling the gathering and storing of said performance data by said one or more processors; a display device, for viewing said performance data; means for defining one or more burst counts, wherein each burst count comprises a number of instructions executed during one or more performance monitoring intervals; during each performance monitoring interval, means for storing a frequency count in a leaf node of a radix tree structure, for each instruction executed, wherein said frequency count is a number of times said instruction is executed during each performance monitoring interval, and wherein said means for storing further includes: means for storing a total number of instruction counts contained in a leaf node; means for storing one or more indexes, wherein an index is a group of bits that uniquely identify an instruction, and wherein each index is stored in the order in which the instruction associated with each index is encountered; means for storing said frequency count associated with each index; and means for storing a hint, wherein said hint indicates the location of the index associated with a next instruction to be executed; and means for displaying, for each instruction executed, said frequency count on said display device.
Claim 6
Dependent Claim 20 words
A system for monitoring performance in accordance with claim 3, wherein indexes are only stored for instructions which are executed.
Claim 7
Dependent Claim 201 words
A computer-readable medium for monitoring performance of an information handling system, comprising: means for allocating an area in a storage means, for storing performance data; means for defining one or more burst counts, wherein each burst count comprises a number of instructions executed during one or more performance monitoring intervals; during each performance monitoring interval, means for storing a frequency count in a leaf node of a radix tree structure, for each instruction executed, wherein said frequency count is a number of times said instruction is executed during each performance monitoring interval, and wherein said means for storing further includes: means for storing a total number of instruction counts contained in a leaf node; means for storing one or more indexes, wherein a index is a group of bits that uniquely identify an instruction, and wherein each index is stored in the order in which the instruction associated with each index is encountered; means for storing said frequency count associated with each index; and means for storing a hint, wherein said hint indicates the location of the index associated with a next instruction to be executed; and means for displaying, for each instruction executed, said frequency count on a display device.
Claim 8
Dependent Claim 201 words
A computer-readable medium for monitoring performance of an information handling system, comprising: means for allocating an area in a storage means, for storing performance data; means for defining one or more burst counts, wherein each burst count comprises a number of instructions executed during one or more performance monitoring intervals; during each performance monitoring interval, means for storing a frequency count in a leaf node of a radix tree structure, for each instruction executed, wherein said frequency count is a number of times said instruction is executed during each performance monitoring interval, and wherein said means for storing further includes: means for storing a total number of instruction counts contained in a leaf node; means for storing one or more indexes, wherein a index is a group of bits that uniquely identify an instruction, and wherein each index is stored in the order in which the instruction associated with each index is encountered; means for storing said frequency count associated with each index; and means for storing a hint, wherein said hint indicates the location of the index associated with a next instruction to be executed; and means for displaying, for each instruction executed, said frequency count on a display device.
Claim 9
Dependent Claim 21 words
A computer-readable medium for monitoring performance in accordance with claim 5, wherein indexes are only stored for instructions which are executed.

References Cited (Backward Citations)

US4899275A Cited
US5274776A Cited
US5515519A Cited
US5392408A Cited
US5485574A Cited
US5457799A Cited
US5539907A Cited
US5732273A Cited
US5748878A Cited
US5691920A Cited
US5748855A Cited
US5752062A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-03-15 2002-09-14 2003-03-16 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-03-15 2006-09-14 2007-03-16 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-03-15 2010-09-14 2011-03-16 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag