Patent ID: 8255554

Claim:
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.