1. A system for integrating task and data parallelism for a dynamic application including at least one task for processing an input data stream to produce an output data stream, comprising: a splitter task partitioning the input data stream into a plurality of data chunks; a plurality of worker tasks processing subsets of the data chunks, each worker task being an instance of the at least one task; and a joiner task combining the processed data chunks to produce the output data stream.