Processing control in a streaming application
First Claim
1. A computer program product for processing a stream of tuples, the computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code comprising computer readable program code configured to:
- receive the stream of tuples for processing by a plurality of processing elements to produce a processing result;
segment the stream of tuples into a plurality of partitions, each of the plurality of partitions including a subset of the stream of tuples;
maintain a processing history for each of the plurality of partitions, the processing history including input values for tuples in the partition and further including output values for the tuples in the partition;
determine that a performance metric falls outside a performance threshold, the performance metric associated with the processing by the plurality of processing elements to produce the processing result;
determine, based on the processing history of a first partition and further based on the determining that the performance metric falls outside the performance threshold, that tuples in the first partition substantially contribute to the processing result;
determine, based on the processing history of a second partition and further based on the determining that the performance metric falls outside the performance threshold, that tuples in the second partition do not substantially contribute to the processing result;
continue the processing of the tuples in the first partition by the plurality of processing elements; and
discontinue the processing of the tuples in the second partition by the plurality of processing elements.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and computer program product for processing a stream of tuples are disclosed. The method, system, and computer program product may include receiving a stream of tuples to be processed by a plurality of processing elements. Each tuple may have an associated processing history. The stream of tuples may be segmented into a plurality of partitions, each representing a subset of the stream of tuples. The method, system, and computer program product may include estimating the contribution each partition will have on a particular processing result and processing a partition if it substantially contributes to the particular processing result.
-
Citations
10 Claims
-
1. A computer program product for processing a stream of tuples, the computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code comprising computer readable program code configured to:
-
receive the stream of tuples for processing by a plurality of processing elements to produce a processing result; segment the stream of tuples into a plurality of partitions, each of the plurality of partitions including a subset of the stream of tuples; maintain a processing history for each of the plurality of partitions, the processing history including input values for tuples in the partition and further including output values for the tuples in the partition; determine that a performance metric falls outside a performance threshold, the performance metric associated with the processing by the plurality of processing elements to produce the processing result; determine, based on the processing history of a first partition and further based on the determining that the performance metric falls outside the performance threshold, that tuples in the first partition substantially contribute to the processing result; determine, based on the processing history of a second partition and further based on the determining that the performance metric falls outside the performance threshold, that tuples in the second partition do not substantially contribute to the processing result; continue the processing of the tuples in the first partition by the plurality of processing elements; and discontinue the processing of the tuples in the second partition by the plurality of processing elements. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computing system for processing a stream of tuples, the computing system comprising:
-
a memory; and a processor in communication with the memory, wherein the computing system is configured to; receive the stream of tuples for processing by a plurality of processing elements to produce a processing result; segment the stream of tuples into a plurality of partitions, each of the plurality of partitions including a subset of the stream of tuples; maintain a processing history for each of the plurality of partitions, the processing history including input values for tuples in the partition and further including output values for the tuples in the partition; determine that a performance metric falls outside a performance threshold, the performance metric associated with the processing by the plurality of processing elements to produce the processing result; determine, based on the processing history of a first partition and further based on the determining that the performance metric falls outside the performance threshold, that tuples in the first partition substantially contribute to the processing result; determine, based on the processing history of a second partition and further based on the determining that the performance metric falls outside the performance threshold, that tuples in the second partition do not substantially contribute to the processing result; continue the processing of the tuples in the first partition by the plurality of processing elements; and discontinue the processing of the tuples in the second partition by the plurality of processing elements. - View Dependent Claims (7, 8, 9, 10)
-
Specification