×

Iterative bottleneck detector for executing applications

  • US 9,323,652 B2
  • Filed: 04/18/2013
  • Issued: 04/26/2016
  • Est. Priority Date: 03/15/2013
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method of analyzing workloads processed when executing an application in order to identify a bottleneck where time to execute a workload between two checkpoints increases at a greater rate than the load increases, and where the bottleneck is identified with a high degree of specificity even though a relatively small number of checkpoints is spread through the application, the computer-implemented method being performed by one or more processors executing computer executable instructions for the computer-implemented method, and the computer-implemented, method comprising:

  • identifying a first set of checkpoints in the application;

    for each of said first set of checkpoints, establishing a checkpoint function call that causes a checkpoint identifier and a timestamp to be captured;

    executing said application in accordance with the workload;

    capturing checkpoint identifiers, timestamps, and workload identifiers for the each of said first set of checkpoints;

    identifying a bottleneck between said first set of checkpoints;

    placing a second set of checkpoints between the checkpoints of said first set of checkpoints;

    for said second set of checkpoints, establishing a checkpoint function call that causes a checkpoint identifier and a timestamp to be captured for the checkpoints of said second set of checkpoints;

    executing said application in accordance with the workload;

    capturing checkpoint identifiers, timestamps, and workload identifiers for each of the checkpoints of said second set of checkpoints;

    determining that the bottleneck is between the checkpoints of the second set of checkpoints;

    removing or turning off the checkpoints of the first set of checkpoints;

    continuing to place successive sets of checkpoints between an immediately previous set of checkpoints and establishing a checkpoint function call that causes a checkpoint identifier and a timestamp to be captured for the checkpoints of each said successive set of checkpoints, with a spacing between newly placed checkpoints being smaller than a spacing between the previous set of checkpoints, then removing or turning off the checkpoints of the previous set of checkpoints; and

    re-executing the application in accordance with the workload until the bottleneck is located with a desired degree of specificity.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×