×

Tearing down virtual machines implementing parallel operators in a streaming application based on performance

  • US 10,078,530 B2
  • Filed: 01/13/2017
  • Issued: 09/18/2018
  • Est. Priority Date: 10/10/2014
  • Status: Active Grant
First Claim
Patent Images

1. An apparatus comprising:

  • at least one processor;

    a memory coupled to the at least one processor;

    a streaming application residing in the memory and executed by the at least one processor, the streaming application comprising a flow graph that includes a plurality of operators that process a plurality of data tuples, wherein the flow graph comprises a first set of operators implemented in a first virtual machine and a second set of operators implemented in a second virtual machine, wherein the first set of operators and the second set of operators include similar operators and connections between operators and operate on data tuples from a single data stream in parallel and produce data tuples that are sent to a same operator in the streaming application; and

    a streams manager residing in the memory and executed by the at least one processor, the streams manager monitoring performance of the streaming application, and when performance of the streaming application indicates processing data tuples in parallel by the first set of operators and the second set of operators is no longer needed, the streams manager determines which of the first virtual machine and second virtual machine is least performing, and when the least performing virtual machine can be torn down, the streams manager tears down the least performing virtual machine, wherein when the least performing virtual machine cannot be torn down, the streams manager gathers data regarding a better performing virtual machine operating on the flow graph in parallel with the least performing virtual machine, and when the least performing virtual machine can be made more similar to the better performing virtual machine in its current location, the streams manager makes at least one change to the least performing virtual machine to improve performance of the least performing virtual machine and tears down the better performing virtual machine, wherein when the least performing virtual machine cannot be made more similar to the better performing virtual machine in its current location, the streams manager determines when the least performing virtual machine can be migrated to a location where the least performing virtual machine can be made more similar to the better performing virtual machine, migrates the least performing virtual machine to the location, makes at least one change to the least performing virtual machine to improve performance of the least performing virtual machine, and tears down the better performing virtual machine.

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