Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques (2007)
Sept. 15, 2007 to Sept. 19, 2007
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/PACT.2007.68
Abhishek Das , Stanford University, USA
William J. Dally , Stanford University, USA
Recently, Streaming architectures such as Imagine, Merrimac and Cell were demonstrated to achieve sig- ni?cantly higher performance and e?ciency over tra- ditional architectures by introducing an explicitly man- aged on-chip storage in the memory hierarchy. This software managed memory serves as a staging area for bulk amounts of data, making all functional unit references short and predictable, while data is asyn- chronously transferred from external memory. The decoupling of computation from memory accesses al- lows the software to statically optimize the execution pipeline, transferring the onus of latency tolerance from hardware to software. The Stream programming model captures this by making computation and communi- cation explicit in a 2-level storage hierarchy. This paradigm of structuring algorithms and explicitly man- aging data so that they are serviced by levels of the memory hierarchy as close to the processors as possible, however, applies to modern systems of all scales. The levels of memory hierarchy could include on-die stor- age such as caches, local DRAM, or even remote mem- ory accessed over high-speed interconnect. Sequoia, a recently proposed programming language, extends the stream programming model to describe array blocking and communication for machines that can be abstracted as a tree of distinct memory modules.
Abhishek Das, William J. Dally, "Stream Scheduling: A Framework to Manage Bulk Operations in a Memory Hierarchy", Proceedings of the 22nd International Conference on Parallel Architectures and Compilation Techniques, vol. 00, no. , pp. 405, 2007, doi:10.1109/PACT.2007.68