Affiliation:
1. MIT Computer Science and Artificial Intelligence Laboratory
2. IBM T. J. Watson Research Center
Abstract
As multicore architectures gain widespread use, it becomes increasingly important to be able to harness their additional processing power to achieve higher performance. However, exploiting parallel cores to improve single-program performance is difficult from a programmer's perspective because most existing programming languages dictate a sequential method of execution.
Stream programming, which organizes programs by independent filters communicating over explicit data channels, exposes useful types of parallelism that can be exploited. However, there is still the burden of mapping high-level stream programs to specific multicore architectures. The complexities of each architecture's underlying details makes it difficult to schedule the execution of a stream program with high performance.
In this paper, we present the specifications for an intermediate layer between the stream program and the target architecture. This multicore streaming layer (MSL) provides a common level of abstraction that facilitates efficient execution of stream programs by making it easier for compilers to manage computation, and by providing automatic orchestration and optimization of communication when appropriate. We implemented a framework for one such instance of the MSL targeted to the Cell processor and the StreamIt language and achieved greater than 88% utilization on all benchmarks with relatively small amounts of code. The framework can also be applied to other architectures and stream programming languages to enhance generality and portability.
Funder
National Science Foundation
Defense Advanced Research Projects Agency
Division of Computer and Network Systems
Publisher
Association for Computing Machinery (ACM)
Reference18 articles.
1. StreamIt homepage. http://cag.csail.mit.edu/streamit/. StreamIt homepage. http://cag.csail.mit.edu/streamit/.
2. Memory---CellSs
3. Brook for GPUs
Cited by
18 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. High-Level and Productive Stream Parallelism for Dedup, Ferret, and Bzip2;International Journal of Parallel Programming;2018-02-01
2. Mapping stream programs onto multicore platforms by local search and genetic algorithm;Computer Languages, Systems & Structures;2016-11
3. River: an intermediate language for stream processing;Software: Practice and Experience;2015-06-05
4. Data-Parallel String-Manipulating Programs;ACM SIGPLAN Notices;2015-05-11
5. Data-Parallel String-Manipulating Programs;Proceedings of the 42nd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages;2015-01-14