Application resource model composition from constituent components
First Claim
1. A method for composing an application resource model for a data stream processing system, the method comprising steps of:
- obtaining one or more operator-level metrics from an execution of a data stream processing application in accordance with a first configuration, wherein the application is executed by one or more nodes of the data stream processing system, and wherein the application is comprised of one or more processing elements that are comprised of multiple operators, wherein two or more of the multiple operators are combined in a first combination to form a processing element, wherein the first combination of operators is in accordance with the first configuration, and wherein the operator-level metrics are obtained by learning a communication overhead function associated with communication between two or more processing elements;
wherein learning a communication overhead function comprises;
collecting calibration data from a source-sink benchmark to determine a maximum rate and a central processing unit (CPU) usage associated with executing the benchmark configuration; and
scaling the maximum rate and the CPU usage measured from the benchmark configuration according to a rate and a tuple size for which the overhead is to be computed;
generating one or more operator-level resource functions from the first combination of operators in accordance with the first configuration based on the obtained one or more operator-level metrics; and
generating a processing element-level resource function using the one or more generated operator-level resource functions to predict a model for the processing element formed by a second combination of two or more of the multiple operators, the processing element-level resource function representing an application resource model usable for predicting one or more characteristics of the application executed in accordance with a second configuration;
wherein the generating steps are executed on a computing system comprising a processor and a memory, wherein one or more software modules for implementing the generating steps are loaded from the memory and executed by the processor resulting in the generation of the application resource model.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques for composing an application resource model in a data stream processing system are disclosed. The application resource model may be used to understand what resources will be consumed by an application when executed by the data stream processing system. For example, a method for composing an application resource model for a data stream processing system comprises the following steps. One or more operator-level metrics are obtained from an execution of a data stream processing application in accordance with a first configuration. The application is executed by one or more nodes of the data stream processing system, and the application is comprised of one or more processing elements that are comprised of one or more operators. One or more operator-level resource functions are generated based on the obtained one or more operator-level metrics. A processing element-level resource function is generated based on the one or more generated operator-level resource functions. The processing element-level resource function represents an application resource model usable for predicting one or more characteristics of the application executed in accordance with a second configuration.
14 Citations
20 Claims
-
1. A method for composing an application resource model for a data stream processing system, the method comprising steps of:
-
obtaining one or more operator-level metrics from an execution of a data stream processing application in accordance with a first configuration, wherein the application is executed by one or more nodes of the data stream processing system, and wherein the application is comprised of one or more processing elements that are comprised of multiple operators, wherein two or more of the multiple operators are combined in a first combination to form a processing element, wherein the first combination of operators is in accordance with the first configuration, and wherein the operator-level metrics are obtained by learning a communication overhead function associated with communication between two or more processing elements; wherein learning a communication overhead function comprises; collecting calibration data from a source-sink benchmark to determine a maximum rate and a central processing unit (CPU) usage associated with executing the benchmark configuration; and scaling the maximum rate and the CPU usage measured from the benchmark configuration according to a rate and a tuple size for which the overhead is to be computed; generating one or more operator-level resource functions from the first combination of operators in accordance with the first configuration based on the obtained one or more operator-level metrics; and generating a processing element-level resource function using the one or more generated operator-level resource functions to predict a model for the processing element formed by a second combination of two or more of the multiple operators, the processing element-level resource function representing an application resource model usable for predicting one or more characteristics of the application executed in accordance with a second configuration; wherein the generating steps are executed on a computing system comprising a processor and a memory, wherein one or more software modules for implementing the generating steps are loaded from the memory and executed by the processor resulting in the generation of the application resource model. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. Apparatus for composing an application resource model for a data stream processing system, the apparatus comprising:
-
a memory; and a processor coupled to the memory and configured to; (i) obtain one or more operator-level metrics from an execution of a data stream processing application in accordance with a first configuration, wherein the application is executed by one or more nodes of the data stream processing system, and wherein the application is comprised of one or more processing elements that are comprised of multiple operators, wherein two or more of the multiple operators are combined in a first combination to form a processing element, wherein the first combination of operators is in accordance with the first configuration, and wherein the operator-level metrics are obtained by learning a communication overhead function associated with communication between two or more processing elements; wherein learning a communication overhead function comprises; collecting calibration data from a source-sink benchmark to determine a maximum rate and a central processing unit (CPU) usage associated with executing the benchmark configuration; and scaling the maximum rate and the CPU usage measured from the benchmark configuration according to a rate and a tuple size for which the overhead is to be computed; (ii) generate one or more operator-level resource functions from the first combination of operators in accordance with the first configuration based on the obtained one or more operator-level metrics; and (iii) generate a processing element-level resource function using the one or more generated operator-level resource functions to predict a model for the processing element formed by a second combination of two or more of the multiple operators, the processing element-level resource function representing an application resource model usable for predicting one or more characteristics of the application executed in accordance with a second configuration. - View Dependent Claims (15, 16, 17)
-
-
18. A computer program product comprising a non-transitory tangible computer readable recordable storage medium including computer usable program code for composing an application resource model for a data stream processing system, the computer program product comprising:
-
computer usable program code for obtaining one or more operator-level metrics from an execution of a data stream processing application in accordance with a first configuration, wherein the application is executed by one or more nodes of the data stream processing system, and wherein the application is comprised of one or more processing elements that are comprised of multiple operators, wherein two or more of the multiple operators are combined in a first combination to form a processing element, wherein the first combination of operators is in accordance with the first configuration, and wherein the operator-level metrics are obtained by learning a communication overhead function associated with communication between two or more processing elements; wherein learning a communication overhead function comprises; collecting calibration data from a source-sink benchmark to determine a maximum rate and a central processing unit (CPU) usage associated with executing the benchmark configuration; and scaling the maximum rate and the CPU usage measured from the benchmark configuration according to a rate and a tuple size for which the overhead is to be computed; computer usable program code for generating one or more operator-level resource functions from the first combination of operators in accordance with the first configuration based on the obtained one or more operator-level metrics; and computer usable program code for generating a processing element-level resource function using the one or more generated operator-level resource functions to predict a model for the processing element formed by a second combination of two or more of the multiple operators, the processing element-level resource function representing an application resource model usable for predicting one or more characteristics of the application executed in accordance with a second configuration. - View Dependent Claims (19, 20)
-
Specification