Programming the Memory Heirarchy


Kayvon Fatahalian
Timothy Knight
Mike Houston
Mattan Erez
Daniel Reiter Horn
Larkhoon Leem
Ji Young Park
Manman Ren
Alex Aiken
William J. Dally
Pat Hanrahan


Presented at Supercomputing 2006.




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.



        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},



Adobe Acrobat PDF (262 KB)


Posted 7/30/2006