Processing element management in a streaming data system
First Claim
1. A method, comprising:
- receiving streaming data to be processed by a plurality of processing elements comprising one or more of a plurality of operators;
establishing an operator graph defining at least one execution path in which a first operator of the plurality of operators is configured to receive data tuples from at least one upstream operator and transmit data tuples to at least one downstream operator;
processing the received streaming data using the first operator when the first operator is fused to a first processing element of the plurality of processing elements;
un-fusing the first operator from the first processing element;
before un-fusing the first operator, processing data within the first processing element using the first operator; and
transferring the first operator to a second processing element of the plurality of processing elements such that the first operator uses a first underutilized hardware resource to process the received streaming data.
1 Assignment
0 Petitions
Accused Products
Abstract
Stream applications may inefficiently use the hardware resources that execute the processing elements of the data stream. For example, a compute node may host four processing elements and execute each using a CPU. However, other CPUs on the compute node may sit idle. To take advantage of these available hardware resources, a stream programmer may identify one or more processing elements that may be cloned. The cloned processing elements may be used to generate a different execution path that is parallel to the execution path that includes the original processing elements. Because the cloned processing elements contain the same operators as the original processing elements, the data stream that was previously flowing through only the original processing element may be split and sent through both the original and cloned processing elements. In this manner, the parallel execution path may use underutilized hardware resources to increase the throughput of the data stream.
-
Citations
20 Claims
-
1. A method, comprising:
- receiving streaming data to be processed by a plurality of processing elements comprising one or more of a plurality of operators;
establishing an operator graph defining at least one execution path in which a first operator of the plurality of operators is configured to receive data tuples from at least one upstream operator and transmit data tuples to at least one downstream operator;processing the received streaming data using the first operator when the first operator is fused to a first processing element of the plurality of processing elements;
un-fusing the first operator from the first processing element;before un-fusing the first operator, processing data within the first processing element using the first operator; and transferring the first operator to a second processing element of the plurality of processing elements such that the first operator uses a first underutilized hardware resource to process the received streaming data. - View Dependent Claims (2, 3, 4, 5, 6, 7)
- receiving streaming data to be processed by a plurality of processing elements comprising one or more of a plurality of operators;
-
8. A computer program product comprising:
- a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code comprising computer-readable program code configured to;
receive streaming data to be processed by a plurality of processing elements comprising one or more of a plurality of operators;
establish an operator graph defining at least one execution path in which a first operator of the plurality of operators is configured to receive data tuples from at least one upstream operator and transmit data tuples to at least one downstream operator;
process the received streaming data using the first operator when the first operator is fused to a first processing element of the plurality of processing elements;
un-fuse the first operator from the first processing element;before un-fusing the first operator, process data within the first processing element using the first operator; and transfer the first operator to a second processing element of the plurality of processing elements such that the first operator uses a first underutilized hardware resource to process the received streaming data. - View Dependent Claims (9, 10, 11, 12, 13, 14)
- a computer-readable storage medium having computer-readable program code embodied therewith, the computer-readable program code comprising computer-readable program code configured to;
-
15. A system, comprising:
- a computer processor; and
a memory containing a program that, when executed on the computer processor, performs an operation for processing data, the operation comprising; receiving streaming data to be processed by a plurality of processing elements comprising one or more of a plurality of operators; establishing an operator graph defining at least one execution path in which a first operator of the plurality of operators is configured to receive data tuples from at least one upstream operator and transmit data tuples to at least one downstream operator; processing the received streaming data using the first operator when the first operator is fused to a first processing element of the plurality of processing elements; un-fusing the first operator from the first processing element; before un-fusing the first operator, processing data within the first processing element using the first operator; and transferring the first operator to a second processing element of the plurality of processing elements such that the first operator uses a first underutilized hardware resource to process the received streaming data. - View Dependent Claims (16, 17, 18, 19, 20)
- a computer processor; and
Specification