Compile-time tuple attribute compression
Abstract
A method, system, and computer program product for initializing a stream computing application are disclosed. The method may include, during a compiling of code, determining whether an attribute of a tuple to be processed at a first stream operator is to be next processed at a second stream operator. The first stream operator may be configured to transmit the tuple along an execution path to the second stream operator. The execution path includes one or more intervening stream operators between the first and second stream operators. The method may invoke a compression condition when the first attribute of the tuple to be processed at the first stream operator is to be next processed at the second stream operator.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method comprising:
executing a set of tuples with a set of compute nodes, wherein a first tuple of the set of tuples has a set of attributes that has a first attribute of the set of attributes, and wherein each compute node is adapted to execute a set of stream operators;
receiving the first tuple;
determining whether the first attribute to be processed at a first stream operator is to be next processed at a second stream operator, wherein the first stream operator is configured to transmit the first tuple along an execution path including one or more intervening stream operators to the second stream operator; and
compressing the first attribute into a first compressed attribute with a compression condition, in response to determining that the first attribute to be processed at the first stream operator is not to be processed at the second stream operator.
2. The method of claim 1 , further comprising;
determining that the first compressed attribute not processed at the second stream operator is to be next processed at a third stream operator, wherein the second stream operator is configured to transmit a tuple along an execution path including one or more intervening stream operators to the third stream operator; and
decompressing the first compressed attribute into the first attribute with a decompression condition in response to determining that the first compressed attribute not processed at the second stream operator is to be next processed at a third stream operator.
3. The method of claim 1 , wherein the compression condition operates during runtime of the stream computing application.
4. The method of claim 1 , further comprising:
generating a map indicating one or more stream operators at which each attribute of a tuple is to be processed.
5. The method of claim 1 , wherein the one or more intervening stream operators is further configured to examine the tuple prior to transmitting the tuple to the second stream operator.
6. The method of claim 1 , wherein the compression further comprises:
determining one or more characteristics of the first attribute; and
selecting a first of a plurality of compression techniques, wherein the one or more characteristics of the first attribute identify a preference for lossy or lossless compression.
7. A computer program product, comprising:
a non-transitory computer readable storage medium having program code stored thereon, the program code configured to:
execute a set of tuples with a set of compute nodes, wherein a first tuple of the set of tuples has a set of attributes that has a first attribute of the set of attributes, and
wherein each compute node is adapted to execute a set of stream operators;
receive the first tuple;
determine that the first attribute to be processed at a first stream operator is to be next processed at a second stream operator, wherein the first stream operator is configured to transmit the first tuple along an execution path including one or more intervening stream operators to the second stream operator; and
compress the first attribute into a first compressed attribute with a compression condition in response to the determination that the first attribute to be processed at the first stream operator is not to be processed at the second stream operator.
8. The computer program product of claim 7 , further comprising;
determine whether the first compressed attribute not processed at the second stream operator is to be next processed at a third stream operator, wherein the second stream operator is configured to transmit a tuple along an execution path including one or more intervening stream operators to the third stream operator; and
decompress the first compressed attribute into the first attribute with a decompression condition in response to the determination that the first compressed attribute not processed at the second stream operator is to be next processed at a third stream operator.
9. The computer program product of claim 7 , wherein the compression condition operates during runtime of the stream computing application.
10. The computer program product of claim 7 , further comprising:
generating a map indicating a stream operator at which each attribute of a tuple is to be processed.
11. The computer program product of claim 7 , wherein the intervening stream operator further configured to examine the tuple prior to transmitting the tuple to the second stream operator.
12. The computer program product of claim 7 , wherein the compression further comprises:
determining one or more characteristics of the first attribute; and
selecting a first of a plurality of compression techniques, wherein the one or more characteristics of the first attribute identify a preference for lossy or lossless compression.
13. A system for initializing a stream computing application, comprising:
one or more computer processors; and
a memory containing a program, which when executed by the one or more computer processors is configured to initialize a stream computing application, the initializing comprising:
executing a set of tuples with a set of compute nodes, wherein a first tuple of the set of tuples has a set of attributes that has a first attribute of the set of attributes, and wherein each compute node is adapted to execute a set of stream operators;
receiving the first tuple;
determining whether the first attribute to be processed at a first stream operator is to be next processed at a second stream operator, wherein the first stream operator is configured to transmit the first tuple along an execution path including one or more intervening stream operators to the second stream operator; and
compressing the first attribute into a first compressed attribute with a compression condition in response to determining that the first attribute to be processed at the first stream operator is not to be processed at the second stream operator.
14. The system of claim 13 , further comprising;
determining whether the first compressed attribute not processed at the second stream operator is to be next processed at a third stream operator, wherein the second stream operator is configured to transmit a tuple along an execution path including one or more intervening stream operators to the third stream operator; and
decompressing the first compressed attribute into the first attribute with a decompression condition in response to determining that the first compressed attribute not processed at the second stream operator is to be next processed at a third stream operator.
15. The system of claim 13 , further comprising:
generating a map indicating a stream operator at which each attribute of a tuple is to be processed.
16. The system of claim 13 , wherein the intervening stream operator further configured to examine the tuple prior to transmitting the tuple to the second stream operator.
17. The system of claim 13 , wherein the compression further comprises:
determining one or more characteristics of the first attribute; and
selecting a first of a plurality of compression techniques, wherein the one or more characteristics of the first attribute identify a preference for lossy or lossless compression.Join the waitlist — get patent alerts
Track US9426197B2 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.