IP Library Granted Patent US 7,747,414
Granted Patent B2
US 7,747,414 · App. 11/947,636 · Granted Jun 29, 2010

Run-Time performance verification system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,747,414
App. No.
11/947,636
Granted
Jun 29, 2010
Kind
B2
Abstract

A method and apparatus that allow packet based communication transactions between devices over an interconnect bus to be captured to measure performance. Performance metrics may be determined by capturing events at various locations as they pass through the system. Performance may be verified at run time by computing performance metrics for captured events and comparing such metrics to predefined performance ranges and/or self learned performance ranges. Furthermore, embodiments of the present invention provide for dynamic tailoring of bus traffic to generate potential failing conditions. For some embodiments, performance verification as described herein may be performed in a simulation environment.

Claims (31)

1. A method for determining bus performance characteristics of a system bus, comprising, during execution of a program:

(a) measuring bus performance of the system bus, comprising:

calculating performance metrics for events indicative of data exchanged across a system bus between at least two devices via a monitor;

(b) verifying bus performance of the system bus, comprising:

determining whether the calculated performance metrics fall within a determined performance range; and

(c) varying a rate at which one or more events occur on the system bus during the execution of the program, resulting in a relatively higher frequency of events for which the performance metric falls outside the determined performance range, wherein varying the rate is done in response to determining that at least one of the calculated performance metrics falls outside of a threshold range within the determined performance range.

2. The method of claim 1 , wherein the determined performance range comprises at least a self-learned performance range.

3. The method of claim 2 , wherein the self-learned performance range is generated by:

receiving a sample of stored performance metrics previously stored in a database; and

calculating the self-learned performance range based on values of the sample.

4. A computer readable storage medium containing a program for determining bus performance characteristics of a system bus which, when executed, performs operations, comprising, during execution of the program:

(a) measuring bus performance of the system bus, comprising:

calculating performance metrics for events indicative of data exchanged across a system bus between at least two devices via a monitor;

(b) verifying bus performance of the system bus, comprising:

determining whether the calculated performance metrics fall within a determined performance range; and

(c) varying a rate at which one or more events occur on the system bus during the execution of the program, resulting in a relatively higher frequency of events for which the performance metric falls outside a determined performance range, wherein varying the rate is done in response to determining that at least one of the calculated performance metrics falls outside of a threshold range within the determined performance range.

5. The computer readable storage medium of claim 4 , wherein the determined performance range comprises at least a self-learned performance range.

6. The computer readable storage medium of claim 5 , wherein the selflearned performance range is generated by:

receiving a sample of stored performance metrics previously stored in a database; and

calculating the self-learned performance range based on values of the sample.

7. A system, comprising:

a first processing device;

a second processing device coupled with the first processing device via a system bus;

a monitor configured to, during execution of a program:

calculate performance metrics for events indicative of data exchanged across a system bus between the at least two processing devices;

determine whether the calculated performance metrics fall within a determined performance range; and

vary a rate at which the one or more events occur on the bus during the execution of the program, resulting in a relatively higher frequency of potential events for which the performance metric falls outside a determined performance range, wherein the monitor is configured to vary the rate in response to determining that at least one of the calculated performance metrics falls outside of a threshold range within the determined performance range.

8. The system of claim 7 , wherein the determined performance range comprises at least a self-learned performance range.

9. The system of claim 8 , wherein the self-learned performance range is generated by:

receiving a sample of stored performance metrics previously stored in a database; and

calculating the self-learned performance range based on values of the sample.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2012
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: FACEBOOK, INC.
Reel/Frame 028015/0863 →