摘要 |
A streams manager monitors performance of a streaming application, and when the performance needs to be improved, the streams manager automatically requests virtual machines from a cloud manager. In response, the cloud manager provisions one or more virtual machines in a cloud. The streams manager builds a permutation of a flow graph for the streaming application using the virtual machine(s), runs the permutation in parallel with the corresponding portion of the flow graph, and compares the performance of the original portion of the flow graph to the performance of the permutation. When the performance of the permutation exceeds the performance of the original part of the flow graph, the streams manager modifies the flow graph so the permutation replaces the original part of the flow graph. In this manner a streaming application can dynamically evolve to increase its performance as needed. |