Sequoia: Programming the Memory Hierarchy
Top Cited Papers
- 1 November 2006
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
We present Sequoia, a programming language designed to facilitate the development of memory hierarchy aware parallel programs that remain portable across modern machines featuring 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 it. 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 platformsKeywords
This publication has 30 references indexed in Scilit:
- GRAPE-6A: A Single-Card GRAPE-6 for Parallel PC-GRAPE Cluster SystemsPublications of the Astronomical Society of Japan, 2005
- Brook for GPUsACM Transactions on Graphics, 2004
- External Memory AlgorithmsMassive Computing, 2002
- Telescoping Languages: A Strategy for Automatic Generation of Scientific Problem-Solving Systems from Annotated LibrariesJournal of Parallel and Distributed Computing, 2001
- Automated empirical optimizations of software and the ATLAS projectParallel Computing, 2001
- Co-array Fortran for parallel programmingACM SIGPLAN Fortran Forum, 1998
- OpenMP: an industry standard API for shared-memory programmingIEEE Computational Science and Engineering, 1998
- The uniform memory hierarchy model of computationAlgorithmica, 1994
- Program structuring for effective parallel portabilityIEEE Transactions on Parallel and Distributed Systems, 1993
- Chores: enhanced run-time support for shared-memory parallel computingACM Transactions on Computer Systems, 1993