×

Joining operator graph elements via whole program optimization

  • US 10,175,962 B2
  • Filed: 07/02/2015
  • Issued: 01/08/2019
  • Est. Priority Date: 06/10/2015
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method of optimizing distributed applications by joining processing elements, the computer-implemented method comprising:

  • analyzing respective instruction code of each of a plurality of processing elements of a distributed application, wherein the plurality of processing elements are organized in an operator graph, wherein the plurality of processing elements includes at least a first processing element and a second processing element, which are of distinct processing element types and which are not in succession relative to one another in the operator graph;

    precompiling the operator graph in order to save compiler artifacts corresponding to the first processing element and the second processing element, the compiler artifacts including instruction code and symbols, wherein the compiler artifacts are evaluated based on one or more specified rules;

    determining, by operation of one or more computer processors and based on at least one of the analysis and the evaluation, that the instruction code of the first processing element and the instruction code of the second processing element satisfy at least one optimization rule;

    upon determining that the at least one optimization rule is satisfied, joining the instruction code of the first processing element with the instruction code of the second processing element based on the at least one optimization rule and in order to generate a third processing element which includes at least some of the instruction code from both the first processing element and the second processing element; and

    deploying the distributed application, which includes the third processing element and excludes both the first processing element and the second processing element, thereby reducing a processing overhead incurred by the distributed application relative to inclusion of both the first processing element and the second processing element.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×