Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer program product for adjusting a data parallel region of a stream processing application, the computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code executable by a processor, to perform method steps comprising: measuring congestion of each parallel channel of the data parallel region; measuring a total throughput of all the parallel channels; and adjusting the number of parallel channels based on the current measured congestion and throughput, wherein each parallel channel comprises a same at least one software operator that performs an operation on a stream of data received from an input operator, wherein measuring the congestion for a given channel comprises calculating a blocking period from a difference between a first time a send call across the channel provides a notification that the call will block and a second time the send call across the channel provides a notification that room is available.
2. The computer program product of claim 1 , wherein each parallel channel comprises a same sequence of software operators that perform operations, a first operator of each sequence receives an output of an input operator, and a last operator of each sequence provides an output to a same output operator.
3. The computer program product of claim 2 , where the first operator of a given sequence performs an operation on the output from the input operator and provides a result of the operation to a subsequent operator in the sequence.
4. The computer program product of claim 1 , wherein the congestion of a given channel indicates how utilized that channel is.
5. The computer program product of claim 1 , wherein the adjusting occurs during an adaptation period, and the throughput of a given channel is a number of tuples processed by the operators of the channel during the adaptation period.
6. The computer program product of claim 1 , wherein when the congestion for a current number of the channels exceeds a threshold, the adjusting comprises: determining whether the congestion is remote by determining whether the congestion is attributed primarily to an application that is external to the operators; decreasing the number of channels when it is determined that the congestion is remote; determining whether the throughput at a next higher number of the channels is higher than the measured throughput when it is determined that the congestion is not remote; increasing the number of channels when it is determined that the throughput at the next higher number of the channels is higher; and maintaining the current number of channels when it is determined that the throughput at the next higher number of the channels is not higher.
7. The computer program product of claim 1 , wherein the adjusting is based only on historical measurements of the congestion and the throughput taken at workload levels within a certain threshold of a current workload level.
8. A computer program product for adjusting a data parallel region of a stream processing application, the computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code executable by a processor, to perform method steps comprising: measuring congestion of each parallel channel of the data parallel region; measuring a total throughput of all the parallel channels; and adjusting the number of parallel channels based on the current measured congestion and throughput, wherein each parallel channel comprises a same at least one software operator that performs an operation on a stream of data received from an input operator, wherein when the congestion for a current number of the channels is lower than a threshold, the adjusting comprises: determining whether a previous lower number of the channels was congested; decreasing the number of channels when it is determined that the previous lower number of the channels was not congested; and maintaining the current number of channels when it is determined that the previous lower number of the channels was congested.
9. The computer program product of claim 8 , wherein each parallel channel comprises a same sequence of software operators that perform operations, a first operator of each sequence receives an output of an input operator, and a last operator of each sequence provides an output to a same output operator.
10. The computer program product of claim 9 , where the first operator of a given sequence performs an operation on the output from the input operator and provides a result of the operation to a subsequent operator in the sequence.
11. The computer program product of claim 9 , wherein the congestion of a given channel indicates how utilized that channel is.
12. The computer program product of claim 8 , wherein the adjusting occurs during an adaptation period, and the throughput of a given channel is a number of tuples processed by the operators of the channel during the adaptation period.
13. A computer program product for adjusting a data parallel region of a stream processing application, the computer program product comprising a non-transitory computer readable storage medium having program code embodied therewith, the program code executable by a processor, to perform method steps comprising: measuring congestion of each parallel channel of the data parallel region; measuring a total throughput of all the parallel channels; and adjusting the number of parallel channels based on the current measured congestion and throughput, wherein each parallel channel comprises a same at least one software operator that performs an operation on a stream of data received from an input operator, wherein when the congestion of a current number of the channels exceeds a threshold, the adjusting comprises: determining whether the congestion is remote by determining whether he the congestion is attributed primarily to an application that is external to the operators; decreasing the number of channels when it is determined that the congestion is remote; and increasing the number of channels when it is determined that the congestion is not remote and the throughput at a next higher number of the channels is unknown.
14. The computer program product of claim 8 , wherein each parallel channel comprises a same sequence of software operators that perform operations, a first operator of each sequence receives an output of an input operator, and a last operator of each sequence provides an output to a same output operator.
15. The computer program product of claim 13 , where the first operator of a given sequence performs an operation on the output from the input operator and provides a result of the operation to a subsequent operator in the sequence.
16. The computer program product of claim 14 , wherein the congestion of a given channel indicates how utilized that channel is.
17. The computer program product of claim 13 , wherein the adjusting occurs during an adaptation period, and the throughput of a given channel is a number of tuples processed by the operators of the channel during the adaptation period.
Unknown
August 18, 2015
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.