×

Bottleneck detector application programming interface

  • US 9,864,676 B2
  • Filed: 08/07/2015
  • Issued: 01/09/2018
  • Est. Priority Date: 03/15/2013
  • Status: Active Grant
First Claim
Patent Images

1. A computing system comprising:

  • memory containing executable code;

    one or more processors, which, when executing the executable code, cause the computing system to be configured with a system architecture for 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 workload increases, and wherein the system architecture comprises;

    a checkpoint inserter that analyzes the application to identify a plurality of locations for checkpoints, and inserts a checkpoint function call that causes a checkpoint identifier and a timestamp to be captured for each inserted checkpoint;

    an execution environment that executes the application in accordance with a workload;

    a tracer that responds to the checkpoint function call inserted for each location, and that captures checkpoint identifiers, timestamps, and workload factors for each of said identified checkpoint locations as the application executes;

    an analyzer that performs the following computer-implemented method;

    identifies a plurality of checkpoints in the application; and

    identifies a bottleneck in the executing application by performing a curve fitting analysis for each checkpoint based on one or the other of the workload factor or a time difference based on the timestamp of a current checkpoint as compared to the timestamp of the previous checkpoint, and then analyzes a determined curve by performing one or the other of the following;

    (1) analyzing a determined curve for a given checkpoint to determine any anomalies, and if so, identifying the given checkpoint as a bottleneck in the executing application;

    or(2) comparing a determined first curve for a given checkpoint to a second curve for a previous checkpoint to determine any significant differences between the two curves for the current and previous checkpoints, and if so, identifying the given checkpoint as a bottleneck in the executing application.

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