SPECULATIVE EXECUTION IN A REAL-TIME DATA ENVIRONMENT
First Claim
Patent Images
1. A computer-implemented method for processing a data stream, comprising:
- executing, by operation of one or more computer processors, a first operation on a first tuple of the data stream by a first processing element to produce a first result tuple;
executing a second operation on the first tuple of the data stream by a second processing element, wherein the second operation is executed in parallel with the first operation;
determining one or more attributes of the first tuple used in executing the second operation on the second processing element; and
comparing the determined one or more attributes of the first tuple with attributes of the first result tuple produced from executing the first operation by the first processing element, to determine whether the second operation executed by the second processing element is valid.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are described for speculatively executing operations on data in a data stream in parallel in a manner that increases the efficiency of the stream-based application. In addition to executing operations in parallel, embodiments of the invention may determine whether certain results produced by the parallel operations are valid results and discard any results determined to be invalid.
3 Citations
12 Claims
-
1. A computer-implemented method for processing a data stream, comprising:
-
executing, by operation of one or more computer processors, a first operation on a first tuple of the data stream by a first processing element to produce a first result tuple; executing a second operation on the first tuple of the data stream by a second processing element, wherein the second operation is executed in parallel with the first operation; determining one or more attributes of the first tuple used in executing the second operation on the second processing element; and comparing the determined one or more attributes of the first tuple with attributes of the first result tuple produced from executing the first operation by the first processing element, to determine whether the second operation executed by the second processing element is valid. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method of processing a data stream, comprising:
-
executing a first operation on a first tuple of the data stream by a first processing element; calculating a utility value for processing the first tuple of the data stream by a second processing element in parallel to executing the first operation by the first processing element; and upon determining the calculated utility value exceeds a threshold utility value, executing a second operation on the first tuple of the data stream by the second processing element, wherein the second operation is executed in parallel with the first operation. - View Dependent Claims (9, 10, 11, 12)
-
Specification