Claims Analysis
Total Claims: 15
Claim 1
Independent Claim
282 words
A method for dynamically monitoring performance of a code segment executing in an information handling system, said method comprising the steps of: (a) collecting data regarding the code segment to be monitored; (b) selecting a final memory placement for one or more instrumentation code segments and one or more instrumentation data segments, wherein the final memory placement includes one or more memory areas in which to place the instrumentation code segments and the instrumentation data segments, and wherein said selecting step includes the steps of: (c) choosing a possible memory placement for the instrumentation code segments and the instrumentation data segments; (d) determining an effect of one or more external factors based on the possible memory placement; (e) if the effect is below a predetermined acceptable level, then setting the final memory placement to the possible memory segment; (f) if the effect is not below the predetermined acceptable level, then determining if there are one or more additional possible memory placements; (g) if there are additional possible memory placements, then repeating steps (c) through (g) until the effect is below the predetermined acceptable level; (h) if there are not additional possible memory placements, then performing the following steps: (i) placing the instrumentation code segments and the instrumentation data segments into one of the possible memory placements determined in step (c); (j) executing the code segment to be monitored; (k) calculating an execution time; (l) repeating steps (i) through (k) for each possible memory placement; (m) setting the final memory placement equal to the possible memory segment which results in a lowest execution time; and (n) executing the code segment to be monitored, along with one or more of the instrumentation code segments.
Claim 2
Independent Claim
282 words
A method for dynamically monitoring performance of a code segment executing in an information handling system, said method comprising the steps of: (a) collecting data regarding the code segment to be monitored; (b) selecting a final memory placement for one or more instrumentation code segments and one or more instrumentation data segments, wherein the final memory placement includes one or more memory areas in which to place the instrumentation code segments and the instrumentation data segments, and wherein said selecting step includes the steps of: (c) choosing a possible memory placement for the instrumentation code segments and the instrumentation data segments; (d) determining an effect of one or more external factors based on the possible memory placement; (e) if the effect is below a predetermined acceptable level, then setting the final memory placement to the possible memory segment; (f) if the effect is not below the predetermined acceptable level, then determining if there are one or more additional possible memory placements; (g) if there are additional possible memory placements, then repeating steps (c) through (g) until the effect is below the predetermined acceptable level; (h) if there are not additional possible memory placements, then performing the following steps: (i) placing the instrumentation code segments and the instrumentation data segments into one of the possible memory placements determined in step (c); (j) executing the code segment to be monitored; (k) calculating an execution time; (l) repeating steps (i) through (k) for each possible memory placement; (m) setting the final memory placement equal to the possible memory segment which results in a lowest execution time; and (n) executing the code segment to be monitored, along with one or more of the instrumentation code segments.
Claim 3
Dependent Claim
36 words
A method for dynamically monitoring performance according to claim 1, wherein said collecting step further comprises the steps of: tracing the code segment to be monitored; and storing the data for use during said selecting step.
Claim 4
Dependent Claim
43 words
A method for dynamically monitoring performance according to claim 1, wherein said step of determining an effect of one or more external factors based on the possible memory placement comprises the steps of: analyzing a current cache geometry; and determining a conflict level.
Claim 5
Dependent Claim
20 words
A method for dynamically monitoring performance according to claim 1, wherein said selecting step is performed by a cache simulator.
Claim 6
Dependent Claim
270 words
An information handling system, comprising: one or more processors, each processor containing a cache memory; memory means; one or more images of an operating system for controlling the operation of said processors; at least one system bus connecting the elements of the system for efficient operation; means for collecting data regarding a code segment to be monitored; means for selecting a final memory placement for one or more instrumentation code segments and one or more instrumentation data segments, wherein the final memory placement includes one or more memory areas in which to place the instrumentation code segments and the instrumentation data segments, and wherein said means for selecting includes: means for choosing a possible memory placement for the instrumentation code segments and the instrumentation data segments; means for determining an effect of one or more external factors based on the possible memory placement; means for setting the final memory placement to the possible memory placement if the effect is below a predetermined acceptable level; means for determining if there are one or more additional possible memory placements; means for repeatedly choosing the possible memory placement, and for determining the effect of the external factors, until the effect is below the predetermined acceptable level; means for executing the code segment to be monitored, and determining an execution time, for each of the possible memory placements determined by said means for choosing; means for setting the final memory placement equal to the possible memory segment which results in the lowest execution time; and means for executing the code segment to be monitored, along with one or more of the instrumentation code segments.
Claim 7
Dependent Claim
270 words
An information handling system, comprising: one or more processors, each processor containing a cache memory; memory means; one or more images of an operating system for controlling the operation of said processors; at least one system bus connecting the elements of the system for efficient operation; means for collecting data regarding a code segment to be monitored; means for selecting a final memory placement for one or more instrumentation code segments and one or more instrumentation data segments, wherein the final memory placement includes one or more memory areas in which to place the instrumentation code segments and the instrumentation data segments, and wherein said means for selecting includes: means for choosing a possible memory placement for the instrumentation code segments and the instrumentation data segments; means for determining an effect of one or more external factors based on the possible memory placement; means for setting the final memory placement to the possible memory placement if the effect is below a predetermined acceptable level; means for determining if there are one or more additional possible memory placements; means for repeatedly choosing the possible memory placement, and for determining the effect of the external factors, until the effect is below the predetermined acceptable level; means for executing the code segment to be monitored, and determining an execution time, for each of the possible memory placements determined by said means for choosing; means for setting the final memory placement equal to the possible memory segment which results in the lowest execution time; and means for executing the code segment to be monitored, along with one or more of the instrumentation code segments.
Claim 8
Dependent Claim
37 words
An information handling system according to claim 5, wherein said means for collecting further comprises: means for tracing the code segment to be monitored; and means for storing the data for use by said means for selecting.
Claim 9
Dependent Claim
42 words
An information handling system according to claim 5, wherein said means for determining an effect of one or more external factors based on the possible memory placement comprises: means for analyzing a current cache geometry; and means for determining a conflict level.
Claim 10
Dependent Claim
17 words
An information handling system according to claim 5, wherein said means for selecting comprises a cache simulator.
Claim 11
Dependent Claim
233 words
A computer program product, in a computer-usable medium, comprising: means for collecting data regarding a code segment to be monitored; means for selecting a final memory placement for one or more instrumentation code segments and one or more instrumentation data segments, wherein the final memory placement includes one or more memory areas in which to place the instrumentation code segments and the instrumentation data segments, and wherein said means for selecting includes; means for choosing a possible memory placement for the instrumentation code segments and the instrumentation data segments; means for determining an effect of one or more external factors based on the possible memory placement; means for setting the final memory placement to the possible memory placement if the effect is below a predetermined acceptable level; means for determining if there are one or more additional possible memory placements; means for repeatedly choosing the possible memory placement, and for determining the effect of the external factors, until the effect is below the predetermined acceptable level; means for executing the code segment to be monitored, and determining an execution time, for each of the possible memory placements determined by said means for choosing; means for setting the final memory placement equal to the possible memory segment which results in the lowest execution time; and means for executing the code segment to be monitored, along with one or more of the instrumentation code segments.
Claim 12
Dependent Claim
233 words
A computer program product, in a computer-usable medium, comprising: means for collecting data regarding a code segment to be monitored; means for selecting a final memory placement for one or more instrumentation code segments and one or more instrumentation data segments, wherein the final memory placement includes one or more memory areas in which to place the instrumentation code segments and the instrumentation data segments, and wherein said means for selecting includes; means for choosing a possible memory placement for the instrumentation code segments and the instrumentation data segments; means for determining an effect of one or more external factors based on the possible memory placement; means for setting the final memory placement to the possible memory placement if the effect is below a predetermined acceptable level; means for determining if there are one or more additional possible memory placements; means for repeatedly choosing the possible memory placement, and for determining the effect of the external factors, until the effect is below the predetermined acceptable level; means for executing the code segment to be monitored, and determining an execution time, for each of the possible memory placements determined by said means for choosing; means for setting the final memory placement equal to the possible memory segment which results in the lowest execution time; and means for executing the code segment to be monitored, along with one or more of the instrumentation code segments.
Claim 13
Dependent Claim
37 words
A computer program product according to claim 9, wherein said means for collecting further comprises: means for tracing the code segment to be monitored; and means for storing the data for use by said means for selecting.
Claim 14
Dependent Claim
42 words
A computer program product according to claim 9, wherein said means for determining an effect of one or more external factors based on the possible memory placement comprises: means for analyzing a current cache geometry; and means for determining a conflict level.
Claim 15
Dependent Claim
18 words
A computer program product according to claim 9, wherein said means for selecting comprises a cache simulator program.