主权项 |
1. A system for managing a stream of tuples, comprising:
one or more compute nodes operating in a computing infrastructure, a plurality of stream operators are assigned to the one or more compute nodes, the plurality of stream operators includes one or more input stream operators including:
a first input stream operator that outputs the stream of tuples to an aggregate stream operator at a first data rate, anda second input stream operator that outputs the stream of tuples to the aggregate stream operator at a second data rate, a tuple from the stream of tuples is a sequence of one or more attributes, the aggregate stream operator aggregates the first input stream operator and the second input stream operator, a memory; a computer processor communicatively coupled to the memory; a stream manager communicatively coupled to the memory and the computer processor, wherein the stream manager is configured to: select a first delay pattern for the aggregate stream operator, the first delay pattern is a pattern of time-based delays on the aggregate stream operator to change the first data rate of the stream of tuples from the first input stream operator to a third data rate, the first delay pattern defines when operations are performed by the aggregate stream operator, the first delay pattern includes a holding delay pattern that causes the stream manager to:
hold the stream of tuples in memory,perform a calculation to an implied group of tuples from the stream of tuples in response to a presence of the implied group of tuples, the implied group of tuples is defined by a number of instances of an attribute shared between tuples in the stream of tuples; measure one or more performance factors, a performance factor indicates a first performance of the computing infrastructure, wherein the performance factor also indicates an operator graph first performance, the operator graph first performance concerns the stream of tuples within the plurality of stream operators, the measuring one or more performance factors occurs by: measuring a first time spent by a tuple from the first input stream operator at the first input stream operator and a second time spent by a tuple from the second input stream operator at the second input stream operator, and determining whether gaps exist within processing of a tuple from the first input stream operator and a tuple from the second input stream operator, a gap indicates a non-constant first data rate from the first input stream operator with respect to the second data rate from the second input stream operator; determine whether the first delay pattern is an optimal delay pattern, the optimal delay pattern changes the first performance of the computing infrastructure to a second performance of the computing infrastructure, the determining whether the first delay pattern is the optimal delay pattern occurs by: determining that the first delay pattern is the optimal delay pattern in response to the tuple from the first input stream operator and the tuple from the second input stream operator having no gap, and determining that the first delay pattern is the optimal delay pattern in response to the first time spent by the tuple from the first input stream operator being within a threshold value of the second time spent by the tuple from the second input stream operator; and delay, in response to determining the optimal delay pattern, the stream of tuples from the aggregate stream operator to an output stream operator using the optimal delay pattern. |