A Portable Runtime Interface For

Multi-Level Memory Hierarchies


Mike Houston
Ji-Young Park
Manman Ren
Timothy Knight Kayvon Fatahalian
Alex Aiken
William J. Dally
Pat Hanrahan


To appear PPoPP 2008.




We present a platform independent runtime interface for moving data and computation through parallel machines with multi-level memory hierarchies. We show that this interface can be used as a compiler target and can be implemented easily and efficiently on a variety of platforms. The interface design allows us to compose multiple runtimes, achieving portability across machines with multiple memory levels. We demonstrate portability of programs across machines with two memory levels with runtime implementations for multi-core/SMP machines, the STI Cell Broadband Engine, a distributed memory cluster, and disk systems. We also demonstrate portability across machines with multiple memory levels by composing runtimes and running on a cluster of SMP nodes, out-of-core algorithms on a Sony Playstation 3 pulling data from disk, and a cluster of Sony Playstation 3's. With this uniform interface, we achieve good performance for our applications and maximize bandwidth and computational resources on these system configurations.



        author = {Mike Houston and Ji Young Park and Manman Ren and Timothy Knight
                  and Kayvon Fatahalian and Alex Aiken and William J. Dally and Pat Hanrahan},
        title = {A Portable Runtime Interface For Multi-Level Memory Hierarchies},
        booktitle = {{P}roceedings of the 2008 {ACM} {SIGPLAN}
                     {S}ymposium on {P}rinciples and {P}ractices of {P}arallel {P}rogramming},
        year = {2008},

Posted 12/2/2007