×

Allocating operators of a streaming application to virtual machines based on monitored performance

  • US 9,438,490 B2
  • Filed: 03/07/2014
  • Issued: 09/06/2016
  • Est. Priority Date: 03/07/2014
  • Status: Expired due to Fees
First Claim
Patent Images

1. A computer-implemented method executed by at least one processor for running a streaming application, the method comprising:

  • deploying a streaming application that comprises a flow graph that includes a plurality of operators that process a plurality of data tuples on at least one virtual machine (VM);

    defining a plurality of performance thresholds for the plurality of operators in the flow graph;

    monitoring performance of the streaming application;

    when performance of a first portion of the streaming application in a selected VM does not satisfy at least one of the plurality of performance thresholds, determining when the first portion of the streaming application in the selected VM is overperforming, and when the first portion of the streaming application in the selected VM is overperforming and when a second VM that has an operator in a second portion of the flow graph that communicates with an operator in the first portion of the streaming application in the selected VM is also overperforming, coalescing the first portion and the second portion to run on a single VM; and

    continuously monitoring performance of all portions of the flow graph and dynamically changing allocation of portions of the flow graph that are underperforming by splitting at least one portion of the flow graph to different VMs and changing allocation of portions of the flow graph that are overperforming by coalescing at least one portion of the flow graph to a single VM.

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