sequoia-sc2006.pdf

Sequoia: Programming the Memory Hierarchy

Abstract

We present Sequoia, a programming language designed to facilitate the development of memory hierarchy aware parallel programs that remain portable across modern machines with different memory hierarchy configurations. Sequoia abstractly exposes hierarchical memory in the programming model and provides language mechanisms to describe communication vertically through the machine and to localize computation to particular memory locations within the machine. We have implemented a complete programming system, including a compiler and runtime systems for Cell processor-based blade systems and distributed memory clusters, and demonstrate efficient performance running Sequoia programs on both of these platforms.

Bibtex entry

    @inproceedings{SEQUOIA_SC06,
        author = {Kayvon Fatahalian and Timothy J. Knight and Mike Houston and Mattan Erez
                  and Daniel Reiter Horn and Larkhoon Leem and Ji Young Park and Manman Ren
                  and Alex Aiken and William J. Dally and Pat Hanrahan},
        title = {Sequoia: Programming the Memory Hierarchy},
        booktitle = {{P}roceedings of the 2006 {ACM/IEEE} {C}onference on {S}upercomputing},
        year = {2006},
    }