Exploiting coarse-grained task, data, and pipeline parallelism in stream programs

As multicore architectures enter the mainstream, there is a pressing demand for high-level programming models that can effectively map to them. Stream programming offers an attractive way to expose...